/* Booking support stays at body-copy scale, rather than inheriting price styles. */
.travel-compact-page .travel-booking-facts .booking-handoff{display:block;grid-column:1/-1;margin:10px 0 0;font:400 14px/1.35 'Cormorant Garamond',Georgia,serif;text-wrap:balance;max-width:none}
.travel-compact-page .travel-booking-facts .booking-handoff a{display:inline;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}
.travel-compact-page .travel-booking-facts .booking-block-footnote{margin:8px 0 0;padding:0;font-size:12px;line-height:1.3;max-width:none}
@media(min-width:801px) and (not ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))){
 .travel-compact-page .travel-booking-compact{box-sizing:border-box;min-height:0;height:calc(100dvh - var(--home-snap-header,78px));padding-block:20px;grid-template-rows:minmax(0,1fr) auto auto minmax(0,1fr);row-gap:12px}
 .travel-compact-page .travel-booking-heading h2{margin:0 0 12px;font-size:clamp(44px,5.8vh,68px);line-height:1}
 .travel-compact-page .travel-booking-facts article{padding-block:12px}
 .travel-compact-page .travel-booking-facts .travel-book-button{margin-top:12px}
 .travel-compact-page .booking-faq-direction{margin-top:4px;padding-top:4px}
 .travel-compact-page .booking-faq-direction a{min-height:28px}
}
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))){
 .travel-compact-page .travel-booking-compact{box-sizing:border-box;height:calc(100dvh - var(--home-snap-header,var(--mobile-header-height)) - var(--mobile-footer-height));min-height:min-content;grid-template-rows:minmax(120px,1fr) auto auto;gap:10px;padding-bottom:10px}
 .travel-compact-page .travel-booking-image{min-height:120px}
 .travel-compact-page .travel-booking-heading .travel-booking-summary.travel-rate-callout{font-size:15px!important;line-height:1.3}
 .travel-compact-page .payment-column{padding-block:6px;gap:4px}
 .travel-compact-page .booking-mobile-payment .payment-basis{margin-top:8px}
 .travel-compact-page .travel-booking-facts .travel-book-button{margin-top:10px}
 .travel-compact-page .travel-booking-facts .booking-handoff{margin:8px auto 0;text-align:center}
 .travel-compact-page .travel-booking-facts .booking-block-footnote{margin:6px auto 0;text-align:center}
}

/* Quiet hierarchy for the mobile booking details; retain the photo grid sizing. */
.travel-compact-page .booking-block-footnote span{display:block}
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))){
 .travel-compact-page .booking-mobile-payment .payment-total{margin-top:12px;font-size:13px;line-height:1.35}
 .travel-compact-page .booking-mobile-payment .payment-basis{margin-top:4px;font-size:12px;line-height:1.3}
 .travel-compact-page .travel-booking-facts .booking-handoff{margin-top:10px;font-size:13px;line-height:1.3}
 .travel-compact-page .booking-handoff>span:first-child{display:block}
 .travel-compact-page .booking-handoff .booking-contact-separator{display:none}
 .travel-compact-page .travel-booking-facts .booking-handoff a{display:inline-block;margin-top:4px}
 .travel-compact-page .travel-booking-facts .booking-block-footnote{width:100%;max-width:none;border-top:1px solid rgba(213,186,132,.45);margin-top:10px;padding-top:10px;font-size:11px;line-height:1.3}
 .travel-compact-page .booking-block-footnote span:last-child{margin-top:4px}
}

/* Keep the expanded benefits title balanced at each breakpoint. */
.travel-compact-page .travel-benefits-group .travel-benefits-title-group .travel-benefits-heading{font-size:clamp(32px,3.2vw,48px);line-height:1.08;white-space:nowrap;max-width:none;margin-inline:auto}
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))){.travel-compact-page .travel-benefits-group .travel-benefits-title-group .travel-benefits-heading{font-size:clamp(19px,5.8vw,29px);letter-spacing:-.025em;max-width:none;line-height:1.1}}

/* Concise booking terms without a separate asterisk paragraph or divider. */
.travel-compact-page .travel-booking-facts .booking-block-footnote { border: 0; padding: 0; margin-top: 8px; }
.travel-compact-page .booking-block-footnote span { text-wrap: balance; }
.travel-compact-page .booking-block-footnote span:last-child { margin-top: 3px; }
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
 .travel-compact-page .travel-booking-facts .booking-block-footnote { font-size: 11px; line-height: 1.3; margin-top: 8px; }
 .travel-compact-page .booking-handoff>span:first-child { display: inline; }
 .travel-compact-page .booking-handoff .booking-contact-separator { display: inline; }
 .travel-compact-page .travel-booking-facts .booking-handoff a { display: inline; margin-top: 0; }
}

