/* ULF · grafica del sito, ricalcata su quella di oggi (WordPress + Enfold): carattere Barlow, testata bianca con il logo al centro,
   menu in maiuscolo, banner blu, tabelle con l'intestazione azzurrina e righe grigie alternate. */
@font-face{font-family:'Barlow';font-style:normal;font-weight:400;font-display:swap;src:url(../font/barlow-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:500;font-display:swap;src:url(../font/barlow-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:600;font-display:swap;src:url(../font/barlow-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:700;font-display:swap;src:url(../font/barlow-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Barlow';font-style:normal;font-weight:800;font-display:swap;src:url(../font/barlow-latin-800-normal.woff2) format('woff2')}

:root{
  --testo:#222;--grigio:#6f6f6f;--bordo:#e1e1e1;--rosso:#cb2027;--azzurro:#e8ecff;--azzurro-bordo:#d5dcf5;
  --riga1:#f7f7f7;--riga2:#f2f2f2;--diretto:#e4f0bb;--diretto-bordo:#cfdbac;--playoff:#f1f5e5;--piede:#26292b;--oro:#ecd39f;
  --largo:1175px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--testo);font-family:'Barlow',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55}
img{max-width:100%;height:auto}
a{color:inherit}
.nascosto{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.salta{position:absolute;left:-9999px;top:8px;background:#000;color:#fff;padding:8px 14px;z-index:50}
.salta:focus{left:8px}
:focus-visible{outline:3px solid #1a5fd6;outline-offset:2px}

/* ---------- testata e menu ---------- */
.testata{position:sticky;top:0;left:0;right:0;z-index:40;border-bottom:1px solid var(--bordo);text-align:center;padding:4px 16px 0;background:#fff;transition:box-shadow .25s}
.testata.stretta{box-shadow:0 2px 14px rgba(0,0,0,.07)}
/* con JavaScript la testata è fissa e al suo posto c'è uno spazio della stessa altezza: rimpicciolendo il logo la pagina non cambia lunghezza (niente «rimbalzi» in fondo alla pagina) */
.js .testata{position:fixed}
.testata-posto{display:none}
.js .testata-posto{display:block;height:var(--testata-h,229px)}
/* i salti alle sezioni (Fase eliminatoria, Giornate, articoli) si fermano sotto la testata */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.fascia,.giornate,.articolo,.fascia-grigia,.finale-foto{scroll-margin-top:130px}
.testata__logo{display:inline-block;line-height:0}
.testata__logo img{width:170px;height:auto;transition:width .3s ease}
.testata.stretta .testata__logo img{width:72px}
.menu__link{transition:padding .3s ease}
.testata.stretta .menu__link{padding-top:8px;padding-bottom:10px}
.menu__voci{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center}
.menu__voce{position:relative;display:flex;align-items:center}
.menu__voce+.menu__voce::before{content:"";width:1px;height:14px;background:#d9d9d9}
.menu__link{display:block;padding:14px 15px 16px;font-weight:600;font-size:14.5px;letter-spacing:.01em;text-decoration:none;color:#000;white-space:nowrap}
.menu__link:hover,.menu__link[aria-current]{color:var(--rosso)}
.menu__apri-sotto{display:none}
.menu__sotto{list-style:none;margin:0;padding:6px 0;position:absolute;left:0;top:100%;min-width:200px;background:#fff;border:1px solid var(--bordo);box-shadow:0 8px 18px rgba(0,0,0,.08);
  text-align:left;z-index:20;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.menu__voce:hover>.menu__sotto,.menu__voce:focus-within>.menu__sotto,.menu__voce.sotto-aperto>.menu__sotto{opacity:1;visibility:visible;transform:none}
.ha-sotto>.menu__link{cursor:pointer}
.menu__sotto a{display:block;padding:9px 16px;font-size:14px;text-decoration:none;white-space:nowrap}
.menu__sotto a:hover,.menu__sotto a[aria-current]{color:var(--rosso)}
.menu-apri{display:none}

/* ---------- banner blu (Ranking, Partecipanti, Board…) ---------- */
.banner{background:linear-gradient(rgba(3,16,52,.55),rgba(3,16,52,.55)),#0a2a63 url(../img/banner.jpg) center/cover no-repeat;color:#fff;padding:62px 20px 70px}
.banner__dentro{max-width:930px;margin:0 auto}
.banner__titolo{margin:0;font-size:44px;line-height:1.1;font-weight:700;letter-spacing:.01em}
.banner__sotto{margin:6px 0 0;font-size:19px}
.banner__linea{display:block;width:58px;height:2px;background:#fff;margin-top:42px}

.contenuto{display:block;min-height:50vh}
.pagina-larga{max-width:var(--largo);margin:0 auto;padding:64px 20px 70px}
.titoletto{display:flex;align-items:center;gap:18px;font-size:22px;font-weight:700;margin:0 0 20px}
.titoletto::after{content:"";flex:1;height:1px;background:var(--bordo)}
.aggiornato{color:var(--grigio);font-size:13.5px;margin-top:14px}
.vuoto{text-align:center;color:var(--grigio);padding:30px 0}

/* ---------- tabelle (stile Ninja Tables di oggi) ---------- */
.tabella-scorre{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tab{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--bordo);border-radius:4px;overflow:hidden;font-size:14px;text-align:center;background:#fff}
.tab th,.tab td{padding:12px 10px;border-bottom:1px solid rgba(0,0,0,.09);border-left:1px solid rgba(0,0,0,.09);vertical-align:middle;font-weight:400}
.tab th:first-child,.tab td:first-child{border-left:0}
.tab tbody tr:last-child>*{border-bottom:0}
.tab thead th{background:var(--azzurro);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px;padding:16px 10px}
.tab tbody tr:nth-child(odd)>*{background:var(--riga1)}
.tab tbody tr:nth-child(even)>*{background:var(--riga2)}
.tab img{display:block;margin:0 auto;width:40px;height:40px;object-fit:contain}

.tab-ranking .c-punti b{font-size:16px;font-weight:700}
.tab-ranking .c-nome{font-size:15.5px}
.tab-ranking .c-lega,.tab-ranking .c-citta{font-size:12.5px}
.tab-ranking td,.tab-ranking th{padding:8px 10px}
.tab-ranking img{width:30px;height:30px}

/* ---------- competizioni ---------- */
.competizione{max-width:var(--largo);margin:0 auto;padding:36px 20px 80px}
.comp-testa{text-align:center;margin-bottom:44px}
.comp-testa__logo{display:block;width:150px;height:auto;margin:0 auto}
.comp-testa__titolo{margin:4px 0 0;font-size:30px;line-height:1.15;font-weight:700}
.comp-testa__stagione{margin:2px 0 20px;color:#6a6a6a;font-size:18px;letter-spacing:.02em}
.comp-testa__salti{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0}
/* pulsanti (dalla 0.3.5): stondati, con l'azzurro delle intestazioni delle tabelle e il testo blu scuro; uguali in tutto il sito */
.pulsante{display:inline-block;background:var(--azzurro);color:#0a2a63;text-decoration:none;padding:7px 14px;font-size:14px;font-weight:600;border:1px solid var(--azzurro-bordo);border-radius:8px;transition:background .2s,border-color .2s}
.pulsante:hover,.pulsante:focus-visible{background:#d3dbfa;border-color:#aebbe8}
.fascia{background:var(--azzurro);text-align:center;font-weight:400;font-size:18px;padding:17px 10px;margin:0 0 50px;letter-spacing:.02em}

.tab-classifica .c-squadra{width:30%}
.tab-classifica .c-logo{width:10%}
.tab-classifica .c-squadra b{display:block;font-weight:600;font-size:14.5px;text-transform:uppercase}
.tab-classifica .c-squadra span{display:block;font-size:10.5px;color:#444}
.tab-classifica .c-pt b{font-size:17px;font-weight:700}
.tab-classifica thead th{letter-spacing:.12em}
.tab-classifica thead th:nth-child(n+3){text-transform:none}
.tab-classifica tr.diretto>*{background:var(--diretto)!important}
.tab-classifica tr.playoff>*{background:var(--playoff)!important}
.legenda{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:13px;color:#444;margin:12px 0 0}
.legenda__voce::before{content:"";display:inline-block;width:14px;height:14px;border:1px solid var(--diretto-bordo);vertical-align:-2px;margin-right:7px}
.legenda__voce.diretto::before{background:var(--diretto)}
.legenda__voce.playoff::before{background:var(--playoff)}

.giornate{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 34px;margin-top:70px;padding-top:70px;border-top:1px solid var(--bordo)}
.tab-giornata{table-layout:fixed}
.giornata{border:1px solid var(--bordo);border-radius:4px;overflow:hidden}
.giornata .tab{border:0;border-radius:0}
.tab-giornata caption{caption-side:top;background:var(--azzurro);border-bottom:1px solid rgba(0,0,0,.09);padding:14px 10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:13px}
.tab-giornata td{padding:8px 6px;font-size:13.5px;text-transform:uppercase}
.tab-giornata .k-logo{width:14%}
.tab-giornata .k-nome{width:32%}
.tab-giornata .k-ris{width:8%}
.tab-giornata .c-ris{white-space:nowrap;text-transform:none}
.tab-giornata img{width:34px;height:34px}

/* ---------- titoli delle pagine senza banner ---------- */
.titolo-pagina{text-align:center;margin:0 0 44px}
.titolo-pagina h1,.titolo-pagina h2{margin:0;font-size:34px;line-height:1.15;font-weight:700;letter-spacing:.01em}
.titolo-pagina p{margin:6px auto 0;max-width:52rem;color:#555;font-size:17px}
.linea{display:block;width:46px;height:2px;background:#222;margin:22px auto 0}

/* ---------- home ---------- */
.apertura{position:relative;overflow:hidden;background:#06246b;display:flex;align-items:center;justify-content:center;min-height:clamp(260px,46vw,620px)}
.apertura__sfondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.apertura__logo{position:relative;width:clamp(150px,22vw,280px);height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.35))}
@media (prefers-reduced-motion:no-preference){.apertura__logo{animation:logo-entra .9s ease both}.apertura__sfondo{animation:sfondo-entra 1.6s ease both}}
@keyframes logo-entra{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
@keyframes sfondo-entra{from{opacity:.4;transform:scale(1.06)}to{opacity:1;transform:none}}
.stagione{background:#f4f6fd;border-bottom:1px solid var(--bordo)}
.stagione__dentro{padding-top:48px;padding-bottom:48px}
.stagione__titolo{margin:0 0 24px;text-align:center;font-size:24px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.stagione__griglia{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mini{background:#fff;border:1px solid var(--bordo);border-radius:6px;padding:18px 18px 14px;display:flex;flex-direction:column}
.mini__titolo{margin:0 0 10px;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;text-align:center}
.mini__titolo a{text-decoration:none}.mini__titolo a:hover{color:var(--rosso)}
.mini__tab{width:100%;border-collapse:collapse;font-size:14px}
.mini__tab thead th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#555;font-weight:600;padding:4px 4px 6px;border-bottom:1px solid var(--bordo)}
.mini__tab td,.mini__tab tbody th{padding:6px 4px;border-bottom:1px solid #f0f0f0;text-align:center;font-weight:400}
.mini__tab tbody tr:nth-child(odd)>*{background:#f4f4f4}
.mini__tab tbody tr>*:first-child{border-radius:4px 0 0 4px}.mini__tab tbody tr>*:last-child{border-radius:0 4px 4px 0}
.mini__tab tbody th{text-align:left;text-transform:uppercase;font-size:13px}
.mini__tab img{display:block;width:28px;height:28px;object-fit:contain;margin:0 auto}
.mini__tutto{margin-top:auto;padding-top:12px;text-align:center;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--rosso);text-decoration:none}
.mini__tutto:hover{text-decoration:underline}
.stagione .aggiornato{text-align:center;margin:16px 0 0}
.competizioni{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.comp-card{display:flex;flex-direction:column;text-align:center;color:#555;background:#fff;border:1px solid var(--bordo);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(10,30,80,.06)}
.comp-card:hover{box-shadow:0 14px 34px rgba(10,30,80,.12)}
.comp-card__testa{display:block;padding:28px 20px 0;text-decoration:none}
.comp-card__testa img{display:block;width:auto;height:110px;margin:0 auto}
.comp-card__testa h3{margin:14px 0 0;color:#111;font-size:19px;font-weight:700;letter-spacing:.02em}
.comp-card__testa:hover h3{color:var(--rosso)}
.comp-card__testo{padding:14px 24px 0;font-size:14.5px;line-height:1.6}
.comp-card__posti{margin-top:auto;padding:16px 24px 18px;font-size:14px;border-top:1px solid #eee;margin-left:24px;margin-right:24px;padding-left:0;padding-right:0}
.comp-card__testo{flex:1}
.comp-card p{margin:0 0 10px}.comp-card strong{color:#111}
.comp-card__posti p{margin:0 0 4px}
.comp-card__piede{margin:0!important;padding:14px 10px;background:#eef0f4;color:#111;font-weight:700;letter-spacing:.08em;font-size:14px}
.chi-siamo{background:#f8f8f8;border-top:1px solid var(--bordo)}
.chi-siamo .titolo-pagina h2{font-size:36px;letter-spacing:.03em;line-height:1.2}
.chi-siamo .titolo-pagina p{color:#222;font-size:15px}
.cartina{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:30px;align-items:center;margin:0 0 50px}
.cartina__immagine{position:relative;max-width:620px}
.cartina__immagine img{display:block;width:100%;height:auto}
.pin{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:#fff;color:#000;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}
/* alone trasparente che si allarga e svanisce, di continuo (come i punti del sito di prima); spento per chi chiede meno animazioni */
.pin::before,.pin::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(255,255,255,.55);z-index:-1}
.pin::before{transform:scale(1.35);background:rgba(255,255,255,.35)}
@media (prefers-reduced-motion:no-preference){.pin::after{animation:pulsa 2s ease-out infinite}.pin-2::after{animation-delay:.3s}.pin-3::after{animation-delay:.6s}.pin-4::after{animation-delay:.9s}.pin-5::after{animation-delay:1.2s}.pin-6::after{animation-delay:1.5s}}
@keyframes pulsa{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.pin-1{left:25.7%;top:11.8%}.pin-2{left:8.6%;top:20.2%}.pin-3{left:44.4%;top:23.8%}.pin-4{left:57.6%;top:38%}.pin-5{left:64.5%;top:60.3%}.pin-6{left:68.2%;top:61.5%}
.cartina__elenco{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.cartina__elenco li{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center}
.cartina__elenco b{font-weight:700;font-size:15px}.cartina__elenco span:last-child{grid-column:2;color:#555;font-size:14px}
.pin-elenco{position:static;margin:0;grid-row:span 2;background:#0185a8;color:#fff}
.pin-elenco::before,.pin-elenco::after{display:none}
.due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:28px;color:#555}
.info-box{display:flex;flex-direction:column;background:#fff;border-radius:12px;padding:26px 28px 22px;box-shadow:0 8px 24px rgba(10,30,80,.06);border-top:3px solid #0a2a63;font-size:15px;line-height:1.65}
.info-box>div{flex:1}
.info-box__titolo{margin:0 0 12px;font-size:18px;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.06em}
.info-box__link{align-self:flex-start;margin-top:6px;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--rosso);text-decoration:none}
.info-box__link::after{content:" →"}
.info-box__link:hover{text-decoration:underline}
/* dalla 0.3.5: «Le Leghe» e «Il Board» si cliccano in qualsiasi punto: il link si allarga su tutto il box (::before),
   al passaggio il box si alza un poco e l'ombra cresce (per chi chiede meno animazioni: solo l'ombra) */
.info-box--link{position:relative}
.info-box--link .info-box__link::before{content:"";position:absolute;inset:0;border-radius:12px}
.info-box--link:hover,.info-box--link:focus-within{box-shadow:0 16px 36px rgba(10,30,80,.14)}
.info-box--link:hover .info-box__link{text-decoration:underline}
@media (prefers-reduced-motion:no-preference){.info-box--link,.comp-card{transition:box-shadow .25s,translate .25s}.info-box--link:hover,.info-box--link:focus-within,.comp-card:hover{translate:0 -4px}}
.due-colonne p{margin:0 0 14px}.due-colonne strong{color:#111}

/* ---------- partecipanti e pagine delle leghe ---------- */
.tab-partecipanti td{color:#666}
.tab-partecipanti img{width:auto;height:64px;max-width:90px}
.lega-testa{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:center;margin:0 0 50px}
.lega-testa__logo img{display:block;width:100%;max-width:200px;height:auto;margin:0 auto}
.lega-testa__nome{margin-bottom:22px}
.tab-info thead th{font-size:12px;color:#5f5f5f;background:#f8f8f8}
.tab-info td{font-weight:600;font-size:14px;text-transform:uppercase}
.tab-squadre{font-size:13px}
.tab-squadre thead th{text-transform:uppercase;font-size:11px;letter-spacing:.02em;vertical-align:bottom}
.tab-squadre thead th span{display:block}
.tab-squadre .ico{width:34px;height:34px;object-fit:contain;margin:0 auto 6px}
.tab-squadre .c-nome{font-weight:700;text-transform:uppercase}
.tab-squadre td{color:#444}
.tab-squadre img{width:50px;height:50px}

/* ---------- albo d'oro ---------- */
.tab-albo thead th{padding:12px}
.ico-grande{width:auto!important;height:72px!important;max-width:none!important}
.c-vincitore{line-height:1.45}
.c-vincitore img{width:46px;height:46px;margin-bottom:6px}
.c-vincitore b{display:block;font-weight:700;text-transform:uppercase}
.c-vincitore span{display:block;color:#444}

/* ---------- calendario ---------- */
.tab-calendario th[scope=row] span,.tab-calendario th[scope=row] b{display:block}
.tab-calendario th[scope=row]{font-weight:400;font-size:13px}
.tab-calendario th[scope=row] b{font-weight:700}
.tab-calendario td b{font-weight:700}
.tab-calendario .sotto{display:block;font-size:13px}
.tab-calendario .riga-titolo th{background:var(--azzurro)!important;font-weight:700;text-transform:uppercase;letter-spacing:.04em;text-align:left;padding-left:30px}

/* ---------- supercup ---------- */
.fascia-oro{background:var(--oro)}
.finale{max-width:1000px;margin:0 auto;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 14px 40px rgba(10,30,80,.12),0 0 0 1px rgba(0,0,0,.05)}
.finale__data{margin:0;padding:11px;text-align:center;background:linear-gradient(180deg,#b9bec7,#dfe2e7);color:#111;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.finale__partita{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:34px 22px 30px;background:radial-gradient(ellipse at 50% 0,#f6f8ff 0,#fff 70%)}
.finale__squadra{display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.finale__squadra img{width:auto;height:104px;margin-bottom:12px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12))}
.finale__squadra b{font-size:22px;line-height:1.15;font-weight:700}
.finale__squadra span{font-size:13px;color:#555}
.finale__risultato{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 26px}
.finale__risultato b{display:block;min-width:112px;padding:10px 18px;border-radius:10px;background:#eceef2;color:#111;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06);font-size:34px;line-height:1;font-weight:700;text-align:center;letter-spacing:.04em}
.finale__risultato span{font-size:12.5px;color:#555;white-space:nowrap}
.finale-foto{margin:40px auto 0;max-width:1000px}
.finale-foto img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.finale-foto figcaption{margin-top:10px;text-align:center;font-size:13px;color:#555}

/* ---------- board ---------- */
.board-gruppo{font-size:34px;font-weight:700;margin:0 0 30px}
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 50px;margin:0 0 60px;padding-bottom:50px;border-bottom:1px solid var(--bordo)}
.persona__foto{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:18px}
.persona__nome{margin:12px 0 2px;font-size:24px;font-weight:700}
.persona__ruolo{margin:0 0 16px;color:#666;font-size:17px}.persona__ruolo b{color:#111}
.persona__lega{margin:0 0 14px;color:#666;font-size:17px}
.persona__logo{display:block;width:auto;height:110px}

/* ---------- regolamento ---------- */
.regolamento{max-width:1175px}
.avviso-rosso{position:relative;background:#fdf0f0;color:#cb2027;text-align:center;padding:14px 16px;margin:0 0 30px;border-radius:2px}
.avviso-rosso span{position:absolute;left:0;top:0;background:#f8e0e0;color:#a51b21;font-size:11px;padding:6px 12px}
.avviso-rosso b{font-weight:500;letter-spacing:.03em}
.fascia-grigia{background:#f4f4f4;text-align:center;font-size:15px;font-weight:400;padding:14px;margin:40px 0 26px;scroll-margin-top:110px}
.regolamento .testo{color:#666;line-height:1.75}
.regolamento .testo strong{color:#111}
.regolamento .testo p{margin:0 0 14px}
.tab-regola{max-width:660px;margin:6px 0 20px}
.tab-regola td{padding:7px 10px}
.tab-regola tr:first-child td{background:var(--azzurro)!important;font-weight:600;font-size:12px;letter-spacing:.06em}

/* ---------- archivio delle stagioni passate (pagine fisse) ---------- */
.archivio .fascia{margin:56px 0 30px}
.archivio .comp-testa+.fascia{margin-top:0}
.fascia-verde{background:#e0f1b5}
.fascia-oro{background:var(--oro)}
.griglia-arch{display:grid;grid-template-columns:repeat(60,minmax(0,1fr));row-gap:30px;column-gap:0;margin:0 -13px 30px}
.griglia-arch>.col-arch{padding:0 13px}
.col-arch{grid-column:span 60;min-width:0}
.c12{grid-column:span 12}.c15{grid-column:span 15}.c20{grid-column:span 20}.c24{grid-column:span 24}.c30{grid-column:span 30}.c36{grid-column:span 36}.c40{grid-column:span 40}.c45{grid-column:span 45}
.archivio .tab-classifica{margin:0 0 30px}
.tab-arch thead th{text-transform:none}
.tab-classifica tr.r-verde>*{background:var(--diretto)!important}
.tab-classifica tr.r-verde-chiaro>*{background:var(--playoff)!important}
.tab-classifica tr.r-azzurro>*{background:#e2ecfd!important}
.tab-classifica tr.r-grigio>*{background:#e8e8e8!important}
.partite{border:1px solid var(--bordo);border-radius:4px;overflow:hidden;margin:0 0 10px}
.tab-partite{border:0;border-radius:0;font-size:13px}
.tab-partite caption{caption-side:top;background:var(--azzurro);border-bottom:1px solid rgba(0,0,0,.09);padding:11px 8px;font-weight:600;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.tab-partite td{padding:8px 6px}
.tab-partite .c-ris{white-space:nowrap;width:16%}
.tab-partite td b{font-weight:700}
.tab-partite img{width:40px;height:40px}
.testo-arch{color:#555;font-size:14px;line-height:1.65;margin:0 0 16px}
.testo-arch p{margin:0 0 10px}.testo-arch b{color:#111}
.testo-centro{text-align:center}
.titoletto-arch{font-size:22px;font-weight:700;margin:40px 0 18px;text-transform:uppercase;letter-spacing:.02em}
.sotto-arch{margin:-10px 0 20px;color:#555}
.img-arch{text-align:center;margin:0 0 20px}
.img-arch img{width:auto;max-height:160px}
.editoriali .testo-arch{font-size:15.5px;color:#444;max-width:52rem}
.editoriali .titoletto-arch{border-bottom:1px solid var(--bordo);padding-bottom:10px}
.archivio .finale{margin:0 auto 10px}
.finale+.finale-foto{margin-top:28px}
.finale__partita{padding-left:60px;padding-right:60px}

/* ---------- home provvisoria ---------- */
.scelte{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.scelte a{display:flex;flex-direction:column;align-items:center;gap:14px;padding:28px 16px;border:1px solid var(--bordo);border-radius:6px;text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:.04em;transition:box-shadow .2s,transform .2s}
.scelte a:hover{box-shadow:0 10px 24px rgba(0,0,0,.08);transform:translateY(-2px)}
.scelte img{width:110px;height:110px;object-fit:contain}

/* ---------- piede ---------- */
.piede{background:var(--piede);color:#fff;padding:36px 20px 40px}
.piede__testo{max-width:var(--largo);margin:0 auto;font-size:13px}

/* ---------- animazioni all'entrata (leggere; spente per chi chiede meno animazioni) ---------- */
@media (prefers-reduced-motion:no-preference){
  .js .entra{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
  .js .info-box--link.entra,.js .comp-card.entra{transition:opacity .55s ease,transform .55s ease,translate .25s ease,box-shadow .25s ease}
  .js .entra.visto{opacity:1;transform:none}
  .js .giornata.entra:nth-child(even){transition-delay:.08s}
}

/* ---------- schermi medi e telefono ---------- */
@media (max-width:1050px){
  .menu-apri{display:block;position:absolute;right:16px;top:28px;width:46px;height:46px;border:0;background:none;cursor:pointer}
  .menu-apri__righe,.menu-apri__righe::before,.menu-apri__righe::after{display:block;width:26px;height:2px;background:#000;margin:0 auto;position:relative;transition:transform .2s}
  .menu-apri__righe::before,.menu-apri__righe::after{content:"";position:absolute;left:0}
  .menu-apri__righe::before{top:-8px}.menu-apri__righe::after{top:8px}
  .menu-apri[aria-expanded=true] .menu-apri__righe{background:transparent}
  .menu-apri[aria-expanded=true] .menu-apri__righe::before{transform:translateY(8px) rotate(45deg)}
  .menu-apri[aria-expanded=true] .menu-apri__righe::after{transform:translateY(-8px) rotate(-45deg)}
  .testata{text-align:left;padding:8px 16px}
  .testata__logo img{width:92px}
  .testata.stretta .testata__logo img{width:52px}
  .testata.stretta .menu-apri{top:10px}
  .menu-apri{transition:top .3s ease}
  .js .menu.aperto{max-height:calc(100vh - 80px);overflow-y:auto}
  .js .menu{display:none}
  .js .menu.aperto{display:block}
  .menu__voci{flex-direction:column;align-items:stretch;border-top:1px solid var(--bordo);margin-top:8px}
  .menu__voce{flex-wrap:wrap;border-bottom:1px solid var(--bordo)}
  .menu__voce+.menu__voce::before{display:none}
  .menu__link{flex:1;padding:13px 4px;font-size:15px}
  .menu__apri-sotto{display:block;width:46px;height:46px;border:0;background:none;cursor:pointer;position:relative}
  .menu__apri-sotto::after{content:"";position:absolute;left:18px;top:16px;width:9px;height:9px;border-right:2px solid #000;border-bottom:2px solid #000;transform:rotate(45deg);transition:transform .2s}
  .menu__apri-sotto[aria-expanded=true]::after{transform:translateY(5px) rotate(-135deg)}
  .menu__sotto{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;display:none;width:100%;padding:0 0 8px 14px}
  .menu__voce.sotto-aperto>.menu__sotto{display:block}
  .giornate{grid-template-columns:1fr}
  .c12,.c15,.c20,.c24{grid-column:span 30}.c30,.c36,.c40,.c45{grid-column:span 60}
  .stagione__griglia,.competizioni{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
  .board{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  body{font-size:14px}
  .banner{padding:36px 16px 40px}
  .banner__titolo{font-size:30px}
  .banner__sotto{font-size:16px}
  .banner__linea{margin-top:24px}
  .pagina-larga,.competizione{padding:36px 16px 50px}
  .comp-testa__logo{width:110px}
  .comp-testa__titolo{margin-top:0}
  .comp-testa__titolo{font-size:24px}
  .fascia{margin-bottom:26px;font-size:16px}
  .tab th,.tab td{padding:8px 5px}
  .tab thead th{letter-spacing:.04em;font-size:12px;padding:12px 4px}
  .tab-classifica{min-width:620px}
  .tab-classifica .c-squadra b{font-size:13px}
  .tab-classifica img{width:30px;height:30px}
  .tab-giornata td{font-size:12px;padding:6px 3px}
  .tab-giornata img{width:28px;height:28px}
  .tab-ranking{font-size:13px}
  .tab-ranking .c-nome{font-size:14px}
  .tab-ranking .c-lega,.tab-ranking .c-citta{font-size:11.5px}
  .tab-ranking td,.tab-ranking th{padding:7px 4px}
  .tab-ranking img{width:26px;height:26px}
  .titolo-pagina h1,.titolo-pagina h2,.chi-siamo .titolo-pagina h2{font-size:24px}
  .cartina,.due-colonne,.lega-testa{grid-template-columns:1fr;gap:24px}
  .lega-testa__logo img{max-width:140px}
  .board{grid-template-columns:1fr}
  .board-gruppo{font-size:26px}
  .finale__partita{padding:24px 10px 22px}
  .finale__squadra img{height:64px;margin-bottom:8px}
  .finale__squadra b{font-size:15px}
  .finale__squadra span{font-size:11.5px}
  .finale__risultato{padding:0 8px}
  .finale__risultato b{min-width:0;font-size:24px;padding:8px 12px}
  .finale__risultato span{font-size:11px}
  .fascia,.giornate,.articolo,.fascia-grigia,.finale-foto{scroll-margin-top:80px}
  .tab-squadre{min-width:760px}.tab-albo{min-width:640px}.tab-calendario{font-size:12px}.tab-calendario th,.tab-calendario td{padding:7px 3px}
    .c12,.c15,.c20,.c24,.c30{grid-column:span 60}
  .griglia-arch{row-gap:18px}
}
/* editoriali 2022/23: una sola colonna di lettura, al centro */
.editoriali .griglia-arch{display:block;margin:0}
.editoriali .griglia-arch>.col-arch{padding:0}
.editoriali .testo-arch,.editoriali .titoletto-arch{max-width:50rem;margin-left:auto;margin-right:auto}
.editoriali .testo-arch{margin-bottom:28px}
.editoriali .testo-arch p:first-child>b:first-child{display:block;font-size:17px;margin-bottom:4px}

/* ---------- archivio (dalla 0.3.4) ---------- */
.tab-archivio td{padding:18px 12px}
.tab-archivio .c-stagione{font-size:18px;font-weight:700}
.tab-archivio .pulsante{font-size:13px}
.arch-ed{display:block;margin-top:10px;font-size:13px;font-weight:600;color:var(--rosso)}
.vuoto-arch{color:#666;font-size:13px}
@media (max-width:600px){.tab-archivio td,.tab-archivio th{padding:12px 5px}.tab-archivio .c-stagione{font-size:15px}.tab-archivio .pulsante{padding:6px 8px;font-size:12.5px}}   /* dalla 0.3.5: sul telefono la tabella sta tutta nello schermo */

/* ---------- regolamento: barra degli articoli fissa in alto, il menu del sito scorre via (solo in questa pagina) ---------- */
.js .pag-regolamento .testata{position:relative;box-shadow:none}
.js .pag-regolamento .testata-posto{display:none}
/* dalla 0.3.6: il salto all'articolo si ferma sotto la barra (la sua altezza la misura ulf.js; 96px se manca JavaScript) */
.pag-regolamento .articolo,.pag-regolamento .fascia-grigia{scroll-margin-top:var(--barra-h,96px)}
.regola-barra{position:sticky;top:0;z-index:30;margin:0 -20px 10px;padding:0 20px;background:#fff;border-bottom:1px solid var(--bordo);box-shadow:0 2px 10px rgba(0,0,0,.05)}
.regola-barra__dentro{display:flex;align-items:center;gap:12px;min-height:54px}
.regola-barra__titolo{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#555}
.regola-barra ul{list-style:none;margin:0;padding:6px 0;display:flex;gap:6px;flex-wrap:wrap}
/* dalla 0.3.5: un box per articolo (numero e, sotto, la parola), con un filetto; grigio che si scurisce al passaggio, blu sull'articolo che si sta leggendo */
.regola-barra ul a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;padding:5px 10px 6px;border:1px solid #c9ced9;border-radius:9px;text-decoration:none;line-height:1.15;color:#111;background:#f1f2f5;transition:background .2s,color .2s,border-color .2s}
.regola-barra__n{font-weight:700;font-size:16px}
.regola-barra__voce{font-size:11.5px;font-weight:500;margin-top:2px;white-space:nowrap}
.regola-barra ul a:hover{background:#d9dde6;border-color:#aeb5c4}
.regola-barra ul a[aria-current]{background:#0a2a63;border-color:#0a2a63;color:#fff}
.regola-barra__scegli{display:none;flex:1 1 0;min-width:0;width:100%;min-height:40px;font:inherit;border:1px solid #8a93ab;border-radius:8px;padding:0 10px;background:#fff}
/* torna su: grigio come i box, filetto e freccia neri */
.regola-barra__su{margin-left:auto;flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#f1f2f5;border:1px solid #111;color:#111;text-decoration:none;font-weight:700;font-size:17px;transition:background .2s}
.regola-barra__su:hover{background:#d9dde6}
/* sotto i 960 px le parole non ci stanno: restano i numeri (il titolo dell'articolo compare passandoci sopra) */
@media (max-width:960px){
  .regola-barra__voce{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .regola-barra ul a{min-width:40px;height:40px;padding:0}
}
@media (max-width:760px){
  .regola-barra ul,.regola-barra__titolo{display:none}
  .regola-barra__scegli{display:block}
  .regola-barra{margin:0 -16px 10px;padding:0 16px}
}
