/* Contact feedback stays in the form, including on small screens. */
.contact-form [hidden] { display: none !important; }
.contact-form button:disabled { cursor: default; opacity: 0.65; }
.contact-form [aria-busy="true"] input,
.contact-form [aria-busy="true"] textarea,
.contact-form [aria-busy="true"] select { opacity: 0.8; }
.contact-status { margin-top: 18px; border-radius: var(--radius); }
.contact-status:has(.contact-status-message:not(:empty)) {
  padding: 16px;
  border: 1px solid var(--divider);
  background: var(--bg-card);
}
.contact-status p { color: var(--text-light); font-size: 14px; line-height: 1.65; }
.contact-status[data-state="success"] { border-color: var(--teal); }
.contact-status:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.contact-status .contact-email-fallback { margin-top: 12px; }
.contact-status a { color: var(--teal); text-decoration: underline; overflow-wrap: anywhere; }
.contact-status button { margin-top: 14px; min-height: 48px; }
.contact-thanks { max-width: 720px; margin: 12vh auto; padding: 40px 24px; }
.contact-thanks p { margin-top: 20px; }
.contact-thanks .btn { margin-top: 28px; min-height: 48px; }
