/* CronoRun - nuovo sito. Colori dal logo: blu #0404a0, arancio #f26a21. */
:root{
  --navy:#0a0a9e;--navy-d:#05055f;--or:#f26a21;--cta:#c8500c;
  --bg:#f5f6fb;--sf:#fff;--tx:#14172b;--mut:#5d6580;--ln:#e1e4ef;--brand:#0a0a9e;
  --p-bg:#e6e7ff;--p-tx:#2323b0;--p-fine:#e3e6ef;--p-fine-tx:#44506b;--p-no:#fbe3e0;--p-no-tx:#a8201a;
  --r:16px;--sh:0 1px 2px rgba(20,23,43,.06),0 8px 24px rgba(20,23,43,.07);
}
@media (prefers-color-scheme:dark){
  :root{--bg:#090b1b;--sf:#131733;--tx:#eceef8;--mut:#a0a8c4;--ln:#262c4d;--brand:#a9b0ff;
    --p-bg:#262a66;--p-tx:#c9ceff;--p-fine:#232846;--p-fine-tx:#aab2cf;--p-no:#4a1f22;--p-no-tx:#ffb4ab;--sh:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35)}
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--tx);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  padding-bottom:calc(68px + env(safe-area-inset-bottom))}
a{color:var(--brand)}
h1,h2,h3{line-height:1.15;letter-spacing:-.015em;margin:0}
p{margin:0 0 .8em}
.w{max-width:1080px;margin:0 auto;padding:0 18px}
.ic{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}
.mut,small.mut{color:var(--mut)}
.centro{text-align:center;margin-top:18px}

