.page-booking .inner-page {
  width: 100%;
  max-width: none;
  padding: 0 0 100px;
}

.booking-intro {
  width: min(100%, var(--max));
  margin: 0 auto;
  padding: clamp(56px, 7vw, 92px) var(--gutter) clamp(34px, 5vw, 56px);
}

.booking-intro__copy {
  max-width: 980px;
}

.booking-intro__eyebrow {
  margin: 0 0 14px;
  color: var(--cta);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.booking-intro__title {
  max-width: 1100px;
  margin: 0;
  color: var(--navy);
  font-family: var(--serif);
  font-size: clamp(48px, 6.5vw, 84px);
  font-weight: 500;
  letter-spacing: -0.025em;
  line-height: 1.02;
  text-wrap: balance;
}

.booking-intro__lead {
  max-width: 720px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.7;
}

.booking-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  align-items: stretch;
  margin-top: clamp(38px, 5vw, 60px);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.booking-benefit {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 82px;
  padding: 18px clamp(14px, 2vw, 26px);
  color: var(--navy);
}

.booking-benefit + .booking-benefit {
  border-left: 1px solid var(--line);
}

.booking-benefit:first-child {
  padding-left: 0;
}

.booking-benefit i {
  flex: 0 0 auto;
  color: var(--cta);
  font-size: 25px;
}

.booking-benefit strong {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.45;
  text-transform: uppercase;
}

.booking-benefits__cta {
  align-self: center;
  min-width: 184px;
  min-height: 52px;
  margin-left: clamp(16px, 2vw, 30px);
  padding-inline: 26px;
  white-space: nowrap;
}

.booking-benefits__cta i {
  font-size: 16px;
}

.page-booking #tl-booking-skeleton,
.page-booking .booking-widget,
.page-booking #tl-booking-fallback,
.page-booking .booking-faq {
  width: min(calc(100% - (var(--gutter) * 2)), var(--max));
  margin-right: auto;
  margin-left: auto;
}

.page-booking #tl-booking-skeleton {
  padding-top: 0;
}

.page-booking .booking-widget {
  scroll-margin-top: 112px;
}

.booking-benefits__cta:hover {
  background: var(--teal-dark);
  transform: translateY(-1px);
}

.booking-benefits__cta:focus-visible {
  outline: 2px solid var(--cta);
  outline-offset: 4px;
}

@media (max-width: 1020px) {
  .booking-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking-benefit:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .booking-benefit:nth-child(n + 3) {
    border-top: 1px solid var(--line);
  }

  .booking-benefits__cta {
    grid-column: 1 / -1;
    width: 100%;
    margin: 18px 0;
  }
}

@media (max-width: 620px) {
  .booking-intro {
    padding-top: 38px;
  }

  .booking-intro__eyebrow {
    margin-bottom: 10px;
    font-size: 10px;
  }

  .booking-intro__title {
    font-size: clamp(42px, 13vw, 58px);
    line-height: 1.04;
  }

  .booking-intro__lead {
    margin-top: 18px;
    font-size: 15px;
  }

  .booking-benefits {
    grid-template-columns: 1fr;
    margin-top: 32px;
  }

  .booking-benefit,
  .booking-benefit:first-child,
  .booking-benefit:nth-child(odd),
  .booking-benefit + .booking-benefit {
    min-height: 62px;
    padding: 14px 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .booking-benefit:first-child {
    border-top: 0;
  }

  .booking-benefits__cta {
    grid-column: auto;
    margin: 16px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .booking-benefits__cta:hover {
    transform: none;
  }
}

/* Keep third-party assistant controls from covering the booking flow on phones. */
@media (max-width: 640px) {
  .page-booking [class^="x-ai-chat-"],
  .page-booking [class*=" x-ai-chat-"] {
    display: none !important;
  }

  .booking-intro,
  .booking-widget,
  #tl-booking-skeleton,
  #tl-booking-fallback {
    max-width: 100%;
  }
}
