.site-header { position: relative; background: var(--navy); }
.same-day-banner { padding: 1rem max(1.25rem, calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; background: #f5e6b6; color: #171d35; border-bottom: 1px solid #d8ba60; }
.same-day-banner p { margin: 0; max-width: 760px; font-size: 1rem; line-height: 1.5; }
.same-day-banner strong { display: block; font-size: 1.12rem; }
.same-day-banner a, .same-day-booking a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .65rem 1rem; background: #171d35; color: #fff; border: 1px solid #171d35; font-weight: 700; text-decoration: none; white-space: nowrap; }
.same-day-banner a:hover, .same-day-booking a:hover { background: #303958; }
.same-day-banner a:focus-visible, .same-day-booking a:focus-visible { outline: 3px solid #9a6b00; outline-offset: 4px; }
.same-day-booking { margin: 0 0 1.5rem; padding: 1.25rem; background: #f5e6b6; color: #171d35; border-left: 4px solid #b58b20; }
.same-day-booking h3 { margin: 0 0 .5rem; font-size: 1.2rem; }
.same-day-booking p { margin: 0 0 1rem; line-height: 1.5; }
.same-day-banner[hidden], .same-day-booking[hidden] { display: none; }
.same-day-banner span, .same-day-booking p, .website-message-popup p { white-space: pre-line; }
.website-message-popup { position: fixed; inset: 0; width: min(90vw, 540px); max-height: 85vh; margin: auto; overflow: auto; padding: clamp(1.5rem, 5vw, 2.5rem); border: 2px solid #e7bd3b; border-radius: .5rem; background: #171d35; color: white; box-shadow: 0 1.5rem 5rem #0008; }
.website-message-popup::backdrop { background: #0c1020b3; }
.website-message-popup h2 { margin: 1.25rem 0 1rem; color: #e7bd3b; font: 2rem/1.15 Georgia, serif; }
.website-message-popup a { display: inline-flex; min-height: 44px; align-items: center; margin-top: .5rem; padding: .75rem 1rem; color: #171d35; background: #e7bd3b; text-decoration: none; font-weight: 700; }
.website-message-close { display: block; margin-left: auto; padding: .5rem .75rem; min-height: 44px; border: 1px solid #e7bd3b; background: transparent; color: white; font: inherit; cursor: pointer; }
.website-message-popup :focus-visible { outline: 3px solid white; outline-offset: 4px; }
@media (max-width: 650px) {
  .site-header { position: relative; }
  .same-day-banner { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .same-day-banner p { font-size: .95rem; }
  .same-day-banner a { width: 100%; }
}
