/* Reservation submission state: visible beside the next action at every step. */
#reservation .submission-status { color: #b42318; background: #fff5f3; border-left: 3px solid #b42318; padding: 10px 12px; margin: 12px 0 16px; font-size: 15px; font-weight: 700; line-height: 1.7; overflow-wrap: anywhere; }
#reservation .reservation-navigation .submission-status { grid-column: 1 / -1; flex-basis: 100%; margin: 0 0 6px; padding: 0; border: 0; background: transparent; text-align: center; font-size: 14px; }

#reservation .selection-guidance, #reservation .field-guidance, #reservation .validation-summary { color:#a51d15; background:#fff5f3; border-left:4px solid #b42318; padding:12px 14px; font-size:16px; font-weight:700; line-height:1.8; margin:12px 0 18px; scroll-margin-top:120px; overflow-wrap:anywhere; }
#reservation [aria-invalid="true"] { border:2px solid #b42318; background:#fffafa; }
#reservation [aria-invalid="true"]:focus, #reservation .store:focus-visible, #reservation [data-product]:focus-visible { outline:3px solid #b42318; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } }

.reservation-state {margin:0 0 24px;padding:18px;border-left:4px solid #b42318;background:#fff5f3;color:#a51d15;font-size:16px;line-height:1.8;overflow-wrap:anywhere;} .reservation-state strong {display:block;font-size:19px;} .reservation-state p {margin:10px 0 0;} .reservation-state.is-complete {border-color:#21664d;background:#f0f8f3;color:#174e3a;} .reservation-state.is-checking {border-color:#8a651d;background:#fff8e8;color:#62450f;} .review-email-note {font-size:16px;line-height:1.8;} #initial-load-retry,#receipt-status-retry {margin:12px 0;min-height:48px;}
