/* The Races page (race.html), v8. Loaded after polish.css on race.html only. */

/* Page header links */
.hero-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px}
.hero-link{font:500 13px/1 var(--sans),Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#fff;padding-bottom:6px;border-bottom:2px solid var(--gold);font-size-adjust:var(--sans-fsa);font-variant-numeric:var(--sans-nums)}
.hero-link:hover{color:var(--gold-soft)}

/* Photo bands: give them a height (they collapsed to 0px in v5 to v7) and use the 2025 photos */
.photo-race-splash{width:100%;min-height:clamp(240px,34vw,470px)}
.photo-race-splash{background-image:linear-gradient(180deg,rgba(0,33,71,0) 50%,rgba(0,33,71,.6)),url(photos/races-splash-ladies-2025.jpg);background-position:center 55%}


/* Three-photo strip after the timetable */
.race-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,1.4vw,18px);margin:clamp(36px,5vw,64px) 0 0}
.race-strip figure{margin:0;aspect-ratio:1/1;overflow:hidden;background:var(--shell)}
.race-strip img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--ease,ease)}
.race-strip figure:hover img{transform:scale(1.03)}
.race-strip-credit{grid-column:1/-1;margin:2px 0 0;font-size:12px;color:var(--muted)}

/* Timetable: slightly tighter rows */
#timetable .programme-row{padding:19px 0}

