.booking-page { min-height: 100vh; }

.booking-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--header-height);
  border-bottom: 1px solid var(--line);
}

.back-link {
  color: var(--purple);
  font-family: var(--font-mono);
  font-size: var(--type-label);
  font-weight: 400;
  line-height: var(--leading-compact);
  text-decoration: none;
}

.booking-hero { padding: 88px 0 42px; text-align: center; }
.booking-hero h1 { max-width: 820px; margin: 0 auto 20px; font-family: var(--font-display); font-size: var(--type-display-1); font-weight: 400; letter-spacing: var(--tracking-display); line-height: var(--leading-display); }
.booking-hero > p:not(.section-label) { max-width: 650px; margin: 0 auto; color: var(--muted); font-family: var(--font-body); font-size: var(--type-body); line-height: var(--leading-reading); }
.booking-helper { margin-top: 22px !important; color: var(--ink) !important; font-family: var(--font-mono) !important; font-size: var(--type-label) !important; font-weight: 400; line-height: var(--leading-compact); }
.booking-surface { padding-bottom: 88px; }

.booking-shell { position: relative; width: min(100%, 1000px); min-height: 620px; margin-inline: auto; border: 1px solid var(--line); background: var(--surface); }
.booking-skeleton { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; min-height: 620px; background: var(--line); }
.booking-skeleton > div { background: var(--surface); }
.booking-embed { position: absolute; inset: 0; width: 100%; min-height: 620px; }
.booking-fallback { display: none; min-height: 620px; place-items: center; padding: 40px; text-align: center; }
.booking-fallback > div { max-width: 500px; }
.booking-fallback h2 { margin-bottom: 16px; font-family: var(--font-display); font-size: var(--type-display-2); font-weight: 400; letter-spacing: var(--tracking-display); line-height: var(--leading-display); }
.booking-fallback p:not(.section-label) { color: var(--muted); font-family: var(--font-body); font-size: var(--type-body); line-height: var(--leading-reading); }
.booking-fallback.is-visible { display: grid; }
.booking-skeleton.is-hidden { display: none; }

@media (max-width: 720px) {
  .booking-header { gap: 20px; }
  .booking-hero { padding-top: 68px; }
  .booking-shell,
  .booking-skeleton,
  .booking-embed,
  .booking-fallback { min-height: 540px; }
  .booking-skeleton { grid-template-columns: 1fr; }
  .booking-skeleton > div:last-child { display: none; }
}
