/* ============================================================
   2026 RACE CALENDAR styles
   ============================================================ */
.race-calendar{position:relative;overflow:hidden;}

/* series block */
.series-block{max-width:1000px;margin:0 auto 56px;}
.series-head{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:18px;
  border-bottom:1px solid var(--line);}
.series-logo-img{height:58px;width:auto;max-width:320px;flex:none;}
.series-logo-img.rr{height:76px;width:76px;border-radius:50%;box-shadow:0 6px 20px rgba(0,0,0,.3);}
.series-meta h3{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;
  text-transform:uppercase;letter-spacing:.01em;font-size:25px;line-height:1.05;margin:0 0 3px;}
.series-meta span{color:var(--mut);font-size:14.5px;font-family:'Saira Condensed',sans-serif;
  font-weight:700;text-transform:uppercase;letter-spacing:.06em;}

.cal-list{display:flex;flex-direction:column;gap:16px;}
.cal-row{display:grid;grid-template-columns:150px 190px 1fr;gap:26px;align-items:center;padding:20px 26px;}
.cal-row.status-next{border-color:rgba(0,174,239,.5);box-shadow:0 0 0 1px rgba(0,174,239,.4),0 16px 40px rgba(0,174,239,.12);}

/* date column */
.cal-date{display:flex;flex-direction:column;gap:4px;align-items:flex-start;}
.cal-day{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;
  font-size:30px;line-height:1;color:var(--ink);}
.cal-next{margin-top:6px;background:var(--cyan);color:#04263a;font-family:'Saira Condensed',sans-serif;
  font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;padding:4px 11px;border-radius:999px;}
.cal-done{margin-top:6px;color:var(--magenta);font-family:'Saira Condensed',sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.05em;font-size:11.5px;}

/* track column */
.cal-track{display:flex;align-items:center;justify-content:center;}
.track-map{width:100%;height:140px;display:block;}
.track-map.big{height:300px;}
.track-surface{fill:none;stroke:rgba(11,26,58,.16);stroke-linecap:round;stroke-linejoin:round;}
body:not(.theme-sky) .track-surface{stroke:rgba(255,255,255,.1);}
.track-line{fill:none;stroke-linecap:round;stroke-linejoin:round;opacity:.95;}
.track-sf{fill:none;stroke:var(--magenta);}
.track-sf-dot{fill:var(--magenta);}
.track-tbd{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:34px;
  color:var(--mut-d);opacity:.5;letter-spacing:.04em;}

/* info column */
.cal-info{display:flex;flex-direction:column;gap:5px;}
.cal-venue{font-family:'Saira Condensed',sans-serif;font-weight:800;text-transform:uppercase;
  letter-spacing:.01em;font-size:23px;line-height:1.04;margin:0;}
.cal-loc{color:var(--mut);font-size:14.5px;font-family:'Saira Condensed',sans-serif;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;}
.cal-results{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.cal-result{display:flex;flex-direction:column;align-items:center;background:rgba(236,28,148,.08);
  border:1px solid rgba(236,28,148,.28);border-radius:12px;padding:8px 16px;min-width:92px;}
.cr-medal{font-size:24px;line-height:1;}
.cr-place{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:20px;color:var(--ink);margin-top:2px;}
.cr-day{font-size:11.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;}
.cal-tba{color:var(--mut);font-size:15px;font-style:italic;margin-top:6px;}

/* Rhythm & Race feature */
.rr-feature{display:grid;grid-template-columns:1fr 1.1fr;gap:36px;align-items:center;padding:30px 34px;}
.rr-map{display:flex;align-items:center;justify-content:center;}
.rr-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.rr-date{position:relative;background:var(--navy-card);border:1px solid var(--line);border-radius:13px;
  padding:14px 18px;display:flex;flex-direction:column;gap:2px;transition:border-color .18s,transform .18s;}
body.theme-sky .rr-date{background:#f5fbfe;}
.rr-date:hover{border-color:rgba(236,28,148,.45);transform:translateY(-2px);}
.rr-date.next{border-color:rgba(0,174,239,.55);box-shadow:0 0 0 1px rgba(0,174,239,.35);}
.rr-d{font-family:'Saira Condensed',sans-serif;font-style:italic;font-weight:900;font-size:24px;line-height:1;color:var(--ink);}
.rr-r{color:var(--mut);font-size:13px;font-family:'Saira Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
.rr-date .cal-next{position:absolute;top:12px;right:12px;margin:0;}

.cal-foot{text-align:center;margin-top:48px;}
.cal-foot p{color:var(--mut);font-size:18px;margin:0 0 16px;}

@media(max-width:820px){
  .cal-row{grid-template-columns:120px 1fr;grid-template-areas:'date info' 'track track';row-gap:16px;}
  .cal-date{grid-area:date;} .cal-info{grid-area:info;} .cal-track{grid-area:track;}
  .track-map{height:150px;}
  .rr-feature{grid-template-columns:1fr;gap:24px;}
  .rr-map{order:2;}
  .track-map.big{height:240px;}
}
@media(max-width:480px){
  .cal-row{grid-template-columns:1fr;grid-template-areas:'date' 'info' 'track';}
  .cal-day{font-size:26px;}
  .rr-dates{grid-template-columns:1fr;}
  .series-logo-img{height:50px;}
  .series-meta h3{font-size:21px;}
}
