/* The offer belongs with the introduction, including at phone width. */
.parent-header .club-disclosure { display:none; }
.parent-header .club-direct-links { gap:clamp(12px,1.8vw,28px); }
.parent-header .club-actions .btn, .team-links .btn { background:var(--blue); color:var(--paper); }
.parent-header .club-direct-links a, .parent-header .club-portal { color:var(--blue); }
.parent-header .club-direct-links [aria-current="page"] { color:var(--ink); }
.team-intro h1 { font-size:clamp(46px,5.4vw,82px); line-height:.94; margin:.2em 0 .25em; }
.offer-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-block:15px 13px; padding-block:13px; border-block:1px solid var(--line); }
.offer-facts p { display:grid; gap:2px; margin:0; font-size:13px; line-height:1.4; }
.offer-facts strong { font-size:clamp(14px,1.1vw,17px); color:var(--ink); }
.offer-facts span { color:var(--muted); }
.team-intro > p { max-width:43ch; }
.team-links { margin-top:4px; }
.coach-intro { scroll-margin-top:10px; }
.coach-intro .recap-layout { padding-block:clamp(26px,4vw,58px); }
.coach-intro .section-title { margin:6px 0; font-size:clamp(32px,4vw,60px); }
.coach-intro .recap-paper { border-top:3px solid var(--ink); border-left:0; }
.parent-next { display:grid; grid-template-columns:1fr 1fr; gap:18px; border-top:1px solid var(--line); padding-block:18px; }
.parent-next a { color:var(--ink); font-size:15px; }
.parent-next strong { display:block; color:var(--blue); min-height:34px; }
@media(max-width:850px){
 .parent-header { gap:8px; }
 .parent-header .club-nav { margin-left:auto; }
 .parent-header .club-direct-links, .parent-header .club-portal { display:none; }
 .parent-header .club-disclosure { display:block; }
 .parent-header .club-actions { display:flex; margin-left:4px; }
 .parent-header .club-actions .btn { display:inline-flex; min-height:44px; padding:8px 12px; }
 .parent-header .club-links-panel { left:auto; right:0; min-width:174px; max-width:calc(100vw - 24px); }
}
@media(max-width:700px){
 .team-intro h1 { font-size:clamp(35px,9.8vw,59px); line-height:.98; }
 .team-masthead { padding-top:18px; }
 .offer-facts { margin-block:12px; gap:8px 14px; padding-block:10px; }
 .offer-facts p { font-size:12px; }
 .parent-next { grid-template-columns:1fr; gap:6px; }
}

.booking-page { max-width:760px; margin:auto; padding:12px clamp(16px,4vw,38px) 50px; color:var(--ink); }
.booking-page header { display:flex; justify-content:space-between; align-items:center; padding-bottom:10px; border-bottom:1px solid var(--line); }
.booking-page a { color:var(--blue); font-weight:750; }
.booking-head { padding-block:24px 10px; }
.booking-head h1 { font:700 clamp(43px,7vw,80px)/1 Display,sans-serif; text-transform:uppercase; margin:6px 0 12px; }
.booking-head p, .booking-box p { line-height:1.5; max-width:58ch; }
.booking-box { border:1px solid var(--line); border-top:4px solid var(--ink); background:var(--paper); padding:clamp(14px,3vw,24px); margin-block:16px; }
.booking-box fieldset { border:0; padding:0; margin:0; min-width:0; }
.booking-box legend, .booking-box h2 { font:700 clamp(24px,4vw,34px)/1.05 Display,sans-serif; margin:0 0 12px; }
.booking-offers { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.booking-offers label, .booking-dates label { display:flex; align-items:center; gap:8px; min-height:46px; padding:10px; border:1px solid var(--line); cursor:pointer; }
.booking-box input { accent-color:var(--blue); }
.booking-offers label:has(:checked), .booking-dates label:has(:checked) { outline:2px solid var(--blue); outline-offset:-2px; }
.booking-offers strong, .booking-offers small { display:block; }
.booking-box .booking-dates { margin-top:18px; }
.booking-dates legend { font:800 16px/1.4 Manrope,sans-serif; }
.booking-dates label { justify-content:space-between; padding:7px 12px; }
.booking-dates label+label { border-top:0; }
.booking-dates span { display:inline-flex; align-items:center; gap:8px; }
.booking-box small, .booking-fine { color:var(--muted); }
.booking-box .booking-fine { font-size:13px; margin:8px 0 17px; }
.booking-inputs { display:grid; grid-template-columns:2fr 1fr; gap:10px; }
.booking-inputs label { display:grid; gap:3px; min-width:0; font-weight:750; }
.booking-inputs label:last-child { grid-column:1/-1; }
.booking-inputs input, .booking-inputs select { min-width:0; width:100%; border:1px solid var(--muted); padding:8px; background:var(--paper); color:var(--ink); font:inherit; font-size:16px; min-height:44px; }
.booking-confirm { display:flex; gap:9px; align-items:flex-start; margin:16px 0; font-size:14px; }
.booking-confirm input { margin-top:4px; }
.booking-page .booking-submit { display:inline-flex; align-items:center; justify-content:center; min-height:44px; background:var(--blue); color:var(--paper); padding:8px 16px; margin-top:12px; border:0; border-radius:4px; font:inherit; font-weight:800; }
.booking-box button:disabled { opacity:.55; }
.booking-notice,.booking-error { padding:12px; margin-top:12px; border-left:4px solid var(--blue); background:var(--paper); }
.booked-row { padding:12px 0; border-top:1px solid var(--line); }
.booked-row button { color:var(--blue); background:var(--paper); border:1px solid var(--line); margin:4px 5px 0 0; padding:8px; min-height:44px; }
.booking-page :focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
@media(max-width:380px){.booking-offers { grid-template-columns:1fr; }}

.monthly-scans { padding-block:clamp(26px,4vw,56px); border-block:1px solid var(--line); }
.monthly-scans h2 { margin:8px 0; font:700 clamp(32px,4.5vw,62px)/1 Display,sans-serif; text-transform:uppercase; }
.monthly-scans > p { max-width:66ch; line-height:1.5; }
.scan-checkpoints { list-style:none; margin:16px 0 10px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.scan-checkpoints li { padding:12px 0; border-top:3px solid var(--blue); }
.scan-checkpoints small, .camp-scan-label { display:block; color:var(--blue); font-size:12px; font-weight:750; }
.scan-checkpoints strong { display:block; margin:4px 0; font-size:21px; }
.scan-checkpoints p { max-width:43ch; line-height:1.45; }
.scan-permission { font-size:14px; }
.home-mlt-note { margin-top:10px; max-width:64ch; }
.home-mlt-note a { color:var(--blue); font-weight:750; text-decoration:underline; }
.booking-dates span.booking-day-label { display:grid; gap:1px; }
.booking-dates .booking-day-label small { color:var(--blue); }
@media(max-width:550px){.scan-checkpoints { grid-template-columns:1fr; gap:1px; }}