/* intestazione */
.top{position:sticky;top:0;z-index:30;background:var(--sf);border-bottom:1px solid var(--ln);padding-top:env(safe-area-inset-top)}
.top-in{display:flex;align-items:center;gap:20px;height:60px}
.brand{display:flex;align-items:center}
.brand img{height:36px;width:auto;display:block}
.nav{display:none;margin-left:auto;gap:6px}
.nav a{padding:8px 14px;border-radius:999px;text-decoration:none;color:var(--tx);font-weight:600}
.nav a:hover{background:var(--bg)}
.nav a[aria-current]{color:#fff;background:var(--navy)}
@media (prefers-color-scheme:dark){.nav a[aria-current]{background:var(--or);color:#fff}}
#installa{margin-left:auto}
.nav + #installa{margin-left:0}

/* barra in basso (aspetto "app" su smartphone) */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:var(--sf);
  border-top:1px solid var(--ln);padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px 8px;text-decoration:none;color:var(--mut);font-size:.7rem;font-weight:600}
.tabbar .ic{width:23px;height:23px}
.tabbar a[aria-current]{color:var(--or)}
@media (min-width:760px){
  .tabbar{display:none}
  body{padding-bottom:0}
  .nav{display:flex}
}

/* pettorale */
.bib{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:none;min-width:54px;padding:5px 8px 5px;
  background:#fff;color:#14172b;border:2px solid #14172b;border-radius:9px;line-height:1;font-variant-numeric:tabular-nums}
.bib:before,.bib:after{content:"";position:absolute;top:3px;width:4px;height:4px;border-radius:50%;background:#14172b;opacity:.3}
.bib:before{left:4px}.bib:after{right:4px}
.bib-d{font-size:1.45rem;font-weight:800;margin-top:6px}
.bib-m{font-size:.6rem;letter-spacing:.14em;font-weight:800;margin-top:3px;color:#c8500c}
.bib-nd .bib-d{color:#8a90a8}

/* etichette di stato */
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 11px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--p-fine);color:var(--p-fine-tx);white-space:nowrap}
.p-aperte{background:var(--cta);color:#fff}
.p-aperte:before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:pulsa 1.6s ease-in-out infinite}
.p-presto,.p-programma{background:var(--p-bg);color:var(--p-tx)}
.p-chiuse,.p-conclusa{background:var(--p-fine);color:var(--p-fine-tx)}
.p-annullata{background:var(--p-no);color:var(--p-no-tx)}
@keyframes pulsa{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.p-aperte:before{animation:none}html{scroll-behavior:auto}.card-g{transition:none!important}}

/* pulsanti */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:12px;background:var(--cta);color:#fff;
  font:inherit;font-weight:700;text-decoration:none;border:1.5px solid var(--cta);cursor:pointer;text-align:center}
.btn:hover{filter:brightness(1.08)}
.btn.sec{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn.blk{display:flex;width:100%}
.btn.off{opacity:.55;cursor:default;pointer-events:none;border-style:dashed}
.btn.mini{padding:7px 14px;font-size:.85rem;border-radius:999px}
.az{margin:0 0 10px}.az small{display:block;margin-top:4px;text-align:center}

/* home */
.hero{position:relative;overflow:hidden;color:#fff;border-radius:0 0 30px 30px;
  background:radial-gradient(120% 140% at 85% 0%,#1a1ac4 0%,#0a0a9e 38%,#05055f 100%)}
.hero-in{position:relative;z-index:1;display:grid;gap:26px;padding-top:38px;padding-bottom:44px}
.eyebrow{margin:0 0 12px;font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
.hero h1{font-size:clamp(2rem,7vw,3.4rem);font-weight:850;letter-spacing:-.03em;max-width:15em}
.lead{margin:14px 0 0;font-size:1.08rem;color:#d6d9ff;max-width:32em}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.onde{display:block;fill:none}
.onde-h{position:absolute;right:-70px;top:50%;width:340px;transform:translateY(-50%);opacity:.3;pointer-events:none}
.next{display:flex;flex-direction:column;gap:12px;align-items:flex-start;padding:16px 18px;border-radius:var(--r);text-decoration:none;color:#fff;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px);max-width:420px}
.next-l{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#ffd2b6}
.next-r{display:flex;gap:14px;align-items:center}
.next-r strong{display:block;font-size:1.1rem;line-height:1.2}
.next-r div span{color:#d6d9ff;font-size:.92rem}
@media (min-width:860px){
  .hero-in{grid-template-columns:1.3fr 1fr;align-items:center;padding-top:60px;padding-bottom:64px}
  .onde-h{width:520px;right:-90px}
  .next{justify-self:end;position:relative;z-index:1}
}
.sec-h{display:flex;justify-content:space-between;align-items:baseline;margin:38px 0 14px}
.sec-h h2{font-size:1.3rem;font-weight:800}
.sec-h a{font-weight:700;text-decoration:none}

/* pagine interne */
.page-h{padding:28px 0 8px}
.page-h h1{font-size:clamp(1.8rem,5vw,2.4rem);font-weight:850;letter-spacing:-.025em}
.page-h p{margin-top:8px;max-width:40em}
.mese{font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin:30px 0 14px}
.indietro{display:inline-flex;align-items:center;gap:4px;margin:20px 0 0;font-weight:700;text-decoration:none}

/* schede delle gare */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
@media (max-width:480px){.grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.card-g{display:block;background:var(--sf);border:1px solid var(--ln);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;box-shadow:var(--sh);transition:transform .18s}
.card-g:hover{transform:translateY(-4px)}
.thumb{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#0a0a9e,#05055f);overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.thumb .bib{position:absolute;left:10px;top:10px;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.thumb .pill{position:absolute;left:10px;bottom:10px;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.thumb.vuoto .onde-v{position:absolute;left:50%;top:46%;width:78%;transform:translate(-50%,-50%);opacity:.85}
.card-b{padding:12px 14px 14px}
.card-b h3{font-size:1rem;font-weight:750;margin-bottom:4px}
.card-b p{margin:0;font-size:.86rem}

/* elenchi a righe */
.righe{display:grid;gap:10px}
.riga{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;background:var(--sf);border:1px solid var(--ln);border-radius:14px;padding:12px 14px}
.riga-i{display:flex;gap:14px;align-items:center;min-width:0;flex:1 1 260px}
.riga-t{font-weight:750;text-decoration:none;color:var(--tx);font-size:1.02rem}
.riga-t:hover{text-decoration:underline}
.riga p{margin:2px 0 0;font-size:.88rem}
.riga-a{flex:0 1 270px;min-width:200px}
.riga-a .az:last-child{margin-bottom:0}
.riga-a .btn{padding:9px 16px}
@media (max-width:560px){.riga-a{flex:1 1 100%}}
.chips{display:flex;gap:8px;overflow-x:auto;padding:6px 0 12px;margin:0 -18px;padding-left:18px;padding-right:18px;scrollbar-width:none}
.chip{flex:none;padding:7px 16px;border-radius:999px;border:1.5px solid var(--ln);background:var(--sf);color:var(--tx);text-decoration:none;font-weight:700;font-variant-numeric:tabular-nums}
.chip[aria-current]{background:var(--navy);border-color:var(--navy);color:#fff}
@media (prefers-color-scheme:dark){.chip[aria-current]{background:var(--or);border-color:var(--or)}}
.cerca{width:100%;padding:12px 14px;margin:0 0 14px;border:1.5px solid var(--ln);border-radius:12px;background:var(--sf);color:var(--tx);font:inherit}
.cerca:focus{outline:2px solid var(--brand);outline-offset:1px}

/* pagina della gara */
.gara{display:grid;gap:22px;margin:16px 0 34px}
.vol img{display:block;width:100%;border-radius:var(--r);border:1px solid var(--ln);box-shadow:var(--sh)}
.vol{max-width:360px;margin:0 auto;width:100%}
.gara-c h1{font-size:clamp(1.7rem,5vw,2.4rem);font-weight:850;letter-spacing:-.025em;margin:12px 0 12px}
.meta{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:6px;color:var(--mut);font-weight:600}
.meta li{display:flex;gap:8px;align-items:center}
.intro{font-size:1.04rem}
.pannello{background:var(--sf);border:1px solid var(--ln);border-radius:var(--r);padding:18px;margin-top:16px}
.pannello h2{font-size:1.05rem;font-weight:800;margin-bottom:12px}
.pannello .btn{margin-bottom:10px}.pannello .btn:last-child{margin-bottom:0}
.pannello p:last-child{margin-bottom:0}
.avviso.no{background:var(--p-no);color:var(--p-no-tx);padding:12px 16px;border-radius:12px;margin-top:14px}
@media (min-width:820px){
  .gara{grid-template-columns:330px 1fr;gap:38px;align-items:start}
  .vol{position:sticky;top:84px;margin:0}
  .gara-c.solo{grid-column:1/-1}
}

/* stato vuoto */
.vuoto-b{position:relative;text-align:center;padding:42px 20px;margin:20px 0;border:1.5px dashed var(--ln);border-radius:var(--r)}
.onde-s{width:64px;margin:0 auto 12px}
.vuoto-b h3{font-size:1.15rem;margin-bottom:6px}
.vuoto-b p{max-width:32em;margin:0 auto}

.foot{padding:30px 0 20px;color:var(--mut);font-size:.85rem;text-align:center}
