/* Structural and accessible states only; each direction owns its visual form design. */
[data-contact-form] { position: relative; }
[data-contact-form] input, [data-contact-form] textarea, [data-contact-form] select, [data-contact-form] button { font: inherit; }
[data-contact-form] input, [data-contact-form] textarea, [data-contact-form] select { max-width: 100%; }
[data-contact-form] textarea { resize: vertical; min-height: 10rem; }
[data-contact-form] [name="website"], [data-contact-form] .honeypot, [data-contact-form] .hp-field, [data-contact-form] .contact-honeypot, [data-contact-form] .form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
[data-contact-form] [aria-invalid="true"] { outline: 2px solid var(--error-color, #b64129); outline-offset: 2px; }
[data-contact-form] [data-error-for] { margin: .5rem 0 0; font-size: .8rem; line-height: 1.5; color: var(--error-color, #a93422); }
[data-contact-form] [data-error-for]:empty { display: none; }
[data-contact-form] [data-form-status] { font-size: .85rem; line-height: 1.6; overflow-wrap: anywhere; }
[data-contact-form] [data-form-status]:empty { display: none; }
[data-contact-form] [data-form-status][data-state="error"] { color: var(--error-color, #a93422); }
[data-contact-form] [data-form-status][data-state="unavailable"] { padding: 1rem 0; border-top: 1px solid currentColor; opacity: .85; }
[data-contact-form] [data-form-status]:focus { outline: 2px solid currentColor; outline-offset: .3rem; }
[data-contact-form] button:disabled { cursor: not-allowed; opacity: .48; }
[data-contact-form][aria-busy="true"] button:disabled { cursor: progress; }
@media (prefers-reduced-motion: reduce) { [data-contact-form] *, [data-contact-form] *::before, [data-contact-form] *::after { scroll-behavior: auto; transition: none !important; animation: none !important; } }
