/* Non-public contact component; package only with the reviewed HTTP adapter. */
.contact-panel{max-width:46rem;margin:auto}
.contact-choices{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.75rem}
.contact-choices a{padding:.75rem 1rem;border:1px solid #69798a;border-radius:.3rem;text-underline-offset:.2em}
.contact-choices a[aria-current]{background:var(--ink);color:#fff;font-weight:700}
.contact-form{margin-top:1.5rem}
.contact-field{margin-bottom:1.25rem;min-width:0}
.contact-field label{display:block;font-weight:700;margin-bottom:.4rem}
.contact-field input:not([type=checkbox]),.contact-field textarea{display:block;width:100%;padding:.7rem .8rem;border:1px solid #69798a;border-radius:.25rem;background:#fff;color:var(--text);font-size:1rem}
.contact-field textarea{resize:vertical;min-height:9rem}
.contact-field #callsign{max-width:12rem}
.contact-required{color:#9b201b;font-size:.9rem;font-weight:700}
.contact-name-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-field .contact-checkbox{display:flex;align-items:flex-start;gap:.7rem;min-height:2.75rem;padding:.5rem 0;font-weight:400}
.contact-checkbox input{flex:0 0 auto;width:1.3rem;height:1.3rem;margin:.15rem 0 0;accent-color:var(--ink)}
.contact-help{font-size:.94rem;color:#3e4a59;margin:.45rem 0}
#stream_url-help{display:none}
#stream_url:focus + #stream_url-help{display:block}
#contact-privacy{margin:1.5rem 0}
.contact-errors{border:2px solid #9b201b;padding:1rem 1.25rem;background:#fff4f3;margin:1.5rem 0;overflow-wrap:anywhere}
.contact-errors h3{margin:0}
.contact-field-error{color:#9b201b;font-weight:600;margin:.4rem 0}
.contact-field [aria-invalid=true]{border:2px solid #9b201b}
.contact-panel :focus-visible{outline:3px solid #076d94;outline-offset:3px}
.contact-panel [id]{scroll-margin-top:8rem}
.contact-trap{display:none}
.contact-form .btn{background:var(--red-dark);color:#fff;border:0;min-height:2.75rem;cursor:pointer;white-space:normal}
@media(max-width:600px){.contact-name-row{grid-template-columns:1fr;gap:0}.contact-choices{flex-direction:column}.contact-form .btn{width:100%}}

/* Approved brand presentation — issue #41. */
body .contact-form .btn{background:var(--action-red);color:var(--brand-white)}
body .contact-form .btn:hover{background:var(--action-hover)}
body .contact-help{color:var(--support-light)}
body .contact-choices a{border-color:var(--field-border);color:var(--brand-navy)}
body .contact-choices a[aria-current]{background:var(--brand-navy);color:var(--brand-white);box-shadow:inset 0 -3px var(--brand-red)}
body .contact-field :is(input:not([type=checkbox]),textarea){border-color:var(--field-border);color:var(--brand-navy);background:#fff}
body .contact-required{color:var(--action-red)}
body #contact-privacy{border-left:3px solid var(--brand-signal);padding-left:1rem}
body .contact-panel :focus-visible{outline:3px solid var(--brand-navy);outline-offset:4px}
body .contact-field input[aria-invalid=true],body .contact-field textarea[aria-invalid=true]{border:2px solid #9b201b}

/* Approved maintenance presentation — issue #49. */
body.contact-maintenance-page{min-height:100vh;display:flex;flex-direction:column}
.contact-maintenance-page main{flex:1}
.contact-maintenance-section{background:#dce7f2;padding:3rem 0 3.5rem}
.contact-maintenance-card{max-width:46rem;margin:0 auto;background:#f7f9fc;color:#081525;border:1px solid #a8c2dd;border-top:4px solid #19b7c9;border-radius:12px;padding:clamp(1.5rem,4vw,2.5rem);box-shadow:0 8px 24px #0815250a}
.contact-maintenance-card h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:0 0 1rem}
.contact-maintenance-card p{max-width:38rem;line-height:1.65;margin:0 0 1.5rem;color:#34485d}
.contact-maintenance-card .btn{background:#d62823;color:#f7f9fc;display:inline-flex;min-height:44px;align-items:center}
.contact-maintenance-card .btn:hover{background:#b7211d}
.contact-maintenance-card a:focus-visible{outline:3px solid #081525;outline-offset:4px}
@media(max-width:600px){.contact-maintenance-section{padding:1.5rem 0 2rem}.contact-maintenance-card .btn{width:100%;justify-content:center}}
