/* Navigation burger, division tabs and colour coding. Mixed Open = lime, Women's = coral. */
:root{--women:#ff6b6b}
.nav-toggle,.menu-panel{display:none}
@media(max-width:760px){
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:.25rem;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink);cursor:pointer;flex-direction:column;gap:5px}
  .nav-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .nav-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
  .nav-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header{flex-wrap:wrap}
  .site-nav{margin-left:auto}
  .menu-panel{width:100%;order:3;flex-direction:column;border-top:1px solid var(--line);margin-top:.75rem}
  .menu-panel:not([hidden]){display:flex}
  .menu-panel a{padding:.95rem .25rem;border-bottom:1px solid var(--line);font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:1.15rem;color:var(--ink)}
  .menu-panel a:hover{color:var(--lime);text-decoration:none}
}
html{scroll-padding-top:5.5rem}

/* Tabs (only active once enhance.js adds .js to <html>) */
.tablist{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1.25rem}
.tablist [role=tab]{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:1rem;min-height:44px;padding:.55rem 1.1rem;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:4px;cursor:pointer}
.tablist [role=tab]:hover{color:var(--ink)}
.tablist [role=tab][aria-selected=true]{background:var(--lime);color:#0f262e;border-color:var(--lime)}
.tablist [role=tab][data-tone=women][aria-selected=true]{background:var(--women);border-color:var(--women);color:#0f262e}
.tablist.sub [role=tab]{font-size:.85rem;min-height:40px;padding:.4rem .9rem}
.tablist.sub [role=tab][aria-selected=true]{background:transparent;color:var(--ink);border-color:var(--lime);box-shadow:inset 0 -3px 0 var(--lime)}
.tablist.sub [role=tab][data-tone=women][aria-selected=true]{border-color:var(--women);box-shadow:inset 0 -3px 0 var(--women)}
.js [role=tabpanel][hidden]{display:none}
.panel-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:1.6rem;margin:.25rem 0 1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.panel-title:before{content:"";width:.9rem;height:.9rem;border-radius:50%;background:var(--lime)}
.tone-women .panel-title:before{background:var(--women)}
.tone-women .panel-title{color:var(--women)}
.tone-mixed .panel-title{color:var(--lime)}

/* Division colour coding */
.tone-mixed .schedule-group-card,.tone-mixed.division-card{border-top:4px solid var(--lime)}
.tone-women .schedule-group-card,.tone-women.division-card{border-top:4px solid var(--women)}
.tone-women .schedule-group-label{color:var(--women)}
.tone-women .schedule-round-time,.tone-women .rule-group h4{color:var(--women)}
.tone-women .rule-group li::marker{color:var(--women)}
.tone-women .chip{color:var(--women);border-color:var(--women)}
.tone-women .schedule-pitch-label{color:var(--women)}
.schedule-group-card{padding:1.25rem 1.4rem}
.schedule-group-label{font-size:.95rem;color:var(--lime)}
.schedule-group-teams li{font-size:1.25rem}
.stage-fold{margin:0 0 .9rem}
.stage-fold>summary{cursor:pointer;list-style:none;font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:1.15rem;padding:1rem 1.2rem;min-height:44px;background:var(--panel);border:1px solid var(--line);border-radius:4px;display:flex;justify-content:space-between;align-items:center}
.stage-fold>summary::-webkit-details-marker{display:none}
.stage-fold>summary:after{content:"+";font-size:1.5rem;line-height:1;color:var(--lime)}
.stage-fold[open]>summary:after{content:"–"}
.stage-fold[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.stage-fold>.schedule-rounds{padding-top:.6rem}
.day-fold{border-top:1px solid var(--line);padding:0}
.day-fold>summary{cursor:pointer;list-style:none;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.25rem}
.day-fold>summary::-webkit-details-marker{display:none}
.day-fold>summary h4{margin:0}
.day-fold>summary:after{content:"+";font-size:1.5rem;color:var(--lime)}
.day-fold[open]>summary:after{content:"–"}
.day-fold>*:not(summary){padding-left:1.25rem;padding-right:1.25rem}
.day-fold>*:last-child{padding-bottom:1rem}

/* Pass headline — Anton (site display font), one line, sized to always fit the pass card */
.pass-headline{font-family:var(--display);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.6rem,8vw,2.5rem);line-height:1;color:var(--lime);text-align:center;margin:0 0 .6rem;white-space:nowrap}
.pass-inline-card .pass-headline{padding:1.25rem 1.25rem 0;margin:0}

/* A display rule on .reg-pass-inline was overriding [hidden], so the pass showed before submitting */
.reg-pass-inline[hidden]{display:none}

/* Mobile hero: date sits bottom-left of the photo, above the buttons, instead of over the players */
@media(max-width:760px){
  .hero-title{margin-bottom:auto}
  .hero-date{text-align:left;margin:0 0 .9rem;font-size:clamp(1.4rem,7vw,1.9rem)}
  .hero-actions{margin-top:0}
}

/* Live scores */
.schedule-match.has-score,.schedule-match[data-match] .mt{display:inline}
.schedule-match .mt{margin:0}
.schedule-match b.sc{display:inline-block;min-width:1.7em;margin:0 .3em;padding:.05em .35em;background:var(--lime);color:#0f262e;border-radius:3px;text-align:center;font-weight:400}
.schedule-match i{font-style:normal;color:var(--muted);margin:0 .45em}
.schedule-match i:not(:only-child):first-of-type{margin:0 .45em}
.schedule-match .match-status{font-style:normal;font-size:.7em;letter-spacing:.1em;margin-left:.7em;padding:.15em .5em;border-radius:3px;vertical-align:middle}
.schedule-match .match-status.live{background:#ff3b3b;color:#fff;animation:livepulse 1.4s ease-in-out infinite}
.schedule-match .match-status.ft{background:var(--panel);color:var(--muted);border:1px solid var(--line)}
@keyframes livepulse{50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){.schedule-match .match-status.live{animation:none}}
.scores-updated{color:var(--muted);font-size:.8rem;margin:0 0 1rem}
.schedule-match .pens{margin-left:.6em;color:var(--muted);font-size:.75em;letter-spacing:.04em}

/* Score after the team names: "Home Away 3-2" */
.schedule-match.has-score .mt+.mt{margin-left:.5em}
.schedule-match b.sc{margin:0 0 0 .6em;min-width:0;padding:.05em .55em;letter-spacing:.06em}

/* Standings tables */
.standings-wrap{padding:.9rem 1rem 1rem;background:var(--panel);border:1px solid var(--line);border-top:0;border-radius:0 0 4px 4px;overflow-x:auto}
.standings{width:100%;border-collapse:collapse;font-family:var(--display);text-transform:uppercase;letter-spacing:.04em}
.standings th,.standings td{padding:.55rem .5rem;text-align:center;border-bottom:1px solid var(--line);font-size:1rem}
.standings th{color:var(--muted);font-size:.78rem;letter-spacing:.1em}
.standings .tm{text-align:left;white-space:nowrap}
.standings td.pts{color:var(--lime)}
.standings td.dv{color:var(--muted);font-size:.8rem}
.tone-women .standings td.pts{color:var(--women)}
.standings tbody tr:nth-child(-n+4) td:first-child{color:var(--lime)}
.standings sup{color:#ff9f43;margin-left:.15em}
.standings-note{margin-top:.8rem;color:var(--muted);font:400 .8rem var(--body);text-transform:none;letter-spacing:0}

/* Winners podium (shown once a result is decided) */
.podium{margin:0 0 1.5rem}
.podium-title{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:1.6rem;color:var(--lime);margin-bottom:.8rem}
.podium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}
.podium-card{background:var(--panel);border:1px solid var(--line);border-top:4px solid var(--lime);border-radius:4px;padding:1rem 1.2rem}
.podium-card.tone-women{border-top-color:var(--women)}
.podium-card h4{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;color:var(--lime);margin-bottom:.6rem}
.podium-card.tone-women h4{color:var(--women)}
.podium-card ul{list-style:none;padding:0;display:grid;gap:.45rem}
.podium-card li{display:flex;gap:.6rem;align-items:center;font-family:var(--display);text-transform:uppercase;font-size:1.15rem}
.podium-card li .medal{font-size:1.3rem}
.podium-card li em{font-style:normal;color:var(--muted);font-size:.9rem;letter-spacing:.06em}
.podium-card li.tie{font-size:.9rem;color:var(--muted)}