/* A single quiet rate link beside the booking action, without a new card. */
.travel-compact-page .travel-booking-facts .booking-family-rates {
  grid-column: 1 / -1; margin: 6px 0 0; padding: 0; max-width: none;
  text-align: center; font: 400 14px/1.3 'Cormorant Garamond', Georgia, serif;
  text-wrap: balance;
}
.travel-compact-page .booking-family-rates a {
  display: inline; padding: 0; font: inherit; color: inherit;
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px;
}
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-family-rates { font-size: 13px; margin-top: 5px; }
  .travel-compact-page .travel-booking-facts .travel-book-button { margin-top: 6px; }
}

/* Keep desktop booking copy aligned and focused on the reservation action. */
.travel-compact-page .booking-family-rates .booking-family-desktop { display: none; }
@media(min-width:801px) and (not ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-family-rates { text-align: left; }
  .travel-compact-page .booking-family-rates .booking-family-desktop { display: inline; }
  .travel-compact-page .booking-family-rates .booking-family-mobile { display: none; }
}

/* Desktop: separate booking support from the main reservation action. */
@media(min-width:801px) and (not ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-handoff { margin-top: 34px; text-align: left; }
  .travel-compact-page .travel-booking-facts .booking-faq-direction { justify-content: flex-start; text-align: left; }
}

/* Desktop: group family rates with room pricing and balance the booking action. */
.travel-compact-page .booking-room-family-rates { display: none; }
@media(min-width:801px) and (not ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-family-rates { display: none; }
  .travel-compact-page .travel-booking-facts .booking-room-family-rates {
    display: block; margin-top: 6px; font: 400 14px/1.3 'Cormorant Garamond', Georgia, serif;
    letter-spacing: normal; text-align: left;
  }
  .travel-compact-page .travel-booking-facts .travel-book-button {
    grid-column: 1 / -1; justify-self: center; margin: 24px auto 0;
  }
  .travel-compact-page .travel-booking-facts .booking-handoff { margin-top: 24px; }
}

/* Mobile option 2: concise supporting copy with an unlinked family-rate line. */
.travel-compact-page .travel-booking-facts .booking-copy-mobile { display: none; }
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-copy-desktop { display: none; }
  .travel-compact-page .travel-booking-facts .booking-copy-mobile { display: block; }
  .travel-compact-page .travel-booking-facts .booking-handoff .booking-copy-mobile { display: inline; }
  .travel-compact-page .booking-family-rates .booking-family-mobile { color: #d5ba84; text-decoration: none; }
  .travel-compact-page .travel-booking-facts .booking-family-rates { margin-top: 4px; }
}

/* Desktop: consistent left edge and distinct groups for booking support. */
@media(min-width:801px) and (not ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .travel-book-button { justify-self: start; margin-inline: 0; }
  .travel-compact-page .travel-booking-facts .booking-block-footnote { margin-top: 14px; line-height: 1.5; }
  .travel-compact-page .booking-block-footnote span:last-child { margin-top: 6px; }
  .travel-compact-page .travel-booking-facts .booking-faq-direction { margin-top: 14px; padding-top: 10px; }
}

/* The mobile footer provides the single FAQ route below booking details. */
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-faq-direction {
    display: none;
  }
}

/* Desktop booking details: a modest, consistent two-pixel increase. */
@media(min-width:801px) and (not ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .travel-booking-facts .booking-handoff { font-size: 16px; }
  .travel-compact-page .travel-booking-facts .booking-block-footnote { font-size: 14px; }
}

/* Mobile: quiet shared tonal panel with a short muted gold divider. */
@media((max-width: 800px) or ((max-width: 1000px) and (max-height: 500px) and (pointer: coarse) and (hover: none))) {
  .travel-compact-page .booking-mobile-payment { column-gap: 0; }
  .travel-compact-page .booking-mobile-payment .payment-column {
    position: relative; background: rgba(244,239,229,.022); border: 0;
    border-radius: 3px 0 0 3px;
    display: grid; grid-template-rows: 16px 34px 18px;
    justify-items: center; align-items: center; align-content: center;
    text-align: center; gap: 4px;
  }
  .travel-compact-page .booking-mobile-payment .payment-date {
    font-size: clamp(22px, 6.3vw, 27px);
  }
  .travel-compact-page .booking-mobile-payment .payment-label,
  .travel-compact-page .booking-mobile-payment .payment-unit {
    width: 100%; text-align: center;
  }
  .travel-compact-page .booking-mobile-payment .payment-column + .payment-column {
    border-radius: 0 3px 3px 0;
  }
  .travel-compact-page .booking-mobile-payment .payment-column::after {
    content: none;
  }
  .travel-compact-page .booking-mobile-payment .payment-column + .payment-column::before {
    content: ""; position: absolute; left: 0; top: 35%; bottom: 35%;
    width: 1px; background: rgba(213,186,132,.45); pointer-events: none;
  }
}
