/* saglitzdesign · macrostructure: split-panel · nav: logo-call-anchor · footer: calendar-fallback */
.booking-refresh { height: auto; overflow: visible; }
.booking-shell { height: auto; min-height: calc(100vh - 90px); }
.booking-intro { position: relative; height: auto; padding-top: 3rem; gap: 2.5rem; }
.booking-intro h1 { font-size: clamp(2.4rem, 4vw, 4.5rem); line-height: 1.05; letter-spacing: -.05em; }
.booking-copy { color: rgba(255,255,255,.78); }
.booking-note { margin-top: 1rem; color: rgba(255,255,255,.74); font: .82rem/1.65 var(--commerce-body); }
.booking-primary { display: inline-block; margin-top: 1.5rem; padding: 1rem 1.2rem; background: var(--commerce-orange); color: #fff; font-weight: 700; text-decoration: none; border-radius: 4px; }
.booking-primary:hover { background: #bd350e; }
.booking-primary:focus-visible, .booking-back:focus-visible, .booking-fallback a:focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
.booking-calendar { height: auto; overflow: visible; padding-top: 3rem; scroll-margin-top: 1rem; }
.booking-calendar-head h2, .booking-confirmed h2 { font: 700 clamp(1.6rem, 3vw, 2.5rem)/1.15 var(--commerce-display); letter-spacing: -.04em; }
.booking-calendar-head p, .booking-fallback, .booking-confirmed p { margin-top: .8rem; font-size: .92rem; line-height: 1.6; }
.booking-fallback { max-width: 900px; margin: 1rem auto 0; }
.booking-fallback a { color: #aa3010; }
.booking-confirmed { max-width: 900px; margin: 1.5rem auto 0; padding: 1.5rem; border: 1px solid var(--commerce-rule); background: #fff; }
@media(max-width:900px) {
  .booking-intro { min-height: 0; padding: 2.5rem 1.25rem; }
  .booking-calendar { padding: 2rem .75rem; }
}
@media(max-width:400px) {
  .booking-refresh .booking-nav { padding-inline: .75rem; }
  .booking-calendar { padding-inline: 0; }
  .booking-calendar-head, .booking-fallback, .booking-confirmed { margin-inline: .75rem; }
}
