/* Bounded semantic and contrast corrections; no hero/header layout changes. */
.story-stats .archived-reaction { color:#e5919b; }
.blog-page .story-stats .archived-reaction,
.blog-page .archived-reaction { color:#852b2b; }
.legacy-page .listing-detail p { max-width:75ch; }
.product-description a { text-underline-offset:3px; }

/* Keep the embedded booking viewport within the screen, without locking page scroll. */
body.booking .booking-main { padding: 0 0 32px; }
body.booking .booking-main > .ww-wrap { width: min(1080px, calc(100% - 32px)); }
body.booking .booking-shell {
  height: calc(100vh - var(--ww-header-height, 100px));
  height: calc(100dvh - var(--ww-header-height, 100px));
  min-height: 320px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-block: 12px;
}
body.booking .booking-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  column-gap: 18px;
  flex: none;
}
body.booking .booking-heading h1 { font-size: clamp(25px, 4vw, 36px); text-align: left; margin: 0; }
body.booking .booking-direct { display: inline-flex; align-items: center; min-height: 44px; color: #ead49e; font-size: 14px; }
body.booking .booking-mobile { display: none; }
body.booking .booking-frame {
  display: block;
  flex: 1 1 0;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  border-radius: 10px;
}
body.booking .booking-details { max-width: 1080px; margin: 20px auto 0; }
body.booking .booking-details > summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-weight: 700; }
body.booking .booking-details > summary:focus-visible { outline: 3px solid #e7bc54; outline-offset: 3px; }
body.booking .booking-details .booking-prep { margin: 16px 0 24px; }
body.booking .booking-details .policy-notice { margin-bottom: 0; }
body.booking .booking-details .policy-toggle,
body.booking .booking-details .policy-collapsed-copy { display: none; }
body.booking .booking-details .policy-body { display: block; }
.twilight { align-items: flex-start; }
.twilight .twilight-time { white-space: nowrap; }
@media (max-width: 767.98px) {
  body.booking .booking-shell { height: auto; min-height: 0; padding-block: 24px; gap: 22px; }
  body.booking .booking-heading { justify-content: center; }
  body.booking .booking-direct,
  body.booking .booking-frame { display: none; }
  body.booking .booking-mobile { display: flex; flex-direction: column; align-items: center; gap: 20px; text-align: center; padding: 0 12px 24px; }
  body.booking .booking-mobile p { max-width: 32ch; margin: 0; font-size: 16px; line-height: 1.5; }
  body.booking .booking-mobile .ww-button { width: min(100%, 360px); min-height: 58px; font-size: 18px; padding: 16px 24px; }
}
@media (max-width: 499.98px) {
  body.booking .booking-main > .ww-wrap { width: calc(100% - 16px); }
  body.booking .booking-heading { padding-inline: 8px; }
  body.booking .booking-heading h1 { font-size: 25px; }
  body.booking .booking-direct { font-size: 12px; }
  body.booking .booking-details { padding-inline: 8px; }
}
