.booking-hero { padding-top: 62px; padding-bottom: 42px; }
.booking-hero h1 { font-size: clamp(48px, 7vw, 84px); }
.booking-section { padding-top: 48px; padding-bottom: 64px; }
.booking-card {
  scroll-margin-top: 110px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(22px, 4vw, 42px);
  box-shadow: var(--shadow);
}
.booking-card h2 { margin: 0 0 12px; font-family: var(--serif); font-weight: 400; font-size: clamp(30px, 4vw, 44px); line-height: 1.15; }
.booking-intro { margin: 0 0 28px; color: var(--muted); }
.booking-status { margin: 18px 0; color: var(--muted); }
.booking-widget { min-height: 94px; }
.booking-alternative { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.booking-alternative p { margin: 0; color: var(--muted); }
.booking-help { margin-top: 42px; max-width: 700px; }
.booking-help h2 { font-family: var(--serif); font-weight: 400; font-size: 30px; margin-bottom: 10px; }
.booking-help p { color: var(--muted); }
.booking-help a { color: var(--ink); overflow-wrap: anywhere; }
.booking-card a:focus-visible, .booking-help a:focus-visible { outline: 3px solid #206cff; outline-offset: 5px; }
@media (max-width: 620px) {
  .booking-hero { padding-top: 42px; padding-bottom: 24px; }
  .booking-hero p { font-size: 17px; }
  .booking-section { padding: 28px 16px 48px; }
  .booking-card { padding: 24px 16px; scroll-margin-top: 90px; }
  .booking-alternative .btn { width: 100%; padding: 12px 16px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
