.booking-detail-page .site-header { background: var(--paper); }
.booking-detail-page .bd-hero { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px; padding-block: 46px 76px; }
.booking-detail-page .bd-hero > * { min-width: 0; }
.booking-detail-page .bd-back-link { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 32px; padding-block: 8px; font-size: 13px; color: var(--muted); text-decoration: none; }
.booking-detail-page .bd-back-link:hover { color: var(--ink); text-decoration: underline; }
.booking-detail-page .bd-hero h1 { margin-top: 23px; font: 500 clamp(48px, 5vw, 72px)/1.1 var(--serif); letter-spacing: -.045em; }
.booking-detail-page .bd-hero h1 em { color: #8b5b37; }
.booking-detail-page .bd-lead { max-width: 510px; margin-top: 26px; color: var(--muted); font-size: 17px; line-height: 1.85; }
.booking-detail-page .bd-hero .button { margin-top: 30px; max-width: 100%; }
.booking-detail-page .bd-trial-note { margin-top: 20px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.booking-detail-page .bd-dashboard { width: 100%; max-width: 570px; justify-self: end; border: 1px solid #ddcbb7; border-radius: 12px; overflow: hidden; background: var(--paper); }
.booking-detail-page .bd-dashboard img { display: block; width: 100%; height: auto; }
.booking-detail-page .bd-dashboard figcaption { display: grid; gap: 4px; padding: 18px 20px; border-top: 1px solid var(--line); background: #faf4eb; }
.booking-detail-page .bd-dashboard figcaption strong { font-size: 14px; font-weight: 700; }
.booking-detail-page .bd-dashboard figcaption span { color: var(--muted); font-size: 12px; }
.booking-detail-page .bd-jump-nav { display: flex; flex-wrap: wrap; gap: 14px 32px; padding-block: 24px; border-block: 1px solid var(--line); }
.booking-detail-page .bd-jump-nav a { padding-block: 4px; font-size: 13px; font-weight: 600; text-decoration: none; }
.booking-detail-page .bd-jump-nav a:hover { text-decoration: underline; }
.booking-detail-page .bd-section { padding-block: 80px; }
.booking-detail-page .bd-section-heading { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 60px; margin-bottom: 46px; }
.booking-detail-page .bd-section-heading > * { min-width: 0; }
.booking-detail-page .bd-section-heading h2 { margin-top: 18px; font-size: clamp(36px, 3.7vw, 52px); }
.booking-detail-page .bd-section-heading > p { max-width: 440px; color: var(--muted); }
.booking-detail-page .bd-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 42px; }
.booking-detail-page .bd-features article { padding-top: 24px; border-top: 1px solid var(--line); }
.booking-detail-page .bd-features h3,
.booking-detail-page .bd-care-list h3,
.booking-detail-page .bd-setup-steps h3 { font: 500 26px/1.3 var(--serif); letter-spacing: -.025em; }
.booking-detail-page .bd-features p,
.booking-detail-page .bd-care-list p,
.booking-detail-page .bd-setup-steps p { margin-top: 12px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.booking-detail-page .bd-guest-care { background: #f4ece0; }
.booking-detail-page .bd-care-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 86px; }
.booking-detail-page .bd-care-grid h2 { margin-top: 18px; font-size: clamp(36px, 3.7vw, 52px); }
.booking-detail-page .bd-care-intro { max-width: 460px; margin-top: 24px; color: var(--muted); }
.booking-detail-page .bd-email-note { max-width: 460px; margin-top: 22px; font-size: 13px; line-height: 1.8; color: var(--muted); }
.booking-detail-page .bd-care-list article { padding-block: 22px; border-top: 1px solid #d8c6b3; }
.booking-detail-page .bd-care-list article:first-child { padding-top: 0; border-top: 0; }
.booking-detail-page .bd-care-list article:last-child { padding-bottom: 0; }
.booking-detail-page .bd-setup-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.booking-detail-page .bd-setup-steps article { padding-top: 24px; border-top: 1px solid var(--line); }
.booking-detail-page .bd-pricing { border-block: 1px solid #ddcbb7; background: #faf4eb; }
.booking-detail-page .bd-price-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.booking-detail-page .bd-price-grid h2 { margin-top: 18px; font-size: clamp(38px, 4vw, 54px); }
.booking-detail-page .bd-price-intro { max-width: 460px; margin-top: 24px; color: var(--muted); }
.booking-detail-page .bd-plan { min-width: 0; }
.booking-detail-page .bd-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 18px; }
.booking-detail-page .bd-price strong { font: 500 84px/1 var(--serif); letter-spacing: -.05em; }
.booking-detail-page .bd-price span { font-size: 15px; }
.booking-detail-page .bd-vat-note { margin-top: 18px; font-size: 13px; color: var(--muted); }
.booking-detail-page .bd-plan ul { margin: 24px 0; padding: 0; list-style: none; }
.booking-detail-page .bd-plan li { padding-block: 11px; border-top: 1px solid #ddcbb7; font-size: 14px; }
.booking-detail-page .bd-plan .button { max-width: 100%; }
.booking-detail-page .bd-billing-note { max-width: 400px; margin-top: 18px; color: var(--muted); font-size: 13px; line-height: 1.8; }
.booking-detail-page .bd-faq { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; border-bottom: 1px solid var(--line); }
.booking-detail-page .bd-faq h2 { margin-top: 18px; font-size: clamp(36px, 3.5vw, 50px); }
.booking-detail-page .bd-faq > div > p:not(.eyebrow) { margin-top: 24px; color: var(--muted); font-size: 15px; }
.booking-detail-page .bd-faq .faq-list summary { font-size: 16px; }
.booking-detail-page .bd-faq .faq-list details p { font-size: 15px; }
@media (max-width: 1100px) {
  .booking-detail-page .bd-hero { gap: 36px; }
  .booking-detail-page .bd-care-grid,
  .booking-detail-page .bd-price-grid { gap: 48px; }
  .booking-detail-page .bd-section-heading,
  .booking-detail-page .bd-faq { gap: 36px; }
  .booking-detail-page .bd-features { gap: 32px; }
  .booking-detail-page .header-trial { gap: 12px; padding-inline: 18px; font-size: 12px; }
}
@media (max-width: 900px) {
  .booking-detail-page .bd-hero { grid-template-columns: 1fr; gap: 38px; padding-block: 32px 56px; }
  .booking-detail-page .bd-hero-copy { max-width: 650px; }
  .booking-detail-page .bd-dashboard { justify-self: start; max-width: 600px; }
  .booking-detail-page .bd-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .booking-detail-page .bd-faq { grid-template-columns: 1fr; gap: 32px; }
  .booking-detail-page .bd-setup-steps { gap: 26px; }
}
@media (max-width: 680px) {
  .booking-detail-page .header-actions { display: none; }
  .booking-detail-page .mobile-menu { margin-left: auto; }
  .booking-detail-page .bd-back-link { margin-bottom: 24px; }
  .booking-detail-page .bd-hero { padding-block: 22px 42px; gap: 32px; }
  .booking-detail-page .bd-hero h1 { font-size: clamp(43px, 10.5vw, 60px); }
  .booking-detail-page .bd-lead { font-size: 16px; }
  .booking-detail-page .bd-hero .button,
  .booking-detail-page .bd-plan .button { gap: 16px; padding-inline: 20px; white-space: normal; text-align: center; }
  .booking-detail-page .bd-dashboard figcaption { padding: 15px 16px; }
  .booking-detail-page .bd-jump-nav { gap: 10px 24px; padding-block: 18px; }
  .booking-detail-page .bd-section { padding-block: 50px; }
  .booking-detail-page .bd-section-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 32px; }
  .booking-detail-page .bd-features,
  .booking-detail-page .bd-care-grid,
  .booking-detail-page .bd-setup-steps,
  .booking-detail-page .bd-price-grid { grid-template-columns: 1fr; gap: 30px; }
  .booking-detail-page .bd-features h3,
  .booking-detail-page .bd-care-list h3,
  .booking-detail-page .bd-setup-steps h3 { font-size: 25px; }
  .booking-detail-page .bd-care-list article:first-child { padding-top: 22px; border-top: 1px solid #d8c6b3; }
  .booking-detail-page .bd-price strong { font-size: 72px; }
  .booking-detail-page .bd-faq .faq-list summary { font-size: 15px; }
}
