/* 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 "Roboto",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#fff;padding-bottom:6px;border-bottom:2px solid var(--gold)}
.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,.photo-race-finish{width:100%;min-height:clamp(240px,34vw,470px)}
.photo-race-splash{background-image:linear-gradient(180deg,rgba(0,33,71,0) 50%,rgba(0,20,42,.6)),url(photos/races-splash-ladies-2025.jpg);background-position:center 55%}
.photo-race-finish{background-image:linear-gradient(180deg,rgba(0,33,71,0) 50%,rgba(0,20,42,.6)),url(photos/races-gentlemen-duel-2025.jpg);background-position:center 45%}

/* 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:400 19px/1.25 "Newsreader",Georgia,serif;color:var(--ox);margin-bottom:3px}

/* Scoring */
.scoring-help{border-left-color:var(--gold)}

/* 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 25%;display:block}
.old-blues-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;background:linear-gradient(transparent,rgba(0,20,42,.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){
 #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}
 .race-strip figure{aspect-ratio:4/5}
}
#scoring #how-it-works{scroll-margin-top:150px}

/* v8b: finish photo beside the Please note, under the map */
.watch-left{display:grid;gap:clamp(16px,2vw,24px)}
.watch-photo{margin:0;position:relative;overflow:hidden;aspect-ratio:16/9;background:var(--shell)}
.watch-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}
.watch-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 10px;background:linear-gradient(transparent,rgba(0,20,42,.8));color:#fff;font-size:12px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}
.watch-photo figcaption span{background:rgba(0,20,42,.78);padding:6px 8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}

/* 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,20,42,.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}
 .watch-photo figcaption{flex-direction:column;align-items:flex-start}
}
#old-blues{scroll-margin-top:150px}
.programme-slim .tbc{color:var(--gold-soft);border-color:var(--gold-soft);background:rgba(216,196,143,.1)}
