/* Legacy Contacts form: label column on the left, field on the right, dark red SAVE.
   Loaded after application.css, so these replace the older stacked contact-form rules. */
.contact-form.legacy-contact-form { display:block; gap:0; padding:0; border:0; background:transparent; border-radius:0; }
.legacy-contact-form .legacy-save { background:#7a1c2e; color:#fff; border:0; font-weight:800; letter-spacing:.08em; padding:.75rem 1.5rem; font-size:1.05rem; }
.legacy-contact-form .legacy-fields { border:1px solid var(--line); margin:0 0 1.25rem; background:#fff; }
.legacy-contact-form .legacy-row, .legacy-contact-form fieldset.legacy-row { display:grid; grid-template-columns:minmax(9rem,16rem) minmax(0,1fr); border-bottom:1px solid var(--line); margin:0; max-width:none; gap:0; align-items:stretch; border-left:0; border-right:0; border-top:0; padding:0; min-inline-size:0; border-radius:0; }
.legacy-contact-form .legacy-label { text-align:right; font-weight:700; padding:.65rem .8rem; background:#f7f7f7; border-right:1px solid var(--line); }
.legacy-contact-form .legacy-input { padding:.55rem .75rem; min-width:0; }
.legacy-contact-form .legacy-input input[type=text], .legacy-contact-form .legacy-input input[type=email], .legacy-contact-form .legacy-input input[type=url],
.legacy-contact-form .legacy-input input[type=tel], .legacy-contact-form .legacy-input input[type=date], .legacy-contact-form .legacy-input input[type=datetime-local],
.legacy-contact-form .legacy-input select, .legacy-contact-form .legacy-input textarea { width:100%; max-width:100%; box-sizing:border-box; font-size:16px; }
.legacy-contact-form .text-add, .legacy-contact-form .row-remove { background:none; border:0; color:#9b1c1c; cursor:pointer; font:inherit; padding:0; }
.legacy-contact-form .row-remove { font-size:1.15rem; line-height:1; }
.legacy-contact-form .csr-row, .legacy-contact-form .nested-row, .legacy-contact-form .row { display:flex; flex-wrap:wrap; gap:.45rem .7rem; align-items:center; margin:0 0 .45rem; }
.legacy-contact-form .nested-row .autocomplete, .legacy-contact-form .csr-row .autocomplete, .legacy-contact-form .legacy-input .autocomplete { flex:1 1 14rem; min-width:0; }
.legacy-contact-form .logo-field, .legacy-contact-form .legacy-fields fieldset.logo-field { border:0; margin:0; padding:0; min-inline-size:0; }
.legacy-contact-form .current-log-label { margin:.75rem 0 .25rem; font-weight:700; }
.legacy-contact-form .comm-log { list-style:none; margin:.4rem 0 0; padding:0; }
.legacy-contact-form .comm-log li { border-top:1px solid var(--line); padding:.45rem 0; }
.legacy-contact-form .form-actions { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin:0 0 .75rem; }
.contact-details { background:#fff; border:1px solid var(--line); margin:0 0 1rem; }
.contact-details > summary { cursor:pointer; font-weight:700; padding:.7rem .9rem; }
.contact-details > .contact-detail { margin:0; border-top:1px solid var(--line); }

.sms-consent { max-width: 40rem; margin: .6rem 0; }
.sms-consent label { display: flex; gap: .55rem; align-items: flex-start; font-weight: 400; }
.sms-consent input { margin-top: .25rem; }
.text-thread { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.text-thread li { max-width: 36rem; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .55rem .75rem; }
.text-thread li.outbound { align-self: flex-end; background: #e8eef7; }
.text-thread .meta { color: var(--muted); font-size: .8rem; }
.text-thread img { max-width: 16rem; height: auto; display: block; margin-top: .35rem; }
.text-inbox { list-style: none; margin: 0; padding: 0; }
.text-inbox li { border-top: 1px solid var(--line); }
.text-inbox a { display: flex; flex-direction: column; padding: .6rem 0; text-decoration: none; }
.legal-page { max-width: 40rem; }
.legal-page h1 { margin-top: 0; }

@media (max-width:700px) {
  .legacy-contact-form .legacy-row, .legacy-contact-form fieldset.legacy-row { grid-template-columns:1fr; }
  .legacy-contact-form .legacy-label { text-align:left; border-right:0; border-bottom:1px solid var(--line); }
}