/* Match Programme as a slim band */
.programme-slim-in{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(18px,3vw,36px);align-items:center;background:var(--ox);color:#fff;padding:clamp(22px,3vw,34px);margin-top:6px}
.programme-slim-mark{width:76px;height:76px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.25)}
.programme-slim-mark img{width:48px;height:48px}
.programme-slim .eyebrow{color:var(--gold-soft)}
.programme-slim h2{font-size:clamp(24px,2.6vw,32px);margin:6px 0 8px;color:#fff}
.programme-slim p{margin:0;line-height:1.55;color:rgba(255,255,255,.88)}
.programme-slim .btn{margin:0}

/* On the day: compact icon list */
.otd-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px}
.otd-list li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line);line-height:1.5}
.otd-list .ico{flex:none;width:24px;height:24px;margin-top:2px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.otd-list strong{display:block;font:600 19px/1.25 "freight-big-pro","Noto Serif",Georgia,serif;color:var(--ox);margin-bottom:3px;font-size-adjust:.47}


/* Non-Blues Races: Old Blues' then II-IVs, stacked */
#non-blues .old-blues{margin-top:28px}
#non-blues .week-before{margin-top:18px}
.old-blues-photo{background:none;margin:0;position:relative;min-height:0}
.old-blues-photo img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:center 12%;display:block}
.old-blues-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;background:linear-gradient(transparent,rgba(0,33,71,.78));color:#fff;font-size:13px}
.old-blues-body .eyebrow{margin-bottom:2px}
.old-blues-body p+p{margin-top:12px}
.old-blues-body .btns{display:flex;justify-content:flex-start;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:20px}
.btn-disabled{background:#c9ccd1!important;color:#3d4653!important;cursor:not-allowed;box-shadow:none!important;transform:none!important;margin:0}
.entry-note{font-size:14px;color:var(--muted)}
.week-before .eyebrow{margin-bottom:2px}

/* Volunteer band */
.volunteer-band{display:grid;grid-template-columns:1fr auto;gap:18px 36px;align-items:center;margin-top:var(--space);padding:clamp(24px,3.4vw,40px);background:var(--cam-light);border-left:4px solid var(--cam)}
.volunteer-band h2{font-size:clamp(28px,3vw,38px);margin:6px 0 8px}
.volunteer-band p{margin:0;line-height:1.6;max-width:620px}

@media (max-width:980px){.otd-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){
 .programme-slim-in{grid-template-columns:1fr}
 .programme-slim-mark{display:none}
 .otd-list{grid-template-columns:1fr}
 .volunteer-band{grid-template-columns:1fr}
 .old-blues-photo img{min-height:0;aspect-ratio:4/3}
 .hero-links{margin-top:16px}
}
@media (max-width:760px){
 .race-strip figure{aspect-ratio:4/5}
}

/* v8b: II-IVs card with a photo, matching the Old Blues' card */
.week-before.has-photo{grid-template-columns:calc((100% + clamp(22px,3vw,36px)) / 3) auto 1fr auto;padding:0 clamp(22px,3vw,36px) 0 0;overflow:hidden}
.week-photo{margin:0;position:relative;align-self:stretch;min-height:240px}
.week-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.week-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 8px;background:linear-gradient(transparent,rgba(0,33,71,.78));color:#fff;font-size:12px}
@media (max-width:760px){
 .week-before.has-photo{grid-template-columns:1fr;padding:0 0 22px}
 .week-before.has-photo>*:not(.week-photo){margin-left:22px;margin-right:22px}
 .week-photo{min-height:0;aspect-ratio:4/3}
}
#old-blues{scroll-margin-top:150px}
.programme-slim .tbc{color:var(--gold-soft);border-color:var(--gold-soft);background:rgba(220,187,90,.1)}
/* Match Programme box (Nov 2026): the real cover beside the details */
.programme-box{display:grid;grid-template-columns:minmax(180px,250px) 1fr;gap:clamp(24px,4vw,56px);align-items:center;background:#fff;border:1px solid rgba(0,33,71,.12);border-top:3px solid var(--ox);padding:clamp(22px,3.4vw,40px)}
.pg-cover{display:block;transform:rotate(-2deg);transition:transform .3s ease}
.pg-cover:hover,.pg-cover:focus-visible{transform:rotate(0)}
.pg-cover img{width:100%;height:auto;display:block;border:1px solid rgba(0,33,71,.18);box-shadow:0 10px 24px rgba(0,33,71,.16)}
.programme-box h2{margin-top:0}
.programme-box .lede{max-width:560px;margin:0 0 24px}
.pg-last{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding-top:20px;border-top:1px solid rgba(0,33,71,.14)}
.pg-last strong{display:block;font:600 19px/1.3 "freight-big-pro","Noto Serif",Georgia,serif;color:var(--ox);font-size-adjust:.47}
.pg-last span{display:block;font-size:14px;color:var(--muted);margin-top:2px}
.pg-last .btn{margin:0}
@media(max-width:700px){.programme-box{grid-template-columns:1fr}.pg-cover{max-width:200px;margin:0 auto}}
.watch-short .btn{margin-top:18px}

/* Scoring */
.scoring-help{border-left-color:var(--gold)}
@media (max-width:760px){
 #scoring .race-feature-grid{grid-template-columns:repeat(3,1fr);gap:8px}
 #scoring .race-feature{padding:16px 12px}
 #scoring .race-feature .number{font-size:30px}
 #scoring .race-feature h3{font-size:16px;margin:8px 0 4px}
 #scoring .race-feature p{font-size:13px;line-height:1.45;margin:0}
}
#scoring #how-it-works{scroll-margin-top:150px}

/* Getting there: the address on one line where the screen allows */
.gt-address{max-width:none}

/* Where to watch: a photo beside the four places, each with its piece of the course plan */
.watch-feature{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,56px);align-items:stretch}
.wf-photo{margin:0;position:relative;overflow:hidden;background:var(--shell);min-height:420px}
.wf-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}
.wf-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 16px 12px;background:linear-gradient(transparent,rgba(0,33,71,.85));color:#fff;font-size:12px;line-height:1.4;display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.wf-photo figcaption span{font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.wf-body>h2{font-size:clamp(34px,4vw,50px);margin:0 0 14px}.wf-body>h2:after{display:none}
.wf-spots{list-style:none;margin:26px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;counter-reset:wf}
.wf-spots li{counter-increment:wf}
.wf-spots a{display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;align-items:start;height:100%;box-sizing:border-box;padding:14px;background:#fff;border-top:3px solid var(--gold);color:var(--ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.wf-spots li:nth-child(even) a{border-top-color:var(--ox)}
.wf-spots a:hover,.wf-spots a:focus-visible{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,33,71,.1)}
.wf-spots img{width:92px;height:92px;object-fit:cover;display:block;border:1px solid var(--line);background:#fff}
.wf-spots b{display:block;font:600 21px/1.15 "freight-big-pro","Noto Serif",Georgia,serif;font-size-adjust:.47;color:var(--ox)}
.wf-spots b:before{content:counter(wf) " · ";color:var(--gold-text)}
.wf-spots small{display:block;margin:5px 0 6px;font:700 12px/1.3 var(--sans),Arial,sans-serif;font-size-adjust:var(--sans-fsa);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text)}
.wf-spots span{font-size:15px;line-height:1.5}
.wf-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:24px}
.wf-links .btn{margin:0}
@media (max-width:1000px){.wf-spots{grid-template-columns:1fr}}
@media (max-width:760px){
 .watch-feature{grid-template-columns:1fr}
 .wf-body{order:-1}
 .wf-photo{min-height:0;aspect-ratio:4/3}
 .wf-photo figcaption{flex-direction:column;align-items:flex-start;gap:4px}
 .wf-spots a{grid-template-columns:76px minmax(0,1fr);gap:14px;padding:12px}
 .wf-spots img{width:76px;height:76px}
 .wf-spots b{font-size:19px}
}
