.registration-errors { border: 1px solid #b33838; border-left-width: 4px; padding: 18px; margin-bottom: 24px; background: #fff5f5; color: #922727; }
.registration-errors[hidden] { display: none; }
.registration-error-dialog { box-sizing: border-box; width: min(600px, calc(100% - 32px)); max-height: 85dvh; overflow: auto; border: 0; border-top: 5px solid #b88e48; padding: clamp(20px, 4vw, 32px); color: #102b61; background: white; box-shadow: 0 20px 80px #001a3f55; }
.registration-error-dialog::backdrop { background: #061b3bb3; }
.registration-error-dialog h2 { margin-top: 0; font-size: 1.5rem; }
.registration-error-dialog li, .registration-errors li { margin: 10px 0; }
.registration-error-link { border: 0; padding: 4px 0; background: none; text-align: left; text-decoration: underline; font: inherit; color: #922727; cursor: pointer; }
.registration-error-link:focus-visible { outline: 2px solid #102b61; outline-offset: 3px; }
.registration-field-error { display: block; color: #a12424; font-size: .9rem; font-weight: 600; line-height: 1.5; margin-top: 6px; }
[data-group-form] [aria-invalid="true"] { border: 2px solid #b33838; background-color: #fff6f6; outline-color: #b33838; }
[data-group-form] .choice:has([aria-invalid="true"]) { flex-wrap: wrap; }
[data-group-form] .choice > .registration-field-error { flex-basis: 100%; }
[data-group-form] input, [data-group-form] select, [data-group-form] textarea { scroll-margin-block: 100px; }
[data-group-form] .attendee-card:has([aria-invalid="true"]) { border: 2px solid #b33838; }
.registration-phone-review { padding: 20px; margin: 20px 0; border-left: 4px solid #b48d48; background: #fff6e3; }
