﻿.contact-card { max-width: 760px; margin-inline: auto; }
.contact-field { margin-block: 1.25rem; }
.contact-field label { display: block; font-weight: 700; margin-bottom: .4rem; }
.contact-field input, .contact-field select, .contact-field textarea { box-sizing: border-box; display: block; width: 100%; max-width: 100%; padding: .75rem; border: 1px solid #64748b; border-radius: 8px; background: #fff; color: #172554; font: inherit; }
.contact-field textarea { resize: vertical; }
.contact-card :focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.contact-field [aria-invalid="true"] { border: 2px solid #b91c1c; }
.contact-error { color: #991b1b; margin-block: .35rem; }
.contact-error:empty { display: none; }
.contact-trap { display: none; }
.contact-card button:disabled { opacity: .65; cursor: wait; }
#contactStatus { overflow-wrap: anywhere; }
@media (max-width: 480px) { .contact-card { padding: 1rem; } .contact-card button { width: 100%; } }
