/* The Book page's own passages, in page order. Served on /book only, after styles.css (which holds the fact lists). */

/* ---------- the ask (data-section="opening") ----------
   The name across the top; from 900px our words at the left and the calendar at the right, in one frame. The island's
   own outer box is removed in styles.css (.cal-live .island), so the calendar card's ring is the only edge. */
.bk-open{padding-block:clamp(32px, 5vw, 72px) clamp(48px, 6vw, 100px)}
.bk-open-grid{display:grid;gap:22px}
.bk-open h1{order:1;font-size:clamp(34px, 9vw, 42px);line-height:1.06;letter-spacing:-.018em}
.bk-open-words{display:contents}
.bk-open-words .lede{order:2;margin:0}
.bk-open-cal{order:3}
.bk-jump{order:4;display:flex;flex-wrap:wrap;column-gap:28px;row-gap:4px;margin:0}
.bk-open .cal-live{margin:0;max-width:none}
.bk-open .ways-live{margin-top:clamp(26px, 3vw, 44px)}
@media (min-width:900px){
  .bk-open-grid{grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:0;align-items:start}
  .bk-open h1{grid-column:1 / 13;grid-row:1;font-size:clamp(42px, 20px + 2.3vw, 60px);line-height:1.02}
  .bk-open-words{display:block;grid-column:1 / 5;grid-row:2;margin-top:clamp(26px, 3vw, 56px)}
  .bk-open-words .lede{max-width:22em}
  .bk-jump{flex-direction:column;gap:8px;margin-top:clamp(24px, 3vw, 44px)}
  .bk-jump .more{width:fit-content}
  .bk-open-cal{grid-column:6 / 13;grid-row:2;margin-top:clamp(26px, 3vw, 56px)}
}

/* ---------- how the price works (data-section="seasons"): the page's one pale band, a quiet list of seasons, no table ----------
   Each season: its name, its dates and its lowest nightly price; under them its own rates (the Friday and Saturday price shows here). */
.bk-seasons{background:var(--birch);padding-block:clamp(56px, 7vw, 120px)}
.bk-seasons-grid{display:grid;gap:18px}
.bk-seasons-words p+p{margin-top:14px}
.bk-season-list{margin-top:26px}
.bk-season-list h3{font-family:var(--body);font-weight:600;font-size:14px;letter-spacing:.02em;color:var(--moss);margin-bottom:10px}
.bk-season-list ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.bk-season-list li{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.4}
.bk-season-list .sn{font-weight:600}
.bk-season-list .sd{grid-column:1;color:var(--moss)}
.bk-season-list .sp{grid-column:2;grid-row:1 / 3;align-self:center;white-space:nowrap}
.bk-season-list .sr{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:2px 20px;color:var(--moss)}
.bk-season-list .sr b{font-weight:600;color:var(--pine)}
.bk-season-list .small-line{margin-top:10px}
@media (min-width:900px){
  .bk-seasons-grid{grid-template-columns:repeat(12,1fr);column-gap:var(--gap);align-items:start}
  .bk-seasons-grid h2{grid-column:1 / 6}
  .bk-seasons-words{grid-column:7 / 13}
  .bk-season-list{grid-column:1 / 13;margin-top:clamp(28px, 3vw, 44px)}
  .bk-season-list li{grid-template-columns:2fr 3fr auto;column-gap:var(--gap)}
  .bk-season-list .sd{grid-column:2}
  .bk-season-list .sp{grid-column:3;grid-row:auto}
  .bk-season-list .sr{grid-column:2 / 4;font-size:14px}
}

/* ---------- before you book ---------- */
.bk-before{padding-block:clamp(56px, 7vw, 120px) clamp(72px, 9vw, 150px)}

/* A rate line wraps inside its row rather than widening the page (long season or rate names, long numbers). */
.bk-season-list li,.bk-season-list li>span{min-width:0;overflow-wrap:anywhere}
