.form-validation-summary { margin-bottom: 1.2rem; padding: .85rem 1rem; border: 1px solid #d79393; border-radius: 10px; background: #fff5f5; color: #9c2020; font-size: .85rem; }
.form-validation-summary[hidden], .field-error[hidden] { display: none; }
.form-validation-summary > div { display: flex; flex-wrap: wrap; gap: .35rem .7rem; margin-top: .5rem; }
.form-validation-summary button { border: 0; background: none; padding: .2rem 0; text-align: left; color: #9c2020; font: inherit; text-decoration: underline; cursor: pointer; }
.form-validation-summary button:focus-visible { outline: 2px solid #9c2020; outline-offset: 3px; }
.ahbs-quote-form .field-invalid { border-color: #bf3030; outline: 1px solid #bf3030; outline-offset: 1px; animation: missing-field-pulse 1.4s ease-in-out 3; }
.field-error { display: block; margin-top: .4rem; color: #9c2020; font-size: .75rem; font-weight: 600; line-height: 1.5; }
.ahbs-consent { flex-wrap: wrap; }
.ahbs-consent > .field-error { flex-basis: 100%; margin-left: 1.7rem; }
@keyframes missing-field-pulse { 50% { outline-color: transparent; border-color: #eaa2a2; } }
@media (prefers-reduced-motion: reduce) { .ahbs-quote-form .field-invalid { animation: none; } }
