
:root{
	--notte:#081428; --notte-2:#0c1e3d; --blu:#1a5fb4; --blu-chiaro:#2b7fe0;
	--giallo:#ffcf33; --panna:#f6f8fc; --carta:#fff; --inchiostro:#0e1726; --muto:#7a89a3; --linea:#e6eaf2;
	--verde:#33b06a; --rosso:#e24a3b;
}
*{margin:0;padding:0;box-sizing:border-box}
/* scrollbar verticale sempre presente (non appare/scompare in base all'altezza della pagina):
   evita lo scatto orizzontale quando l'apertura del box Carriera in giocatore.php allunga la
   pagina. A differenza di scrollbar-gutter, non riserva una banda vuota: mostra la normale
   scrollbar del browser invece di farla apparire/sparire */
html{overflow-y:scroll}
body{font-family:'PT Sans',sans-serif;background:var(--panna);color:var(--inchiostro)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 26px}
.exp{font-family:'Oswald',sans-serif;font-weight:700;letter-spacing:.5px}
.sezione-testa{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.sezione-testa h2{font-family:'Oswald';font-weight:900;font-size:26px;position:relative;padding-left:16px}
.sezione-testa h2::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:5px;background:var(--giallo);transform:skewX(-12deg)}
.sezione-testa .link{color:var(--blu);font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:1px}

/* ===== TOPBAR ===== */
.top{background:var(--notte);color:#fff;position:sticky;top:0;z-index:60}
.top .wrap{display:flex;align-items:center;gap:22px;height:96px;padding-top:8px;padding-bottom:8px}
.logo{display:flex;align-items:center;gap:11px;font-family:'Oswald';font-weight:900;font-size:21px;letter-spacing:-.5px}
.logo .mk{width:34px;height:38px;flex:none}
.logo span{color:var(--giallo)}
.logo img{height:80px;width:auto;object-fit:contain}
.top nav{display:flex;gap:8px;margin-left:8px}
.top nav a{font-weight:700;font-size:16px;padding:10px 17px;border-radius:7px;opacity:.85}
.top nav a:hover,.top nav a.qui{background:rgba(255,255,255,.1);opacity:1}
.cd{margin-left:auto;display:flex;align-items:center;gap:9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);padding:6px 13px;border-radius:22px}
.cd.urg{background:rgba(226,74,59,.2);border-color:var(--rosso)}
.cd-l{font-size:11px;color:#b9c6de;text-transform:uppercase;letter-spacing:.5px;line-height:1.1}
.cd-l b{display:block;color:#fff;font-size:12px}
.cd-c{font-family:'Oswald';font-weight:900;font-size:18px;color:var(--giallo)}
.cd.urg .cd-c{color:#fff}
.cta{background:var(--giallo);color:var(--notte);font-weight:800;padding:10px 18px;border-radius:7px;font-size:14px;white-space:nowrap}
.cta-2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);margin-right:2px}

/* ===== HERO cinematografico a tutta larghezza ===== */
.hero{position:relative;background:var(--notte);color:#fff;overflow:hidden;min-height:440px}
.hero .bgfoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;opacity:.5}
.hero .grad{position:absolute;inset:0;background:linear-gradient(90deg,var(--notte) 6%,rgba(8,20,40,.7) 42%,rgba(8,20,40,.2) 100%)}
.hero .grad2{position:absolute;inset:0;background:linear-gradient(0deg,var(--notte) 2%,transparent 40%)}
.hero .wrap{position:relative;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:36px;padding-bottom:50px}
.hero .kick{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:2px;color:var(--giallo)}
.hero .kick::before{content:"";width:26px;height:3px;background:var(--giallo);transform:skewX(-12deg)}
.hero h1{font-family:'Oswald';font-weight:900;font-size:clamp(34px,5vw,62px);line-height:1;margin:18px 0 14px;max-width:20ch}
.hero p{color:rgba(255,255,255,.82);font-size:18px;max-width:56ch}
.hero .azioni{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.hero .btn-p{background:var(--giallo);color:var(--notte);font-weight:800;padding:13px 24px;border-radius:8px}
.hero .btn-s{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;padding:13px 24px;border-radius:8px}

/* CAROSELLO multi-slide: ogni .hero-slide e' un blocco autosufficiente (bg+gradienti+testo), assoluto
   e sovrapposto agli altri. I gradienti NON sono condivisi fuori dalla slide: .hero-slide ha sia
   position:absolute+z-index sia opacity<1 durante la transizione, quindi genera un proprio stacking
   context - un elemento .wrap al suo interno resterebbe sempre "intrappolato" sotto un gradiente
   dichiarato fuori dalla slide, qualunque z-index interno gli si desse. Duplicare grad/grad2 dentro
   ogni slide mantiene lo stacking per puro ordine DOM (bgfoto->grad->grad2->wrap), senza ambiguita'. */
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s}
.hero-slide.hero-slide-attiva{position:absolute;inset:0;opacity:1;visibility:visible;transition:opacity .6s ease;z-index:1}
.hero-dots{position:absolute;left:0;right:0;bottom:18px;z-index:5;display:flex;justify-content:center;gap:10px}
.hero-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:background .25s ease,transform .25s ease}
.hero-dot:hover{background:rgba(255,255,255,.6)}
.hero-dot.hero-dot-attivo{background:var(--giallo);transform:scale(1.15)}

/* tabellone risultati a box (compatto, cromaticamente distinto) */
.tabellone{background:var(--notte);border-top:2px solid var(--giallo);padding:14px 0 16px;position:relative;z-index:2}
.tab-testa{display:flex;align-items:baseline;gap:10px;margin-bottom:9px}
.tab-testa h2{font-family:'Oswald';font-weight:600;font-size:14px;color:#fff;text-transform:uppercase;letter-spacing:1.5px}
.tab-testa span{color:rgba(255,255,255,.55);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.box-risultati{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.brz{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:7px 11px;color:#fff;transition:background .15s}
.brz:hover{background:rgba(255,255,255,.16)}
.brz-r{display:flex;align-items:center;gap:7px;padding:1px 0}
.brz-sq{display:flex;align-items:center;gap:7px;flex:1;font-weight:600;font-size:12px;color:rgba(255,255,255,.9)}
.brz-sq img{width:18px;height:18px;object-fit:contain}
.brz-g{font-family:'Oswald';font-weight:700;font-size:15px;color:var(--giallo)}
.brz-p{margin-top:5px;padding-top:5px;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;align-items:baseline}
.brz-p .punti{font-family:'Oswald';font-weight:600;font-size:13px;color:var(--giallo);letter-spacing:.5px}
.brz-p .stato{font-weight:700;font-size:12px;color:#fff;text-transform:uppercase;letter-spacing:.5px}
@media (max-width:1000px){.box-risultati{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.box-risultati{grid-template-columns:1fr}}

/* ===== CORPO 2 colonne: main + spalla ===== */
.corpo{padding:40px 0}
.corpo-grid{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:stretch}
.card{background:var(--carta);border:1px solid var(--linea);border-radius:16px;overflow:hidden}
.card-pad{padding:22px}

/* classifica */
.tab{width:100%;border-collapse:collapse}
.tab td,.tab th{padding:7px 12px;font-size:15px}
.tab th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muto);border-bottom:2px solid var(--linea)}
.tab tbody tr{border-bottom:1px solid var(--linea);transition:background .15s}
.tab tbody tr:hover{background:#f4f7fc}
.tab .pos{width:28px;height:28px;border-radius:7px;background:var(--panna);display:inline-flex;align-items:center;justify-content:center;font-family:'Oswald';font-weight:900;font-size:13px}
.tab tbody tr:first-child .pos{background:var(--giallo)}
.tab tbody tr:nth-child(2) .pos{box-shadow:inset 0 0 0 2px var(--giallo)}
.tab tbody tr:last-child .pos{background:#fbe4e0;color:var(--rosso)}
.tab .club{font-weight:700}
.tab .club .cell{display:flex;align-items:center;gap:12px}
.tab .club .cell .nm{text-align:left}
.tab .club img{width:34px;height:34px;object-fit:contain;margin-right:11px;vertical-align:middle}
.tab .pts{font-family:'Oswald';font-weight:900;text-align:right;font-size:18px}
.andamento i{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:2px}
.v{background:var(--verde)}.p{background:#d3dae6}.s{background:var(--rosso)}

/* spalla */
.spalla{display:flex;flex-direction:column;gap:22px}
.spalla .card:last-child{flex:1;display:flex;flex-direction:column;overflow:hidden}
.spalla .card:last-child .scad{margin-top:auto}
.mia{background:linear-gradient(150deg,var(--blu),var(--notte-2));color:#fff;border-radius:16px;padding:22px;position:relative;overflow:hidden}
.mia::after{content:"";position:absolute;right:-20px;bottom:-20px;width:120px;height:120px;background:radial-gradient(circle,rgba(255,207,51,.25),transparent 70%)}
.mia .et{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.6);font-weight:700}
.mia .nome{font-family:'Oswald';font-weight:900;font-size:22px;margin:6px 0 14px}
.mia .cnt{font-family:'Oswald';font-weight:900;font-size:30px;color:var(--giallo)}
.mia .cnt small{display:block;font-family:'PT Sans';font-size:11px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:1px;font-weight:600}
.mia .btn{display:block;text-align:center;margin-top:16px;background:var(--giallo);color:var(--notte);font-weight:800;padding:11px;border-radius:8px}
.mini-testa{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muto);font-weight:700;padding:16px 20px 12px}
.tp{display:flex;align-items:center;gap:10px;padding:11px 20px;border-top:1px solid var(--linea);font-size:14px}
.tp img{width:24px;height:24px;object-fit:contain;flex:none}
.tp .vs{flex:1;font-weight:700}
.tp .ora{color:var(--muto);font-weight:700}
.scad{background:linear-gradient(90deg,var(--blu),var(--notte-2));text-align:center;padding:16px 13px;margin-top:10px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;flex:1}
.scad-lbl{color:rgba(255,255,255,.75);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.scad-data{color:var(--giallo);font-family:'Oswald';font-weight:600;font-size:19px}

/* ===== PAGELLONE spezzato scuro ===== */
.pagellone{background:var(--notte);color:#fff;padding:50px 0}
.pagellone .grid{display:grid;grid-template-columns:1.4fr 1fr;gap:0;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.pagellone .foto{position:relative;min-height:340px;background:#0c1e3d}
.pagellone .foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pagellone .txt{background:linear-gradient(150deg,var(--notte-2),var(--notte));padding:40px}
.pagellone .tag{display:inline-block;background:var(--giallo);color:var(--notte);font-weight:800;font-size:12px;padding:5px 12px;border-radius:5px;text-transform:uppercase;letter-spacing:1px}
.pagellone h3{font-family:'Oswald';font-weight:900;font-size:32px;line-height:1.08;margin:16px 0 12px}
.pagellone p{color:rgba(255,255,255,.75);font-size:16px}
.pagellone .leggi{display:inline-block;margin-top:20px;color:var(--giallo);font-weight:800;text-transform:uppercase;letter-spacing:1px;font-size:13px}

/* ===== MARCATORI ===== */
.marc-sez{padding:50px 0}
.marc-griglia{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.mrc-tabs{display:flex;gap:8px}
.mrc-tab{display:inline-block;background:transparent;color:var(--muto);border:1px solid var(--linea);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:6px 16px;border-radius:20px;cursor:pointer;text-decoration:none}
.mrc-tab.attivo{background:var(--blu);color:#fff;border-color:var(--blu)}
.mrc{background:var(--carta);border:1px solid var(--linea);border-radius:14px;overflow:hidden;text-align:center;position:relative;transition:transform .2s,box-shadow .2s}
.mrc:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(8,20,40,.14)}
.mrc .num{position:absolute;top:8px;left:12px;font-family:'Oswald';font-size:38px;font-weight:900;color:rgba(255,255,255,.3);z-index:1}
.mrc .foto{width:100%;height:190px;object-fit:cover;object-position:top center}
.mrc .sotto{padding:14px 12px 18px}
.mrc .nome{font-weight:800;font-size:15px}
.mrc small{color:var(--muto)}
.mrc .gol{margin-top:8px;font-family:'Oswald';font-size:26px;font-weight:900;color:var(--blu)}
.mrc .gol span{display:block;font-size:11px;color:var(--muto);text-transform:uppercase;letter-spacing:1px}


/* ===== SQUADRA DELLA SETTIMANA ===== */
.sdw{background:var(--notte);color:#fff;padding:50px 0}
.sdw-toggle{display:flex;gap:8px}
.sdw-toggle-btn{display:inline-block;background:var(--notte);color:#fff;border:1px solid var(--giallo);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:6px 16px;border-radius:20px;cursor:pointer;text-decoration:none}
.sdw-toggle-btn.attivo{background:var(--giallo);color:var(--notte);border-color:var(--giallo)}
.sdw-nascosto{display:none}
.campo-stato{display:contents}
.campo-stato.sdw-nascosto{display:none}
.ris-list.sdw-nascosto{display:none}
.nome-all small.sdw-scarto{display:block;font-family:'Oswald';font-size:20px;font-weight:800;color:var(--notte);margin-top:2px}
.nome-all small.sdw-scarto em{font-style:normal;font-size:13px;font-weight:600;color:var(--notte);text-transform:none;letter-spacing:.3px;margin-left:4px}
.sdw-grid{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:stretch}
.campo{position:relative;background:linear-gradient(90deg,#0f7a3d,#0c6a35);border-radius:18px;padding:28px 20px;display:grid;grid-template-columns:0.8fr 1.2fr 1.1fr 1fr;gap:10px;min-height:420px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}
.campo::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background-image:repeating-linear-gradient(90deg,transparent,transparent 78px,rgba(255,255,255,.05) 78px,rgba(255,255,255,.05) 156px)}
.linee{position:absolute;inset:16px;border:2px solid rgba(255,255,255,.25);border-radius:8px;pointer-events:none}
.linee::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.25);transform:translateX(-1px)}
.linee::after{content:"";position:absolute;left:50%;top:50%;width:80px;height:80px;border:2px solid rgba(255,255,255,.25);border-radius:50%;transform:translate(-50%,-50%)}
.reparto{position:relative;display:flex;flex-direction:column;justify-content:space-around;align-items:center;gap:10px;z-index:1}
.giocatore{width:100%;display:flex;align-items:center;gap:9px;text-align:left}
.giocatore img{width:44px;height:44px;object-fit:cover;object-position:top center;border-radius:50%;box-shadow:0 3px 10px rgba(0,0,0,.3);flex:none}
.giocatore b{display:block;font-size:15px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.7);line-height:1.15}
.giocatore small{display:block;color:rgba(255,255,255,.75);font-size:12px}
.panca{background:linear-gradient(150deg,var(--notte-2),var(--notte));border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px}
.panca .et{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.55);font-weight:700}
.all{background:linear-gradient(135deg,var(--giallo),#e0a800);color:var(--notte);border-radius:12px;padding:16px;margin-bottom:6px}
.all .et{color:rgba(8,20,40,.65)}
.nome-all{display:flex;align-items:center;gap:12px;margin-top:8px}
.nome-all img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:50%;padding:4px}
.nome-all b{font-family:'Oswald';font-size:19px}
.nome-all small{display:block;font-size:11px;font-weight:600}
.ris-list{display:flex;flex-direction:column;gap:2px}
.ris-r{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}
.ris-r img{width:24px;height:24px;object-fit:cover;object-position:top center;border-radius:50%}
.ris-r span{flex:1;font-weight:600}
.ris-r em{font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--giallo);font-weight:700}
@media (max-width:1000px){.sdw-grid{grid-template-columns:1fr}}
@media (max-width:560px){.campo{grid-template-columns:1fr 1fr;min-height:auto}}

.piedone{background:var(--notte);color:rgba(255,255,255,.5);padding:30px 0;font-size:14px}
.piedone .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}
.piedone a:hover{color:var(--giallo)}

@media (max-width:1000px){.corpo-grid{grid-template-columns:1fr}.pagellone .grid{grid-template-columns:1fr}.pagellone .foto{min-height:220px}.marc-griglia{grid-template-columns:1fr 1fr 1fr}.top nav{display:none}}
@media (max-width:560px){.marc-griglia{grid-template-columns:1fr 1fr}.cd-l{display:none}}


/* ===== popup login ===== */
#login1{display:none;position:fixed;inset:0;background:rgba(8,20,40,.75);z-index:100;align-items:center;justify-content:center}
#login1{display:none}
#login2{background:#fff;color:var(--inchiostro);border-radius:16px;padding:30px;width:340px;max-width:90vw;box-shadow:0 30px 80px rgba(0,0,0,.5)}
#login2 h1{font-family:'Oswald';font-size:22px;margin-bottom:16px;text-transform:uppercase}
.login-in{width:100%;padding:11px;margin:4px 0 12px;border:1px solid var(--linea);border-radius:8px;font-family:inherit;font-size:15px}
.login-entra{background:var(--giallo);color:var(--notte);border:0;font-weight:800;padding:11px 22px;border-radius:8px;cursor:pointer;font-size:15px}
.login-chiudi{color:var(--muto);font-size:13px}
#login1.aperto{display:flex}

/* spalla: nascondo card vuote */
.spalla .card:empty, .mia:empty{display:none}


/* azioni header raggruppate a destra */
.top-azioni{margin-left:auto;display:flex;align-items:center;gap:10px}
.nav-utente{color:#fff;font-size:13px;font-weight:600;opacity:.85;white-space:nowrap}
.nav-esci{color:#fff;font-size:13px;opacity:.7;text-decoration:underline;white-space:nowrap}
.nav-esci:hover{opacity:1}
/* scadenza in cima al box prossimo turno */
.scad-top{background:linear-gradient(90deg,var(--blu),var(--notte-2));color:var(--giallo);border-radius:10px;margin:0 16px 6px;padding:12px;font-weight:700;font-size:13px;text-align:center}


/* ===== pagine interne ===== */
.pagina-testa{background:var(--nebbia);color:var(--notte);padding:30px 0 10px}
.pagina-testa h1{font-family:'Oswald';font-weight:700;font-size:40px;text-transform:uppercase;color:var(--notte)}
.pagina-testa span{color:var(--muto);font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:1px}
.corpo-full{padding:26px 0 50px}
.tab-scroll{overflow-x:auto}
.tab-full th.c, .tab-full td.c{text-align:center}
.tab-full td.muto{color:var(--muto)}
.tab-full .club .nm a:hover{color:var(--blu)}
.legenda{margin-top:14px;color:var(--muto);font-size:12px;text-align:center}
@media (max-width:700px){ .pagina-testa h1{font-size:30px} }


/* ===== classifica: movimento, zone, mia riga, distacco, media ===== */
.mov-cell{width:44px;text-align:center}
.mv{font-family:'Oswald';font-weight:600;font-size:13px}
.mv-su{color:var(--verde)} .mv-giu{color:var(--rosso)} .mv-n{color:#c2ccdb}
.tab-full tr.zona-scudetto td:first-child{box-shadow:inset 4px 0 0 var(--verde)}
.tab-full tr.zona-coppa td:first-child{box-shadow:inset 4px 0 0 var(--giallo)}
.tab-full tr.zona-retro td:first-child{box-shadow:inset 4px 0 0 var(--rosso)}
.tab-full tr.mia-riga{background:#fff9e6}
.tab-full tr.mia-riga:hover{background:#fff4d1}
.tab-full td.dist, .tab-full td.media{font-family:'Oswald';font-weight:500}
.tab-full td.media{color:var(--blu);font-weight:600}
.andamento i{cursor:help}
.legenda-box{margin-top:16px;display:flex;gap:18px 22px;flex-wrap:wrap;justify-content:center;color:var(--inchiostro);font-size:13px;align-items:center}
.legenda-box .leg{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-right:5px}
.leg.z-scud{background:var(--verde)} .leg.z-copp{background:var(--giallo)} .leg.z-retr{background:var(--rosso)}

/* ===== MARCATORI ===== */
.marc-filtri{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}
.marc-filtro{border:1px solid var(--linea);background:var(--carta);border-radius:7px;padding:9px 15px;color:var(--muto);font-size:13px;font-weight:800}
.marc-filtro:hover,.marc-filtro.attivo{background:var(--notte);border-color:var(--notte);color:#fff}
.marc-testa{margin-top:34px;margin-bottom:16px}
.marc-testa h2{font-size:25px}
.marc-sotto{color:var(--muto);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.marc-podio{display:grid;grid-template-columns:1fr 1.18fr 1fr;gap:20px;align-items:end;margin-bottom:40px}
.marc-podio-card{background:var(--carta);border:1px solid var(--linea);border-radius:15px;overflow:hidden;text-align:center;position:relative;transition:transform .2s,box-shadow .2s}
.marc-podio-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(8,20,40,.14)}
.marc-podio-1{order:2;border-top:4px solid var(--giallo)}
.marc-podio-2{order:1}.marc-podio-3{order:3}
.marc-podio-pos{position:absolute;top:10px;left:14px;font:900 34px Oswald;color:rgba(8,20,40,.18);z-index:1}
.marc-podio-foto{width:100%;height:220px;object-fit:cover;object-position:top center}
.marc-podio-1 .marc-podio-foto{height:280px}
.marc-podio-info{padding:12px 12px 18px;position:relative}
.marc-logo{width:40px;height:40px;object-fit:contain;flex:none}
.marc-logo-podio{width:54px;height:54px;margin:-40px auto 7px;background:#fff;border-radius:50%;padding:5px;box-shadow:0 3px 10px rgba(0,0,0,.17);position:relative}
.marc-podio-info strong{display:block;font-size:17px}.marc-podio-info small{display:block;color:var(--muto);margin-top:2px}
.marc-podio-info b{display:block;color:var(--blu);font:900 38px Oswald;margin-top:8px}.marc-podio-info b em,.marc-numero em{display:block;color:var(--muto);font:700 10px 'PT Sans';text-transform:uppercase;letter-spacing:1px;font-style:normal}
.marc-classifica{overflow:hidden}
.marc-riga{display:grid;grid-template-columns:44px 1.5fr 1fr 50px;align-items:center;gap:12px;padding:10px 18px;border-bottom:1px solid var(--linea);transition:background .15s}
.marc-riga:last-child{border-bottom:0}.marc-riga:hover{background:#f4f7fc}
.marc-riga-testa{color:var(--muto);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:var(--panna)}
.marc-pos{font:700 17px Oswald;color:var(--muto);text-align:center}.marc-giocatore,.marc-squadra{display:flex;align-items:center;gap:10px;min-width:0}.marc-giocatore img{width:42px;height:42px;object-fit:cover;object-position:top center;border-radius:50%;flex:none}.marc-giocatore b,.marc-squadra span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marc-giocatore small{color:var(--muto);font-size:11px}.marc-squadra{font-size:13px;font-weight:700}.marc-numero{text-align:right;color:var(--blu);font:900 25px Oswald}.marc-due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:26px}.marc-assist,.marc-bomber{overflow:hidden}.marc-assist-riga{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--linea)}.marc-assist-riga:last-child{border-bottom:0}.marc-assist-riga:hover{background:#f4f7fc}.marc-assist-riga>img{width:40px;height:40px;object-fit:cover;object-position:top center;border-radius:50%}.marc-assist-nome{flex:1;min-width:0}.marc-assist-nome b,.marc-assist-nome small{display:flex;align-items:center;gap:7px}.marc-assist-nome b{font-size:14px}.marc-assist-nome small{color:var(--muto);font-size:11px;margin-top:2px}.marc-assist-nome .marc-logo{width:25px;height:25px}.marc-assist-riga .marc-numero{font-size:23px}.marc-assist-riga .marc-numero em{font-size:9px}.marc-bomber-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.marc-bomber{padding:15px;display:grid;grid-template-columns:42px 1fr;column-gap:10px;align-items:center}.marc-bomber-logo{grid-row:span 2}.marc-bomber>b{font-size:12px;color:var(--muto);text-transform:uppercase;letter-spacing:.4px}.marc-bomber>a{grid-column:1 / -1;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--linea);font-size:13px;font-weight:700}.marc-bomber-foto{width:34px;height:34px;object-fit:cover;object-position:top center;border-radius:50%}.marc-bomber>a strong{color:var(--blu);font:700 15px Oswald;white-space:nowrap}.marc-bomber-vuoto{grid-column:1 / -1;color:var(--muto);font-size:12px;margin-top:12px;padding-top:10px;border-top:1px solid var(--linea)}
.marc-vuoto{background:var(--carta);border:1px solid var(--linea);border-radius:10px;padding:28px;color:var(--muto);text-align:center}
@media (max-width:900px){.marc-due-colonne{grid-template-columns:1fr}.marc-podio{gap:12px}}
@media (max-width:600px){.marc-podio{grid-template-columns:1fr 1fr;align-items:stretch}.marc-podio-1{grid-column:1 / -1;grid-row:1;order:1}.marc-podio-2{order:2}.marc-podio-3{order:3}.marc-podio-1 .marc-podio-foto{height:230px}.marc-podio-foto{height:170px}.marc-riga{grid-template-columns:28px 1fr 42px;padding:9px 10px;gap:7px}.marc-riga-testa span:nth-child(3){display:none}.marc-squadra{display:none}.marc-giocatore b{font-size:13px}.marc-bomber-grid{grid-template-columns:1fr}.marc-filtro{padding:8px 10px;font-size:12px}}

/* ===== ANTEPRIMA MARCATORI COMPATTA ===== */
.marc-preview-podio{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:14px;align-items:center;margin-bottom:28px;padding:22px 26px 0}
.marc-preview-podio-card{display:flex;align-items:center;gap:12px;min-width:0;padding:13px 16px;background:var(--carta);border:1px solid var(--linea);border-radius:12px;box-shadow:0 5px 16px rgba(8,20,40,.06);transition:transform .18s,box-shadow .18s}
.marc-preview-podio-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(8,20,40,.13)}
.marc-preview-podio-1{order:2;min-height:142px;padding:22px 22px;border-top:3px solid var(--giallo)}.marc-preview-podio-2{order:1;min-height:116px;padding:16px 18px}.marc-preview-podio-3{order:3;min-height:96px;padding:12px 15px}
.marc-preview-podio-card>img{width:58px;height:58px;border-radius:50%;object-fit:cover;object-position:top center;flex:none}.marc-preview-podio-1>img{width:86px;height:86px}.marc-preview-podio-2>img{width:68px;height:68px}.marc-preview-podio-3>img{width:52px;height:52px}
.marc-preview-podio-copy{min-width:0;flex:1}.marc-preview-podio-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.marc-preview-podio-copy small{display:flex;align-items:center;gap:5px;color:var(--muto);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marc-preview-podio-copy small img{width:22px;height:22px;object-fit:contain;flex:none}.marc-preview-podio-card>strong{color:var(--blu);font:900 30px Oswald;text-align:right;line-height:.85}.marc-preview-podio-1>strong{font-size:38px;color:var(--notte)}.marc-preview-podio-card>strong em{display:block;color:var(--muto);font:700 9px 'PT Sans';text-transform:uppercase;letter-spacing:1px;font-style:normal;margin-top:4px}
.marc-preview-podio-2>strong{font-size:32px}.marc-preview-podio-3>strong{font-size:27px}
.marc-preview-box{background:var(--carta);border:1px solid var(--linea);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px rgba(8,20,40,.06)}
.marc-preview-tabs{display:flex;background:var(--notte);border-bottom:3px solid var(--giallo)}.marc-preview-tab{flex:1;padding:15px 18px;color:rgba(255,255,255,.65);font:700 14px Oswald;text-align:center;letter-spacing:.4px;border-right:1px solid rgba(255,255,255,.1)}.marc-preview-tab:last-child{border-right:0}.marc-preview-tab:hover,.marc-preview-tab.attivo{background:var(--notte-2);color:var(--giallo)}
.marc-preview-panel{padding:22px 26px 26px}.marc-preview-panel-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:18px}.marc-preview-panel-head h2{font:700 25px Oswald;color:var(--notte)}.marc-preview-panel-head span{display:block;color:var(--muto);font-size:11px;text-transform:uppercase;letter-spacing:1px;font-weight:700;margin-top:3px}.marc-preview-count{white-space:nowrap;color:var(--blu)!important;margin:0!important}
.marc-preview-filters{display:flex;gap:7px;flex-wrap:wrap;padding-bottom:18px}.marc-preview-filters .marc-filtro{padding:7px 12px;font-size:12px;border-radius:18px}
.marc-preview-riga{display:grid;grid-template-columns:34px 42px minmax(150px,1.35fr) minmax(130px,1fr) 56px;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--linea);transition:background .15s}.marc-preview-riga:nth-child(even){background:#fbfcfe}.marc-preview-riga:hover{background:#f1f5fb}.marc-preview-pos{text-align:center;color:var(--muto);font:700 17px Oswald}.marc-preview-foto{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:top center}.marc-preview-player{min-width:0}.marc-preview-player b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.marc-preview-player small{color:var(--muto);font-size:11px}.marc-preview-team{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muto);font-size:12px;font-weight:700}.marc-preview-team img{width:30px;height:30px;object-fit:contain;flex:none}.marc-preview-team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marc-preview-score{color:var(--blu);font:900 27px Oswald;text-align:right}.marc-preview-score em{display:block;color:var(--muto);font:700 9px 'PT Sans';text-transform:uppercase;letter-spacing:1px;font-style:normal}.marc-preview-squadre{display:grid;grid-template-columns:1fr 1fr;gap:10px}.marc-preview-squadra{padding:12px;border:1px solid var(--linea);border-radius:9px}.marc-preview-squadra-head{display:flex;align-items:center;gap:8px;padding-bottom:9px;border-bottom:1px solid var(--linea);font-size:12px}.marc-preview-squadra-head img{width:30px;height:30px;object-fit:contain}.marc-preview-squadra>a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding-top:10px;font-size:12px;font-weight:700}.marc-preview-squadra>a>img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:top center}.marc-preview-squadra>a strong{color:var(--blu);font:700 14px Oswald;white-space:nowrap}
@media (max-width:800px){.marc-preview-podio{grid-template-columns:1fr;gap:8px;padding:18px 12px 0}.marc-preview-podio-1{order:1}.marc-preview-podio-2{order:2}.marc-preview-podio-3{order:3}.marc-preview-panel{padding:18px 12px}.marc-preview-riga{grid-template-columns:28px 38px minmax(100px,1fr) 42px;gap:8px;padding:9px 5px}.marc-preview-team{display:none}.marc-preview-squadre{grid-template-columns:1fr}}
@media (max-width:480px){.marc-preview-tabs{position:relative}.marc-preview-tab{padding:13px 8px;font-size:12px}.marc-preview-panel-head h2{font-size:21px}.marc-preview-count{font-size:10px!important}.marc-preview-podio-card{padding:11px}.marc-preview-podio-card>strong{font-size:27px}.marc-preview-podio-1>strong{font-size:34px}}

.marc-preview-squadra{padding:0;overflow:hidden}
.marc-preview-squadra-head{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--notte);border-bottom:3px solid var(--giallo);font-size:inherit}
.marc-preview-squadra-head img{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.marc-preview-squadra-head b{font:700 16px Oswald;color:#fff;line-height:1.05;text-transform:uppercase;letter-spacing:.2px}
.marc-preview-squadra>a,.marc-preview-squadra>.marc-preview-squadra-vuoto{margin:0 12px}
.marc-preview-squadra>a{font-weight:600;color:var(--muto)}
.marc-preview-squadra>:nth-child(3){border-top:1px solid var(--linea);margin-top:8px;padding-top:10px}
.marc-preview-squadra-tag{display:block;font:700 9px 'PT Sans';text-transform:uppercase;letter-spacing:1px;color:var(--muto);margin-bottom:2px}
.marc-preview-squadra>a{min-height:44px}
.marc-preview-squadra>.marc-preview-squadra-vuoto{display:flex;align-items:center;min-height:44px}

/* ===== REGOLAMENTO ===== */
.reg-corpo{padding:34px 0 60px}
.reg-documento{width:100%;margin:0;background:var(--carta);border:1px solid var(--linea);border-top:4px solid var(--giallo);border-radius:12px;padding:34px 42px;color:var(--inchiostro);font-size:16px;line-height:1.7;box-shadow:0 8px 24px rgba(8,20,40,.06)}
.reg-documento h1,.reg-documento h2,.reg-documento h3,.reg-documento h4{font-family:'Oswald';color:var(--notte);line-height:1.15;margin:28px 0 12px}
.reg-documento h1{font-size:32px}.reg-documento h2{font-size:27px}.reg-documento h3{font-size:22px}.reg-documento h4{font-size:18px}
.reg-documento h1:first-child,.reg-documento h2:first-child,.reg-documento h3:first-child{margin-top:0}
.reg-documento p{margin:0 0 17px}.reg-documento ul,.reg-documento ol{margin:0 0 18px 24px}.reg-documento li{margin:5px 0}.reg-documento strong{font-weight:700}.reg-documento a{color:var(--blu);text-decoration:underline}.reg-documento table{width:100%;border-collapse:collapse;margin:20px 0}.reg-documento td,.reg-documento th{padding:9px 10px;border:1px solid var(--linea);text-align:left}.reg-documento th{background:var(--notte);color:#fff;font-family:'Oswald';font-weight:600}.reg-documento img{height:auto;margin:12px auto}.reg-documento hr{border:0;border-top:1px solid var(--linea);margin:26px 0}
@media (max-width:600px){.reg-corpo{padding:20px 0 38px}.reg-documento{padding:24px 20px;font-size:15px;line-height:1.6}.reg-documento h1{font-size:27px}.reg-documento h2{font-size:24px}.reg-documento h3{font-size:20px}.reg-documento table{display:block;overflow-x:auto;white-space:nowrap}}

/* ===== ALBO D'ORO ===== */
.albo-sezione{margin-top:38px}.albo-sezione-tit{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:16px}.albo-sezione-tit h2{font:900 27px Oswald;color:var(--notte);position:relative;padding-left:15px}.albo-sezione-tit h2:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:5px;background:var(--giallo);transform:skewX(-12deg)}.albo-sezione-tit span{color:var(--muto);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.albo-podio{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:16px;align-items:center}.albo-podio-card{display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:22px 16px;background:var(--carta);border:1px solid var(--linea);border-radius:13px;box-shadow:0 7px 20px rgba(8,20,40,.07);transition:transform .18s,box-shadow .18s}.albo-podio-card:hover{transform:translateY(-4px);box-shadow:0 13px 28px rgba(8,20,40,.13)}.albo-podio-1{order:2;min-height:245px;border-top:4px solid var(--giallo)}.albo-podio-2{order:1;min-height:215px}.albo-podio-3{order:3;min-height:190px}.albo-posto{position:absolute;top:9px;left:13px;font:900 32px Oswald;color:rgba(8,20,40,.16)}.albo-avatar{display:flex;align-items:center;justify-content:center;width:76px;height:76px;margin:7px 0 10px;border-radius:50%;background:linear-gradient(145deg,var(--blu),var(--notte-2));color:#fff;font:900 31px Oswald}.albo-podio-1 .albo-avatar{width:92px;height:92px;font-size:38px}.albo-podio-card strong{font-size:18px}.albo-podio-card small{color:var(--muto);font-size:12px;margin-top:3px}.albo-podio-card>b{margin-top:11px;color:var(--blu);font:900 35px Oswald}.albo-podio-1>b{font-size:43px;color:var(--notte)}.albo-podio-card>b em{display:block;color:var(--muto);font:700 9px 'PT Sans';text-transform:uppercase;letter-spacing:1px;font-style:normal}.albo-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.albo-stat{padding:17px;background:linear-gradient(145deg,var(--notte-2),var(--notte));border-radius:10px;color:#fff;text-align:center}.albo-stat b{display:block;color:var(--giallo);font:900 31px Oswald}.albo-stat span{display:block;color:rgba(255,255,255,.7);font-size:11px;text-transform:uppercase;letter-spacing:.7px;margin-top:3px}.albo-due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:22px}.albo-tabella{background:var(--carta);border:1px solid var(--linea);border-radius:12px;overflow:hidden}.albo-tabella h3{padding:17px 18px 12px;margin:0;color:var(--notte);font:700 21px Oswald}.albo-riga{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px 44px;align-items:center;gap:7px;padding:10px 15px;border-top:1px solid var(--linea);font-size:13px}.albo-riga:hover{background:#f3f6fb}.albo-head{color:var(--muto);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:var(--panna)}.albo-riga>strong,.albo-riga>span:not(.albo-manager){text-align:center;font:700 15px Oswald}.albo-manager{display:flex;flex-direction:column;min-width:0}.albo-manager b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.albo-manager small{color:var(--muto);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.albo-timeline{background:var(--carta);border:1px solid var(--linea);border-radius:12px;overflow:hidden}.albo-stagione{display:grid;grid-template-columns:90px 50px minmax(0,1fr) 52px;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid var(--linea)}.albo-stagione:last-child{border-bottom:0}.albo-stagione:hover{background:#f5f8fc}.albo-anno{font:700 18px Oswald;color:var(--blu)}.albo-stagione>img{width:42px;height:42px;object-fit:contain}.albo-campione{display:flex;flex-direction:column;min-width:0}.albo-campione b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.albo-campione small{color:var(--muto);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.albo-stagione>strong{text-align:right;color:var(--blu);font:900 22px Oswald}.albo-stagione>strong em{display:block;color:var(--muto);font:700 9px 'PT Sans';text-transform:uppercase;font-style:normal;letter-spacing:1px}.albo-hero{margin-bottom:4px}
@media (max-width:800px){.albo-stat-grid{grid-template-columns:1fr 1fr}.albo-due-colonne,.albo-tre-colonne{grid-template-columns:1fr}}
.albo-tre-colonne{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.albo-riga-singola,.albo-tre-colonne .albo-head{grid-template-columns:minmax(0,1fr) 52px}.albo-riga-singola>strong{color:var(--blu);font-size:21px}.albo-tre-colonne .albo-head span:first-child{text-align:left}.albo-tre-colonne .albo-head span:last-child{text-align:right}.albo-tre-colonne .albo-tabella h3{padding:14px 16px;background:var(--notte);color:#fff;border-bottom:3px solid var(--giallo);font-size:22px}.albo-tre-colonne .albo-manager b{font-size:16px}.albo-tre-colonne .albo-riga-singola{padding:11px 16px}.albo-tre-colonne .albo-riga-singola>strong{font-size:23px;text-align:right}
@media (max-width:600px){.albo-podio{grid-template-columns:1fr 1fr;gap:9px}.albo-podio-1{grid-column:1 / -1;grid-row:1;order:1}.albo-podio-2{order:2}.albo-podio-3{order:3}.albo-podio-1 .albo-avatar{width:78px;height:78px;font-size:33px}.albo-podio-card{min-height:170px!important;padding:15px 9px}.albo-podio-card strong{font-size:14px}.albo-podio-card>b{font-size:28px}.albo-stat-grid{gap:8px}.albo-stat{padding:13px 7px}.albo-stat b{font-size:25px}.albo-stat span{font-size:9px}.albo-sezione-tit{align-items:start;flex-direction:column;gap:4px}.albo-riga{grid-template-columns:minmax(0,1fr) 34px 34px 34px;padding:9px 8px;font-size:12px}.albo-stagione{grid-template-columns:66px 38px minmax(0,1fr) 42px;gap:7px;padding:11px 8px}.albo-anno{font-size:15px}.albo-stagione>img{width:34px;height:34px}.albo-campione b{font-size:13px}.albo-stagione>strong{font-size:18px}}

/* ===== PAGELLONE ARTICOLI ===== */
.pag-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pag-card{display:flex;flex-direction:column;background:var(--carta);border:1px solid var(--linea);border-radius:12px;overflow:hidden;box-shadow:0 7px 20px rgba(8,20,40,.06);transition:transform .18s,box-shadow .18s}.pag-card:hover{transform:translateY(-4px);box-shadow:0 13px 28px rgba(8,20,40,.13)}.pag-card-cover{flex-shrink:0;width:100%;height:210px;object-fit:cover}.pag-card-body{display:flex;flex-direction:column;flex:1 1 auto;padding:19px 20px 21px}.pag-card-body time,.pag-post-meta{display:block;color:var(--blu);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.pag-card-body h2{font:700 25px Oswald;color:var(--notte);line-height:1.08;margin:9px 0 7px}.pag-card-body p{color:var(--muto);font-size:14px;line-height:1.45;margin:0 0 17px}.pag-leggi{margin-top:auto;align-self:flex-start;color:var(--blu);font-size:13px;font-weight:800}.pag-vuoto{grid-column:1 / -1;background:var(--carta);border:1px solid var(--linea);border-radius:12px;padding:35px;text-align:center;color:var(--muto)}.pag-post-wrap{padding:34px 0 60px}.pag-post{width:100%;background:var(--carta);border:1px solid var(--linea);border-top:4px solid var(--giallo);border-radius:13px;overflow:hidden;box-shadow:0 8px 25px rgba(8,20,40,.06)}.pag-post-cover{display:block;width:100%;max-height:500px;object-fit:cover}.pag-post-meta{padding:27px 54px 0}.pag-post h2{padding:0 54px;margin:9px 0 10px;color:var(--notte);font:900 43px Oswald;line-height:1.04}.pag-post-subtitle{padding:0 54px;margin:0;color:var(--muto);font-size:20px;line-height:1.4}.pag-post-content{padding:30px 54px 20px;color:var(--inchiostro);font-size:17px;line-height:1.75}.pag-post-content h1,.pag-post-content h2,.pag-post-content h3,.pag-post-content h4{font-family:'Oswald';color:var(--notte);line-height:1.15;margin:30px 0 12px}.pag-post-content p{margin:0 0 20px}.pag-post-content img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:7px}.pag-post-content iframe{display:block;width:min(100%,760px);aspect-ratio:16 / 9;height:auto;margin:26px auto;border:0}.pag-post-content a{color:var(--blu);text-decoration:underline}.pag-post-content ul,.pag-post-content ol{margin:0 0 20px 25px}.pag-post-back{display:inline-block;margin:0 54px 10px;color:var(--muto);font-size:15px;font-weight:700;text-decoration:none;transition:color .15s}.pag-post-back:hover{color:var(--notte);text-decoration:underline}.pag-post-cover+.pag-post-back{margin-top:24px}.pag-post-content+.pag-post-back{margin:24px 54px 32px}.pag-post-content blockquote{margin:24px 0;padding:14px 20px;border-left:4px solid var(--giallo);background:var(--panna);color:#52627a}
@media (max-width:900px){.pag-grid{grid-template-columns:1fr 1fr}.pag-post h2{font-size:37px}}
@media (max-width:600px){.pag-grid{grid-template-columns:1fr;gap:15px}.pag-card-cover{height:190px}.pag-post-wrap{padding:20px 0 40px}.pag-post-meta{padding:21px 20px 0}.pag-post h2{padding:0 20px;font-size:32px}.pag-post-subtitle{padding:0 20px;font-size:17px}.pag-post-content{padding:23px 20px 15px;font-size:16px;line-height:1.65}.pag-post-back{margin-left:20px;margin-right:20px}}

.pag-post-content .pag-box{margin:28px 0;padding:18px 22px;background:linear-gradient(135deg,#eef4fc,#f9fbff);border:1px solid #cbd9ea;border-left:5px solid var(--blu);border-radius:9px;color:var(--notte-2);font-size:16px;line-height:1.55;box-shadow:0 5px 14px rgba(8,20,40,.05)}.pag-post-content .pag-box p{margin:0 0 7px}.pag-post-content .pag-box p:last-child{margin-bottom:0}.pag-post-content .pag-box strong:first-child{color:var(--blu);font-family:'Oswald';font-size:17px;letter-spacing:.3px}.pag-post-content hr{border:0;border-top:2px solid var(--linea);margin:38px 0}.pag-post-content h2{font-size:30px;margin-top:38px;padding-top:5px;border-left:5px solid var(--giallo);padding-left:13px}.pag-post-content h3{font-size:24px;margin-top:28px}.pag-post-content h2:first-child{margin-top:0}
.pag-post-content .pag-voto-titolo{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:42px;padding:12px 0 12px 16px;border-left:6px solid var(--blu);border-bottom:1px solid var(--linea);font-size:32px}.pag-post-content .pag-squadra{font:900 32px Oswald;letter-spacing:.2px}.pag-post-content .pag-voto{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:7px 13px;border-radius:9px;color:#fff;font:900 25px Oswald;line-height:1;box-shadow:0 4px 10px rgba(8,20,40,.14)}.pag-post-content .pag-voto-verde{background:var(--verde)}.pag-post-content .pag-voto-giallo{background:#d99d00}.pag-post-content .pag-voto-rosso{background:var(--rosso)}
/* ===== PAGELLONE · layout PAGELLE (pagellone_post.php, prefisso pag-pl-) ===== */
.pag-pl-pagina{max-width:1240px;margin:0 auto;padding-left:26px;padding-right:26px}
.pag-post-content.pag-tipo-pagelle{margin-top:26px;padding:0;font-size:15px;line-height:1.6}
.pag-pl{--pag-pl-card:#10264a;--pag-pl-card-2:#0a1a35;--pag-pl-bordo:rgba(255,255,255,.09);--pag-pl-testo:#c5d2e6;--pag-pl-muto:#8fa3c2;padding:44px 40px 52px;background:var(--notte);color:var(--pag-pl-testo)}
.pag-pl p{margin:0 0 12px}
.pag-pl a{color:var(--giallo)}
.pag-pl strong{color:#fff}
.pag-pl h2,.pag-pl h3{margin:0;padding:0;border:0;color:#fff;font-family:'Oswald',sans-serif;line-height:1.1}
.pag-pl .pag-pl-intro{max-width:820px;margin:0 0 36px;color:#dbe4f2;font-size:17px;line-height:1.65}
.pag-pl .pag-pl-intro p:first-child{color:#fff;font-size:19px}
.pag-pl .pag-pl-intro p:last-child{margin-bottom:0}
/* intestazione LE PAGELLE */
.pag-pl .pag-pl-testa{position:relative;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;margin:0 0 24px;padding:0 0 14px;border-bottom:1px solid rgba(255,255,255,.12)}
.pag-pl .pag-pl-testa::after{content:"";position:absolute;left:0;bottom:-2px;width:72px;height:3px;background:var(--giallo)}
.pag-pl h2.pag-pl-titolo{display:flex;align-items:center;gap:12px;font:700 36px/1 'Oswald',sans-serif;letter-spacing:1px}
.pag-pl .pag-pl-corona{flex:0 0 auto;width:28px;height:24px;fill:var(--giallo)}
.pag-pl .pag-pl-testa .pag-pl-motto{margin:0;color:var(--pag-pl-muto);font-size:15px;font-style:italic}
/* griglia card pagella */
.pag-pl .pag-pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pag-pl .pag-pl-card{display:flex;flex-direction:column;padding:18px 18px 16px;background:var(--pag-pl-card);border:1px solid var(--pag-pl-bordo);border-radius:14px;box-shadow:0 10px 26px rgba(0,0,0,.22);transition:border-color .18s,transform .18s}
.pag-pl .pag-pl-card:hover{border-color:rgba(255,207,51,.35);transform:translateY(-2px)}
.pag-pl .pag-pl-card-testa{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--pag-pl-bordo)}
.pag-pl .pag-pl-logo{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--notte);border:1px solid rgba(255,255,255,.07);border-radius:10px;overflow:hidden}
.pag-pl .pag-pl-logo img{display:block;width:74%;height:74%;margin:0;border-radius:0;object-fit:contain}
.pag-pl .pag-pl-logo-vuoto{color:var(--giallo);font:700 17px/1 'Oswald',sans-serif;letter-spacing:.5px}
.pag-pl h3.pag-pl-squadra{flex:1 1 auto;min-width:0;font:700 19px/1.15 'Oswald',sans-serif;letter-spacing:.6px;overflow-wrap:anywhere}
.pag-pl .pag-pl-voto{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border:2px solid var(--giallo);border-radius:50%;background:rgba(255,207,51,.07);box-shadow:0 0 0 4px rgba(255,207,51,.07);color:#fff;font:700 28px/1 'Oswald',sans-serif}
.pag-pl .pag-pl-voto-lungo{font-size:22px;letter-spacing:-.5px}
.pag-pl .pag-pl-card-testo{flex:1 1 auto;margin:0 0 14px}
.pag-pl .pag-pl-card-testo p:last-child{margin-bottom:0}
/* box citazione compatto in fondo alla card */
.pag-pl .pag-pl-quote{display:flex;gap:10px;margin:0;padding:12px 14px;background:var(--pag-pl-card-2);border:0;border-radius:10px;color:#d3ddec;font-size:13.5px;line-height:1.45}
.pag-pl .pag-pl-quote + .pag-pl-quote{margin-top:8px}
.pag-pl .pag-pl-quote-icona{flex:0 0 auto;width:18px;height:18px;margin-top:1px;fill:var(--giallo)}
.pag-pl .pag-pl-quote-corpo{min-width:0}
.pag-pl .pag-pl-quote-corpo p{margin:0}
.pag-pl .pag-pl-quote-corpo .pag-pl-quote-titolo{margin:0 0 5px;color:var(--giallo);font:600 12px/1.3 'Oswald',sans-serif;letter-spacing:1.2px;text-transform:uppercase}
/* testata comune alle fasce */
.pag-pl .pag-pl-fascia-testa{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.pag-pl .pag-pl-fascia-icona{flex:0 0 auto;width:26px;height:26px;fill:var(--giallo)}
.pag-pl .pag-pl-occhiello{display:block;margin:0 0 3px;color:var(--pag-pl-muto);font-size:11.5px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase}
.pag-pl h2.pag-pl-fascia-titolo{font:700 25px/1.1 'Oswald',sans-serif;letter-spacing:.8px}
/* fascia I CRIMINI DELL'ASTA */
.pag-pl .pag-pl-crimini{margin:36px 0 0;padding:22px 24px 24px;background:linear-gradient(120deg,var(--notte-2),#15315c);border:1px solid rgba(255,207,51,.22);border-top:3px solid var(--giallo);border-radius:14px}
.pag-pl .pag-pl-crimini-lista{display:flex;flex-wrap:wrap;row-gap:18px;overflow:hidden}
.pag-pl .pag-pl-crimine{flex:1 1 150px;display:flex;flex-direction:column;align-items:center;gap:6px;margin-left:-1px;padding:4px 12px;border-left:1px solid rgba(255,255,255,.12);text-align:center}
.pag-pl .pag-pl-crimine-nome{color:#aebdd4;font-size:12px;font-weight:700;letter-spacing:1.2px;line-height:1.3}
.pag-pl .pag-pl-crimine-cifra{display:flex;align-items:baseline;gap:5px;color:var(--giallo);font:700 48px/1 'Oswald',sans-serif}
.pag-pl .pag-pl-crimine-cifra small{color:rgba(255,207,51,.7);font:700 13px/1 'PT Sans',sans-serif;letter-spacing:.5px}
.pag-pl .pag-pl-crimine-sopr{color:#fff;font-size:14px;font-style:italic}
.pag-pl .pag-pl-crimine-squadra{color:var(--pag-pl-muto);font-size:13px}
/* fascia LE FAVORITE ALLO SCUDETTO: podio */
.pag-pl .pag-pl-favorite{margin:28px 0 0;padding:24px 24px 26px;background:var(--pag-pl-card);border:1px solid var(--pag-pl-bordo);border-radius:14px}
.pag-pl .pag-pl-podio{display:flex;align-items:flex-end;justify-content:center;gap:14px;max-width:780px;margin:8px auto 0;border-bottom:2px solid rgba(255,255,255,.14)}
.pag-pl .pag-pl-gradino{flex:1 1 0;min-width:0;max-width:250px;display:flex;flex-direction:column;align-items:center;text-align:center}
.pag-pl .pag-pl-gradino-1{order:2}
.pag-pl .pag-pl-gradino-2{order:1}
.pag-pl .pag-pl-gradino-3{order:3}
.pag-pl .pag-pl-corona-podio{width:40px;height:32px;margin:0 0 6px;fill:var(--giallo);filter:drop-shadow(0 3px 8px rgba(255,207,51,.35))}
.pag-pl .pag-pl-gradino .pag-pl-logo{width:62px;height:62px;margin:0 0 10px}
.pag-pl .pag-pl-gradino-1 .pag-pl-logo{width:76px;height:76px;border-color:rgba(255,207,51,.45)}
.pag-pl .pag-pl-gradino-nome{display:block;margin:0 0 10px;color:#fff;font:700 17px/1.15 'Oswald',sans-serif;letter-spacing:.6px;overflow-wrap:anywhere}
.pag-pl .pag-pl-gradino-1 .pag-pl-gradino-nome{font-size:20px}
.pag-pl .pag-pl-gradino-1 .pag-pl-voto{width:70px;height:70px;font-size:32px}
.pag-pl .pag-pl-gradino-1 .pag-pl-voto-lungo{font-size:26px}
.pag-pl .pag-pl-base{display:flex;align-items:flex-start;justify-content:center;width:100%;margin:14px 0 0;padding:12px 0 0;background:linear-gradient(180deg,#1b3b6c,#10264a);border-top:3px solid rgba(255,255,255,.3);border-radius:10px 10px 0 0;color:var(--pag-pl-muto);font:700 34px/1 'Oswald',sans-serif}
.pag-pl .pag-pl-gradino-1 .pag-pl-base{height:136px;background:linear-gradient(180deg,rgba(255,207,51,.32),rgba(255,207,51,.06));border-top-color:var(--giallo);color:var(--giallo);font-size:48px}
.pag-pl .pag-pl-gradino-2 .pag-pl-base{height:100px}
.pag-pl .pag-pl-gradino-3 .pag-pl-base{height:72px}
.pag-pl .pag-pl-motivi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none}
.pag-pl .pag-pl-motivi li{display:flex;gap:12px;margin:0;padding:12px 14px;background:var(--pag-pl-card-2);border-radius:10px;font-size:14px;line-height:1.5}
.pag-pl .pag-pl-motivi-pos{flex:0 0 auto;color:var(--giallo);font:700 22px/1 'Oswald',sans-serif}
.pag-pl .pag-pl-motivi b{display:block;margin:0 0 3px;color:#fff;font:600 13px/1.2 'Oswald',sans-serif;letter-spacing:.8px}
/* fascia LE CANDIDATE ALLA RETROCESSIONE: accento rosso */
.pag-pl .pag-pl-retro{margin:24px 0 0;padding:24px 24px 26px;background:linear-gradient(135deg,rgba(226,74,59,.2),rgba(226,74,59,.04) 55%),var(--pag-pl-card);border:1px solid rgba(226,74,59,.4);border-left:5px solid var(--rosso);border-radius:14px}
.pag-pl .pag-pl-retro .pag-pl-fascia-icona{fill:var(--rosso)}
.pag-pl .pag-pl-retro .pag-pl-occhiello{color:#f0a39b}
.pag-pl .pag-pl-retro-lista{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pag-pl .pag-pl-retro-voce{padding:14px;background:rgba(8,20,40,.6);border:1px solid rgba(226,74,59,.25);border-radius:12px}
.pag-pl .pag-pl-retro-testa{display:flex;align-items:center;gap:12px}
.pag-pl .pag-pl-retro-id{flex:1 1 auto;min-width:0}
.pag-pl .pag-pl-retro-pos{display:block;margin:0 0 4px;color:#ff8f84;font:700 13px/1 'Oswald',sans-serif;letter-spacing:1px}
.pag-pl .pag-pl-retro-nome{display:block;color:#fff;font:700 17px/1.15 'Oswald',sans-serif;letter-spacing:.5px;overflow-wrap:anywhere}
.pag-pl .pag-pl-voto-rosso{border-color:var(--rosso);background:rgba(226,74,59,.14);box-shadow:0 0 0 4px rgba(226,74,59,.1)}
.pag-pl .pag-pl-retro-nota{margin:12px 0 0;font-size:14px;line-height:1.5}
/* sezioni non riconosciute: mostrate comunque */
.pag-pl .pag-pl-extra{margin:28px 0 0;padding:22px 24px;background:var(--pag-pl-card);border:1px solid var(--pag-pl-bordo);border-radius:14px}
.pag-pl h2.pag-pl-extra-titolo{margin:0 0 12px;font:700 24px/1.1 'Oswald',sans-serif}
.pag-pl .pag-pl-extra h3{margin:16px 0 8px;font:700 19px/1.15 'Oswald',sans-serif}
/* frase finale */
.pag-pl .pag-pl-finale{max-width:760px;margin:48px auto 0;text-align:center}
.pag-pl .pag-pl-finale .pag-pl-finale-occhiello{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 14px;color:var(--giallo);font:600 13px/1 'Oswald',sans-serif;letter-spacing:2.4px}
.pag-pl .pag-pl-finale-occhiello::before,.pag-pl .pag-pl-finale-occhiello::after{content:"";width:44px;height:1px;background:rgba(255,207,51,.55)}
.pag-pl .pag-pl-finale-testo{color:#aebdd4;font-size:16px;line-height:1.65}
.pag-pl .pag-pl-finale-testo p:last-child{margin-bottom:0}
.pag-pl .pag-pl-finale .pag-pl-finale-frase{margin:18px 0 0;color:#fff;font:700 40px/1.1 'Oswald',sans-serif;letter-spacing:.5px;text-transform:uppercase}
@media (max-width:1024px){
.pag-pl{padding:36px 28px 44px}
.pag-pl .pag-pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
.pag-pl .pag-pl-motivi,.pag-pl .pag-pl-retro-lista{grid-template-columns:1fr}
}
@media (max-width:640px){
.pag-pl-pagina{padding-left:0;padding-right:0}
.pag-post-content.pag-tipo-pagelle{margin-top:20px}
.pag-pl{padding:28px 16px 36px}
.pag-pl .pag-pl-grid{grid-template-columns:1fr;gap:14px}
.pag-pl .pag-pl-intro{font-size:16px}
.pag-pl .pag-pl-intro p:first-child{font-size:17px}
.pag-pl .pag-pl-testa{flex-direction:column;align-items:flex-start}
.pag-pl h2.pag-pl-titolo{font-size:29px}
.pag-pl .pag-pl-crimini,.pag-pl .pag-pl-favorite,.pag-pl .pag-pl-retro,.pag-pl .pag-pl-extra{padding:18px 14px 20px}
.pag-pl h2.pag-pl-fascia-titolo{font-size:21px}
.pag-pl .pag-pl-crimine{flex-basis:130px}
.pag-pl .pag-pl-crimine-cifra{font-size:40px}
.pag-pl .pag-pl-podio{gap:8px}
.pag-pl .pag-pl-gradino .pag-pl-logo{width:46px;height:46px}
.pag-pl .pag-pl-gradino-1 .pag-pl-logo{width:56px;height:56px}
.pag-pl .pag-pl-gradino-nome,.pag-pl .pag-pl-gradino-1 .pag-pl-gradino-nome{font-size:14px}
.pag-pl .pag-pl-gradino .pag-pl-voto{width:48px;height:48px;font-size:22px}
.pag-pl .pag-pl-gradino .pag-pl-voto-lungo{font-size:17px}
.pag-pl .pag-pl-gradino-1 .pag-pl-voto{width:56px;height:56px;font-size:26px}
.pag-pl .pag-pl-gradino-1 .pag-pl-voto-lungo{font-size:21px}
.pag-pl .pag-pl-base{font-size:26px}
.pag-pl .pag-pl-gradino-1 .pag-pl-base{height:100px;font-size:34px}
.pag-pl .pag-pl-gradino-2 .pag-pl-base{height:74px}
.pag-pl .pag-pl-gradino-3 .pag-pl-base{height:54px}
.pag-pl .pag-pl-corona-podio{width:32px;height:26px}
.pag-pl .pag-pl-finale .pag-pl-finale-frase{font-size:30px}
}

.marc-preview-podio-copy b{font-size:17px}
.marc-preview-podio-1 .marc-preview-podio-copy b{font-size:20px}
.marc-preview-podio-2 .marc-preview-podio-copy b{font-size:18px}
.marc-preview-podio-3 .marc-preview-podio-copy b{font-size:16px}
.marc-preview-player b{font-size:16px}
.marc-preview-squadra>a span{font-size:14px}


/* classifica completa: numeri tutti neutri, colore solo dalla fascetta laterale */
.tab-full tbody tr .pos{background:#fff!important;box-shadow:inset 0 0 0 2px var(--notte)!important;color:var(--notte)!important}


/* ===== pagina PARTITA ===== */
.match-hero{background:var(--notte);color:#fff;padding:26px 0 26px;border-bottom:4px solid var(--giallo)}
.match-hero .wrap{position:relative}
.match-gio{text-align:center;color:#93a3bd;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}
.match-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:720px;margin:0 auto}
.ms-sq{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:12px;transition:background .2s}
.ms-sq.vince{background:rgba(255,210,60,.1)}
.ms-sq img{width:92px;height:92px;object-fit:contain}
.ms-nome{font-family:'Oswald';font-weight:600;font-size:26px}
.ms-sq.vince .ms-nome{color:var(--giallo)}
.vince-tag{color:var(--giallo)}
.ms-fp{color:#93a3bd;font-weight:700;font-size:16px}
.ms-sq.vince .ms-fp{color:var(--giallo)}
.ms-ris{font-family:'Oswald';font-weight:700;font-size:72px;display:flex;align-items:center;gap:18px}
.ms-ris span{color:#4a6a9a;font-size:48px}
.ripescata{color:#ff8c00;font-size:15px;cursor:help}
.ptbar{max-width:720px;margin:20px auto 4px;height:8px;border-radius:5px;overflow:hidden;display:flex;background:rgba(255,255,255,.08);gap:2px}
.ptbar-h{background:var(--giallo);border-radius:5px 0 0 5px}
.ptbar-g{background:var(--blu-chiaro);border-radius:0 5px 5px 0;margin-left:auto}
.ptbar-lbl{max-width:720px;margin:0 auto;display:flex;justify-content:space-between;color:#93a3bd;font-size:13px;font-weight:700}
.match-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px}

/* ===== SCONTRI DIRETTI (blocco condiviso: partita.php, formazioni.php, squadra.php) ===== */
.scdir-box{max-width:280px;margin:14px auto 0;padding:10px 20px;border-radius:10px;text-align:center}
.scdir-box:not(.scdir-scuro){background:var(--panna);border:1px solid var(--linea)}
.scdir-scuro{background:rgba(255,255,255,.08)}
.scdir-tit{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muto);margin-bottom:2px}
.scdir-scuro .scdir-tit{color:#93a3bd}
.scdir-numeri{display:flex;align-items:center;justify-content:center;gap:10px}
.scdir-n{font-family:'Oswald';font-weight:800;font-size:26px;color:var(--notte)}
.scdir-scuro .scdir-n{color:#fff}
.scdir-n-pareggi{color:var(--muto)}
.scdir-scuro .scdir-n-pareggi{color:#93a3bd}
.scdir-sep{color:var(--muto);font-weight:700;font-size:20px}
.scdir-scuro .scdir-sep{color:#4a6a9a}
.scdir-vuoto{font-size:13px;font-style:italic;color:var(--muto)}
.scdir-scuro.scdir-vuoto{color:#93a3bd}

.scdir-split{display:grid;grid-template-columns:1fr 1fr}
.scdir-col-dx{border-left:1px solid var(--linea)}
.scdir-prossimo{padding:20px;text-align:center}
.scdir-prossimo-sub{font-size:12px;color:var(--muto);margin-top:6px}
@media (max-width:800px){
	.scdir-split{grid-template-columns:1fr}
	.scdir-col-dx{border-left:0;border-top:1px solid var(--linea)}
}


.formazioni-due{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.form-card{padding:0;overflow:hidden}
.form-card.form-vince{box-shadow:0 0 0 2px var(--giallo), 0 6px 20px rgba(10,30,60,.06)}
.form-intestazione{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--nebbia);border-bottom:1px solid var(--linea);position:relative;justify-content:flex-start}
.form-intestazione>div:not(.badge-vince){margin-left:auto;text-align:right}
.form-intestazione .fi-sx{display:flex;align-items:center;gap:12px;margin-left:0!important;text-align:left!important;min-width:0}
.form-intestazione img{width:40px;height:40px;object-fit:contain}
.fi-nome{font-family:'Oswald';font-weight:600;font-size:24px;text-align:left!important;flex:0 1 auto}
.fi-tat{color:var(--muto);font-size:16px;font-weight:600;margin-left:auto!important;padding-left:12px;text-align:right!important}
.badge-vince{margin-left:auto;background:var(--giallo);color:var(--notte);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:4px 10px;border-radius:20px}
.form-reparto-tit{background:var(--notte-2);color:var(--giallo);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:7px 18px}
.blocco-form.panca .form-reparto-tit{background:#081428;color:#93a3bd}
.blocco-form.panca{background:#0c1e3d;margin:14px 12px;border-radius:14px;overflow:hidden}


.pl{display:flex;align-items:center;gap:9px;padding:9px 18px;border-bottom:1px solid var(--linea);flex-wrap:wrap}
.pl:hover{background:#f4f7fc}
.pl.mvp{background:linear-gradient(90deg,rgba(255,210,60,.16),transparent)}
.pl-panca{opacity:.72}

.pl-nome{font-weight:700;font-size:16px}
.pl-nome:hover{color:var(--blu)}
.mvp-badge{background:var(--giallo);color:var(--notte);font-weight:800;font-size:10px;padding:2px 7px;border-radius:4px;letter-spacing:.5px}
.pl-icone{display:flex;align-items:center;gap:3px}
.ic{font-size:17px;line-height:1;position:relative}
.ic-gol sup,.ic-aut sup{font-size:9px;font-weight:800;position:absolute;top:-2px;right:-6px}
.ic-aut{filter:grayscale(1) opacity(.7)}
.ic-gs{font-size:12px}
.ic-rb{font-size:13px}
.ic-rp{font-size:16px}
.ic-a{font-size:15px;color:var(--verde)}
.cart{width:12px;height:16px;border-radius:2px;display:inline-block}
.cart.giallo{background:#f5c518}.cart.rosso{background:var(--rosso)}
.pl-voto{margin-left:auto;font-family:'Oswald';font-weight:700;font-size:20px;color:var(--blu)}
.pl-dett{flex-basis:100%;display:none;gap:10px;flex-wrap:wrap;margin-top:7px;padding:9px 11px;background:var(--notte);border-radius:8px;font-size:11px;color:#93a3bd;align-items:center}
.pl-dett b{color:#fff;font-family:'Oswald'} .pl-dett b.pos{color:var(--verde)} .pl-dett b.neg{color:var(--rosso)}
.pl-dett .sep{color:#3a4762}
.pl-dett{display:none!important}

.commenti{margin-top:22px;padding:22px}
.comm-tit{font-family:'Oswald';font-weight:600;font-size:22px;margin-bottom:16px}
.comm{padding:14px 0;border-bottom:1px solid var(--linea)}
.comm-testa{display:flex;align-items:center;gap:10px;font-size:14px}
.comm-testa img{width:30px;height:30px;object-fit:contain}
.comm-testa span{color:var(--muto);font-size:12px;margin-left:auto}
.comm-corpo{margin-top:8px;font-size:14px;line-height:1.5}
.comm-form{margin-top:18px;padding-top:18px;border-top:2px solid var(--linea)}
.comm-area{width:100%;min-height:80px;margin:10px 0;padding:10px;border:1px solid var(--linea);border-radius:8px;font-family:inherit;font-size:14px}
.comm-azioni{display:flex;justify-content:space-between;align-items:center}
@media (max-width:800px){ .formazioni-due{grid-template-columns:1fr} .ms-ris{font-size:38px} .ms-nome{font-size:16px} }


/* fix panca leggibile */
.blocco-form.panca .pl{border-bottom:1px solid rgba(255,255,255,.08)}
.blocco-form.panca .pl-nome{color:#e8edf6}
.blocco-form.panca .pl-nome:hover{color:var(--giallo)}
.blocco-form.panca .pl:hover{background:rgba(255,255,255,.05)}
.blocco-form.panca .pl-voto{color:#93a3bd}
.blocco-form.panca .pl-panca{opacity:1}
/* barretta ruolo piu' visibile */




/* il vecchio titolo "Titolari/Riserve" grigio: lo rendo una fascia pulita */
.form-reparto-tit{background:var(--notte);color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:9px 18px}
.blocco-form.panca .form-reparto-tit{background:#081428;color:var(--giallo)}


/* pallino ruolo per giocatore */
.pl-pallino{width:11px;height:11px;border-radius:50%;flex:none}
.pl-pallino.r-por{background:#f2c53d}
.pl-pallino.r-dif{background:#4aa3e0}
.pl-pallino.r-cen{background:#2fae6b}
.pl-pallino.r-att{background:#e0503f}
.ic img{width:22px;height:22px;object-fit:contain;display:block}
.ic{display:inline-flex;align-items:center;position:relative}
.ic em{position:absolute;bottom:-3px;right:-5px;font-size:8px;font-weight:800;font-style:normal;background:#0a1e3c;color:#fff;border-radius:3px;padding:0 2px;line-height:1.3}
.ic-txt{font-size:10px;font-weight:800;padding:2px 5px;border-radius:4px;line-height:1}
.ic-txt.rp{background:#2fae6b;color:#fff}
.ic-txt.rb{background:#e0503f;color:#fff}
.ic-txt.gs{background:#e8ecf3;color:#7a89a3}

/* stacco titolari / riserve */
.blocco-form{border-radius:0}
.form-card{overflow:hidden}
.blocco-form.panca{box-shadow:0 6px 18px rgba(8,20,40,.18)}
/* badge sopra le icone */



.ic-auto img,.ic-x img{width:20px;height:20px}

.blocco-form:not(.panca){padding-bottom:6px}

.ic-num{position:relative}
.ic-num em{position:absolute;bottom:-4px;right:-6px;font-size:10px;font-weight:900;font-style:normal;background:#e0503f;color:#fff;border-radius:4px;padding:0 4px;line-height:1.4}



.ic-big img{width:30px!important;height:30px!important}

.leg-ic{width:18px;height:18px;object-fit:contain;vertical-align:middle;margin-right:3px}

/* autogol: badge nero con A BIANCA */
.ic-auto{position:relative}
.ic-auto em{position:absolute;bottom:-4px;right:-6px;font-size:10px;font-weight:900;font-style:normal;background:#000;color:#fff;border-radius:4px;padding:0 4px;line-height:1.4}
/* rigore sbagliato: X rossa contornata di bianco al centro del pallone */
.ic-x{position:relative}
.ic-x em{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#e0503f;font-size:17px;font-weight:900;font-style:normal;-webkit-text-stroke:1.5px #fff;paint-order:stroke}

/* badge rigore segnato (verde) e rigore sbagliato (rosso) */
.ic-rs{position:relative}
.ic-rs em{position:absolute;bottom:-4px;right:-6px;font-size:10px;font-weight:900;font-style:normal;background:#2fae6b;color:#fff;border-radius:4px;padding:0 4px;line-height:1.4}
.ic-rb{position:relative}
.ic-rb em{position:absolute;bottom:-4px;right:-6px;font-size:10px;font-weight:900;font-style:normal;background:#e0503f;color:#fff;border-radius:4px;padding:0 4px;line-height:1.4}

/* legenda: icona a sx, testo a dx */
.legenda-box>span{display:inline-flex;align-items:center;gap:7px}
.legenda-box .ic img{width:20px;height:20px}
.legenda-box .ic-big img{width:24px!important;height:24px!important}
.legenda-box .cart{width:12px;height:16px;border-radius:2px;display:inline-block}
.legenda-box .cart.giallo{background:#f5c518}.legenda-box .cart.rosso{background:#e0503f}

/* frecce navigazione partita */




/* frecce navigazione ai bordi estremi, all'altezza del risultato */

/* frecce navigazione partita — regola isolata */

/* frecce navigazione: solo chevron grande giallo 50%, dentro il quadro */
.match-freccia{position:absolute;top:90px;background:none;border:0;color:var(--giallo);opacity:.3;font-size:84px;font-weight:400;line-height:1;text-decoration:none;z-index:5;transition:opacity .15s}
.match-freccia:hover{opacity:1}
.match-freccia.sx{left:16px}
.match-freccia.dx{right:16px}





/* ===== pagina SQUADRA ===== */







/* layout rosa + figurine */
.sq-layout{display:grid!important;grid-template-columns:1fr 300px!important;gap:24px!important;margin-top:26px!important;align-items:start!important}
.sq-col-dx{display:flex;flex-direction:column;gap:16px;min-height:0}
.rosa-griglia.tre{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.rosa-reparto{border-right:1px solid var(--linea)}
.rosa-reparto:last-child{border-right:0}
.rosa-reparto-tit{color:#fff;font-family:'Oswald';font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:7px 12px;text-align:center}
.rosa-reparto-tit.r1{background:#e8a13c}.rosa-reparto-tit.r2{background:#3a8fd6}.rosa-reparto-tit.r3{background:#2fae6b}.rosa-reparto-tit.r4{background:#d64545}
.rosa-pl{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-bottom:1px solid var(--linea);font-size:16px}
.rosa-pl:hover{background:#f4f7fc}
.rp-nome{font-weight:600}
.rp-prezzo{font-family:'Oswald';font-weight:700;color:var(--blu);font-size:17px}
.sq-figurine{display:flex;flex-direction:column;gap:16px;min-height:0}
.sq-figurine .figurina{border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(8,20,40,.22);flex:none}
.sq-figurine .figurina img{width:100%;display:block}
.sq-figurine .fig-pres{max-width:190px;margin:0 auto}
/* statistiche */
.stat-griglia{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:28px;margin-bottom:28px}
.stat{background:#fff;border:1px solid var(--linea);border-radius:12px;padding:16px;text-align:center}
.stat-n{font-family:'Oswald';font-weight:700;font-size:30px;color:var(--notte);line-height:1}
.stat-l{font-size:11px;color:var(--muto);text-transform:uppercase;letter-spacing:.5px;margin-top:6px}
/* modulo + andamento stessa altezza */
.due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;align-items:stretch}
.due-colonne .card{display:flex;flex-direction:column}
.mini-campo{background:linear-gradient(180deg,#0f7a3d,#0c6a35);margin:16px;border-radius:12px;padding:22px 12px;display:flex;flex-direction:column;gap:18px;justify-content:space-around;flex:1;min-height:220px}
.mc-linea{display:flex;justify-content:center;gap:20px}
.mc-p{width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.andamento-wrap{padding:16px;flex:1;display:flex;align-items:center}
.vuoto{color:var(--muto);text-align:center;padding:30px;font-size:14px;width:100%}
/* storico */
.storico{display:flex;flex-direction:column}
.st-riga{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid var(--linea);font-size:14px}
.st-riga:hover{background:#f4f7fc}
.st-riga.nascosta{display:none}
.st-g{font-family:'Oswald';font-weight:700;color:var(--muto);width:34px}
.st-esito{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff;flex:none}
.st-esito.v{background:var(--verde)}.st-esito.p{background:#c2ccdb}.st-esito.s{background:var(--rosso)}
.st-match{flex:1;font-weight:600}
.st-pt{font-family:'Oswald';font-weight:700;color:var(--blu)}
.storico-piu{padding:14px 20px;text-align:center;border-top:1px solid var(--linea)}
.storico-piu button{background:var(--nebbia);border:1px solid var(--linea);border-radius:8px;padding:9px 20px;font-family:'Oswald';font-weight:600;color:var(--blu);cursor:pointer;font-size:14px}
.storico-piu button:hover{background:#e4ebf5}
/* carriera */
.carriera{display:flex;flex-direction:column}
.car-riga{display:flex;align-items:center;gap:14px;padding:12px 20px;border-bottom:1px solid var(--linea);font-size:15px}
.car-riga:hover{background:#f4f7fc}
.car-riga img{width:36px;height:36px;object-fit:contain}
.car-anno{font-family:'Oswald';font-weight:700;color:var(--muto);width:80px}
.car-sq{flex:1;font-weight:700}
.car-tag{background:var(--giallo);color:var(--notte);font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:uppercase}
.car-riga.attuale{background:#fff9e6}
@media (max-width:900px){ .sq-layout{grid-template-columns:1fr} .stat-griglia{grid-template-columns:1fr 1fr 1fr} .due-colonne{grid-template-columns:1fr} }


/* slider squadra: frecce dentro, presidente nell'angolo */








/* rosa 2x2 */
.rosa-griglia.duexdue{display:grid;grid-template-columns:1fr 1fr;gap:0}
.rosa-griglia.duexdue .rosa-reparto:nth-child(odd){border-right:1px solid var(--linea)}
.rosa-griglia.duexdue .rosa-reparto:nth-child(-n+2){border-bottom:2px solid var(--linea)}
/* palmares con scroll */
.palm-box{background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.palm-tit{background:var(--notte);color:var(--giallo);font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:13px;padding:10px 16px;text-align:center}
.palm-scroll{max-height:180px;overflow-y:auto}
.palm-r{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--linea);font-size:14px;color:var(--inchiostro)}
.palm-r:last-child{border-bottom:0}
.palm-r span{font-family:'Oswald';font-weight:700;font-size:20px;color:var(--blu);min-width:28px}
@media (max-width:900px){  .rosa-griglia.duexdue{grid-template-columns:1fr} }


/* carriera sotto figurina allenatore */
.car-box{background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.car-tit{background:var(--notte);color:var(--giallo);font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:13px;padding:10px 16px;text-align:center}
.car-scroll{overflow-y:auto}
.car-scroll .car-riga{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--linea);font-size:14px}
.car-scroll .car-riga:last-child{border-bottom:0}
.car-scroll .car-riga img{width:34px;height:34px;object-fit:contain;flex:none}
.car-info{flex:1}
.car-info b{display:block;font-weight:700;font-size:14px;line-height:1.1}
.car-info small{color:var(--muto);font-size:12px}
.car-scroll .car-tag{background:var(--giallo);color:var(--notte);font-size:10px;font-weight:700;padding:2px 8px;border-radius:12px;text-transform:uppercase}
.car-scroll .car-riga.attuale{background:#fff9e6}


/* slider squadra: sfondo clippato, logo sfonda sotto */
.sq-testa .sq-bg, .sq-testa 







/* fascia 3 box: presidente + modulo + andamento (stessa altezza) */
.tre-colonne{display:grid;grid-template-columns:0.8fr 1fr 1.4fr;gap:24px;align-items:stretch}
.tre-colonne .card{display:flex;flex-direction:column}
.pres-box{flex:1;display:flex;align-items:stretch;justify-content:center;padding:16px;min-height:0}
.pres-box img{width:100%;border-radius:10px;box-shadow:0 8px 22px rgba(8,20,40,.2)}
.tre-colonne .mini-campo{flex:1}
.tre-colonne .andamento-wrap{flex:1}
@media (max-width:900px){ .tre-colonne{grid-template-columns:1fr} }


/* slider squadra a immagine-banner */
.sq-slider{position:relative;height:420px;background:var(--notte) center/cover no-repeat;border-bottom:4px solid var(--giallo);display:flex;align-items:flex-end}
.sq-slider .wrap{position:relative;z-index:2;padding-bottom:34px}
.sq-scopri{display:inline-flex;align-items:center;gap:10px;background:var(--giallo);color:var(--notte);font-family:'Oswald';font-weight:700;font-size:18px;padding:13px 26px;border-radius:8px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 8px 20px rgba(0,0,0,.3)}
.sq-scopri:hover{transform:translateY(-2px)}
.sq-slider .match-freccia{top:50%;transform:translateY(-50%);opacity:.6}
.sq-slider .match-freccia:hover{opacity:1;transform:translateY(-50%) scale(1.1)}
.sq-slider .match-freccia.sx{left:16px}
.sq-slider .match-freccia.dx{right:16px}
.sq-slider-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:1}
.sq-slider-fallback img{width:160px;height:160px;object-fit:contain}
.sq-slider-fallback h1{font-family:'Oswald';font-weight:700;font-size:40px;text-transform:uppercase;margin-top:12px}
@media (max-width:900px){ .sq-slider{height:280px} }

/* ===== FORZATURE pagina squadra ===== */
/* i 3 box sempre in fila */
.tre-colonne{display:grid!important;grid-template-columns:0.8fr 1fr 1.4fr!important;gap:24px!important;align-items:stretch!important}
.tre-colonne>.card{width:auto!important;min-width:0!important;display:flex!important;flex-direction:column!important}
.pres-box img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:10px!important}
/* colonna destra (figurina+carriera) vincolata: la carriera scrolla entro 380px fissi */
.sq-col-dx{display:flex!important;flex-direction:column!important;gap:16px!important}
.car-box{background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}

@media (max-width:900px){ .tre-colonne{grid-template-columns:1fr!important} }

/* riga titoli rosa + allenatore allineati alle colonne */
.sq-titoli{display:grid;grid-template-columns:1fr 300px;gap:24px;margin:26px 0 14px}
.sq-crediti{color:var(--muto);font-size:16px;font-weight:600}
.sq-titoli .sezione-testa{margin:0}
@media (max-width:900px){ .sq-titoli{grid-template-columns:1fr} .sq-titoli .sezione-testa:last-child{display:none} }





/* ===== pagina CALENDARIO ===== */
.cal-toggle{display:inline-flex;background:#fff;border:1px solid var(--linea);border-radius:10px;padding:4px;margin:22px 0 20px;gap:4px}
.ct-btn{background:none;border:0;padding:9px 18px;border-radius:7px;font-family:'Oswald';font-weight:600;font-size:14px;color:var(--muto);cursor:pointer}
.ct-btn.attivo{background:var(--notte);color:#fff}
/* navigatore con frecce */
.giornate-nav-wrap{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.gn-freccia{width:40px;height:40px;flex:none;border-radius:10px;background:var(--notte);color:var(--giallo);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
.gn-freccia:hover{background:var(--blu)}
.giornate-nav{flex:1;display:grid;grid-template-columns:repeat(18,1fr);gap:6px}
.gn-pill{aspect-ratio:1;border-radius:8px;background:#fff;border:1px solid var(--linea);display:flex;align-items:center;justify-content:center;font-family:'Oswald';font-weight:600;font-size:14px;color:var(--inchiostro);transition:all .12s}
.gn-pill:hover{border-color:var(--blu);color:var(--blu)}
.gn-pill.giocata{background:#eef1f6;color:var(--muto)}
.gn-pill.prossima{border-color:var(--giallo);box-shadow:inset 0 0 0 1px var(--giallo)}
.gn-pill.attiva{background:var(--notte);color:#fff;border-color:var(--notte)}
/* partite giornata */
.cal-partite{display:flex;flex-direction:column}
.cal-riga{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--linea)}
.cal-riga:last-child{border-bottom:0}
.cal-riga:hover{background:#f7f9fc}
.cal-riga.mia{background:#fff9e6}
.cal-riga.mia .cal-nome{color:var(--blu)!important}
.cal-riga.mia .cal-ris{color:var(--blu)}
.cal-riga.mia:hover{background:#fff4d1}
.cal-sq{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px}
.cal-sq img{width:44px;height:44px;object-fit:contain}
.cal-sq.casa{justify-content:flex-end;text-align:right}
.cal-sq.osp{justify-content:flex-start}
.cal-sq:hover .cal-nome{color:var(--blu)}
.cal-ris{font-family:'Oswald';font-weight:700;font-size:26px;color:var(--blu);white-space:nowrap;padding:4px 16px;background:var(--nebbia);border-radius:10px}
.cal-ris span{color:var(--muto);font-size:20px}
.cal-ora{font-family:'Oswald';font-weight:600;font-size:16px;color:var(--muto);background:var(--nebbia);padding:8px 16px;border-radius:10px;white-space:nowrap}
.cal-top11{padding:16px 20px;text-align:right;border-top:1px solid var(--linea)}
.cal-top11 a{color:var(--blu);font-family:'Oswald';font-weight:600;font-size:15px}
/* stagione intera */
.si-giornata{background:#fff;border:1px solid var(--linea);border-radius:12px;overflow:hidden}
.si-testa{background:var(--nebbia);padding:10px 16px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.si-testa b{font-family:'Oswald';font-size:15px;text-transform:uppercase}
.si-testa span{color:var(--muto)}
.si-partite{display:flex;flex-direction:column}
.si-match{display:flex;align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--linea);font-size:13px}
.si-match:hover{background:#f7f9fc}
.si-match.mia{background:#fff9e6}
.si-match.mia .si-h,.si-match.mia .si-a,.si-match.mia .si-v{color:var(--blu)!important}
.si-match img{width:22px;height:22px;object-fit:contain;flex:none}
.si-h{flex:1;text-align:right;font-weight:600}
.si-a{flex:1;font-weight:600}
.si-v{font-family:'Oswald';font-weight:700;color:var(--blu);min-width:44px;text-align:center}
#vista-intera{grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:800px){ #vista-intera{grid-template-columns:1fr} }
@media (max-width:700px){ .cal-ris{font-size:22px} .giornate-nav{grid-template-columns:repeat(9,1fr)} }

/* giornata singola: due box grandi uguali */
.gs-due{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.gs-due .card{display:flex;flex-direction:column}
.gs-due .cal-partite{flex:1}
/* mini campo squadra settimana nel box destro */


/* campo verde squadra settimana nel calendario */
.cal-campo{background:linear-gradient(180deg,#0f7a3d,#0c6a35);margin:16px;border-radius:12px;padding:26px 14px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;flex:1;position:relative;min-height:440px}
.cal-campo .cc-linee{position:absolute;inset:14px;border:2px solid rgba(255,255,255,.22);border-radius:8px;pointer-events:none}
.cal-campo .cc-linee::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(255,255,255,.22)}
.cal-campo .cc-linee::after{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;border:2px solid rgba(255,255,255,.22);border-radius:50%;transform:translate(-50%,-50%)}
.cc-reparto{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-start;gap:8px}
.cc-pl{text-align:center;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center}
.cc-pl img{width:48px;height:48px;object-fit:cover;object-position:top center;border-radius:50%;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.cc-pl b{display:block;color:#fff;font-size:13px;font-weight:700;margin-top:6px;text-shadow:0 1px 4px rgba(0,0,0,.7);line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cc-stato{display:contents}
.cc-stato.sdw-nascosto{display:none}

.vista-off{display:none!important}

/* ===== formazione_old.php (ex formazione.php) — restyling, prefisso dedicato formez- (nessuna classe esistente toccata) ===== */
.formez-match{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}
.formez-match img{width:64px;height:64px;object-fit:contain}
.formez-match strong{font-family:'Oswald';font-weight:700;font-size:24px;color:var(--notte)}
.formez-tattiche{display:flex;flex-wrap:wrap;gap:10px}
.formez-tattica{background:var(--giallo);color:var(--notte);font-weight:800;padding:9px 16px;border-radius:7px;font-size:13px;white-space:nowrap;display:inline-block}
.formez-tattica-attiva{background:transparent;color:var(--muto);border:1px solid var(--linea);font-weight:700}
.formez-colonne{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
.formez-card{min-height:100%}
.formez-reparto{margin-bottom:18px}
.formez-reparto:last-child{margin-bottom:0}
.formez-reparto-tit{color:#fff;font-family:'Oswald';font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:8px 14px;border-radius:7px 7px 0 0}
.formez-reparto-tit.r1{background:var(--notte)}
.formez-reparto-tit.r2{background:var(--notte)}
.formez-reparto-tit.r3{background:var(--notte)}
.formez-reparto-tit.r4{background:var(--notte)}
.formez-reparto-tit-neutro{background:var(--notte)}
.formez-pl{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--linea);border-top:0;flex-wrap:wrap}
.formez-pl:hover{background:#f4f7fc}
.formez-pl-num{font-family:'Oswald';font-weight:700;font-size:13px;color:var(--muto);width:22px;text-align:center;flex:none}
.formez-pl-ruolo{font-family:'Oswald';font-weight:700;font-size:12px;color:var(--muto);width:34px;flex:none}
.formez-pl-nome{font-weight:700;color:var(--inchiostro);flex:1 1 auto;min-width:0}
.formez-pl-azioni{display:flex;align-items:center;gap:8px;margin-left:auto}
.formez-tasto{font-family:'PT Sans';font-weight:700;font-size:12px;padding:6px 12px;border-radius:6px;white-space:nowrap}
.formez-titolare{background:var(--giallo);color:var(--notte)}
.formez-riserva{background:var(--panna);color:var(--blu);border:1px solid var(--linea)}
.formez-rimuovi{background:transparent;color:var(--rosso);border:1px solid var(--rosso)}
.formez-pl-fantareale{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:3px 8px;border-radius:6px;font-family:'PT Sans';font-weight:700;font-size:12px;color:#fff}
.formez-fantareale-verde{background:var(--verde)}
.formez-fantareale-giallo{background:var(--giallo);color:var(--notte)}
.formez-fantareale-rosso{background:var(--rosso)}
.formez-fantareale-nd{background:var(--panna);color:var(--muto);border:1px solid var(--linea)}
.formez-squalificato{background:var(--rosso);color:#fff;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:4px 10px;border-radius:20px}
.formez-loading{text-align:center;padding:30px}
.formez-svuota-wrap{text-align:right;margin-top:16px}
.formez-svuota{display:inline-block;background:transparent;color:var(--rosso);border:1px solid var(--rosso);font-weight:700;font-size:12px;padding:8px 14px;border-radius:6px}
@media (max-width:900px){
	.formez-colonne{grid-template-columns:1fr}
	.formez-match{flex-direction:column;gap:10px}
}

/* ===== formazioni.php — restyling, prefisso dedicato sqcampo- (nessuna classe esistente toccata) ===== */
.sqcampo-partita{padding:0;overflow:hidden;margin-bottom:22px}
.sqcampo-testata{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;background:var(--notte);color:#fff;padding:16px 22px}
.sqcampo-squadra{display:flex;align-items:center;gap:12px;min-width:0}
.sqcampo-squadra-dx{flex-direction:row-reverse;text-align:right}
.sqcampo-squadra>div{min-width:0}
.sqcampo-squadra img{width:64px;height:64px;object-fit:contain;flex:none}
.sqcampo-squadra strong{display:block;font-family:'Oswald';font-weight:700;font-size:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.sqcampo-modulo{display:block;color:var(--giallo);font-size:12px;font-weight:700;letter-spacing:.5px;margin-top:2px}
.sqcampo-vs{font-family:'Oswald';font-weight:900;font-size:14px;color:#93a3bd;flex:none}
.sqcampo-testata .scdir-box{margin:0}
.sqcampo-ripescata{color:#ff8c00;font-size:15px;vertical-align:middle;cursor:help}
.sqcampo-campo{position:relative;background:linear-gradient(180deg,#0f7a3d,#0c6a35);aspect-ratio:2.3/1;margin:16px}
.sqcampo-linee{position:absolute;inset:12px;border:2px solid rgba(255,255,255,.25);pointer-events:none}
.sqcampo-linee::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:rgba(255,255,255,.25)}
.sqcampo-linee::after{content:"";position:absolute;left:50%;top:50%;width:70px;height:70px;border:2px solid rgba(255,255,255,.25);border-radius:50%;transform:translate(-50%,-50%)}
.sqcampo-area{position:absolute;top:28%;bottom:28%;width:6%;border:2px solid rgba(255,255,255,.25);pointer-events:none}
.sqcampo-area-sx{left:12px;border-left:0}
.sqcampo-area-dx{right:12px;border-right:0}
.sqcampo-pl{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;width:64px}
.sqcampo-pallino{display:inline-block;width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);flex:none}
.sqcampo-pallino.r1{background:#e8a13c}
.sqcampo-pallino.r2{background:#3a8fd6}
.sqcampo-pallino.r3{background:#2fae6b}
.sqcampo-pallino.r4{background:#d64545}
.sqcampo-pl-nome{display:block;color:#fff;font-size:11px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.7);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.sqcampo-legenda{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;padding:14px 18px 16px;font-size:12px;color:var(--inchiostro);font-weight:600;border-top:1px solid var(--linea)}
.sqcampo-legenda .sqcampo-pallino{width:11px;height:11px;border-width:1px;margin-right:5px;vertical-align:middle}
.sqcampo-panchine{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--linea)}
.sqcampo-panchina{padding:14px 18px}
.sqcampo-panchina:first-child{border-right:1px solid var(--linea)}
.sqcampo-panchina-tit{font-family:'Oswald';font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muto);margin-bottom:4px}
.sqcampo-panchina-vuota{color:var(--muto);font-size:12px}
.sqcampo-panchina-colonne{display:grid;grid-template-columns:repeat(4,1fr);gap:0 10px}
.sqcampo-panchina-col{display:flex;flex-direction:column;gap:7px}
.sqcampo-panchina-col:not(:last-child){border-right:1px solid var(--linea);padding-right:8px}
.sqcampo-panchina-col-tit{display:flex;align-items:center;font-family:'Oswald';font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--muto);margin-bottom:2px}
.sqcampo-panchina-col-tit .sqcampo-pallino{width:8px;height:8px;border-width:1px;margin-right:5px}
.sqcampo-pillola{display:inline-flex;align-items:center;gap:6px;background:var(--panna);border:1px solid var(--linea);border-radius:20px;padding:4px 12px 4px 6px;font-size:13px;font-weight:700;color:var(--inchiostro);text-decoration:none}
.sqcampo-pillola::before{content:"";width:9px;height:9px;border-radius:50%;flex:none}
.sqcampo-pillola.r1::before{background:#e8a13c}
.sqcampo-pillola.r2::before{background:#3a8fd6}
.sqcampo-pillola.r3::before{background:#2fae6b}
.sqcampo-pillola.r4::before{background:#d64545}
/* PALLINI E NOMI PIU' GRANDI, SCALATI SULLA LARGHEZZA REALE DEL CAMPO (container query, con fallback sui px fissi sopra se non supportata) */
@supports (container-type: inline-size){
	.sqcampo-campo{container-type:inline-size}
	.sqcampo-pallino{width:clamp(20px,2.8cqw,34px);height:clamp(20px,2.8cqw,34px)}
	.sqcampo-pl-nome{max-width:clamp(58px,9cqw,104px);font-size:clamp(11px,1.4cqw,17px)}
}
@media (max-width:700px){
	.sqcampo-testata{padding:12px 14px}
	.sqcampo-squadra img{width:40px;height:40px}
	.sqcampo-squadra strong{font-size:18px}
	.sqcampo-testata .scdir-box{padding:6px 10px}
	.sqcampo-testata .scdir-n{font-size:19px}
	.sqcampo-testata .scdir-tit{font-size:9px}
	.sqcampo-pl{width:46px}
	.sqcampo-pl-nome{font-size:9px}
	.sqcampo-pallino{width:14px;height:14px}
	.sqcampo-panchine{grid-template-columns:1fr}
	.sqcampo-panchina:first-child{border-right:0;border-bottom:1px solid var(--linea)}
}
@media (max-width:480px){
	.sqcampo-panchina-colonne{grid-template-columns:1fr 1fr}
}

/* ===== calcola.php — restyling, prefisso dedicato calc- (nessuna classe esistente toccata) ===== */
.calc-match-giornata{color:var(--muto);font-size:14px;margin:0 0 14px}
.calc-match-squadre{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}
.calc-match-squadre img{width:64px;height:64px;object-fit:contain}
.calc-match-squadre strong{font-family:'Oswald';font-weight:700;font-size:24px;color:var(--notte)}
.calc-recap{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.calc-recap-tattica{flex:1 1 auto;min-width:200px;color:var(--inchiostro)}
.calc-recap-tattica strong{color:var(--notte)}
.calc-recap-punti,.calc-recap-goal{text-align:right}
.calc-recap-punti span,.calc-recap-goal span{display:block;color:var(--muto);font-size:11px;text-transform:uppercase;letter-spacing:1px}
.calc-recap-punti strong{font-family:'Oswald';font-weight:700;font-size:28px;color:var(--notte)}
.calc-recap-goal strong{font-family:'Oswald';font-weight:900;font-size:42px;color:var(--blu)}
.calc-warn{background:#fdeceb;color:var(--rosso);border:1px solid var(--rosso);font-weight:700;font-size:13px;padding:10px 16px;border-radius:8px;text-align:center;margin:0 0 18px}
.calc-card{margin-bottom:18px}
.calc-group-title{font-family:'Oswald';font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:1px;color:var(--notte);margin:0 0 12px}
.calc-tab-scroll{overflow-x:auto}
.calc-tab{width:100%;border-collapse:collapse;min-width:920px}
.calc-tab td{padding:12px 8px;font-size:15px;border-bottom:1px solid var(--linea)}
.calc-tab tr:first-child td{border-bottom:2px solid var(--linea);color:var(--muto);font-size:12px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}
.calc-tab tr:nth-child(even){background:var(--panna)}
.calc-ruolo{width:46px;font-family:'Oswald';font-weight:700;font-size:14px;color:var(--muto);text-align:center}
.calc-nome{font-weight:700;font-size:16px;color:var(--inchiostro)}
.calc-nome a{color:inherit;text-decoration:none}
.calc-nome a:hover{color:var(--blu)}
.calc-cell{width:56px;text-align:center}
.calc-totale strong{color:var(--notte);font-family:'Oswald';font-weight:700;font-size:17px}
.calc-in{width:48px;box-sizing:border-box;padding:8px 4px;text-align:center;border:1px solid var(--linea);border-radius:6px;font-family:inherit;font-size:16px}
.calc-in:focus{outline:2px solid var(--blu-chiaro);outline-offset:1px}
.calc-select{padding:7px 6px;border:1px solid var(--linea);border-radius:6px;font-family:inherit;font-size:14px;background:var(--carta)}
.calc-footer{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.calc-footer-label{flex:1 1 auto;min-width:200px;color:var(--rosso);font-weight:700;font-size:14px}
.calc-submit{background:var(--giallo);color:var(--notte);border:0;font-weight:800;padding:11px 26px;border-radius:8px;cursor:pointer;font-size:15px}
@media (max-width:700px){
	.calc-match-squadre{gap:12px}
	.calc-match-squadre img{width:44px;height:44px}
	.calc-match-squadre strong{font-size:17px}
	.calc-recap{gap:14px}
	.calc-recap-goal strong{font-size:30px}
}

/* ===== nav_new.php / footer_new.php — menu a tendina + hamburger mobile + footer a colonne, prefisso dedicato nav- (nessuna classe esistente toccata) ===== */
.nav-drop{position:relative}
.nav-drop-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.nav-caret{font-size:15px;color:var(--giallo);opacity:1;line-height:1}
.nav-drop-panel{display:none;position:absolute;top:100%;left:0;background:var(--notte);min-width:170px;padding:8px;border-radius:0 0 10px 10px;box-shadow:0 14px 30px rgba(0,0,0,.35);flex-direction:column;z-index:65}
.nav-drop-panel a{display:block;white-space:nowrap}
.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel{display:flex}
.nav-disabled{display:inline-block;color:rgba(255,255,255,.35);font-weight:700;font-size:16px;padding:10px 15px;cursor:default}
.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;background:transparent;border:0;cursor:pointer;flex:none}
.nav-hamburger span{display:block;width:100%;height:2px;background:#fff;border-radius:2px}
.nav-mobile{display:none;position:fixed;top:96px;left:0;right:0;bottom:0;overflow-y:auto;background:var(--notte);z-index:59;padding:20px 26px}
.nav-mobile.aperto{display:block}
.nav-mobile a,.nav-mobile .nav-disabled{display:block;color:#fff;font-weight:700;font-size:17px;padding:12px 6px;border-bottom:1px solid rgba(255,255,255,.1)}
.nav-mobile a.qui{color:var(--giallo)}
.nav-mobile-group{padding-left:14px}
.nav-mobile-tit{display:block;color:rgba(255,255,255,.5);font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:14px 6px 4px}
.nav-mobile-cta{display:flex;gap:10px;margin-top:18px}
.nav-piedone-top{background:var(--notte);border-top:1px solid rgba(255,255,255,.08)}
.nav-piedone-top .wrap{display:flex;gap:36px;flex-wrap:wrap;padding-top:30px;align-items:flex-start;align-content:flex-start}
.nav-piedone-col{min-width:150px}
.nav-piedone-tit{display:block;color:#fff;font-family:'Oswald';font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}
a.nav-piedone-tit:hover{color:var(--giallo)}
.nav-piedone-tit.nav-disabled{color:rgba(255,255,255,.35);cursor:default;padding:0;font-size:13px;font-weight:600}
.nav-piedone-col a:not(.nav-piedone-tit){display:block;color:rgba(255,255,255,.6);padding:4px 0;font-size:14px}
.nav-piedone-col a:hover{color:var(--giallo)}
@media (max-width:1000px){
	.nav-hamburger{display:flex}
}
@media (max-width:700px){
	.nav-piedone-top .wrap{gap:24px}
}

/* ===== HOME: rifiniture (hm-) ===== */
.giocatore .hm-nome-grande, .ris-r .hm-nome-grande{font-size:18px}
.hm-voto{font-family:'Oswald';font-weight:700;color:var(--giallo);margin-left:6px}
.giocatore .hm-voto, .ris-r .hm-voto{font-size:16px}

/* ===== PAGELLONE: template PARTITE (pag-gg-) ===== */
.pag-gg-pagina{max-width:1240px;margin:0 auto;padding-left:26px;padding-right:26px}
.pag-post-content.pag-tipo-partite{margin-top:26px;padding:0 54px 30px}

.pag-gg-testa{margin-bottom:24px}
.pag-gg-testa h2{color:var(--notte-2);font:900 26px 'Oswald';margin-bottom:6px}
.pag-gg-testa p{color:var(--muto);font-size:15px;line-height:1.6;margin:0}

.pag-gg-partita{background:var(--carta);border:1px solid var(--linea);border-radius:14px;overflow:hidden;margin-bottom:22px;box-shadow:0 4px 14px rgba(8,20,40,.06)}
.pag-gg-partita-testa{background:var(--notte-2);color:#fff;display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 26px;font:800 24px 'Oswald';text-align:center}
.pag-gg-partita-testa strong{color:var(--giallo);font-size:28px;white-space:nowrap}
.pag-gg-punteggio{text-align:center;padding:9px 20px;color:var(--muto);font-size:13px;font-weight:700;border-bottom:1px solid var(--linea);background:var(--panna)}

.pag-gg-squadre{display:grid;grid-template-columns:1fr 1fr}
.pag-gg-squadra{padding:20px;display:flex;flex-direction:column;gap:8px}
.pag-gg-squadra:first-child{border-right:1px solid var(--linea)}
.pag-gg-squadra-testa{display:flex;align-items:center;gap:10px}
.pag-gg-squadra-nome{font:800 20px 'Oswald';flex:1}
.pag-gg-squadra p{color:var(--inchiostro);font-size:16px;line-height:1.6;margin:0}

.pag-gg-voto{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--giallo);color:var(--notte);font:800 17px 'Oswald';flex:none}
.pag-gg-voto.basso{background:var(--rosso);color:#fff}

.pag-gg-box{background:var(--carta);border:1px solid var(--linea);border-left:4px solid var(--giallo);border-radius:10px;padding:16px 20px;margin-bottom:20px;box-shadow:0 4px 14px rgba(8,20,40,.05)}
.pag-gg-box-titolo{font:800 18px 'Oswald';color:var(--notte-2);margin-bottom:6px;display:block;line-height:1.3}
.pag-gg-box p{color:var(--inchiostro);font-size:16px;line-height:1.6;margin:0}

.pag-gg-sentenze{background:var(--notte-2);color:#fff;border-radius:14px;padding:28px 30px;margin-bottom:22px}
.pag-gg-sentenze-titolo{font:900 24px 'Oswald';color:var(--giallo);margin-bottom:16px;display:block}
.pag-gg-sentenza{padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}
.pag-gg-sentenza:first-of-type{border-top:0;padding-top:0}
.pag-gg-sentenza-titolo{font:800 20px 'Oswald';color:var(--giallo);display:block;margin-bottom:3px;line-height:1.3}
.pag-gg-sentenza p{color:rgba(255,255,255,.85);font-size:16px;margin:0}

.pag-gg-classifica{width:100%;border-collapse:collapse;background:var(--carta);border:1px solid var(--linea);border-radius:12px;overflow:hidden;margin-bottom:20px}
.pag-gg-classifica th{background:var(--notte-2);color:#fff;font:700 11px 'PT Sans';text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;text-align:left}
.pag-gg-classifica td{padding:14px 16px;border-top:1px solid var(--linea);font-size:15px}
.pag-gg-classifica td:first-child{font:900 19px 'Oswald';color:var(--notte-2);text-align:center;width:52px}
.pag-gg-classifica td:nth-child(2){font-weight:700;font-size:16px}
.pag-gg-classifica td:last-child{font:800 18px 'Oswald';color:var(--notte-2);text-align:right;padding-right:20px}
.pag-gg-classifica tbody tr:nth-child(-n+3) td{background:rgba(51,176,106,.08)}
.pag-gg-classifica tbody tr:last-child td{background:rgba(226,74,59,.08)}
.pag-gg-emoji{font-size:1.15em;vertical-align:middle;line-height:1}

@media (max-width:700px){
	.pag-gg-squadre{grid-template-columns:1fr}
	.pag-gg-squadra:first-child{border-right:0;border-bottom:1px solid var(--linea)}
	.pag-gg-partita-testa{flex-wrap:wrap;font-size:19px;padding:18px 16px}
	.pag-gg-partita-testa strong{font-size:22px}
}
@media (max-width:600px){
	.pag-gg-pagina{padding-left:0;padding-right:0}
	.pag-post-content.pag-tipo-partite{padding:0 20px 24px}
}

/* ===== SCHEDA GIOCATORE (giocatore.php, prefisso gio-) ===== */
.gio-post{background:var(--carta);border:1px solid var(--linea);border-top:4px solid var(--giallo);border-radius:13px;overflow:hidden;box-shadow:0 8px 25px rgba(8,20,40,.06)}
.gio-top{display:flex;gap:32px;padding:32px 40px;align-items:flex-start}
.gio-figurina{flex:none;width:200px;display:flex;flex-direction:column;align-items:center;gap:0}
.gio-foto-cornice{width:100%;border-radius:28px;box-sizing:border-box;border:4px solid var(--fig-col3);border-bottom-width:0;padding:10px 10px 0 10px;background:linear-gradient(to bottom right, var(--fig-col1) 0 50%, var(--fig-col2) 50% 100%);position:relative;box-shadow:0 10px 24px rgba(8,20,40,.18);display:flex;flex-direction:column;gap:8px}
.gio-foto-finestra{width:100%;aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:#fff;padding:4px;box-sizing:border-box}
.gio-foto{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block;background:var(--notte)}
.gio-figurina-base{flex:none;height:100px;display:flex;align-items:flex-end;justify-content:center;overflow:visible}
.gio-figurina-logo{width:150px;height:150px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.gio-content{flex:1;min-width:0;container-type:inline-size}
.gio-nome{font-family:'Oswald';font-weight:900;color:var(--notte);line-height:1.05;font-size:clamp(32px,6.3cqw,58px);margin-bottom:10px;overflow-wrap:break-word}
.gio-badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:24px}
.gio-badge-ruolo{display:inline-flex;align-items:center;gap:6px;background:var(--panna);border:1px solid var(--linea);border-radius:20px;padding:7px 16px 7px 10px;font-size:15px;font-weight:700;color:var(--inchiostro);text-transform:uppercase;letter-spacing:.4px}
.gio-badge-ruolo::before{content:"";width:11px;height:11px;border-radius:50%;flex:none}
.gio-badge-ruolo.r1::before{background:#e8a13c}
.gio-badge-ruolo.r2::before{background:#3a8fd6}
.gio-badge-ruolo.r3::before{background:#2fae6b}
.gio-badge-ruolo.r4::before{background:#d64545}
.gio-badge-costo{background:var(--giallo);color:var(--notte);font-size:16px;font-weight:800;padding:8px 18px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 3px 10px rgba(255,207,51,.4)}
.gio-medie{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:16px}
.gio-media-box{background:var(--carta);border:1px solid var(--linea);border-radius:12px;padding:22px 26px;display:flex;flex-direction:column;gap:6px}
.gio-media-tit{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muto)}
.gio-media-val{font-family:'Oswald';font-weight:900;font-size:45px;color:var(--notte)}
.gio-media-val.gio-nd{color:var(--muto)}
.gio-media-sub{font-size:12px;color:var(--muto)}
.gio-media-sub-stats{font-weight:700;font-size:12px}
.gio-media-box.gio-confronto-su{background:rgba(51,176,106,.12)}
.gio-media-box.gio-confronto-su .gio-media-val,.gio-media-box.gio-confronto-su .gio-media-sub{color:var(--verde)}
.gio-media-box.gio-confronto-giu{background:rgba(226,74,59,.12)}
.gio-media-box.gio-confronto-giu .gio-media-val,.gio-media-box.gio-confronto-giu .gio-media-sub{color:var(--rosso)}
.gio-media-box.gio-confronto-n .gio-media-val{color:var(--muto)}
.gio-confronto-arrow{font-size:24px;vertical-align:middle;margin-right:4px}
.gio-stats-sezione{padding:28px 40px 32px;border-top:1px solid var(--linea)}
.gio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:14px}
.gio-stat{background:var(--carta);border:1px solid var(--linea);border-radius:12px;padding:16px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:100px}
.gio-stat-ic{width:26px;height:26px;object-fit:contain}
.gio-stat-pallino circle{fill:var(--blu)}
.gio-stat-val{font-family:'Oswald';font-weight:800;font-size:22px;color:var(--notte)}
.gio-stat-lab{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muto);text-align:center;line-height:1.2}
.gio-cart{width:14px;height:19px;border-radius:2px;display:inline-block}
.gio-cart.giallo{background:#f5c518}
.gio-cart.rosso{background:var(--rosso)}
.gio-stella-oro path{fill:var(--giallo)}
.gio-stella-grigia path{fill:var(--linea)}
.gio-azioni{display:flex;justify-content:flex-end;padding:20px 40px 0}
.gio-azioni-nav{justify-content:space-between}
.gio-torna.gio-prev,.gio-torna.gio-next{font-size:15px}
.gio-box3{background:var(--carta);border:1px solid var(--linea);border-top:3px solid var(--linea);border-radius:12px;padding:18px 22px;display:flex;flex-direction:column;gap:8px}
.gio-box3-head{display:flex;align-items:center;gap:10px;text-align:left}
.gio-box3-ic-wrap{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;flex:none}
.gio-box3-ic{width:16px;height:16px;fill:currentColor}
.gio-box3-prossima{border-top-color:var(--blu)}
.gio-box3-prossima .gio-box3-ic-wrap{background:rgba(26,95,180,.12);color:var(--blu)}
.gio-box3-ultime{border-top-color:var(--verde)}
.gio-box3-ultime .gio-box3-ic-wrap{background:rgba(51,176,106,.12);color:var(--verde)}
.gio-box3-chicche{border-top-color:var(--giallo)}
.gio-box3-chicche .gio-box3-ic-wrap{background:rgba(255,207,51,.25);color:var(--inchiostro)}
.gio-box3-tit{font-family:'Oswald';font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.3px;color:var(--notte);margin-bottom:0}
.gio-box3-val{font-family:'Oswald';font-weight:800;font-size:20px;color:var(--notte)}
.gio-box3-sub{font-size:12px;color:var(--muto)}
.gio-box3-placeholder{font-size:13px;color:var(--muto);font-style:italic}
.gio-box3-centrato{text-align:center}
.gio-vs{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.gio-vs-logo{width:114px;height:114px;object-fit:contain}
.gio-vs-testo{width:34px;height:34px;border-radius:50%;background:var(--panna);border:1px solid var(--linea);display:inline-flex;align-items:center;justify-content:center;font-family:'Oswald';font-weight:800;font-size:16px;color:var(--notte)}
.gio-ultime{list-style:none;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.gio-ultime-compatta{justify-content:flex-start}
.gio-ultime-voto{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;font:700 17px 'Oswald';flex:none;color:#fff}
.gio-ultime-voto-verde{background:var(--verde)}
.gio-ultime-voto-giallo{background:var(--giallo);color:var(--notte)}
.gio-ultime-voto-rosso{background:var(--rosso)}
.gio-ultime-voto-vuoto{background:var(--panna);color:var(--muto);border:1px solid var(--linea)}
.gio-chicche-lista{display:flex;flex-direction:column;gap:10px}
.gio-chicca-riga{display:flex;align-items:center;gap:10px}
.gio-chicca-riga:not(:last-child){border-bottom:1px solid var(--linea)}
.gio-chicca-ic-wrap{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;flex:none}
.gio-chicca-ic{width:15px;height:15px;fill:currentColor}
.gio-chicca-lab{flex:1;font-size:16px;color:var(--muto);font-weight:700}
.gio-chicca-val{font-family:'Oswald';font-weight:800;font-size:20px;color:var(--notte)}
.gio-chicca-top .gio-chicca-ic-wrap{background:rgba(51,176,106,.14);color:var(--verde)}
.gio-chicca-flop .gio-chicca-ic-wrap{background:rgba(226,74,59,.14);color:var(--rosso)}
.gio-chicca-mvp .gio-chicca-ic-wrap{background:rgba(255,207,51,.22);color:var(--inchiostro)}
.gio-torna{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 16px;background:var(--panna);border:1px solid var(--linea);border-radius:20px;color:var(--inchiostro);font-size:13px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s}
.gio-torna:hover{background:var(--linea);border-color:var(--muto)}
.gio-sezione-tit{font-family:'Oswald';font-weight:800;font-size:20px;color:var(--notte);margin:0 0 16px}
.gio-storico-tit{font-size:22px;text-transform:uppercase;letter-spacing:.3px}
.gio-due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px 40px 32px;border-top:1px solid var(--linea)}
.gio-storico-colonna{display:flex;flex-direction:column;gap:16px}
.gio-storico{display:flex;flex-direction:column;background:var(--panna);border:1px solid var(--linea);border-radius:12px;padding:20px 24px;box-sizing:border-box}
.gio-box3-colonna{display:flex;flex-direction:column;gap:16px}
.gio-storico-scroll{border:1px solid var(--linea);border-radius:12px;background:var(--carta)}
.gio-storico-tab{width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed}
.gio-storico-tab td{padding:9px 16px;border-bottom:1px solid var(--linea);color:var(--inchiostro)}
.gio-storico-tab tr:last-child td{border-bottom:0}
.gio-storico-anno{width:64px;font-family:'Oswald';font-weight:700;color:var(--notte);white-space:nowrap}
.gio-storico-sq a{display:inline-flex;align-items:center;gap:8px;color:var(--inchiostro);text-decoration:none;font-weight:600}
.gio-storico-sq a:hover{text-decoration:underline}
.gio-storico-passaggio-succ{margin-top:10px;padding-left:14px}
.gio-storico-freccia{color:var(--muto);margin-right:4px;font-size:11px}
.gio-storico-logo{width:22px;height:22px;object-fit:contain;flex:none}
.gio-storico-media-col{width:100px;text-align:right;white-space:nowrap}
.gio-storico-media-riga{line-height:1.6}
.gio-storico-media-riga + .gio-storico-media-riga{margin-top:10px}
.gio-storico-media-pill{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:2px 10px;border-radius:20px;font-family:'Oswald';font-weight:700;font-size:13px;color:#fff}
.gio-storico-media-verde{background:var(--verde)}
.gio-storico-media-giallo{background:var(--giallo);color:var(--notte)}
.gio-storico-media-rosso{background:var(--rosso)}
.gio-storico-media-nd{background:none;color:var(--muto);min-width:0;padding:2px 4px}
.gio-storico-riga-extra{display:none}
.gio-storico-aperta .gio-storico-riga-extra{display:table-row}
.gio-storico-toggle-btn{display:inline-block;margin-top:12px;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:700;color:var(--verde);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.gio-rosa{padding:28px 40px 40px;border-top:1px solid var(--linea)}
.gio-rosa-colonne{display:grid;grid-template-columns:repeat(4,1fr);gap:0 16px}
.gio-rosa-col{display:flex;flex-direction:column;gap:8px}
.gio-rosa-col:not(:last-child){border-right:1px solid var(--linea);padding-right:12px}
.gio-rosa-col-tit{display:flex;align-items:center;font-family:'Oswald';font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muto);margin-bottom:2px}
.gio-rosa-pallino{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;flex:none}
.gio-rosa-pallino.r1{background:#e8a13c}
.gio-rosa-pallino.r2{background:#3a8fd6}
.gio-rosa-pallino.r3{background:#2fae6b}
.gio-rosa-pallino.r4{background:#d64545}
.gio-rosa-pillola{display:inline-flex;align-items:center;gap:6px;background:var(--panna);border:1px solid var(--linea);border-radius:20px;padding:4px 12px 4px 6px;font-size:13px;font-weight:700;color:var(--inchiostro);text-decoration:none}
.gio-rosa-pillola::before{content:"";width:9px;height:9px;border-radius:50%;flex:none}
.gio-rosa-pillola.r1::before{background:#e8a13c}
.gio-rosa-pillola.r2::before{background:#3a8fd6}
.gio-rosa-pillola.r3::before{background:#2fae6b}
.gio-rosa-pillola.r4::before{background:#d64545}
.gio-rosa-pillola:hover{background:var(--linea)}
.gio-rosa-pillola-attuale{background:var(--notte);border-color:var(--notte);color:#fff;cursor:default}
.gio-rosa-pillola-attuale::before{background:#fff}
.gio-rosa-vuoto{font-size:12px;color:var(--muto);font-style:italic}
@media (max-width:700px){
	.gio-top{flex-direction:column;align-items:center;padding:24px 20px;text-align:center}
	.gio-figurina{width:160px}
	.gio-figurina-base{height:80px}
	.gio-figurina-logo{width:120px;height:120px}
	.gio-vs-logo{width:76px;height:76px}
	.gio-ultime{justify-content:flex-start}
	.gio-box3-tit,.gio-storico-tit{font-size:17px}
	.gio-badges{justify-content:center}
	.gio-medie{grid-template-columns:1fr}
	.gio-media-val{font-size:38px}
	.gio-azioni{padding:16px 20px 0}
	.gio-stats-sezione{padding:20px 20px 24px}
	.gio-due-colonne{grid-template-columns:1fr;padding:20px 20px 24px}
	.gio-rosa{padding:20px 20px 32px}
	.gio-rosa-colonne{grid-template-columns:1fr;gap:20px 0}
	.gio-rosa-col:not(:last-child){border-right:0;border-bottom:1px solid var(--linea);padding-right:0;padding-bottom:14px}
}


/* ===== ALLENATORI (allenatori.php) - prefisso alle- =====
   Riusa solo le classi generiche gia' esistenti (.card, .tab, .tab-full, .sezione-testa, zona-*);
   tutto il resto e' alle-*. Le tessere scure copiano i valori LETTERALI di .pag-pl-crimini: le variabili
   --pag-pl-* esistono solo dentro .pag-pl e qui non valgono. */
.alle-sez{margin-top:30px}
.alle-testa{margin-bottom:0;flex-wrap:wrap;gap:10px 16px;padding:22px 22px 12px}
.alle-sotto{color:var(--muto);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.alle-select{padding:7px 6px;border:1px solid var(--linea);border-radius:6px;font-family:inherit;font-size:14px;background:var(--carta);color:var(--inchiostro)}
.alle-avviso{margin:0 22px 14px;padding:10px 14px;background:#fff9e6;border-left:4px solid var(--giallo);border-radius:6px;font-size:13px;line-height:1.45}
.alle-nota{padding:12px 22px 16px;color:var(--muto);font-size:12px;line-height:1.5}
.alle-nota-fuori{padding:12px 4px 0}
.tab-full th.alle-primo,.tab-full td.alle-primo{padding-left:22px}
.alle-vuoto{padding:24px 22px;text-align:center;color:var(--muto)}
.alle-sq{display:block;color:var(--muto);font-size:12px;font-weight:400}
.alle-diff{font-family:'Oswald';font-weight:600}
.alle-su{color:var(--verde)} .alle-giu{color:var(--rosso)} .alle-pari{color:var(--muto)}
.alle-media{font-family:'Oswald';font-weight:600;color:var(--blu)}
.alle-due-col{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.alle-due-col .alle-testa h2{font-size:21px}
.alle-riga{display:flex;align-items:center;gap:12px;padding:10px 22px;border-top:1px solid var(--linea)}
.alle-riga img{width:34px;height:34px;object-fit:contain;flex:none}
.alle-riga-nome{flex:1 1 auto;min-width:0;font-weight:700}
.alle-riga-nome a:hover{color:var(--blu)}
.alle-badge{flex:none;padding:2px 11px;border-radius:8px;background:var(--giallo);color:var(--notte);font:700 19px/1.4 'Oswald',sans-serif}
.alle-badge-neg{background:#fbe4e0;color:var(--rosso)}
.alle-chicche{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.alle-tessera{display:flex;flex-direction:column;gap:6px;padding:20px 20px 18px;background:linear-gradient(120deg,var(--notte-2),#15315c);border:1px solid rgba(255,207,51,.22);border-top:3px solid var(--giallo);border-radius:14px;color:#fff;box-shadow:0 10px 26px rgba(8,20,40,.18)}
.alle-tess-tit{color:#aebdd4;font:700 12px/1.3 'PT Sans',sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.alle-tess-val{display:flex;align-items:baseline;gap:6px;color:var(--giallo);font:700 44px/1 'Oswald',sans-serif}
.alle-tess-val small{color:rgba(255,207,51,.7);font:700 13px/1 'PT Sans',sans-serif}
.alle-tess-vuoto{color:rgba(255,207,51,.45)}
.alle-tess-chi{color:#fff;font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.alle-tess-sub{color:#8fa3c2;font-size:12.5px;line-height:1.4}
.alle-tess-rank{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.alle-tess-rank-riga{display:flex;align-items:center;gap:8px}
.alle-tess-rank-ico{flex:none;font-size:15px;width:18px;text-align:center}
.alle-tess-rank-nome{flex:1 1 auto;min-width:0;color:#fff;font-size:13.5px;font-weight:700;overflow-wrap:anywhere}
.alle-tess-rank-pct{flex:none;color:var(--giallo);font:700 15px/1 'Oswald',sans-serif}
@media (max-width:1000px){
	.alle-chicche{grid-template-columns:1fr 1fr}
}
@media (max-width:800px){
	.alle-due-col{grid-template-columns:1fr}
}
@media (max-width:560px){
	.alle-chicche{grid-template-columns:1fr}
	.alle-testa{padding:18px 16px 10px}
	.alle-avviso{margin:0 16px 12px}
	.alle-nota,.alle-vuoto{padding-left:16px;padding-right:16px}
	.alle-riga{padding-left:16px;padding-right:16px}
}

/* ===== PREMIO MAROTTA (premio_marotta.php) - prefisso mrt- =====
   Testata dedicata: il logo ha fondo panna, quindi lo si incornicia in una card chiara (stesso panna
   del logo, cosi' si fonde) sospesa su una fascia blu notte con un filo oro in cima - non un semplice
   riuso di .pagina-testa (che qui sotto resta comunque, per titolo/sottotitolo standard). */
.mrt-testata{background:var(--notte);padding:26px 0 40px}
.mrt-testata .wrap{display:flex;justify-content:center}
.mrt-testata-card{background:var(--panna);border:1px solid rgba(8,20,40,.08);border-top:4px solid var(--giallo);border-radius:16px;padding:22px 34px;box-shadow:0 16px 40px rgba(8,20,40,.35);max-width:560px;width:100%;text-align:center}
.mrt-testata-card img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:8px}
.mrt-testata-sub{display:block;margin-top:12px;color:var(--notte-2);font:700 11px/1.4 'PT Sans',sans-serif;text-transform:uppercase;letter-spacing:1.5px}

/* master-detail: elenco edizioni a sinistra, dettaglio a destra */
.mrt-layout{display:grid;grid-template-columns:280px 1fr;gap:24px;align-items:start}
.mrt-elenco{display:flex;flex-direction:column;background:var(--carta);border:1px solid var(--linea);border-radius:14px;overflow:hidden}
.mrt-riga{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border-bottom:1px solid var(--linea);transition:background .15s}
.mrt-riga:last-child{border-bottom:0}
.mrt-riga:hover{background:#f4f7fc}
.mrt-riga.attiva{background:var(--notte)}
.mrt-riga-anno{font:700 17px/1 'Oswald',sans-serif;color:var(--blu)}
.mrt-riga.attiva .mrt-riga-anno{color:var(--giallo)}
.mrt-riga-nome{font-size:13px;color:var(--muto);font-weight:600}
.mrt-riga.attiva .mrt-riga-nome{color:#fff}

.mrt-dettaglio{background:var(--carta);border:1px solid var(--linea);border-radius:14px;padding:28px 30px}
.mrt-dettaglio-testa{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--linea)}
.mrt-dettaglio-testa img{width:56px;height:56px;border-radius:50%;object-fit:contain;background:var(--panna);padding:4px;flex:none}
.mrt-dettaglio-anno{font:700 13px/1.3 'PT Sans',sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:var(--blu)}
.mrt-dettaglio-nome{font:900 40px/1.05 'Oswald',sans-serif;color:var(--notte);margin:2px 0 4px}
.mrt-dettaglio-nome a{color:var(--notte)}
.mrt-dettaglio-nome a:hover{color:var(--blu)}
.mrt-dettaglio-squadra{font-size:14px;color:var(--muto);font-weight:600}
.mrt-motivazione{font-size:17.5px;line-height:1.6;font-weight:700;color:var(--inchiostro);margin-bottom:26px}

.mrt-video{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px;margin-bottom:16px}

.mrt-galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.mrt-foto{display:block;width:100%;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--panna);border:0;padding:0;margin:0;cursor:pointer;font:inherit}
.mrt-foto img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.mrt-foto:hover img{transform:scale(1.05)}
.mrt-foto:focus{outline:2px solid var(--blu-chiaro);outline-offset:2px}

.mrt-vuoto{color:var(--muto);font-size:14px;padding:20px 0}

.mrt-lightbox{display:none;position:fixed;inset:0;background:rgba(8,20,40,.92);z-index:120;align-items:center;justify-content:center;padding:40px}
.mrt-lightbox.mrt-aperto{display:flex}
.mrt-lightbox-corpo{position:relative;max-width:1100px;width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.mrt-lightbox-img{max-width:100%;max-height:85vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:block}
.mrt-lightbox-chiudi{position:absolute;top:10px;right:10px;background:rgba(8,20,40,.55);border:0;color:#fff;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s,background .15s}
.mrt-lightbox-chiudi:hover{opacity:1;background:rgba(8,20,40,.85)}
.mrt-lightbox-freccia{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,20,40,.55);border:0;color:var(--giallo);width:48px;height:48px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s,background .15s}
.mrt-lightbox-freccia:hover{opacity:1;background:rgba(8,20,40,.85)}
.mrt-lightbox-freccia.sx{left:10px}
.mrt-lightbox-freccia.dx{right:10px}
.mrt-lightbox-contatore{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#fff;font:700 13px/1 'PT Sans',sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.mrt-lightbox-chiudi:focus,.mrt-lightbox-freccia:focus{outline:2px solid var(--giallo);outline-offset:2px}

@media (max-width:900px){
	.mrt-layout{grid-template-columns:1fr}
	.mrt-elenco{flex-direction:row;overflow-x:auto}
	.mrt-riga{flex:none;min-width:110px;border-bottom:0;border-right:1px solid var(--linea)}
	.mrt-lightbox{padding:20px}
}
@media (max-width:600px){
	.mrt-testata{padding:20px 0 30px}
	.mrt-testata-card{padding:18px 20px}
	.mrt-dettaglio{padding:20px}
	.mrt-galleria{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
	.mrt-lightbox{padding:10px}
	.mrt-lightbox-freccia{width:38px;height:38px;font-size:20px}
	.mrt-lightbox-chiudi{width:32px;height:32px;font-size:18px}
}

/* ===== COMPONENTE CONDIVISO: RUBRICA A BLOCCHI (formatta_rubrica.php) - prefisso rbr- =====
   Generato da formatta_rubrica($testo) (vedi formatta_rubrica.php): trasforma testo semplice incollato
   da un admin in HTML impaginato (titoli a emoji, box-dato, paragrafi enfatizzati/normali). Prefisso
   NEUTRO ("rubrica"), distinto sia da chtn- che da pag-, cosi' se/quando il Pagellone la riusera' in
   futuro non ci sara' nessun conflitto ne' bisogno di rinominare nulla. Usa solo le custom properties
   globali gia' in :root (in cima al file) - nessuna variabile nuova, nessun colore legato
   esclusivamente a un'identita' di pagina. Chi lo consuma (oggi .chtn-post-corpo) e' responsabile solo
   del wrapper esterno, non delle regole qui sotto. */
.rbr-sez{display:flex;align-items:baseline;gap:10px;font:900 24px/1.2 'Oswald',sans-serif;color:var(--notte);margin:34px 0 14px}
.rbr-sez:first-child{margin-top:0}
.rbr-sez-emoji{flex:none;font-size:22px;line-height:1}
.rbr-testo{margin:0 0 18px;font-size:17px;line-height:1.75;color:var(--inchiostro)}
.rbr-enfasi{margin:0 0 18px;font:700 19px/1.4 'PT Sans',sans-serif;color:var(--notte)}
.rbr-box-dato{margin:0 0 22px;padding:14px 20px;background:var(--panna);border:1px solid var(--linea);border-left:5px solid var(--giallo);border-radius:9px}
.rbr-box-dato-riga{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid rgba(8,20,40,.08)}
.rbr-box-dato-riga:first-child{padding-top:0}
.rbr-box-dato-riga:last-child{border-bottom:0;padding-bottom:0}
.rbr-box-dato-label{color:var(--muto);font:700 13px 'PT Sans',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.rbr-box-dato-valore{color:var(--notte);font:900 17px 'Oswald',sans-serif;text-align:right}
@media (max-width:600px){
	.rbr-sez{font-size:20px;margin-top:26px}
	.rbr-sez-emoji{font-size:19px}
	.rbr-enfasi{font-size:17px}
	.rbr-box-dato-valore{font-size:15px}
}

/* ===== CHIAPPE TONANTI (chiappe_tonanti.php, chiappe_tonanti_dettaglio.php) - prefisso chtn- =====
   Identita' oro/nero/rosso (var(--giallo)/var(--notte)/var(--rosso), gia' definite in :root, nessuna
   nuova variabile necessaria). Testata: il banner e' un'immagine larga caricata dall'admin (non un logo
   piccolo come Marotta), quindi va trattata come sfondo a piena larghezza con overlay scuro, non
   incorniciata in una card chiara. Landing a griglia stile Pagellone (pag-grid/pag-card) ma su fondo
   notte con accenti oro/rosso. Galleria + lightbox: stesso identico meccanismo di mrt-galleria/mrt-foto/
   mrt-lightbox-*, solo classi rinominate chtn- (vedi premio_marotta.php per il JS gemello). */

.chtn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.chtn-card{display:flex;flex-direction:column;background:var(--notte);border:1px solid rgba(255,255,255,.08);border-top:3px solid var(--giallo);border-radius:12px;overflow:hidden;box-shadow:0 7px 20px rgba(8,20,40,.25);transition:transform .18s,box-shadow .18s;text-decoration:none}
.chtn-card:hover{transform:translateY(-4px);box-shadow:0 13px 28px rgba(8,20,40,.4)}
.chtn-card-cover{flex-shrink:0;width:100%;height:180px;object-fit:cover}
.chtn-card-body{display:flex;flex-direction:column;padding:16px 18px 18px}
.chtn-card-body time{display:block;color:var(--giallo);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.chtn-card-body h2{font:700 24px 'Oswald',sans-serif;color:#fff;line-height:1.1;margin:8px 0 8px}
.chtn-card-indice{color:var(--muto);font-size:13px;font-weight:700}
.chtn-card-indice strong{color:#fff;background:var(--rosso);padding:1px 6px;border-radius:4px;margin-left:2px}
.chtn-vuoto{grid-column:1 / -1;background:var(--carta);border:1px solid var(--linea);border-radius:12px;padding:35px;text-align:center;color:var(--muto)}

.chtn-post-wrap{padding:0 0 60px}
.chtn-post-banner{display:block;width:100%;height:auto;max-height:500px;object-fit:contain;background:var(--notte)}
.chtn-post-back{display:inline-block;margin:20px 0 14px;color:var(--muto);font-size:15px;font-weight:700;text-decoration:none;transition:color .15s}
.chtn-post-back:hover{color:var(--notte);text-decoration:underline}
.chtn-post{background:var(--carta);border:1px solid var(--linea);border-top:4px solid var(--rosso);border-radius:13px;overflow:hidden;box-shadow:0 8px 25px rgba(8,20,40,.06);padding:30px 46px 40px}
.chtn-post-testa{display:flex;align-items:center;gap:18px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--linea)}
.chtn-post-logo{width:64px;height:64px;border-radius:50%;object-fit:contain;background:var(--panna);padding:5px;flex:none}
.chtn-post-testa-info{flex:1 1 auto;min-width:0}
.chtn-post-eyebrow{font:700 12px/1.3 'PT Sans',sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:var(--rosso)}
.chtn-post-squadra{font:900 38px/1.05 'Oswald',sans-serif;color:var(--notte);margin:4px 0 0}
.chtn-post-squadra a{color:var(--notte)}
.chtn-post-squadra a:hover{color:var(--blu)}
.chtn-post-indice{flex:none;display:flex;align-items:baseline;gap:2px;background:var(--notte);color:var(--giallo);font:900 30px 'Oswald',sans-serif;padding:8px 16px;border-radius:10px;border:2px solid var(--giallo)}
.chtn-post-indice span{font-size:15px;font-weight:700;color:#fff;opacity:.75}

.chtn-post-corpo{margin-bottom:26px}

.chtn-galleria{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.chtn-foto{display:block;width:100%;aspect-ratio:1;border-radius:10px;overflow:hidden;background:var(--panna);border:0;padding:0;margin:0;cursor:pointer;font:inherit}
.chtn-foto img{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.chtn-foto:hover img{transform:scale(1.05)}
.chtn-foto:focus{outline:2px solid var(--rosso);outline-offset:2px}

.chtn-lightbox{display:none;position:fixed;inset:0;background:rgba(8,20,40,.92);z-index:120;align-items:center;justify-content:center;padding:40px}
.chtn-lightbox.chtn-aperto{display:flex}
.chtn-lightbox-corpo{position:relative;max-width:1100px;width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}
.chtn-lightbox-img{max-width:100%;max-height:85vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);display:block}
.chtn-lightbox-chiudi{position:absolute;top:10px;right:10px;background:rgba(8,20,40,.55);border:0;color:#fff;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s,background .15s}
.chtn-lightbox-chiudi:hover{opacity:1;background:rgba(8,20,40,.85)}
.chtn-lightbox-freccia{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,20,40,.55);border:0;color:var(--giallo);width:48px;height:48px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer;opacity:.85;transition:opacity .15s,background .15s}
.chtn-lightbox-freccia:hover{opacity:1;background:rgba(8,20,40,.85)}
.chtn-lightbox-freccia.sx{left:10px}
.chtn-lightbox-freccia.dx{right:10px}
.chtn-lightbox-contatore{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#fff;font:700 13px/1 'PT Sans',sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.chtn-lightbox-chiudi:focus,.chtn-lightbox-freccia:focus{outline:2px solid var(--giallo);outline-offset:2px}

@media (max-width:900px){
	.chtn-grid{grid-template-columns:repeat(2,1fr)}
	.chtn-post{padding:26px 26px 34px}
	.chtn-post-testa{flex-wrap:wrap}
	.chtn-lightbox{padding:20px}
}
@media (max-width:600px){
	.chtn-grid{grid-template-columns:1fr}
	.chtn-post{padding:20px 18px 28px}
	.chtn-post-squadra{font-size:28px}
	.chtn-post-indice{font-size:22px;padding:6px 12px}
	.chtn-galleria{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
	.chtn-lightbox{padding:10px}
	.chtn-lightbox-freccia{width:38px;height:38px;font-size:20px}
	.chtn-lightbox-chiudi{width:32px;height:32px;font-size:18px}
}

/* ===== formazione.php (ex formazione_campo.php) - step 1bis: campo compatto a sinistra, disponibili + panchina a destra; prefisso dedicato fcampo- (nessuna classe esistente toccata) ===== */
.fcampo-r1{--fc-ruolo:#e8a13c}.fcampo-r2{--fc-ruolo:#3a8fd6}.fcampo-r3{--fc-ruolo:#2fae6b}.fcampo-r4{--fc-ruolo:#d64545}.fcampo-r0{--fc-ruolo:#7a89a3}
/* barra in cima: partita, moduli, link */
.fcampo-testa-riga{display:flex;align-items:center;justify-content:space-between;gap:12px 22px;flex-wrap:wrap}
.fcampo-match{display:flex;align-items:center;gap:12px}
.fcampo-match img{width:40px;height:40px;object-fit:contain}
.fcampo-match strong{font-family:'Oswald';font-weight:700;font-size:20px;color:var(--notte)}
.fcampo-modblocco{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fcampo-mod-etichetta{font:600 12px 'Oswald',sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--muto)}
.fcampo-torna{color:var(--blu);font-weight:700;font-size:13px;text-decoration:underline}
.fcampo-nota{margin:8px 0 0;font-size:13px;color:var(--muto)}
.fcampo-messaggio{font-size:16px;font-weight:700;color:var(--inchiostro)}
.fcampo-blocco{margin-top:16px;scroll-margin-top:108px}
.fcampo-moduli{display:flex;flex-wrap:wrap;gap:8px}
.fcampo-mod{display:inline-block;padding:6px 12px;border-radius:7px;background:#fff;color:var(--notte);border:1px solid var(--linea);font:600 13px 'Oswald',sans-serif;letter-spacing:.5px;white-space:nowrap}
a.fcampo-mod:hover{background:var(--giallo);border-color:var(--giallo)}
.fcampo-mod-attivo{background:var(--notte);color:var(--giallo);border-color:var(--notte)}
.fcampo-mod-anteprima{background:var(--giallo);color:var(--notte);border:1px dashed var(--notte)}
/* area di lavoro: campo a sinistra (larghezza scelta in base all'ALTEZZA della finestra: --fc-off = ingombro sopra il campo), a destra disponibili + panchina */
.fcampo-lavoro{margin-top:16px;scroll-margin-top:108px}
.fcampo-area{--fc-off:430px;--fc-w:clamp(400px,calc((100vh - var(--fc-off)) * .9024),560px);display:grid;grid-template-columns:var(--fc-w) minmax(0,1fr);gap:20px;align-items:start}
.fcampo-sx{min-width:0}
.fcampo-sezione-s{margin-bottom:10px}
.fcampo-sezione-s h2{font-size:20px}
/* il campo (disegno 74x82: il rapporto altezza/larghezza lo da' l'SVG in flusso) */
.fcampo-campo{position:relative;isolation:isolate;width:100%;border-radius:14px;overflow:hidden;
	background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0,rgba(255,255,255,.05) 8.333%,transparent 8.333%,transparent 16.667%),linear-gradient(180deg,#0f7a3d,#0c6a35);
	box-shadow:0 10px 30px rgba(8,20,40,.25)}
.fcampo-svg{display:block;width:100%;height:auto}
.fcampo-linee{fill:none;stroke:rgba(255,255,255,.62);stroke-width:.3;stroke-linejoin:round}
.fcampo-punti{fill:rgba(255,255,255,.62);stroke:none}
.fcampo-righe{position:absolute;top:5%;bottom:8%;left:3%;right:3%;z-index:1;display:flex;flex-direction:column;justify-content:space-between;font-size:10px}
.fcampo-riga{display:flex;justify-content:space-evenly;align-items:flex-start}
@supports (container-type:inline-size){.fcampo-campo{container-type:inline-size}.fcampo-righe{font-size:clamp(8px,2.1cqw,12px)}}
.fcampo-pl,.fcampo-vuoto{position:relative;flex:0 1 9em;width:9em;min-width:0;min-height:9.2em;display:flex;flex-direction:column;align-items:center;text-align:center;color:#fff}
a.fcampo-pl:focus-visible{outline:2px solid var(--giallo);outline-offset:2px;border-radius:8px}
.fcampo-cerchio{display:block;flex:none;width:4.8em;height:4.8em;border-radius:50%;background:var(--fc-ruolo,#7a89a3);border:.25em solid #fff;overflow:hidden;box-shadow:0 .25em .7em rgba(0,0,0,.4)}
.fcampo-cerchio img{width:100%;height:100%;object-fit:cover;object-position:top center}
.fcampo-sq{position:absolute;top:-.3em;left:50%;margin-left:1.35em;background:var(--rosso);color:#fff;border:2px solid #fff;border-radius:1em;padding:.3em .5em;font:700 .85em/1 'Oswald',sans-serif;letter-spacing:.5px}
.fcampo-nome{display:block;flex:none;max-width:100%;margin-top:.3em;font-size:1.35em;line-height:1.25;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 .5em rgba(0,0,0,.6)}
.fcampo-fm{display:inline-flex;align-items:center;justify-content:center;min-width:3.4em;height:1.7em;margin-top:.3em;padding:0 .6em;border-radius:.45em;border:1px solid rgba(255,255,255,.9);box-shadow:0 .15em .4em rgba(0,0,0,.3);font:700 1em/1 'PT Sans',sans-serif;color:#fff}
.fcampo-fm-verde{background:var(--verde)}
.fcampo-fm-giallo{background:var(--giallo);color:var(--notte)}
.fcampo-fm-rosso{background:var(--rosso)}
.fcampo-fm-nd{background:var(--panna);color:var(--muto)}
.fcampo-cerchio-vuoto{display:flex;align-items:center;justify-content:center;width:4.8em;height:4.8em;border-radius:50%;border:2px dashed rgba(255,255,255,.75);background:rgba(255,255,255,.08)}
.fcampo-piu{font:500 2.4em/1 'Oswald',sans-serif;color:rgba(255,255,255,.85)}
.fcampo-vuoto-ruolo{max-width:100%;margin-top:.4em;font:600 .95em/1.2 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.85)}
/* colonna destra: altezza naturale (non piu' agganciata a quella del campo), i due pannelli crescono col contenuto e la pagina scorre normalmente */
.fcampo-dx{min-width:0}
.fcampo-dx-in{display:flex;flex-direction:column;gap:10px}
.fcampo-banner{margin:12px auto 0;max-width:760px;padding:9px 12px;border-radius:9px;background:var(--notte);color:#fff;border-left:4px solid var(--giallo);font-size:13px;line-height:1.35}
.fcampo-banner b{color:var(--giallo)}
.fcampo-avvisi{flex:none;display:flex;flex-direction:column;gap:6px}
.fcampo-avviso{padding:8px 12px;border-radius:9px;background:#fff5f4;border-left:4px solid var(--rosso);color:var(--inchiostro);font-size:13px}
.fcampo-pannelli{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto;gap:14px}
/* identita' dei due pannelli: DISPONIBILI = giallo/crema ("da schierare"), PANCHINA = blu notte/azzurrino ("gia' in panchina") */
.fcampo-pannello-disp{--fc-corpo:#fffbe6;--fc-bordo:var(--giallo);--fc-testa-bg:var(--giallo);--fc-testa-fg:var(--notte);--fc-pill-bg:var(--notte);--fc-pill-fg:var(--giallo);--fc-riga:rgba(8,20,40,.09)}
.fcampo-pannello-pan{--fc-corpo:#e9eef7;--fc-bordo:var(--notte);--fc-testa-bg:var(--notte);--fc-testa-fg:#fff;--fc-pill-bg:var(--giallo);--fc-pill-fg:var(--notte);--fc-riga:rgba(8,20,40,.12)}
.fcampo-pannello{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--fc-corpo);border:2px solid var(--fc-bordo);border-radius:12px}
.fcampo-pannello-testa{flex:none;padding:9px 14px 10px;background:var(--fc-testa-bg);color:var(--fc-testa-fg)}
.fcampo-pt{display:flex;align-items:center;gap:9px;font:700 17px/1.2 'Oswald',sans-serif;letter-spacing:1.2px;text-transform:uppercase}
.fcampo-conta{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 8px;border-radius:11px;background:var(--fc-pill-bg);color:var(--fc-pill-fg);font:700 13px/1 'PT Sans',sans-serif;letter-spacing:0}
.fcampo-pt-sotto{margin-top:2px;font-size:12px;font-weight:600;line-height:1.3;opacity:.85}
.fcampo-pannello-corpo{padding:0 10px 8px}
/* elenchi: UNA colonna verticale, a tutta altezza (nessuno scroll interno: scorre la pagina); ogni gruppo per ruolo ha una sua intestazione in flusso normale */
.fcampo-pan-tit{display:flex;align-items:center;gap:8px;margin:0;padding:10px 2px 5px;background:var(--fc-corpo);border-bottom:2px solid var(--fc-ruolo);font:600 12px 'Oswald',sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--notte)}
.fcampo-pan-tit em{font:italic 400 12px 'PT Sans',sans-serif;letter-spacing:0;text-transform:none;color:var(--muto)}
.fcampo-pan-punto{width:10px;height:10px;border-radius:50%;background:var(--fc-ruolo)}
.fcampo-pan-lista{list-style:none}
.fcampo-pan-item a{display:grid;grid-template-columns:22px 26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 4px;min-height:32px;border-bottom:1px solid var(--fc-riga)}
.fcampo-el-disp a{grid-template-columns:26px minmax(0,1fr) auto}
.fcampo-pan-item a:hover{background:rgba(255,255,255,.7)}
.fcampo-pan-ord{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--notte);color:var(--giallo);font:700 12px/1 'Oswald',sans-serif}
.fcampo-cerchio-s{width:26px;height:26px;border-width:2px;box-shadow:none}
.fcampo-pan-nome{display:flex;align-items:center;gap:5px;min-width:0;font-size:13px;font-weight:700}
.fcampo-pan-cogn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fcampo-pan-item .fcampo-fm{margin:0;font-size:11px;border-color:transparent;box-shadow:none}
.fcampo-pan-vuoto{padding:12px 4px;color:#5b6b86;font-size:13px}
.fcampo-pan-nome .fcampo-sq-riga{flex:none;display:inline-block;padding:1px 6px;border-radius:8px;background:var(--rosso);color:#fff;font:700 10px/1.4 'Oswald',sans-serif;letter-spacing:.5px}
.fcampo-tag-fuori{flex:none;display:inline-block;padding:1px 5px;border-radius:8px;border:1px dashed var(--blu);color:var(--blu);font:600 9px/1.4 'Oswald',sans-serif;letter-spacing:.4px;text-transform:uppercase;white-space:nowrap}
.fcampo-el-fuori a{background:#fff;box-shadow:inset 3px 0 0 var(--blu)}
.fcampo-el-sq a{opacity:.6}
/* --- STEP 2a+2b: drag&drop campo<->panchina<->disponibili (le regole "dnd" valgono solo se il JS e' partito: body.fcampo-dnd) --- */
.fcampo-dnd .fcampo-el-disp a{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.fcampo-dnd .fcampo-el-disp:not(.fcampo-el-sq) a{cursor:grab}
.fcampo-dnd .fcampo-el-disp.fcampo-el-sq a{cursor:not-allowed}
/* campo e panchina: nessuna eccezione per gli squalificati, la RIMOZIONE resta sempre permessa */
.fcampo-dnd #fcampo-zona-campo .fcampo-pl{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:grab}
.fcampo-dnd .fcampo-el-pan a{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;cursor:grab}
.fcampo-cerchio img,.fcampo-pan-item img{-webkit-user-drag:none}
.fcampo-dnd .fcampo-cerchio-vuoto,.fcampo-dnd .fcampo-cerchio{transition:transform .12s ease,background .12s ease,box-shadow .12s ease}
body.fcampo-trascinando,body.fcampo-trascinando *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}
body.fcampo-drop-no,body.fcampo-drop-no *{cursor:not-allowed!important}
.fcampo-drag-origine{opacity:.35}
.fcampo-ghost{position:fixed;left:0;top:0;z-index:9999;display:flex;align-items:center;gap:8px;padding:5px 14px 5px 5px;border-radius:999px;background:#fff;border:2px solid var(--fc-ruolo,#7a89a3);box-shadow:0 10px 26px rgba(8,20,40,.35);pointer-events:none;will-change:transform;font:700 14px 'PT Sans',sans-serif;color:var(--notte)}
.fcampo-ghost .fcampo-cerchio-s{width:32px;height:32px}
.fcampo-bersaglio .fcampo-cerchio-vuoto{border:3px solid var(--giallo);background:rgba(255,207,51,.25);animation:fcampo-pulsa 1s ease-in-out infinite}
.fcampo-bersaglio-no{opacity:.35}
.fcampo-bersaglio-attivo .fcampo-cerchio-vuoto{border-style:solid;background:rgba(255,207,51,.6);transform:scale(1.1);animation:none;box-shadow:0 0 0 5px rgba(255,207,51,.5)}
/* slot occupato bersaglio di una sostituzione (swap): stesso registro cromatico, sul cerchio-foto invece che sul cerchio-vuoto */
.fcampo-bersaglio.fcampo-pl .fcampo-cerchio{border:3px solid var(--giallo);box-shadow:0 0 0 5px rgba(255,207,51,.3);animation:fcampo-pulsa 1s ease-in-out infinite}
.fcampo-bersaglio-attivo.fcampo-pl .fcampo-cerchio{box-shadow:0 0 0 5px rgba(255,207,51,.5);animation:none}
.fcampo-rifiuto .fcampo-cerchio-vuoto{border-color:var(--rosso);background:rgba(226,74,59,.4);animation:fcampo-scuoti .4s ease}
.fcampo-rifiuto .fcampo-cerchio{box-shadow:0 0 0 4px rgba(226,74,59,.75);animation:fcampo-scuoti .4s ease}
.fcampo-appena-schierato .fcampo-cerchio{animation:fcampo-pop .6s ease-out}
/* bersaglio "di zona": tutto il pannello panchina/disponibili, quando l'origine del trascinamento e' un'altra zona */
.fcampo-zona-bersaglio{box-shadow:0 0 0 3px rgba(255,207,51,.5) inset;animation:fcampo-pulsa-zona 1s ease-in-out infinite}
.fcampo-zona-bersaglio-attivo{box-shadow:0 0 0 4px rgba(255,207,51,.85) inset;background:rgba(255,207,51,.12);animation:none}
.fcampo-pannello.fcampo-rifiuto{animation:fcampo-scuoti .4s ease}
/* BLOCCO A: indicatore "inserisci prima/dopo" durante il riordino della panchina (voce precisa, non l'intera zona) */
.fcampo-pan-item.fcampo-inserimento-prima a{box-shadow:inset 0 3px 0 0 var(--giallo)}
.fcampo-pan-item.fcampo-inserimento-dopo a{box-shadow:inset 0 -3px 0 0 var(--giallo)}
@keyframes fcampo-pulsa{0%,100%{box-shadow:0 0 0 0 rgba(255,207,51,.65)}50%{box-shadow:0 0 0 9px rgba(255,207,51,0)}}
@keyframes fcampo-pulsa-zona{0%,100%{box-shadow:0 0 0 2px rgba(255,207,51,.3) inset}50%{box-shadow:0 0 0 5px rgba(255,207,51,.12) inset}}
@keyframes fcampo-scuoti{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
@keyframes fcampo-pop{0%{transform:scale(.55)}60%{transform:scale(1.14)}100%{transform:scale(1)}}
.fcampo-azioni{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.fcampo-svuota,.fcampo-ripristina{border-radius:999px;padding:4px 14px;background:#fff;font:700 11px 'Oswald',sans-serif;letter-spacing:.6px;text-transform:uppercase;cursor:pointer}
.fcampo-svuota{border:1.5px solid var(--rosso);color:var(--rosso)}
.fcampo-svuota:hover{background:var(--rosso);color:#fff}
.fcampo-ripristina{border:1.5px solid var(--notte);color:var(--notte)}
.fcampo-ripristina:hover{background:var(--notte);color:#fff}
.fcampo-svuota:disabled,.fcampo-ripristina:disabled{opacity:.4;cursor:default;pointer-events:none}
.fcampo-salva{border:2px solid var(--notte);border-radius:999px;padding:7px 22px;background:var(--giallo);color:var(--notte);font:700 14px 'Oswald',sans-serif;letter-spacing:.8px;text-transform:uppercase;cursor:pointer;box-shadow:0 3px 10px rgba(8,20,40,.22)}
.fcampo-salva:hover{background:var(--notte);color:var(--giallo)}
.fcampo-salva:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.fcampo-salva:disabled:hover{background:var(--giallo);color:var(--notte)}
.fcampo-salvando .fcampo-area{opacity:.7;pointer-events:none}
.fcampo-salvando .fcampo-salva{cursor:progress}
.fcampo-toast{position:fixed;left:50%;top:108px;z-index:9998;width:max-content;max-width:min(92vw,520px);padding:13px 20px;border-radius:12px;background:var(--notte);color:#fff;font-size:16px;font-weight:700;line-height:1.4;box-shadow:0 12px 30px rgba(8,20,40,.35);opacity:0;pointer-events:none;transform:translate(-50%,-16px);transition:opacity .18s ease,transform .18s ease}
.fcampo-toast-visibile{opacity:1;transform:translate(-50%,0)}
.fcampo-toast-ok{background:var(--verde);color:var(--notte);border-left:5px solid var(--notte)}
.fcampo-toast-ok::before{content:'✓ '}
.fcampo-toast-errore{background:var(--rosso)}
.fcampo-toast-avviso{background:var(--giallo);color:var(--notte);border-left:5px solid var(--notte)}
@media (prefers-reduced-motion:reduce){.fcampo-bersaglio .fcampo-cerchio-vuoto,.fcampo-bersaglio.fcampo-pl .fcampo-cerchio,.fcampo-rifiuto .fcampo-cerchio-vuoto,.fcampo-rifiuto .fcampo-cerchio,.fcampo-appena-schierato .fcampo-cerchio,.fcampo-zona-bersaglio,.fcampo-pannello.fcampo-rifiuto{animation:none!important}.fcampo-dnd .fcampo-cerchio-vuoto,.fcampo-dnd .fcampo-cerchio,.fcampo-toast{transition:none!important}}
@media (max-width:960px){.fcampo-area{grid-template-columns:minmax(0,1fr)}.fcampo-campo{max-width:560px;margin:0 auto}}
@media (max-width:620px){.fcampo-pannelli{grid-template-columns:minmax(0,1fr)}}

/* ===== BLOCCO GLOBALE MOBILE: header + menu hamburger + modale login + footer (nav_new.php, footer_login.php, footer_new.php) =====
   Tutto dentro UN solo @media (max-width:1000px), la stessa soglia con cui compare l'hamburger (righe 201 e 1068): sopra i
   1000px e' desktop e non cambia. Questo blocco e' solo in coda: nessuna regola esistente e' stata modificata e non ci sono
   dichiarazioni forzate con important (per battere una regola base si usa una specificita' maggiore: una classe in piu' o l'id).
   Prefissi: nav-mobile- (pannello), login- (modale). Le vecchie .nav-mobile-group / .nav-mobile-tit (righe 1057-1058) non sono
   piu' usate dal markup: lasciate dove sono, si possono togliere in un secondo momento. */
@media (max-width:1000px){
	/* --- HEADER: sticky, compatto (56px invece di 96px), logo a sinistra / pulsante / hamburger a destra --- */
	.top{position:-webkit-sticky;position:sticky}
	.top .wrap{height:56px;padding:0 16px;gap:12px}
	.top .logo img{height:40px}
	.top-azioni .cta{display:inline-flex;align-items:center;min-height:38px;padding:0 16px}
	.top-azioni .cta-2,.top-azioni .nav-utente,.top-azioni .nav-esci{display:none}
	.nav-hamburger{align-items:center;width:44px;height:44px;margin-right:-10px}
	.nav-hamburger span{width:24px;transition:transform .2s ease,opacity .15s ease}
	/* menu aperto (lo stato lo scrive aria-expanded, anche quando a chiudere e' il modale login): le tre linee diventano una X. I centri delle linee distano 7px (2px di altezza + 5px di gap) */
	.nav-hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
	/* la linea centrale deve sparire del tutto, non basta l'opacita': diventa trasparente, larga 0 e, finita l'animazione, nascosta */
	.nav-hamburger[aria-expanded="true"] span:nth-child(2){opacity:0;transform:scaleX(0);visibility:hidden;transition:transform .2s ease,opacity .15s ease,visibility 0s linear .2s}
	.nav-hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

	/* --- MENU (pannello aperto dall'hamburger) --- */
	.nav-mobile{top:56px;padding:8px 20px 40px;overscroll-behavior:contain}
	/* riga utente (solo da loggati): nome grande a sinistra, "Esci" a destra, linea gialla sotto che la stacca dal menu */
	.nav-mobile .nav-mobile-utente{display:flex;align-items:center;gap:12px;padding:10px 0 14px;border-bottom:2px solid var(--giallo)}
	.nav-mobile .nav-mobile-nome{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:700;line-height:1.25;color:#fff}
	.nav-mobile .nav-mobile-esci{flex:none;margin-left:auto;display:inline-flex;align-items:center;min-height:38px;padding:0 18px;border:1px solid rgba(255,255,255,.4);border-radius:999px;font-size:14px;font-weight:700;color:#fff}
	.nav-mobile .nav-mobile-utente + .nav-mobile-macro{border-top:0}
	/* macroaree: link ed etichette tutte uguali (titoli) */
	.nav-mobile .nav-mobile-macro{display:block;padding:15px 4px 14px;border-top:1px solid rgba(255,255,255,.12);border-bottom:0;font-family:'Oswald',sans-serif;font-weight:600;font-size:19px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#fff}
	.nav-mobile .nav-mobile-macro:first-child{border-top:0}
	/* fisarmonica: Campionato e Curiosita' sono un <button> a tutta riga (stesso aspetto delle altre macroaree) col "+" giallo dopo il titolo; da aperto diventa "-" */
	.nav-mobile .nav-mobile-toggle{display:flex;align-items:center;gap:12px;width:100%;margin:0;border-right:0;border-bottom:0;border-left:0;border-radius:0;background:transparent;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
	.nav-mobile .nav-mobile-toggle:focus-visible{outline:2px solid var(--giallo);outline-offset:-2px}
	.nav-mobile .nav-mobile-pm{position:relative;flex:none;width:14px;height:14px}
	.nav-mobile .nav-mobile-pm::before,.nav-mobile .nav-mobile-pm::after{content:"";position:absolute;top:50%;left:0;width:100%;height:2px;margin-top:-1px;border-radius:1px;background:var(--giallo);transition:transform .2s ease}
	.nav-mobile .nav-mobile-pm::after{transform:rotate(90deg)}
	.nav-mobile .nav-mobile-toggle[aria-expanded="true"] .nav-mobile-pm::after{transform:rotate(0deg)}
	.nav-mobile .nav-mobile-macro.qui{color:var(--giallo)}
	.nav-mobile .nav-mobile-macro.nav-disabled{color:rgba(255,255,255,.35)}
	/* sotto-menu chiuso (altezza 0 e invisibile anche a tastiera e lettori di schermo) o .aperto: l'altezza si anima con le righe della griglia (dove non si anima, si apre secco) */
	.nav-mobile .nav-mobile-sub{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s ease,visibility 0s linear .25s}
	.nav-mobile .nav-mobile-sub.aperto{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .25s ease,visibility 0s}
	.nav-mobile .nav-mobile-sub-in{min-height:0;overflow:hidden}
	.nav-mobile .nav-mobile-sub-in a:last-child{margin-bottom:10px}
	/* sotto-voci: rientrate, trattino davanti, non in grassetto, piu' piccole */
	.nav-mobile .nav-mobile-sub a{display:flex;align-items:center;min-height:44px;padding:8px 4px 8px 22px;border-bottom:0;font-family:'PT Sans',sans-serif;font-weight:400;font-size:16px;line-height:1.25;color:rgba(255,255,255,.82)}
	.nav-mobile .nav-mobile-sub a::before{content:"\2013";flex:none;width:20px;color:rgba(255,255,255,.4)}
	.nav-mobile .nav-mobile-sub a.qui,.nav-mobile .nav-mobile-sub a.qui::before{color:var(--giallo)}
	@media (prefers-reduced-motion:reduce){
		.nav-mobile .nav-mobile-sub,.nav-mobile .nav-mobile-sub.aperto,.nav-mobile .nav-mobile-pm::before,.nav-mobile .nav-mobile-pm::after,.nav-hamburger span,.nav-hamburger[aria-expanded="true"] span:nth-child(2){transition:none}
	}
	/* in fondo: "Calcola" (il markup lo stampa solo se c'e' una giornata calcolabile) */
	.nav-mobile .nav-mobile-cta{display:block;margin-top:22px}
	.nav-mobile .nav-mobile-cta .cta{display:flex;align-items:center;justify-content:center;min-height:48px;margin:0;padding:0 18px;border:1px solid rgba(255,255,255,.4);border-radius:10px;background:transparent;font-size:16px;font-weight:800;color:#fff}

	/* --- MODALE LOGIN: centrato in orizzontale e verticale, scorre se lo schermo e' basso, campi a 16px (niente zoom di iOS) --- */
	#login1{top:0;right:0;bottom:0;left:0;align-items:flex-start;justify-content:flex-start;padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
	#login2{width:100%;max-width:380px;margin:auto;padding:26px 22px}
	#login2 h1{font-size:20px;margin-bottom:14px}
	#login2 form{font-size:14px;font-weight:700;color:var(--inchiostro)}
	#login2 .login-in{padding:13px 12px;margin:6px 0 14px;font-size:16px;font-weight:400}
	#login2 label{display:flex;align-items:center;gap:10px;padding:6px 0;font-weight:400}
	#login2 input[type=checkbox]{flex:none;width:20px;height:20px;margin:0}
	#login2 form>div{flex-direction:column-reverse;gap:4px}
	#login2 .login-entra{width:100%;padding:14px 22px;font-size:16px}
	#login2 .login-chiudi{padding:10px 16px;font-size:14px}
	/* scroll della pagina bloccato mentre il modale e' aperto (la classe la mette/toglie footer_login.php) */
	html.login-aperto,html.login-aperto body{overflow:hidden}

	/* --- FOOTER: su mobile solo il copyright (il menu e' sempre raggiungibile dall'header sticky) --- */
	.nav-piedone-top{display:none}
	.piedone{padding:18px 0}
	.piedone .wrap{justify-content:center}
}

/* ===== HOME MOBILE, blocco 1 (index.php, prefisso hm-): classifica ridotta, niente box "La tua squadra", Prossimo turno con la sfumatura di "Scadenza formazioni" =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Sopra i 1000px non si applica nulla, salvo la testata sfumata del Prossimo turno e i ritocchi della classifica (nomi, logo) piu' sotto, che valgono anche su desktop. */
/* testata del Prossimo turno con la STESSA sfumatura di .scad (riga 127), su tutte le larghezze (desktop e mobile): il box resta incorniciato in blu sopra e sotto e non c'e' il filetto tra la testata e la prima partita */
.spalla .mini-testa{background:linear-gradient(90deg,var(--blu),var(--notte-2));color:#fff;padding:14px 20px}
.spalla .mini-testa + .tp{border-top:0}
@media (max-width:1000px){
	/* .mia e' il box "La tua squadra" (loggato) e "Sei un allenatore?" (sloggato): su mobile "Imposta" e "Accedi" sono gia' nella barra in alto e la scadenza sta nel Prossimo turno */
	.spalla .mia{display:none}
}
/* HOME ritocchi, classifica (solo .hm-classifica: classifica.php, archivio.php e allenatori.php restano com'erano; valgono anche su desktop): nomi piu' grandi,
   logo piu' a sinistra (vicino al badge della posizione) e meno spazio tra logo e nome. L'etichetta "Squadra" della testata segue il logo. */
.hm-classifica .club .nm{font-size:17px}
.hm-classifica tbody td:first-child{padding-right:8px}
.hm-classifica .club{padding-left:4px}
.hm-classifica thead th:nth-child(2){padding-left:4px}
.hm-classifica .club img{margin-right:0}
.hm-classifica .club .cell{gap:14px}
@media (max-width:700px){
	/* classifica ridotta: restano barra di zona, numero, logo, nome e punti (il resto e' nella classifica completa); sopra i 700px la tabella intera entra */
	.hm-classifica .hm-cl-sec{display:none}
	.hm-classifica .club{padding-left:2px;padding-right:6px}
	.hm-classifica tbody td:first-child{padding-right:6px}
	.hm-classifica thead th:nth-child(2){padding-left:2px}
	.hm-classifica .club .cell{gap:8px}
	.hm-classifica .club img{width:30px;height:30px;margin-right:0}
}

/* ===== HOME MOBILE, blocco 2 (index.php, box "Squadra della settimana": classe .hm-sdw, prefisso hm-sdw-): elenco numerato al posto del campo =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Le regole sono agganciate a .hm-sdw
   e non a .sdw, perche' .sdw/.campo/.panca li usa anche index_vecchio.php e .sdw-toggle-btn anche calendario.php. L'unica riga fuori dal @media nasconde
   l'elenco su desktop: sopra i 1000px non si applica nient'altro.
   Attenzione: #elencoTop/#elencoFlop si alternano con .sdw-nascosto (display:none, specificita' 0,1,0). Nessuna regola qui sotto deve impostare display
   su .hm-sdw-lista: a parita' di specificita' e con l'ordine in coda batterebbe .sdw-nascosto e comparirebbero entrambe. La visibilita' per dispositivo
   sta sul contenitore .hm-sdw-elenco, il toggle Top/Flop resta solo sulla classe .sdw-nascosto. */
.hm-sdw-elenco{display:none}
@media (max-width:1000px){
	/* testata su due righe: titolo su una riga (font fluido, mai a capo) e sotto le tab Top/Flop + numero della giornata (vanno a capo solo su schermi molto stretti) */
	.hm-sdw .sezione-testa{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}
	.hm-sdw .sezione-testa h2{white-space:nowrap;font-size:22px;font-size:clamp(20px,6vw,26px)}
	.hm-sdw .hm-sdw-testa-dx{flex-wrap:wrap;justify-content:space-between}
	.hm-sdw .hm-sdw-testa-dx .link{white-space:nowrap}
	.hm-sdw .sdw-toggle-btn{display:inline-flex;align-items:center;min-height:38px;padding:0 14px}
	/* niente campo, foto e panchina: restano l'elenco e, dentro .panca, solo la card dell'allenatore */
	.hm-sdw .campo{display:none}
	.hm-sdw .hm-sdw-riserve-tit,.hm-sdw .ris-list{display:none}
	.hm-sdw .sdw-grid{grid-template-columns:minmax(0,1fr);gap:14px}
	.hm-sdw .panca{padding:0;border:0;border-radius:0;background:none}
	.hm-sdw .all{margin-bottom:0}
	/* elenco numerato: card scura come la panchina del desktop, numero giallo (solo testo, niente pallino) + cognome (link alla scheda) + voto a destra (giallo Oswald, lo stesso dato del campo) */
	.hm-sdw-elenco{display:block}
	.hm-sdw .hm-sdw-lista{list-style:none;padding:4px 18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(150deg,var(--notte-2),var(--notte))}
	.hm-sdw .hm-sdw-riga{display:flex;align-items:center;gap:14px;min-height:47px;border-bottom:1px solid rgba(255,255,255,.08)}
	.hm-sdw .hm-sdw-riga:last-child{border-bottom:0}
	.hm-sdw .hm-sdw-num{flex:none;width:26px;text-align:right;font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;line-height:1;color:var(--giallo)}
	.hm-sdw .hm-sdw-nome{flex:1 1 auto;min-width:0;font-size:17px;font-weight:700;line-height:1.25;color:#fff;overflow-wrap:break-word}
	.hm-sdw .hm-sdw-nome a{display:block;padding:13px 0}
	.hm-sdw .hm-sdw-voto{flex:none;margin-left:auto;font-family:'Oswald',sans-serif;font-weight:700;font-size:18px;line-height:1;font-variant-numeric:tabular-nums;color:var(--giallo)}
}

/* ===== HOME MOBILE, blocco 3 (index.php, sezione "Statistiche": classe .hm-mrc, prefisso hm-mrc-): solo il primo giocatore, in grande =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Le regole sono agganciate a .hm-mrc
   e non a .marc-sez, perche' .marc-sez/.mrc/.marc-griglia li usa anche index_vecchio.php. L'unica riga fuori dal @media nasconde la scheda grande su
   desktop: sopra i 1000px non si applica nient'altro (le 5 card restano com'e').
   Attenzione: #marcHero/#assistHero si alternano con .sdw-nascosto (display:none, specificita' 0,1,0). Nessuna regola qui sotto deve impostare display
   su .hm-mrc-scheda: a parita' di specificita' e con l'ordine in coda batterebbe .sdw-nascosto e comparirebbero entrambe. La visibilita' per dispositivo
   sta sul contenitore .hm-mrc-hero, il display:block della card sta sull'<a> interno, il toggle Marcatori/Assist resta solo sulla classe .sdw-nascosto. */
.hm-mrc-hero{display:none}
@media (max-width:1000px){
	/* testata su due righe: titolo, e sotto le tab Marcatori|Assist + link Completa (vanno a capo solo su schermi molto stretti) */
	.hm-mrc .sezione-testa{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}
	.hm-mrc .hm-mrc-testa-dx{flex-wrap:wrap;justify-content:space-between}
	.hm-mrc .hm-mrc-testa-dx .link{white-space:nowrap}
	.hm-mrc .mrc-tab{display:inline-flex;align-items:center;min-height:38px;padding:0 14px}
	/* le 5 card spariscono (resta l'eventuale messaggio "ancora nessun gol/assist"): al loro posto la scheda grande del primo della tab attiva */
	.hm-mrc .marc-griglia .mrc{display:none}
	.hm-mrc-hero{display:block}
	.hm-mrc .hm-mrc-card{display:block;background:var(--carta);border:1px solid var(--linea);border-radius:18px;overflow:hidden;box-shadow:0 8px 25px rgba(8,20,40,.06)}
	.hm-mrc .hm-mrc-foto{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top center;background:var(--linea)}
	.hm-mrc .hm-mrc-info{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px 20px}
	.hm-mrc .hm-mrc-chi{flex:1 1 auto;min-width:0}
	.hm-mrc .hm-mrc-nome{font-family:'Oswald',sans-serif;font-weight:700;font-size:26px;line-height:1.1;color:var(--inchiostro);overflow-wrap:break-word}
	.hm-mrc .hm-mrc-sq{margin-top:4px;font-size:16px;color:var(--muto)}
	.hm-mrc .hm-mrc-val{flex:none;text-align:center;font-family:'Oswald',sans-serif;font-weight:900;font-size:56px;line-height:1;color:var(--blu)}
	.hm-mrc .hm-mrc-val span{display:block;margin-top:6px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muto)}
}

/* ===== HOME ritocchi (index.php, prefisso hm-): tabellone, Prossimo turno con i soli nomi grandi (senza loghi), "punti di scarto" del box allenatore =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Le regole sono agganciate a classi dedicate
   della home (.hm-tabellone, .hm-prossimo, .hm-sdw) perche' .brz*, .tp, .mini-testa e .nome-all li usa anche index_vecchio.php. Fuori dal @media valgono
   anche su desktop (tabellone e Prossimo turno); dentro il @media (max-width:1000px) solo su mobile. */
/* tabellone risultati: nomi delle squadre piu' grandi (erano 12px) */
.hm-tabellone .brz-sq{font-size:15px}
/* Prossimo turno: solo i nomi, grandi, "Casa - Ospite" in fila e allineato a sinistra (parte dal bordo sinistro della riga, come il titolo "Prossimo turno"): ogni nome ha la sua larghezza naturale, senza meta' riga a testa; se non entrano tutti e due, i nomi vanno a capo per parole intere */
.hm-prossimo .hm-tp{justify-content:flex-start}
.hm-prossimo .hm-tp-nm{flex:0 1 auto;min-width:0;text-align:left;font-size:16px;font-weight:700;line-height:1.15;overflow-wrap:break-word}
.hm-prossimo .hm-tp-vs{flex:none;font-weight:700;color:var(--muto)}
@media (max-width:1000px){
	.hm-tabellone .brz-sq{font-size:16px}
	/* il padding laterale resta 20px: le righe restano allineate al titolo "Prossimo turno" */
	.hm-prossimo .hm-tp{padding-top:12px;padding-bottom:12px}
	.hm-prossimo .hm-tp-nm{font-size:18px}
	/* box allenatore (.hm-sdw), solo mobile: il numero dello scarto e "punti di scarto" piu' grandi (su desktop restano 20px e 13px) */
	.hm-sdw .nome-all small.sdw-scarto{font-size:24px}
	.hm-sdw .nome-all small.sdw-scarto em{font-size:16px}
}

/* ===== CALENDARIO MOBILE (calendario.php; classi giornate-nav, gn-pill, gn-freccia esistenti + cal-sdw): fila giornate scorrevole, niente "Squadra della settimana" =====
   Blocco in coda, tutto dentro @media (max-width:1000px): sopra i 1000px non si applica nulla (desktop invariato). Nessuna regola esistente e' stata toccata e non ci sono
   dichiarazioni forzate con important. Le classi giornate-nav* e gn-* le usa solo calendario.php. Lo swipe e' lo scroll orizzontale nativo della fila; il cambio giornata
   resta un link ?id= (ricarica) e lo script in calendario.php porta la pillola .attiva al centro a ogni caricamento. */
@media (max-width:1000px){
	/* navigatore: UNA fila orizzontale scorrevole tra le frecce (era una griglia con tutte le 36 giornate). --gn-n = pillole visibili, sempre dispari, cosi' la corrente sta al centro; min-width:0 impedisce alla fila di allargare la pagina */
	.giornate-nav{--gn-n:5;display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}
	.giornate-nav::-webkit-scrollbar{display:none}
	.giornate-nav .gn-pill{flex:0 0 calc((100% - (var(--gn-n) - 1) * 6px) / var(--gn-n));scroll-snap-align:center}
	/* frecce ai limiti (1a e ultima giornata): opache e non cliccabili */
	.gn-freccia.gn-fine{opacity:.35;pointer-events:none}
	/* partite a tutta larghezza, senza il box "Squadra della settimana" (resta nell'HTML; su desktop si vede) */
	.gs-due{grid-template-columns:minmax(0,1fr)}
	.gs-due .card.cal-sdw{display:none}
}
/* quante giornate entrano in fila, per larghezza (pillole tra ~36 e ~56px) */
@media (max-width:359px){.giornate-nav{--gn-n:3}}
@media (min-width:450px) and (max-width:1000px){.giornate-nav{--gn-n:7}}
@media (min-width:560px) and (max-width:1000px){.giornate-nav{--gn-n:9}}
@media (min-width:700px) and (max-width:1000px){.giornate-nav{--gn-n:13}}
@media (min-width:870px) and (max-width:1000px){.giornate-nav{--gn-n:17}}

/* ===== CALENDARIO MOBILE, righe delle partite (calendario.php): compatte, senza loghi, con i nomi (casa - risultato - ospite) =====
   Blocco in coda, tutto dentro @media (max-width:1000px): sopra i 1000px non cambia nulla (desktop invariato). Nessuna dichiarazione forzata con important.
   Unica regola esistente toccata: nel vecchio @media (max-width:700px) e' stata tolta la regola che nascondeva i nomi (cal-nome con display none): ora i nomi si vedono
   e sono i loghi a sparire. Prima: riga di circa 73px (padding 14px 20px e loghi da 44px); ora circa 45px con i nomi su una riga. */
@media (max-width:1000px){
	/* colonne minmax(0,1fr): un nome lungo va a capo dentro la sua colonna senza allargare la riga (nessuno scroll orizzontale) */
	.cal-riga{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding:8px 14px}
	/* via i loghi */
	.cal-sq img{display:none}
	/* nomi: casa a sinistra e ospite a destra (allineati ai bordi), risultato al centro; a capo per parole intere */
	.cal-sq{min-width:0}
	.cal-nome{min-width:0;line-height:1.15;overflow-wrap:break-word}
	.cal-sq.casa{justify-content:flex-start;text-align:left}
	.cal-sq.osp{justify-content:flex-end;text-align:right}
	/* risultato e orario piu' piccoli e bassi */
	.cal-ris{font-size:20px;line-height:1.2;padding:2px 12px;border-radius:8px}
	.cal-ris span{font-size:16px}
	.cal-ora{font-size:15px;line-height:1.2;padding:4px 12px;border-radius:8px}
}

/* classifica completa: il padding a sinistra della prima cella era uno style inline (22px), ora e' una classe con lo stesso valore (come .alle-primo di allenatori.php): su mobile cosi' si puo' restringere */
.tab-full th.cl-pos,.tab-full td.cl-pos{padding-left:22px}

/* ===== CLASSIFICA COMPLETA MOBILE (classifica.php, classe dedicata cl-tabella): colonna sinistra ferma + numeri che scorrono =====
   Blocco in coda, tutto dentro @media (max-width:1000px) tranne la riga base di cl-pos qui sopra: sopra i 1000px non cambia nulla (desktop invariato). Nessuna regola esistente
   toccata, niente important. Le regole sono agganciate a cl-tabella e cl-legenda perche' tab-full lo usano anche home, allenatori, archivio e calcola.
   UNA tabella dentro .tab-scroll (gia' overflow-x:auto): le prime 3 celle di ogni riga sono sticky con sfondo pieno (posizione, freccia, nome) e il resto scorre sotto.
   Larghezze di colonna FISSE (table-layout fixed): servono a sapere dove attaccare le colonne sticky, cioe' left di una colonna = somma delle larghezze delle sticky precedenti.
   Forma resta con larghezza auto e assorbe l'avanzo, cosi' le colonne fisse non si allargano mai. Sotto 400px: posizione e nome (la freccia non c'e'); da 400px anche la freccia;
   da 700px anche il logo. Le variabili --cl-w1 (posizione), --cl-w2 (freccia), --cl-w3 (nome) e --cl-tot (larghezza minima della tabella, somma di tutte le colonne) cambiano per fascia. */
@media (max-width:1000px){
	.cl-tabella{--cl-w1:42px;--cl-w2:0px;--cl-w3:132px;--cl-tot:610px;table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:var(--cl-tot)}
	.cl-tabella th:nth-child(1){width:var(--cl-w1)}
	.cl-tabella th:nth-child(2){width:var(--cl-w2)}
	.cl-tabella th:nth-child(3){width:var(--cl-w3)}
	.cl-tabella th:nth-child(4),.cl-tabella th:nth-child(5){width:46px}
	.cl-tabella th:nth-child(6),.cl-tabella th:nth-child(7),.cl-tabella th:nth-child(8),.cl-tabella th:nth-child(9){width:34px}
	.cl-tabella th:nth-child(10),.cl-tabella th:nth-child(11){width:36px}
	.cl-tabella th:nth-child(12){width:58px}
	/* filetti di riga sulle celle (con border-collapse separate quelli del tr non si disegnano) */
	.cl-tabella td{border-bottom:1px solid var(--linea)}
	.cl-tabella tbody tr:last-child td{border-bottom:0}
	/* numeri compatti, mai a capo (anche i pallini della forma) */
	.cl-tabella th.c,.cl-tabella td.c{padding-left:6px;padding-right:6px;white-space:nowrap}
	.cl-tabella td.andamento{white-space:nowrap}
	/* colonna fissa: prime 3 celle sticky con sfondo pieno (i numeri scorrono sotto senza sovrapporsi); la testata sta sopra */
	.cl-tabella th:nth-child(-n+3),.cl-tabella td:nth-child(-n+3){position:sticky;z-index:2;background:#fff}
	.cl-tabella th:nth-child(-n+3){z-index:3}
	.cl-tabella th:nth-child(1),.cl-tabella td:nth-child(1){left:0}
	.cl-tabella th:nth-child(2),.cl-tabella td:nth-child(2){left:var(--cl-w1)}
	.cl-tabella th:nth-child(3),.cl-tabella td:nth-child(3){left:calc(var(--cl-w1) + var(--cl-w2))}
	/* le celle fisse ripetono lo sfondo della riga (mia squadra, hover), altrimenti resterebbero bianche */
	.cl-tabella tr.mia-riga td:nth-child(-n+3){background:#fff9e6}
	.cl-tabella tr:hover td:nth-child(-n+3){background:#f4f7fc}
	.cl-tabella tr.mia-riga:hover td:nth-child(-n+3){background:#fff4d1}
	/* posizione: 42px in tutto (10 di margine, badge da 28, 4 di respiro) */
	.cl-tabella th.cl-pos,.cl-tabella td.cl-pos{padding:7px 0 7px 10px}
	/* freccia salita/discesa: sotto i 400px non c'e'; da 400px compare (vedi le fasce sotto) */
	.cl-tabella th:nth-child(2),.cl-tabella td:nth-child(2){display:none}
	/* nome: priorita' assoluta alla leggibilita' (16px in grassetto, a capo per parole intere se serve, mai ellissi); bordo sottile e ombra a destra tra la parte ferma e quella che scorre */
	.cl-tabella td.club{padding:7px 8px 7px 6px;font-size:16px;white-space:normal;overflow-wrap:break-word}
	.cl-tabella th:nth-child(3){padding-left:6px}
	.cl-tabella th:nth-child(3),.cl-tabella td:nth-child(3){border-right:1px solid var(--linea);box-shadow:6px 0 8px -6px rgba(8,20,40,.25)}
	.cl-tabella .club img{display:none}
	.cl-tabella .club .cell{gap:0}
}
@media (min-width:400px) and (max-width:1000px){
	.cl-tabella{--cl-w2:34px;--cl-tot:644px}
	.cl-tabella th:nth-child(2),.cl-tabella td:nth-child(2){display:table-cell;padding:7px 2px;text-align:center}
}
@media (min-width:700px) and (max-width:1000px){
	.cl-tabella{--cl-w3:170px;--cl-tot:682px}
	.cl-tabella .club img{display:block;width:30px;height:30px;margin-right:0}
	.cl-tabella .club .cell{gap:8px}
}
/* sotto i 400px non ci sono frecce nella tabella: la voce di legenda che le spiega sparisce */
@media (max-width:399px){
	.cl-legenda>span:nth-child(4){display:none}
}

/* ===== STATISTICHE COMPLETA (marcatori.php, prefisso stc-): titolo e filtri SOPRA il podio, elenco dal quarto subito sotto; filtri ruolo su una riga in mobile =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Le regole sono agganciate a .stc-classifica (il pannello di marcatori.php:
   testata, filtri, podio, righe dal quarto) e non alle classi base, perche' .marc-preview-panel/-head/-count/-riga/-pos/-foto/-player/-team/-score li usa anche archivio.php.
   Il podio ora sta DENTRO il pannello, sotto testata e filtri: il pannello ha gia' il suo padding, quindi il podio perde il proprio (prima 22px 26px 0, sotto gli 800px 18px 12px 0) e ha
   solo un margine sotto, e solo se dopo di lui ci sono righe: tra podio ed elenco resta il filetto in alto della prima riga. Specificita' 0,2,0 (0,3,0 con :not) contro 0,1,0 delle
   regole base e di quella sotto gli 800px. Sopra i 1000px le etichette dei filtri restano per esteso (la sigla e' nascosta); dentro @media (max-width:1000px), la soglia di tutto il
   mobile, compaiono le sigle TUTTI/POR/DIF/CEN/ATT e i 5 chip si dividono la riga a parti uguali (flex 1 1 0, mai a capo): da 360px ogni chip ha almeno ~46px utili contro ~36px di "TUTTI"
   (misura prudente, metriche Arial Bold); sotto i 360px il testo scende a 11px (a 320px: ~38px utili contro ~32px). */
.stc-classifica .marc-preview-podio{padding:0;margin-bottom:0}
.stc-classifica .marc-preview-podio:not(:last-child){margin-bottom:18px}
.stc-f-breve{display:none}
@media (max-width:1000px){
	.stc-classifica .marc-preview-podio:not(:last-child){margin-bottom:14px}
	.stc-classifica .marc-preview-filters{flex-wrap:nowrap;gap:5px;padding-bottom:14px}
	.stc-classifica .marc-preview-filters .marc-filtro{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;min-height:38px;padding:0 2px;overflow:hidden;font-size:12px;letter-spacing:.4px;text-transform:uppercase}
	.stc-f-lungo{display:none}
	.stc-f-breve{display:inline}
}
@media (max-width:359px){
	.stc-classifica .marc-preview-filters .marc-filtro{font-size:11px;letter-spacing:.2px}
}

/* ===== SCHEDA SQUADRA MOBILE (squadra.php, prefisso sqm-): fisarmoniche come il menu, blocco desktop nascosto =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Il bug della rosa a 0px e' un important su .sq-layout (batte il @media a 900px):
   non lo combattiamo. Su mobile il blocco desktop e' avvolto in .sqm-desk e nascosto con display none (un antenato nascosto batte anche gli important dei suoi discendenti) e lo slider e'
   nascosto; al loro posto ci sono la testata .sqm-testa e il DOM mobile .sqm-mob. Fuori dal @media solo la riga che nasconde su desktop i due blocchi nuovi: nessun elemento esistente cambia.
   Le classi condivise con altre pagine (.sezione-testa, .card, .stat, .vuoto, .st-esito, .gio-vs, .scdir-prossimo) si ritoccano solo sotto un antenato sqm-.
   Fisarmonica = stessa tecnica del menu (stilenew.css righe ~1686-1706, li' annidata sotto .nav-mobile): bottone con aria-expanded, pannello a righe di griglia da 0fr a 1fr con visibility
   ritardata, "+" giallo disegnato in CSS che diventa "-" (la barra verticale ruota). Il cerchietto del "+" e' blu notte: sulle fasce blu notte non si vede (come nel menu), sulle fasce dei
   reparti tiene leggibile il giallo (giallo su arancio da solo e' ~1,3:1). Colori dei reparti = quelli di .rosa-reparto-tit.r1 .. r4. Il bottone non eredita il font: si impostano tutti. */
.sqm-testa,.sqm-mob{display:none}
@media (max-width:1000px){
	/* via banner e blocco desktop (l'inline style dello slider imposta solo background-image: il display none della regola vince) */
	.sq-slider,.sqm-desk{display:none}
	/* testata: freccia | logo grande + nome | freccia, blu notte con filo giallo come lo slider */
	.sqm-testa{display:flex;align-items:center;gap:4px;padding:12px 6px;background:var(--notte);border-bottom:4px solid var(--giallo)}
	.sqm-freccia{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:72px;font-size:32px;line-height:1;color:var(--giallo);opacity:.85;text-decoration:none;-webkit-tap-highlight-color:transparent}
	.sqm-freccia:active{opacity:1}
	.sqm-testa-centro{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;gap:14px}
	.sqm-logo{flex:none;width:clamp(72px,24vw,104px);height:clamp(72px,24vw,104px);object-fit:contain}
	.sqm-nome{min-width:0;font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(22px,7.4vw,32px);line-height:1.08;text-transform:uppercase;color:#fff;overflow-wrap:break-word}
	/* DOM mobile: intestazioni di sezione (stessa .sezione-testa del sito) */
	.sqm-mob{display:block;padding-bottom:6px}
	.sqm-mob .sqm-sez-testa{margin-bottom:12px;flex-wrap:wrap;gap:2px 12px}
	.sqm-mob .sqm-sez-rosa{margin-top:26px}
	/* fasce a fisarmonica: bottone a tutta larghezza (min 54px), titolo Oswald maiuscolo, numero in una pillola, "+" a destra */
	.sqm-acc{margin-top:10px}
	.sqm-sez-testa + .sqm-acc{margin-top:0}
	.sqm-acc-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;margin:0;padding:0 12px 0 16px;border:0;border-radius:12px;background:var(--notte);color:#fff;font-family:'Oswald',sans-serif;font-weight:600;font-size:17px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
	.sqm-acc-toggle:focus-visible{outline:2px solid var(--notte);outline-offset:2px}
	.sqm-acc-toggle[aria-expanded="true"]{border-bottom-left-radius:0;border-bottom-right-radius:0}
	.sqm-acc-tit{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
	.sqm-acc-n{flex:none;min-width:26px;padding:2px 9px;border-radius:999px;background:rgba(255,255,255,.22);font-family:'PT Sans',sans-serif;font-weight:700;font-size:14px;line-height:1.3;letter-spacing:0;text-align:center}
	/* sottotitolo sotto il titolo della fascia (Carriera: nome dell'allenatore e numero di stagioni): piccolo, senza maiuscolo, piu' chiaro */
	.sqm-acc-sotto{display:block;margin-top:2px;font-family:'PT Sans',sans-serif;font-weight:400;font-size:13px;line-height:1.3;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.75);overflow-wrap:break-word}
	/* colori dei reparti (1 portieri, 2 difensori, 3 centrocampisti, 4 attaccanti): gli stessi della rosa desktop */
	.sqm-r1 .sqm-acc-toggle{background:#e8a13c}
	.sqm-r2 .sqm-acc-toggle{background:#3a8fd6}
	.sqm-r3 .sqm-acc-toggle{background:#2fae6b}
	.sqm-r4 .sqm-acc-toggle{background:#d64545}
	/* "+" giallo (barre 14x2) in un cerchio blu notte da 28px; da aperto la barra verticale ruota e resta il "-" */
	.sqm-pm{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--notte)}
	.sqm-pm::before,.sqm-pm::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:1px;background:var(--giallo);transition:transform .2s ease}
	.sqm-pm::after{transform:rotate(90deg)}
	.sqm-acc-toggle[aria-expanded="true"] .sqm-pm::after{transform:rotate(0deg)}
	/* pannello: chiuso = altezza 0 e invisibile anche a tastiera e lettori di schermo; aperto (.aperto) = altezza del contenuto (dove non si anima, si apre secco) */
	.sqm-acc-sub{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s ease,visibility 0s linear .25s}
	.sqm-acc-sub.aperto{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .25s ease,visibility 0s}
	.sqm-acc-in{min-height:0;overflow:hidden}
	.sqm-acc-body{overflow:hidden;background:var(--carta);border:1px solid var(--linea);border-top:0;border-radius:0 0 12px 12px}
	@media (prefers-reduced-motion:reduce){
		.sqm-acc-sub,.sqm-acc-sub.aperto,.sqm-pm::before,.sqm-pm::after{transition:none}
	}
	/* rosa: solo il nome, riga compatta (min 42px) con filetto, tutta la riga e' il link */
	.sqm-pl{display:flex;align-items:center;min-height:42px;padding:6px 16px;border-top:1px solid var(--linea);font-size:16px;font-weight:600;line-height:1.25;color:var(--inchiostro);overflow-wrap:break-word}
	.sqm-pl:first-child{border-top:0}
	/* statistiche: i 6 box (.stat del sito) in 3 colonne x 2 righe, compatti */
	.sqm-stat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
	.sqm-stat .stat{padding:12px 4px}
	.sqm-stat .stat-n{font-size:26px}
	.sqm-stat .stat-l{font-size:10px;letter-spacing:.3px}
	/* allenatore e presidente: etichetta + nome (solo testo) */
	.sqm-persone{margin-top:14px;padding:2px 16px}
	.sqm-pers{display:flex;align-items:baseline;gap:12px;padding:12px 0;border-top:1px solid var(--linea)}
	.sqm-pers:first-child{border-top:0}
	.sqm-pers-ruolo{flex:none;width:88px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muto)}
	.sqm-pers-nome{min-width:0;font-family:'Oswald',sans-serif;font-weight:600;font-size:19px;line-height:1.2;color:var(--notte);overflow-wrap:break-word}
	/* carriera: logo, squadra, anni, tag "Attuale" */
	.sqm-car-riga{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid var(--linea)}
	.sqm-car-riga:first-child{border-top:0}
	.sqm-car-riga img{flex:none;width:34px;height:34px;object-fit:contain}
	.sqm-car-info{flex:1 1 auto;min-width:0}
	.sqm-car-info b{display:block;font-weight:700;font-size:15px;line-height:1.15;overflow-wrap:break-word}
	.sqm-car-info small{color:var(--muto);font-size:12px}
	.sqm-car-tag{flex:none;background:var(--giallo);color:var(--notte);font-size:10px;font-weight:700;padding:2px 8px;border-radius:12px;text-transform:uppercase}
	.sqm-car-attuale{background:#fff9e6}
	/* modulo (dentro la fascia): etichetta piccola + valore grande, solo testo */
	.sqm-modulo-val{padding:18px 16px 20px;text-align:center}
	.sqm-modulo-lbl{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--muto)}
	.sqm-modulo-val b{display:block;margin-top:4px;font-family:'Oswald',sans-serif;font-weight:700;font-size:36px;line-height:1.1;color:var(--notte)}
	/* andamento: il padding sta sul contenitore, non su #sqmGraf, cosi' la larghezza misurata dallo script e' quella vera dell'SVG */
	.sqm-graf-box{padding:12px 10px}
	.sqm-graf-nota{padding:0 6px 8px;font-size:12px;color:var(--muto)}
	.sqm-grafico svg{display:block;max-width:100%;height:auto}
	/* storico: esito, partita, giornata e punti, testi grandi (nomi 18px, risultato 21px, giornata 15px, punti 16px, badge 32px). I nomi delle squadre sono blocchi inline
	   (max-width 100%): non si spezzano a meta', la riga va a capo tra squadra e risultato; solo un nome piu' largo della riga si spezza dentro se stesso */
	.sqm-st-riga{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--linea)}
	.sqm-st-riga:first-child{border-top:0}
	.sqm-st-riga .st-esito{width:32px;height:32px;font-size:16px}
	.sqm-st-nascosta{display:none}
	.sqm-st-corpo{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
	.sqm-st-match{font-size:18px;font-weight:600;line-height:1.25;overflow-wrap:break-word}
	.sqm-st-sq{display:inline-block;max-width:100%}
	.sqm-st-match b{font-family:'Oswald',sans-serif;font-weight:700;font-size:21px;color:var(--notte)}
	.sqm-st-meta{font-size:15px;color:var(--muto)}
	.sqm-st-meta .st-pt{font-size:16px}
	.sqm-st-piu{padding:12px 16px;text-align:center;border-top:1px solid var(--linea)}
	.sqm-st-piu-btn{min-height:42px;padding:0 20px;background:var(--nebbia);border:1px solid var(--linea);border-radius:8px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;color:var(--blu);cursor:pointer;-webkit-appearance:none;appearance:none}
	/* prossimo incontro (dentro la fascia): logo un po' piu' piccoli del desktop */
	.sqm-prox .scdir-prossimo{padding:18px 16px}
	.sqm-prox .gio-vs-logo{width:84px;height:84px}
}


/* ===== SCHEDA GIOCATORE MOBILE (giocatore.php, prefisso gim-): fisarmoniche come la scheda squadra, blocco desktop nascosto =====
   Blocco in coda: nessuna regola esistente e' stata toccata e non ci sono dichiarazioni forzate con important. Il bug G7 (nome, badge e medie a 0px sotto i 700px) nasce da
   .gio-content{container-type:inline-size} dentro .gio-top, che a 700px diventa colonna con align-items center: con il contenimento dell'asse orizzontale la larghezza
   fit-content dell'elemento vale 0. Non lo combattiamo: su mobile l'intero article.gio-post (classe usata solo da questa pagina) e' nascosto con display none e al suo posto
   c'e' un DOM mobile separato (.gim-mob, senza container-type). Fuori dal @media solo la riga che nasconde il DOM mobile su desktop: nessun elemento esistente cambia.
   Le classi gio- si riusano senza modificarle solo dove non hanno override sotto i 700px (badge, .gio-stat, cerchi del rendimento, icone delle chicche, .gio-box3-val e sub);
   dove ce l'hanno (figurina, logo del prossimo turno) si sovrascrivono sotto .gim-mob con specificita' maggiore.
   Fisarmonica = stessa tecnica del menu e della scheda squadra (blocco sqm-): bottone con aria-expanded, pannello a righe di griglia da 0fr a 1fr con visibility ritardata,
   "+" giallo disegnato in CSS che diventa "-"; il cerchietto del "+" e' blu notte (sulle fasce blu notte non si vede, sulle fasce dei reparti tiene leggibile il giallo).
   Colori dei reparti = quelli di .rosa-reparto-tit.r1 .. r4 e del pallino della rosa desktop. */
.gim-mob{display:none}
@media (max-width:1000px){
	/* via l'article desktop: al suo posto il DOM mobile */
	.gio-post{display:none}
	.gim-mob{display:block;padding-bottom:6px}
	/* testa: figurina al centro con una freccia (cerchio blu notte con chevron giallo) per lato, poi nome, ruolo e costo. La figurina e' la stessa del desktop, proporzionata (max 200px) */
	.gim-testa{text-align:center}
	.gim-torna-riga{margin-bottom:14px}
	.gim-figura{--gim-fw:200px;display:flex;align-items:center;justify-content:center;gap:8px}
	.gim-freccia{flex:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--notte);color:var(--giallo);font-size:20px;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent}
	.gim-freccia:active{background:var(--notte-2)}
	/* figurina con le STESSE misure del desktop: 200px di larghezza, cornice con 4px di bordo e 10px di padding = 172px utili, foto quadrata 172px, base alta 100px e logo 150x150 che sale di 50px sulla foto.
	   Le altezze sono DEFINITE (calc dalla larghezza --gim-fw), come le altezze fisse del desktop. Con height auto + aspect-ratio la base (un elemento flex con dentro il logo da 150px) cresceva fino all'altezza
	   del logo, perche' il minimo automatico di un elemento flex e' il suo contenuto: figurina piu' lunga di 50px e logo che non si sovrapponeva piu' alla foto. Sotto i 356px la larghezza cala
	   (viewport meno 156px: 52 di margini pagina, 88 di frecce, 16 di spazi) e le misure la seguono in proporzione */
	.gim-mob .gio-figurina{flex:none;width:var(--gim-fw);min-width:0}
	.gim-mob .gio-foto-finestra{height:calc(var(--gim-fw) - 28px)}
	.gim-mob .gio-figurina-base{width:100%;height:calc((var(--gim-fw) - 28px) * .5814)}
	.gim-mob .gio-figurina-logo{width:calc((var(--gim-fw) - 28px) * .8721);height:calc((var(--gim-fw) - 28px) * .8721)}
	@media (max-width:355px){
		.gim-figura{--gim-fw:calc(100vw - 156px)}
	}
	.gim-nome{margin:14px 0 10px;font-family:'Oswald',sans-serif;font-weight:900;font-size:clamp(28px,8.4vw,40px);line-height:1.05;color:var(--notte);overflow-wrap:break-word}
	.gim-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px}
	/* medie: due box affiancati e il Confronto (verde o rosso) largo e centrato sotto */
	.gim-medie{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}
	.gim-media{background:var(--carta);border:1px solid var(--linea);border-radius:12px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}
	.gim-media-conf{grid-column:1 / -1;padding:16px 14px}
	.gim-media-tit{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muto)}
	.gim-media-val{font-family:'Oswald',sans-serif;font-weight:900;font-size:38px;line-height:1.05;color:var(--notte)}
	.gim-media-val.gim-nd{color:var(--muto)}
	.gim-media-sub{font-size:12px;line-height:1.3;color:var(--muto)}
	.gim-media-sub-stats{font-weight:700}
	.gim-media.gio-confronto-su{background:rgba(51,176,106,.12)}
	.gim-media.gio-confronto-su .gim-media-val,.gim-media.gio-confronto-su .gim-media-sub{color:var(--verde)}
	.gim-media.gio-confronto-giu{background:rgba(226,74,59,.12)}
	.gim-media.gio-confronto-giu .gim-media-val,.gim-media.gio-confronto-giu .gim-media-sub{color:var(--rosso)}
	.gim-media.gio-confronto-n .gim-media-val{color:var(--muto)}
	/* statistiche: card bianca con 20px di padding = stessa larghezza utile di oggi, quindi i 7 box (.gio-stat, invariati) restano su 2 colonne a 375px */
	.gim-stats-card{background:var(--carta);border:1px solid var(--linea);border-radius:13px;padding:20px}
	/* fasce a fisarmonica: bottone a tutta larghezza (min 54px), titolo Oswald maiuscolo, "+" a destra; stesse misure della scheda squadra */
	.gim-acc{margin-top:10px}
	.gim-stats-card + .gim-acc{margin-top:16px}
	.gim-acc-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;margin:0;padding:0 12px 0 16px;border:0;border-radius:12px;background:var(--notte);color:#fff;font-family:'Oswald',sans-serif;font-weight:600;font-size:17px;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
	.gim-acc-toggle:focus-visible{outline:2px solid var(--notte);outline-offset:2px}
	.gim-acc-toggle[aria-expanded="true"]{border-bottom-left-radius:0;border-bottom-right-radius:0}
	.gim-acc-tit{flex:1 1 auto;min-width:0;overflow-wrap:break-word}
	.gim-acc-n{flex:none;min-width:26px;padding:2px 9px;border-radius:999px;background:rgba(255,255,255,.22);font-family:'PT Sans',sans-serif;font-weight:700;font-size:14px;line-height:1.3;letter-spacing:0;text-align:center}
	/* colori dei reparti (1 portieri, 2 difensori, 3 centrocampisti, 4 attaccanti) */
	.gim-r1 .gim-acc-toggle{background:#e8a13c}
	.gim-r2 .gim-acc-toggle{background:#3a8fd6}
	.gim-r3 .gim-acc-toggle{background:#2fae6b}
	.gim-r4 .gim-acc-toggle{background:#d64545}
	/* "+" giallo (barre 14x2) in un cerchio blu notte da 28px; da aperto la barra verticale ruota e resta il "-" */
	.gim-pm{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:var(--notte)}
	.gim-pm::before,.gim-pm::after{content:"";position:absolute;top:50%;left:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:1px;background:var(--giallo);transition:transform .2s ease}
	.gim-pm::after{transform:rotate(90deg)}
	.gim-acc-toggle[aria-expanded="true"] .gim-pm::after{transform:rotate(0deg)}
	/* pannello: chiuso = altezza 0 e invisibile anche a tastiera e lettori di schermo; aperto (.aperto) = altezza del contenuto (dove non si anima, si apre secco) */
	.gim-acc-sub{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s ease,visibility 0s linear .25s}
	.gim-acc-sub.aperto{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .25s ease,visibility 0s}
	.gim-acc-in{min-height:0;overflow:hidden}
	.gim-acc-body{overflow:hidden;background:var(--carta);border:1px solid var(--linea);border-top:0;border-radius:0 0 12px 12px}
	@media (prefers-reduced-motion:reduce){
		.gim-acc-sub,.gim-acc-sub.aperto,.gim-pm::before,.gim-pm::after{transition:none}
	}
	/* carriera: anno, logo + squadra, pillola con la media al Fanta della stagione (stessi colori del desktop). Il nome ha ~150px a 375px: per esteso, abbreviato solo oltre 18 caratteri */
	.gim-car-riga{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--linea)}
	.gim-car-riga:first-child{border-top:0}
	.gim-car-extra{display:none}
	.gim-car-anno{font-family:'Oswald',sans-serif;font-weight:700;font-size:16px;color:var(--notte)}
	.gim-car-sq{display:flex;align-items:center;gap:8px;min-width:0;color:var(--inchiostro);font-size:15px;font-weight:600;line-height:1.2;text-decoration:none}
	.gim-car-freccia{flex:none;color:var(--muto);font-size:12px}
	.gim-car-logo{flex:none;width:26px;height:26px;object-fit:contain}
	.gim-car-nome{min-width:0;overflow-wrap:break-word}
	.gim-car-pill{display:inline-flex;align-items:center;justify-content:center;min-width:50px;padding:3px 8px;border-radius:20px;font-family:'Oswald',sans-serif;font-weight:700;font-size:14px;color:#fff}
	.gim-car-verde{background:var(--verde)}
	.gim-car-giallo{background:var(--giallo);color:var(--notte)}
	.gim-car-rosso{background:var(--rosso)}
	.gim-car-nd{background:none;color:var(--muto);min-width:0;padding:3px 4px}
	.gim-car-piu{padding:12px 14px;text-align:center;border-top:1px solid var(--linea)}
	.gim-car-piu-btn{min-height:42px;padding:0 20px;background:var(--nebbia);border:1px solid var(--linea);border-radius:8px;font-family:'Oswald',sans-serif;font-weight:600;font-size:15px;color:var(--blu);cursor:pointer;-webkit-appearance:none;appearance:none}
	/* chicche: le 3 righe del desktop (.gio-chicca-*, invariate) con piu' respiro */
	.gim-chicche{gap:0;padding:2px 16px}
	.gim-chicche .gio-chicca-riga{padding:13px 0;gap:12px}
	/* prossimo turno: contenuto centrato, logo un po' piu' piccoli del desktop (sovrascrive l'override a 700px del logo) */
	.gim-prox{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 16px;text-align:center}
	.gim-mob .gio-vs-logo{width:84px;height:84px}
	.gim-prox .gio-box3-val{overflow-wrap:break-word}
	.gim-prox .gio-box3-sub{font-size:14px}
	/* rendimento: i tondi (i cerchi .gio-ultime-voto del desktop, stessi colori per voto e tondo vuoto per il non schierato) grandi e leggibili: 4 per riga sul telefono, fino a 64px, col voto in Oswald
	   da ~22px (un'ombra leggera sul bianco dei tondi verdi e rossi), e 7 in una riga dai 560px; sotto ogni tondo la giornata ("G3") a 14px scuro */
	.gim-ultime{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 10px;margin:0;padding:18px 16px 16px}
	.gim-ultime li{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
	.gim-ultime .gio-ultime-voto{width:100%;max-width:64px;height:auto;aspect-ratio:1/1;font-size:clamp(18px,5.9vw,24px)}
	.gim-ultime .gio-ultime-voto-verde,.gim-ultime .gio-ultime-voto-rosso{text-shadow:0 1px 2px rgba(8,20,40,.35)}
	.gim-ultime-g{font-size:14px;font-weight:700;line-height:1;color:#4a566e}
	@media (min-width:560px){
		.gim-ultime{grid-template-columns:repeat(7,minmax(0,1fr))}
	}
	.gim-vuoto-box{padding:18px 16px;text-align:center}
	/* rosa: intestazione (stessa .sezione-testa della scheda squadra) e righe con solo il nome; il giocatore corrente e' evidenziato e non e' un link */
	.gim-mob .gim-sez-testa{margin:26px 0 12px;flex-wrap:wrap;gap:2px 12px}
	.gim-sez-testa + .gim-acc{margin-top:0}
	.gim-pl{display:flex;align-items:center;min-height:42px;padding:6px 16px;border-top:1px solid var(--linea);font-size:16px;font-weight:600;line-height:1.25;color:var(--inchiostro);text-decoration:none;overflow-wrap:break-word}
	.gim-pl:first-child{border-top:0}
	.gim-pl-attuale{background:#fff9e6;font-weight:800;color:var(--notte);box-shadow:inset 4px 0 0 var(--giallo)}
	.gim-rosa-vuoto{padding:6px 0;text-align:center}
}

/* ===== formazioni.php - ricerca giocatore (mobile e desktop) + versione MOBILE (<=1000px), prefisso sqcm- =====
   RICERCA: un solo campo sopra le card, su tutte le larghezze: [lente][testo][x se c'e' testo][freccia blu]. Si cerca con Invio, con la lente o con la
   freccia (non mentre si scrive): se il candidato e' uno solo la pagina salta alla partita e il giocatore lampeggia (.sqcm-lampo, messa e tolta dallo
   script: a riposo nessun elemento esistente cambia); se sono piu' di uno compare un mini-elenco (.sqcm-scelta). Il flag .sqcm-js (messo dallo script)
   la mostra: senza JS resta nascosta.
   MOBILE: il campo verde (.sqcampo-partita, classe usata solo da questa pagina) e la sua legenda si nascondono e compare .sqcm-mob = tab delle
   partite su DUE righe (3 + 2, loghi 4:3 grandi; sopra i 600px una riga sola), linguetta blu sotto quella attiva, fisse sotto l'header mentre si
   scorre; pannello della partita aperta con testata senza loghi, Titolari e Panchina (su fascia blu) in due colonne casa/ospite (riga = pallino ruolo
   + nome, niente voti) e legenda ruoli abbreviata su una riga. Colori dei ruoli = quelli del campo (r1-r4 di .sqcampo-pallino). Senza JS: partite impilate. */
.sqcm-mob{display:none}
.sqcm-ricerca{display:none}
.sqcm-ricerca.sqcm-js{display:block;max-width:520px;margin:0 0 18px}
.sqcm-cerca-box{display:flex;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:12px}
.sqcm-cerca-box:focus-within{border-color:var(--blu);box-shadow:0 0 0 2px rgba(26,95,180,.18)}
.sqcm-lente{flex:none;display:flex;align-items:center;justify-content:center;width:46px;height:46px;margin:0;padding:0;border:0;border-radius:12px 0 0 12px;background:transparent;color:var(--muto);cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.sqcm-lente:hover{color:var(--blu)}
.sqcm-lente:focus-visible{outline:2px solid var(--blu);outline-offset:-4px}
.sqcm-cerca-in{flex:1 1 auto;min-width:0;height:46px;padding:0 6px 0 0;border:0;border-radius:0;background:transparent;outline:0;font:16px/1.2 'PT Sans',sans-serif;color:var(--inchiostro);-webkit-appearance:none;appearance:none}
.sqcm-cerca-in::placeholder{color:var(--muto);opacity:1}
.sqcm-cerca-in::-webkit-search-cancel-button,.sqcm-cerca-in::-webkit-search-decoration{-webkit-appearance:none;display:none}
.sqcm-cerca-x{display:none;flex:none;position:relative;width:44px;height:44px;margin:0 2px 0 0;padding:0;border:0;background:transparent;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.sqcm-ricerca.sqcm-ha-testo .sqcm-cerca-x{display:block}
.sqcm-cerca-x::before,.sqcm-cerca-x::after{content:"";position:absolute;top:50%;left:50%;width:16px;height:2px;margin:-1px 0 0 -8px;border-radius:1px;background:var(--muto);transform:rotate(45deg)}
.sqcm-cerca-x::after{transform:rotate(-45deg)}
/* freccia blu SEMPRE visibile a destra: avvia la ricerca come Invio e la lente (40px dentro la scatola da 48px, margine 3px) */
.sqcm-cerca-vai{flex:none;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:3px;padding:0;border:0;border-radius:9px;background:var(--blu);color:#fff;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.sqcm-cerca-vai:hover,.sqcm-cerca-vai:active{background:var(--notte-2)}
.sqcm-cerca-vai:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
.sqcm-cerca-vai svg{width:18px;height:18px}
.sqcm-msg{margin:8px 2px 0;font-size:14px;line-height:1.35;color:var(--muto)}
.sqcm-msg:empty{display:none}
.sqcm-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* mini-elenco: solo quando Invio non basta a scegliere (omonimi, nomi di battesimo condivisi, inizi di nome ambigui); max 8 voci, una riga ciascuna */
.sqcm-scelta{margin:8px 0 0;background:#fff;border:1px solid var(--linea);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(10,30,60,.08)}
.sqcm-scelta:empty{display:none}
.sqcm-scelta-tit{padding:10px 14px;border-bottom:1px solid var(--linea);font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muto)}
.sqcm-scelta-riga{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 14px;border:0;border-top:1px solid var(--linea);background:#fff;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
.sqcm-scelta-tit + .sqcm-scelta-riga{border-top:0}
.sqcm-scelta-riga:hover,.sqcm-scelta-riga:active{background:var(--panna)}
.sqcm-scelta-riga:focus-visible{outline:2px solid var(--blu);outline-offset:-2px}
.sqcm-scelta-testo{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.sqcm-scelta-testo b{font-size:16px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.sqcm-scelta-testo small{font-size:13px;line-height:1.25;color:var(--muto);overflow-wrap:anywhere}
.sqcm-scelta-piu{padding:10px 14px;border-top:1px solid var(--linea);font-size:13px;line-height:1.3;color:var(--muto)}
/* pallino del ruolo (stessi colori del campo): righe mobile, mini-elenco e legenda */
.sqcm-pallino{flex:none;width:12px;height:12px;border-radius:50%}
.sqcm-pallino.r1{background:#e8a13c}
.sqcm-pallino.r2{background:#3a8fd6}
.sqcm-pallino.r3{background:#2fae6b}
.sqcm-pallino.r4{background:#d64545}
/* lampeggio del giocatore trovato (3 volte): riga su mobile; su desktop il pallino sul campo verde (anello giallo) con l'etichetta del nome, o la pillola in panchina */
.sqcm-riga.sqcm-lampo{animation:sqcm-lampo-riga .8s ease-in-out 3}
@keyframes sqcm-lampo-riga{0%,100%{background-color:rgba(255,227,138,0)}50%{background-color:#ffe38a}}
.sqcampo-pl.sqcm-lampo .sqcampo-pallino{animation:sqcm-lampo-pallino .8s ease-in-out 3}
@keyframes sqcm-lampo-pallino{0%,100%{transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.35)}50%{transform:scale(1.9);box-shadow:0 0 0 5px rgba(255,207,51,.95),0 0 22px 10px rgba(255,207,51,.8)}}
.sqcampo-pl.sqcm-lampo .sqcampo-pl-nome{padding:1px 6px;border-radius:6px;animation:sqcm-lampo-nome .8s ease-in-out 3}
@keyframes sqcm-lampo-nome{0%,100%{background-color:rgba(255,207,51,0);color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7)}50%{background-color:#ffcf33;color:#081428;text-shadow:none}}
.sqcampo-pillola.sqcm-lampo{animation:sqcm-lampo-pillola .8s ease-in-out 3}
@keyframes sqcm-lampo-pillola{0%,100%{background-color:#f6f8fc;box-shadow:0 0 0 0 rgba(255,207,51,0)}50%{background-color:#ffcf33;box-shadow:0 0 0 4px rgba(255,207,51,.6)}}
@media (prefers-reduced-motion:reduce){
	.sqcm-riga.sqcm-lampo{animation:none;background-color:#ffe38a}
	.sqcampo-pl.sqcm-lampo .sqcampo-pallino{animation:none;transform:scale(1.5);box-shadow:0 0 0 5px rgba(255,207,51,.95)}
	.sqcampo-pl.sqcm-lampo .sqcampo-pl-nome{animation:none;background-color:#ffcf33;color:#081428;text-shadow:none}
	.sqcampo-pillola.sqcm-lampo{animation:none;background-color:#ffcf33}
}
@media (max-width:1000px){
	.sqcampo-partita,.sqcampo-legenda{display:none}
	.sqcm-ricerca.sqcm-js{max-width:none;margin:0 0 12px}
	.sqcm-mob{display:block;max-width:680px;margin:0 auto}
	/* visibilita': base = senza JS (partite impilate); con .sqcm-js compaiono le tab e resta una sola partita */
	.sqcm-tabs{display:none}
	.sqcm-pannello{margin-bottom:16px}
	.sqcm-js .sqcm-tabs{display:flex}
	.sqcm-js .sqcm-pannello{display:none;margin-bottom:0}
	.sqcm-js .sqcm-pannello.attivo{display:block}
	/* tab su DUE righe (3 sopra + 2 sotto, la seconda centrata; vale per qualunque numero di partite): ogni tab = un terzo della larghezza coi due loghi (casa, ospite)
	   in scatole 4:3 (i loghi sono 370x277), a 375px 44x33px invece dei 20x15 di prima; la partita attiva si riconosce SOLO dalla linguetta blu sotto.
	   Fisse sotto l'header (56px, z-index 60; il menu e' a 59): top 55px cosi' non resta nessuna fessura, z-index 30 sotto menu e modale */
	.sqcm-tabs{flex-wrap:wrap;justify-content:center;gap:8px 6px;margin:0 0 10px;padding:7px 0 6px;position:-webkit-sticky;position:sticky;top:55px;z-index:30;background:var(--panna)}
	.sqcm-tab{position:relative;flex:0 0 calc((100% - 12px) / 3);min-width:0;display:flex;align-items:center;justify-content:center;gap:4px;min-height:46px;padding:6px 4px;border:1px solid var(--linea);border-radius:12px;background:#fff;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}
	.sqcm-tab img{flex:none;width:clamp(30px,calc(16.6vw - 18px),60px);height:auto;aspect-ratio:4 / 3;object-fit:contain}
	.sqcm-tab.attiva::after{content:"";position:absolute;left:14%;right:14%;bottom:-1px;height:4px;border-radius:4px 4px 0 0;background:var(--blu)}
	.sqcm-tab:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
	/* tablet e telefono in orizzontale (>=600px): una riga sola, altrimenti due righe fisse coprirebbero meta' schermo */
	@media (min-width:600px){
		.sqcm-tab{flex:1 1 0}
		.sqcm-tab img{width:clamp(40px,7.5vw,56px)}
	}
	/* pannello della partita: scheda bianca col filetto del sito; testata blu notte SENZA loghi (nome intero che va a capo, modulo giallo), casa a sinistra e ospite a destra */
	.sqcm-pannello{background:var(--carta);border:1px solid var(--linea);border-radius:16px;overflow:hidden}
	.sqcm-testata{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:14px 14px 12px;background:var(--notte);color:#fff}
	.sqcm-sq{min-width:0}
	.sqcm-sq-dx{text-align:right}
	.sqcm-sq-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
	.sqcm-sq-dx .sqcm-sq-txt{align-items:flex-end}
	.sqcm-sq-nome{font-family:'Oswald',sans-serif;font-weight:700;font-size:clamp(18px,5.4vw,24px);line-height:1.1;overflow-wrap:anywhere}
	.sqcm-modulo{color:var(--giallo);font-size:13px;font-weight:700;letter-spacing:.5px}
	.sqcm-rip{color:#ff8c00;font-size:11px;font-weight:700;line-height:1.2}
	.sqcm-prec{grid-column:1 / -1;display:flex;justify-content:center}
	.sqcm-prec .scdir-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 10px;max-width:none;margin:2px 0 0;padding:6px 16px}
	/* "Precedenti": l'etichetta arriva da scontri_diretti_html() (scontri_diretti.php, funzione CONDIVISA con partita.php e squadra.php: non si tocca). Qui, sul mobile, si toglie
	   solo alla vista (resta letta dai lettori di schermo): della scritta restano i numeri vittorie casa - pareggi - vittorie ospite. La regola vale solo dentro .sqcm-prec */
	.sqcm-prec .scdir-tit{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.sqcm-prec .scdir-n{font-size:20px}
	/* sezioni Titolari e Panchina (la panchina e' sempre aperta): etichetta piccola, poi la griglia a due colonne; le righe di casa e ospite si affiancano per riga anche se un nome va a capo */
	.sqcm-sez{padding:11px 12px 7px;border-top:1px solid var(--linea);font-family:'Oswald',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--muto)}
	.sqcm-testata + .sqcm-sez{border-top:0}
	/* stacco netto tra giocatori in campo e panchina: l'etichetta Panchina diventa una fascia blu a tutta larghezza (il -1px copre il filetto grigio della prima riga) */
	.sqcm-sez.sqcm-sez-pan{position:relative;margin-bottom:-1px;padding:10px 12px;border-top:0;background:var(--blu);color:#fff;font-size:14px;letter-spacing:1.5px}
	.sqcm-griglia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-flow:row dense}
	.sqcm-c{grid-column:1}
	.sqcm-o{grid-column:2;border-left:1px solid var(--linea)}
	.sqcm-riga{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border-top:1px solid var(--linea);color:var(--inchiostro);-webkit-tap-highlight-color:transparent}
	.sqcm-riga:active{background:var(--panna)}
	.sqcm-riga:focus-visible{outline:2px solid var(--blu);outline-offset:-2px}
	.sqcm-nome{flex:1 1 auto;min-width:0;font-size:15px;font-weight:700;line-height:1.2;overflow-wrap:anywhere}
	.sqcm-vuota{padding:14px 10px;border-top:1px solid var(--linea);font-size:13px;line-height:1.3;text-align:center;color:var(--muto)}
	/* legenda ruoli mobile: UNA riga (pallino + POR DIF CEN ATT), in fondo al blocco; la legenda lunga del desktop e' nascosta qui sopra */
	.sqcm-legenda{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px 18px;margin:18px 0 0;padding:12px 8px;border-top:1px solid var(--linea);font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;letter-spacing:.06em;color:var(--inchiostro)}
	.sqcm-legenda span{display:inline-flex;align-items:center;gap:6px}
}

/* ===== formazione.php MOBILE TOUCH (js/formazione_tap_ui.js) - prefisso fcm-, radice .fcm-tap (classe su <body>) =====
   Il layer a tocchi della formazione sul telefono (nato nel prototipo proto_formazione_touch/css/proto.css). TUTTO il blocco e' in coda e ogni selettore ha per
   radice .fcm-tap: la classe la mette il JS (formazione_tap_ui.js) SOLO quando parte, cioe' solo con layout mobile e solo per le squadre dell'interruttore
   FCAMPO_TAP_SQUADRE di formazione.php. Senza la classe nessuna regola qui sotto trova un elemento: il desktop e le altre pagine non cambiano. Sotto i 960px
   (la stessa soglia con cui la griglia di formazione.php passa a colonna singola, riga 1652) le regole valgono; sopra restano soltanto la regola che nasconde i
   componenti creati dal JS e le animazioni. Nessuna regola esistente e' stata modificata e non ci sono dichiarazioni forzate con important (per battere una
   regola base si usa una specificita' maggiore: .fcm-tap davanti, o due classi).
   ITERAZIONE 6 (dopo il test sulla pagina vera): niente pie' di pagina col layer; un posto libero del campo si ATTIVA col tocco (.fcm-sel su .fcampo-vuoto).
   ITERAZIONE 7 (bozza locale e avviso d'uscita): la fascia .fcm-ripresa in cima al campo e il dialogo .fcm-modale [Esci] [Resta], creati dal JS; niente di esistente cambia.
   MANOPOLE (su .fcm-tap, dentro il media query): --fcm-h altezza FISSA del campo, la stessa per tutti i moduli (39,2% dell'altezza visibile, fra 266 e 342px),
   --fcm-spezza peso della riga da 5 spezzata su due livelli (1,6; piu' alto = livelli piu' staccati ma cerchi e nomi piu' piccoli: il corpo carattere e' --fcm-h /
   --fcm-nem con --fcm-nem = 6 x (3 + peso)), --fcm-riga altezza minima delle righe di lista, --fcm-gutter margine laterale, --fcm-top altezza dell'header sticky
   meno 1px. Sugli schermi bassi (max-height:700px) il suggerimento del dock si nasconde: prende spazio alla lista. ===== */
/* ---- componenti del layout mobile (creati dal JS solo col layout mobile): se la finestra torna larga restano nascosti ---- */
.fcm-tap .fcm-bar,.fcm-tap .fcm-dock,.fcm-tap .fcm-frecce,.fcm-tap .fcm-vuoto,.fcm-tap .fcm-ripresa,.fcm-tap .fcm-modale{display:none}

@keyframes fcm-pulsa{0%,100%{box-shadow:0 0 0 0 rgba(255,207,51,.75)}50%{box-shadow:0 0 0 .55em rgba(255,207,51,0)}}
@keyframes fcm-salto{0%{transform:scale(1)}35%{transform:scale(1.5)}100%{transform:scale(1)}}

@media (max-width:960px){
	.fcm-tap{
		--fcm-h:clamp(266px,39.2vh,342px); /* altezza FISSA del campo, la stessa per tutti i moduli: 39,2% dell'altezza visibile, fra 266 e 342px (era 210-270, e 266-342 solo nei moduli da 5) */
		--fcm-riga:48px;                    /* righe di lista: >= 44px (tocco) */
		--fcm-gutter:10px;
		--fcm-top:55px;                     /* header sticky 56px - 1px: nessuna fessura sotto (come .sqcm-tabs) */
		--fcm-dock-h:64px;                  /* il JS lo riscrive con l'altezza vera del dock */
		--fcm-spezza:1.6;                   /* peso della riga da 5 (spezzata su due livelli) contro 1 degli altri reparti: scarto fra i livelli = (5,7 x peso - 5,3) em, circa un cerchio */
		--fcm-nem:calc(6 * (3 + var(--fcm-spezza))); /* altezza del campo in em (27,6): 6em = una riga normale da 5,7em (token 5,32em + 0,38em d'aria) / 0,95 (cornice del 2,5% sopra e sotto); corpo carattere = --fcm-h / --fcm-nem */
		--fcm-disp-fondo:#fffbe6;           /* DISPONIBILI = crema + giallo: gli stessi colori di .fcampo-pannello-disp (stilenew.css riga 1572) */
		--fcm-disp-bordo:var(--giallo);
		--fcm-pan-fondo:#e9eef7;            /* PANCHINA = azzurrino + blu notte: gli stessi colori di .fcampo-pannello-pan (stilenew.css riga 1573) */
		--fcm-pan-bordo:var(--notte);
		padding-bottom:calc(var(--fcm-dock-h) + 14px);
		overscroll-behavior-y:contain;      /* niente pull-to-refresh: ricaricare farebbe perdere la bozza */
	}
	@supports (height:1svh){.fcm-tap{--fcm-h:clamp(266px,39.2svh,342px)}}

	/* --- pagina compattata: meno aria sopra il campo, margini laterali stretti --- */
	/* il titolo della pagina si COMPRIME (titolo piccolo + giornata sulla stessa riga) invece di occupare ~90px: il blocco campo + barra ruoli sta cosi' nella prima
	   schermata e il dock non copre la barra ruoli. Valori da affinare col dito. */
	.fcm-tap .pagina-testa{padding:10px 0 4px}
	.fcm-tap .pagina-testa .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 10px}
	.fcm-tap .pagina-testa h1{font-size:20px;line-height:1.15}
	.fcm-tap .pagina-testa span{font-size:12px;letter-spacing:.6px}
	.fcm-tap .corpo-full .wrap{padding:0 var(--fcm-gutter)}
	.fcm-tap .corpo-full{padding:6px 0 0}
	.fcm-tap .card.fcampo-testa{padding:12px;margin-top:6px}
	.fcm-tap .fcampo-testa-riga{gap:8px 14px}
	.fcm-tap .fcampo-match strong{font-size:17px}
	.fcm-tap .fcampo-nota{display:none}
	/* MODULO: tutte e 7 le pillole sempre visibili (griglia a colonne uguali, niente riga che scorre: il modulo scelto non puo' finire fuori schermo).
	   Evidenziato SOLO il modulo scelto. In anteprima il markup ha DUE pillole "attive": il salvato come link (a.fcampo-mod-attivo, esiste solo in
	   anteprima) e il nuovo (span.fcampo-mod-anteprima). Il salvato torna una pillola normale, il nuovo prende il look "attivo" (blu notte, testo
	   giallo, bordo pieno) al posto del giallo tratteggiato: l'anteprima non salvata la dice il pallino del dock. */
	.fcm-tap .fcampo-modblocco{display:block;width:100%}
	.fcm-tap .fcampo-mod-etichetta{display:block;margin:0 0 4px}
	.fcm-tap .fcampo-moduli{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px}
	.fcm-tap .fcampo-mod{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:0;border-radius:8px;text-align:center;font-size:12px;letter-spacing:.2px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,207,51,.35)} /* ora e' un comando che si usa spesso (cambia il modulo senza ricaricare): bersaglio da 44px */
	.fcm-tap .fcampo-mod-anteprima{background:var(--notte);color:var(--giallo);border:1px solid var(--notte)}
	.fcm-tap a.fcampo-mod.fcampo-mod-attivo{background:#fff;color:var(--notte);border:1px solid var(--linea)}
	.fcm-tap .fcampo-banner{display:none} /* l'anteprima non salvata su mobile confonde: la dice il pallino del dock */
	/* niente pie' di pagina col layer: scorrendo la lista fino in fondo compariva il copyright FANTAVITA e dava fastidio (le colonne di link .nav-piedone-top sono gia'
	   nascoste sotto i 1000px dal blocco globale mobile: qui per sicurezza). Lo spazio sotto l'ultima riga lo da' il padding-bottom del body (dock + 14px). */
	.fcm-tap .piedone,.fcm-tap .nav-piedone-top{display:none}

	/* --- STICKY: il blocco campo + barra ruoli resta sotto l'header. Due trappole risolte qui:
	       1) .card ha overflow:hidden (stilenew.css riga 90) e un antenato con overflow impedisce lo sticky: .fcampo-lavoro lo perde;
	       2) un elemento di griglia non puo' incollarsi oltre la propria area (la colonna singola ha due righe: sx e dx): .fcampo-area diventa un blocco --- */
	.fcm-tap .card.fcampo-lavoro{overflow:visible;padding:0;margin-top:8px;border:0;border-radius:0;background:transparent;scroll-margin-top:calc(var(--fcm-top) + 4px)} /* saltando a #campo il blocco si ferma subito sotto l'header */
	.fcm-tap .fcampo-area{display:block}
	.fcm-tap .fcampo-sx{position:-webkit-sticky;position:sticky;top:var(--fcm-top);z-index:30;padding:6px 0 0;background:var(--panna);box-shadow:0 8px 10px -9px rgba(8,20,40,.45)}
	.fcm-tap .fcampo-sezione-s{display:none}
	.fcm-tap .fcampo-azioni{display:none} /* Salva/Svuota/Ripristina veri restano nel DOM: li usa il dock (proxy), con i loro handler */

	/* --- CAMPO ALTO FISSO (iterazione 5): l'altezza e' UNA sola, uguale per tutti i moduli (--fcm-h), invece del rapporto 74x82 dell'SVG: niente campo che cresce e si
	       accorcia cambiando modulo (l'iterazione 4 lo allungava solo nei moduli da 5: effetto fisarmonica, tolto). Cambia solo cio' che sta dentro. I 4 reparti dividono
	       l'altezza in parti uguali, tranne la riga da 5 che pesa --fcm-spezza; la fantamedia non c'e' (a 8px era illeggibile) ma resta nelle liste.
	       Geometria in em: il corpo carattere e' --fcm-h / --fcm-nem, con --fcm-nem = 6 x (3 + peso) = 27,6. Il campo e' dimensionato sul caso piu' stretto, un modulo con un
	       reparto da 5: li' le righe normali sono 5,7em (token 5,32em + 0,38em d'aria) su un campo utile del 95% e quella da 5 e' 9,1em. A 266px: em 9,6px, cerchi 33,7px,
	       nomi 12,5px (il 10% piu' grandi di prima). Nei moduli normali le 4 righe sono uguali (6,6em = 63px per un token di 5,3em): ~12px d'aria fra i reparti (prima ~3px).
	       Sticky: il blocco campo + barra ruoli e' alto uguale in ogni modulo; alla lista resta schermo - 186px - campo. --- */
	.fcm-tap .fcampo-campo{max-width:720px;height:var(--fcm-h);margin:0 auto;border-radius:12px;box-shadow:none}
	.fcm-tap .fcampo-svg{display:none}
	.fcm-tap .fcampo-campo::before{content:"";position:absolute;left:3%;right:3%;top:50%;height:0;border-top:1px solid rgba(255,255,255,.38)}
	.fcm-tap .fcampo-campo::after{content:"";position:absolute;left:50%;top:50%;width:calc(var(--fcm-h) * .3);height:calc(var(--fcm-h) * .3);margin:calc(var(--fcm-h) * -.15) 0 0 calc(var(--fcm-h) * -.15);border:1px solid rgba(255,255,255,.38);border-radius:50%}
	.fcm-tap .fcampo-righe{top:2.5%;bottom:2.5%;left:1.5%;right:1.5%;font-size:calc(var(--fcm-h) / var(--fcm-nem))}
	.fcm-tap .fcampo-riga{flex:1 1 0;min-height:0;justify-content:space-around;align-items:center}
	.fcm-tap .fcampo-pl,.fcm-tap .fcampo-vuoto{flex:1 1 0;width:auto;max-width:8em;min-width:0;min-height:0;padding:.1em 0;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,207,51,.35)}
	.fcm-tap .fcampo-cerchio{width:3.5em;height:3.5em;border-width:.18em;box-shadow:0 .2em .5em rgba(0,0,0,.4)}
	.fcm-tap .fcampo-cerchio-vuoto{width:3.5em;height:3.5em}
	.fcm-tap .fcampo-piu{font-size:1.9em}
	.fcm-tap .fcampo-nome{margin-top:.12em;font-size:1.3em;line-height:1.15}
	.fcm-tap .fcampo-campo .fcampo-fm,.fcm-tap .fcampo-vuoto-ruolo{display:none}
	.fcm-tap .fcampo-sq{top:-.2em;margin-left:1.1em;font-size:.8em}
	/* --- CAMPO SPEZZATO (iterazione 3): un reparto da 5 (difesa nei 5-x-x, centrocampo negli x-5-x) non sta in fila stretta ma su DUE LIVELLI.
	       L'ordine nel DOM e' la gerarchia (posto 0..4 = da sinistra a destra): 1o = esterno sinistro, 2o-3o-4o = centrali, 5o = esterno destro. I 3 centrali stanno
	       in alto, i 2 esterni ai bordi e piu' in basso. La riga pesa --fcm-spezza (1,6) contro 1 degli altri reparti: con il campo alto fisso lo scarto fra i livelli e'
	       (5,7 x peso - 5,3) em = 3,8em, circa un cerchio (37px a 266px; con peso 1,3 erano 14px). In orizzontale basso (campo da 210px) il peso torna 1,3: reparti a contatto,
	       scarto 14px. Celle disgiunte (19% / 3 x 20,67% / 19%): i bersagli di tocco non si sovrappongono mai; i nomi stanno in una cella (55-82px a seconda del telefono).
	       Posti e box vuoti sono figli della stessa riga. --- */
	.fcm-tap .fcampo-riga[data-n="5"]{flex-grow:var(--fcm-spezza);display:grid;grid-template-columns:19fr 20.67fr 20.67fr 20.67fr 19fr;grid-template-rows:minmax(0,1fr);justify-content:stretch}
	.fcm-tap .fcampo-riga[data-n="5"]>.fcampo-pl,.fcm-tap .fcampo-riga[data-n="5"]>.fcampo-vuoto{width:auto;max-width:none;align-self:start}
	.fcm-tap .fcampo-riga[data-n="5"]>:first-child,.fcm-tap .fcampo-riga[data-n="5"]>:last-child{align-self:end}
	/* selezione e bersagli sul campo */
	.fcm-tap .fcampo-pl.fcm-sel .fcampo-cerchio{box-shadow:0 0 0 .3em var(--giallo),0 .2em .6em rgba(0,0,0,.5);transform:scale(1.08)}
	.fcm-tap .fcampo-pl.fcm-sel .fcampo-nome{padding:0 .45em;border-radius:999px;background:var(--giallo);color:var(--notte);text-shadow:none}
	/* posto libero ATTIVO (tocco su un "+"): anello giallo pieno e FERMO (i posti validi per un giocatore selezionato pulsano); il giocatore o la riserva toccati nella lista
	   entrano proprio qui, senza menu */
	.fcm-tap .fcampo-vuoto.fcm-sel .fcampo-cerchio-vuoto{border:2px solid var(--giallo);background:rgba(255,207,51,.6);box-shadow:0 0 0 .3em rgba(255,207,51,.55);transform:scale(1.1)}
	.fcm-tap .fcampo-vuoto.fcm-sel .fcampo-piu{color:var(--notte)}
	.fcm-tap .fcm-bersaglio .fcampo-cerchio-vuoto{border:2px solid var(--giallo);background:rgba(255,207,51,.3);animation:fcm-pulsa 1s ease-in-out infinite}
	.fcm-tap .fcampo-pl.fcm-bersaglio .fcampo-cerchio{box-shadow:0 0 0 .3em rgba(255,207,51,.7);animation:fcm-pulsa 1s ease-in-out infinite}
	.fcm-tap .fcm-bersaglio-no{opacity:.4}

	/* --- BARRA RUOLI a DUE GRUPPI (creata dal JS, dentro il blocco sticky): riquadro giallo DISPONIBILI coi 4 reparti + chip PANCHINA blu notte a parte.
	       Stessi colori del desktop: crema/giallo = disponibili, azzurrino/blu notte = panchina. Dentro il riquadro i chip contano i DISPONIBILI del
	       reparto (e compare una spunta quando il reparto e' completo in campo). --- */
	.fcm-tap .fcm-bar{display:flex;gap:8px;padding:10px 0 6px}
	.fcm-tap .fcm-gr{position:relative;display:flex;gap:5px;min-width:0}
	.fcm-tap .fcm-gr-disp{flex:4 1 0;padding:7px 4px 4px;border:2px solid var(--fcm-disp-bordo);border-radius:12px;background:var(--fcm-disp-fondo)}
	.fcm-tap .fcm-gr-pan{flex:1.45 1 0}
	.fcm-tap .fcm-leg{position:absolute;top:-9px;left:10px;z-index:1;padding:1px 8px;border-radius:999px;background:var(--giallo);color:var(--notte);font:700 10px/1.3 'Oswald',sans-serif;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
	.fcm-tap .fcm-leg-n{display:inline-block}
	.fcm-tap .fcm-chip{flex:1 1 0;min-width:0;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px 2px;border:1px solid #ecd98a;border-bottom:3px solid var(--fc-ruolo,var(--linea));border-radius:9px;background:#fff;color:var(--notte);font-family:'Oswald',sans-serif;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
	.fcm-tap .fcm-chip-n{font-size:12px;font-weight:600;letter-spacing:.5px;line-height:1}
	.fcm-tap .fcm-chip-c{display:inline-block;font:700 13px/1 'PT Sans',sans-serif}
	.fcm-tap .fcm-chip-ok .fcm-chip-n::after{content:" \2713";color:#17803f}
	.fcm-tap .fcm-gr-disp .fcm-chip[aria-selected="true"]{background:var(--giallo);border-color:var(--giallo);border-bottom-color:var(--fc-ruolo,var(--notte))}
	.fcm-tap .fcm-chip-pan{background:var(--fcm-pan-fondo);border:2px solid var(--fcm-pan-bordo);border-radius:12px}
	.fcm-tap .fcm-chip-pan[aria-selected="true"]{background:var(--notte);color:#fff}
	.fcm-tap .fcm-chip:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
	.fcm-tap .fcm-salto{animation:fcm-salto .6s ease-out}

	/* --- LISTE: un solo pannello alla volta (lo sceglie la barra ruoli via data-vista), righe >= 44px. Le due zone hanno identita' DIVERSA coi colori del
	       desktop (le variabili --fc-* stanno gia' sui due pannelli, stilenew.css 1572-1573): DISPONIBILI = fascia gialla, fondo crema, bordo giallo;
	       PANCHINA = fascia blu notte, fondo azzurrino, bordo blu notte, numeri d'ordine e frecce. NESSUN min-height: la lista finisce dove finiscono i nomi. --- */
	.fcm-tap .fcampo-dx{margin-top:4px}
	.fcm-tap .fcampo-dx-in{gap:6px}
	.fcm-tap .fcampo-pannelli{display:block}
	.fcm-tap .fcampo-pannello{border:2px solid var(--fc-bordo);border-radius:12px;background:var(--fc-corpo);overflow:hidden}
	.fcm-tap .fcampo-pannello-testa{display:flex;align-items:center;gap:10px;padding:8px 12px}
	.fcm-tap .fcampo-pannello-testa::after{content:attr(data-cap);margin-left:auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:600 12px 'PT Sans',sans-serif;letter-spacing:0;text-transform:none;opacity:.9}
	.fcm-tap .fcampo-pt{font-size:16px}
	.fcm-tap .fcampo-pt-sotto{display:none}
	.fcm-tap .fcampo-pannello-corpo{padding:0 10px 6px}
	.fcm-tap .fcampo-dx[data-vista="pan"] .fcampo-pannello-disp{display:none}
	.fcm-tap .fcampo-dx[data-vista]:not([data-vista="pan"]) .fcampo-pannello-pan{display:none}
	.fcm-tap .fcampo-dx[data-vista="1"] .fcampo-pannello-disp .fcampo-pan-gruppo:not(.fcampo-r1){display:none}
	.fcm-tap .fcampo-dx[data-vista="2"] .fcampo-pannello-disp .fcampo-pan-gruppo:not(.fcampo-r2){display:none}
	.fcm-tap .fcampo-dx[data-vista="3"] .fcampo-pannello-disp .fcampo-pan-gruppo:not(.fcampo-r3){display:none}
	.fcm-tap .fcampo-dx[data-vista="4"] .fcampo-pannello-disp .fcampo-pan-gruppo:not(.fcampo-r4){display:none}
	.fcm-tap .fcampo-pannello-disp .fcampo-pan-tit{display:none}
	.fcm-tap .fcampo-pan-tit{padding:10px 4px 6px;font-size:13px}
	.fcm-tap .fcm-vuoto{display:block;padding:22px 8px;text-align:center;color:var(--muto);font-size:14px}
	.fcm-tap .fcampo-pan-lista{margin:0 0 4px}
	.fcm-tap .fcampo-pan-item{border-bottom:1px solid var(--fc-riga)}
	.fcm-tap .fcampo-pan-item:last-child{border-bottom:0}
	.fcm-tap .fcampo-pan-item a{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;min-height:var(--fcm-riga);padding:6px 10px;border-bottom:0;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,207,51,.35)}
	.fcm-tap .fcampo-el-pan a{grid-template-columns:24px 34px minmax(0,1fr) auto}
	.fcm-tap .fcampo-cerchio-s{width:34px;height:34px}
	.fcm-tap .fcampo-pan-ord{width:24px;height:24px;font-size:13px}
	.fcm-tap .fcampo-pan-nome{font-size:15px}
	.fcm-tap .fcampo-pan-item .fcampo-fm{font-size:12px;min-width:3.3em;height:1.9em}
	.fcm-tap .fcampo-pan-item a:hover{background:transparent}
	/* righe selezionate / candidate / incompatibili (classi messe dal JS): la selezione e' bianca col contorno blu notte (il giallo sul crema non si vedrebbe) */
	.fcm-tap .fcampo-pan-item.fcm-sel>a{background:#fff;box-shadow:inset 0 0 0 2px var(--notte)}
	.fcm-tap .fcampo-pan-item.fcm-cand>a{background:#d9f3e3;box-shadow:inset 5px 0 0 var(--verde)}
	.fcm-tap .fcampo-pan-item.fcm-incompat{opacity:.38}
	/* frecce su/giu della panchina: fratelli dell'<a> dentro il <li> */
	.fcm-tap .fcampo-el-pan{display:flex;align-items:stretch}
	.fcm-tap .fcampo-el-pan>a{flex:1 1 auto;min-width:0}
	.fcm-tap .fcm-frecce{display:flex;flex:none}
	.fcm-tap .fcm-fr{width:44px;min-height:var(--fcm-riga);border:0;border-left:1px solid rgba(8,20,40,.1);background:transparent;color:var(--notte);font-size:15px;line-height:1;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(255,207,51,.45)}
	.fcm-tap .fcm-fr:disabled{opacity:.2;cursor:default}

	/* --- DOCK in basso (creato dal JS): a riposo contatori + "..." + Salva; con una selezione il micro-menu --- */
	.fcm-tap .fcm-dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:8px var(--fcm-gutter) calc(8px + env(safe-area-inset-bottom,0px));background:var(--notte);color:#fff;box-shadow:0 -8px 20px rgba(8,20,40,.35)}
	.fcm-tap .fcm-dock[data-modo="sel"] .fcm-dock-riposo{display:none}
	.fcm-tap .fcm-dock[data-modo="riposo"] .fcm-dock-sel{display:none}
	.fcm-tap .fcm-dock-riposo{display:flex;align-items:center;gap:10px}
	.fcm-tap .fcm-cont{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
	.fcm-tap .fcm-cont-tit{font:700 16px/1.1 'Oswald',sans-serif;letter-spacing:.5px;text-transform:uppercase}
	.fcm-tap .fcm-cont-pan{font-size:12px;opacity:.85}
	.fcm-tap .fcm-bozza{flex:none;width:10px;height:10px;border-radius:50%;background:transparent}
	.fcm-tap .fcm-bozza-on{background:var(--giallo);box-shadow:0 0 0 3px rgba(255,207,51,.3)}
	.fcm-tap .fcm-btn{min-height:44px;border:0;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
	.fcm-tap .fcm-btn-altro{flex:none;width:44px;border:2px solid rgba(255,255,255,.5);border-radius:50%;background:transparent;color:#fff;font-size:22px;line-height:1}
	.fcm-tap .fcm-btn-salva{flex:none;padding:0 22px;border-radius:999px;background:var(--giallo);color:var(--notte);font:700 15px 'Oswald',sans-serif;letter-spacing:.7px;text-transform:uppercase}
	.fcm-tap .fcm-btn-salva[aria-disabled="true"]{opacity:.45}
	.fcm-tap .fcm-altro-box{position:relative;flex:none}
	.fcm-tap .fcm-altro{display:none;position:absolute;right:0;bottom:calc(100% + 10px);min-width:200px;flex-direction:column;overflow:hidden;border-radius:12px;background:#fff;color:var(--notte);box-shadow:0 12px 28px rgba(8,20,40,.4)}
	.fcm-tap .fcm-aperto .fcm-altro{display:flex}
	.fcm-tap .fcm-altro-v{min-height:48px;padding:0 16px;border:0;border-bottom:1px solid var(--linea);background:#fff;color:var(--notte);font:700 15px 'PT Sans',sans-serif;text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation}
	.fcm-tap .fcm-altro-v:last-child{border-bottom:0}
	.fcm-tap .fcm-altro-v[data-altro="svuota"]{color:var(--rosso)}
	/* modalita' selezione */
	.fcm-tap .fcm-sel-id{display:flex;align-items:center;gap:10px}
	.fcm-tap .fcm-sel-id .fcampo-cerchio-s{flex:none;width:40px;height:40px}
	.fcm-tap .fcm-sel-nome{flex:1 1 auto;min-width:0}
	.fcm-tap .fcm-sel-nome b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font:700 16px/1.2 'PT Sans',sans-serif}
	.fcm-tap .fcm-sel-nome small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px;opacity:.92}
	/* pillola di zona nella barra azioni: crema/giallo = disponibile, azzurrino = in panchina, verde = in campo */
	.fcm-tap .fcm-zona{display:inline-block;margin-right:6px;padding:1px 7px;border-radius:999px;font:700 10px/1.4 'Oswald',sans-serif;letter-spacing:.7px;text-transform:uppercase;vertical-align:1px}
	.fcm-tap .fcm-zona-disp{background:var(--giallo);color:var(--notte)}
	.fcm-tap .fcm-zona-pan{background:var(--fcm-pan-fondo);color:var(--notte)}
	.fcm-tap .fcm-zona-campo{background:var(--verde);color:var(--notte)}
	.fcm-tap .fcm-x{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:18px;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation}
	.fcm-tap .fcm-sel-hint{margin:6px 0 0;font-size:12.5px;line-height:1.3;opacity:.9}
	@media (max-height:700px){.fcm-tap .fcm-sel-hint{display:none}}
	.fcm-tap .fcm-sel-azioni{display:flex;gap:8px;margin-top:8px}
	.fcm-tap .fcm-az{flex:1 1 0;min-width:0;min-height:46px;display:flex;align-items:center;justify-content:center;padding:0 6px;border:0;border-radius:12px;background:var(--giallo);color:var(--notte);font:700 14px 'Oswald',sans-serif;letter-spacing:.5px;text-transform:uppercase;text-align:center;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
	.fcm-tap .fcm-az-sec{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}
	.fcm-tap .fcm-az-no{opacity:.4}

	/* --- BOZZA LOCALE e AVVISO D'USCITA (iterazione 7, creati dal JS): la fascia "hai una formazione non salvata, vuoi riprenderla?" sta in cima al campo, IN FLUSSO (non copre niente,
	       non blocca); il dialogo [Esci] [Resta] e' un velo a tutto schermo con la scheda centrata, sopra l'header (60), il menu (59) e il dock (40), sotto il toast (9998).
	       Crema/giallo come la zona DISPONIBILI, blu notte come la PANCHINA; tutti i pulsanti >= 44px. --- */
	.fcm-tap .fcm-ripresa{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:8px 0 0;padding:10px 12px;border:2px solid var(--fcm-disp-bordo);border-radius:12px;background:var(--fcm-disp-fondo);color:var(--notte)}
	.fcm-tap .fcm-ripresa-testo{flex:1 1 190px;min-width:0;margin:0;font-size:14px;line-height:1.3}
	.fcm-tap .fcm-ripresa-testo b{font-weight:700}
	.fcm-tap .fcm-ripresa-nota{display:block;margin-top:3px;font-size:12.5px;opacity:.85}
	.fcm-tap .fcm-ripresa-azioni{flex:1 1 180px;display:flex;gap:8px}
	.fcm-tap .fcm-ripresa-b{flex:1 1 0;min-width:0;min-height:44px;padding:0 12px;border:2px solid var(--notte);border-radius:999px;font:700 14px 'Oswald',sans-serif;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
	.fcm-tap .fcm-ripresa-si{background:var(--notte);color:var(--giallo)}
	.fcm-tap .fcm-ripresa-no{background:transparent;color:var(--notte)}
	.fcm-tap .fcm-modale{display:none;position:fixed;left:0;right:0;top:0;bottom:0;z-index:200;align-items:center;justify-content:center;padding:16px;background:rgba(8,20,40,.62);touch-action:none;cursor:pointer}
	.fcm-tap .fcm-modale.fcm-modale-aperta{display:flex}
	.fcm-tap .fcm-modale-scheda{cursor:default;width:100%;max-width:360px;padding:18px 16px 16px;border-radius:16px;background:#fff;color:var(--notte);box-shadow:0 18px 44px rgba(8,20,40,.5)}
	.fcm-tap .fcm-modale-testo{margin:0;font-size:16px;line-height:1.35}
	.fcm-tap .fcm-modale-testo b{font:700 18px/1.2 'Oswald',sans-serif;letter-spacing:.3px}
	.fcm-tap .fcm-modale-nota{margin:8px 0 0;font-size:13px;line-height:1.35;color:var(--muto)}
	.fcm-tap .fcm-modale-nota:empty{display:none}
	.fcm-tap .fcm-modale-azioni{display:flex;gap:10px;margin-top:16px}
	.fcm-tap .fcm-modale-b{flex:1 1 0;min-width:0;min-height:48px;padding:0 8px;border:2px solid var(--notte);border-radius:12px;font:700 15px 'Oswald',sans-serif;letter-spacing:.6px;text-transform:uppercase;cursor:pointer;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
	.fcm-tap .fcm-modale-esci{background:#fff;color:var(--rosso);border-color:var(--rosso)}
	.fcm-tap .fcm-modale-resta{background:var(--giallo);color:var(--notte)}
	.fcm-tap .fcm-modale-b:focus-visible{outline:3px solid var(--blu);outline-offset:2px}

	/* --- SNACKBAR: e' il toast del motore (#fcampo-toast), portato in basso sopra il dock --- */
	.fcm-tap .fcampo-toast{top:auto;bottom:calc(var(--fcm-dock-h) + 12px);max-width:min(94vw,520px);padding:11px 16px;font-size:15px;transform:translate(-50%,16px)}
	.fcm-tap .fcampo-toast-visibile{transform:translate(-50%,0)}

	@media (prefers-reduced-motion:reduce){
		.fcm-tap .fcm-bersaglio .fcampo-cerchio-vuoto,.fcm-tap .fcampo-pl.fcm-bersaglio .fcampo-cerchio,.fcm-tap .fcm-salto{animation:none}
	}
}

/* ---- telefono in orizzontale (basso): due colonne, campo sticky a sinistra e lista a destra (best effort). Il campo da 210px sta gia' stretto accanto alla lista:
        qui resta la resa dell'iterazione 3 (peso della riga da 5 1,3 e corpo carattere = altezza / 24: reparti a contatto, scarto fra i livelli 14px), non il campo alto fisso ---- */
@media (max-width:960px) and (orientation:landscape) and (max-height:520px){
	.fcm-tap{--fcm-h:210px;--fcm-spezza:1.3;--fcm-nem:24}
	.fcm-tap .fcampo-area{display:grid;grid-template-columns:minmax(0,47%) minmax(0,1fr);gap:10px;align-items:start}
	.fcm-tap .fcampo-dx{margin-top:0}
}

/* ===== voce di SOTTOmenu disabilitata (Albo d'oro nascosto da nav_new.php e footer_new.php): stessa resa di "Coppa" (.nav-disabled) dentro tendina desktop, pannello mobile e colonne del footer.
   La regola base .nav-disabled e' pensata per le voci di primo livello. Nessuna classe nuova e niente important: batte la base con una classe in piu' (contenitore esistente + .nav-disabled).
   Le tre "Coppa" non cambiano (non stanno in .nav-drop-panel ne' in .nav-mobile-sub; nel footer e' esclusa con :not(.nav-piedone-tit)). Riattivare l'Albo = interruttori a true, queste regole restano innocue. ===== */
.nav-drop-panel .nav-disabled{padding:10px 17px;white-space:nowrap}
.nav-piedone-col .nav-disabled:not(.nav-piedone-tit){display:block;padding:4px 0;font-size:14px;font-weight:400}
@media (max-width:1000px){
	.nav-mobile .nav-mobile-sub .nav-disabled{display:flex;align-items:center;min-height:44px;padding:8px 4px 8px 22px;border-bottom:0;font-family:'PT Sans',sans-serif;font-weight:400;font-size:16px;line-height:1.25;color:rgba(255,255,255,.35)}
	.nav-mobile .nav-mobile-sub .nav-disabled::before{content:"\2013";flex:none;width:20px;color:rgba(255,255,255,.35)}
}

/* ===== ALLENATORI mobile (allenatori.php) - prefisso alle- =====
   Tutto quello che cambia sta dentro UN solo @media (max-width:700px): sopra i 700px la pagina e' quella di prima. 700px e' la soglia gia' usata da home e classifica per le
   tabelle: la piu' larga (Mondo perfetto) scrolla fino a ~540px di viewport; sotto i 700px restano 3 colonne (# cognome valore) che entrano senza scroll anche a 320px.
   Nessuna regola esistente toccata e niente important: le regole mobile battono le base con una classe in piu'. tab-full base intatta (alle tabelle si aggiunge solo alle-tab).
   Fuori dal media solo 2 righe con valori IDENTICI a prima: .alle-pos (era lo style inline padding-left:22px, come cl-pos in classifica.php) e .alle-nm-ini (iniziale degli omonimi, nascosta su desktop). */
.tab-full th.alle-pos,.tab-full td.alle-pos{padding-left:22px}
.alle-nm-ini{display:none}
@media (max-width:700px){
	.alle-t-lungo,.alle-sotto,.alle-nm-pre,.alle-tab .alle-logo,.alle-tab .alle-mnasc{display:none}
	.alle-nm-ini{display:inline}
	.alle-select{font-size:16px}
	.alle-testa-rend{column-gap:8px}
	.tab-full.alle-tab th.alle-pos,.tab-full.alle-tab td.alle-pos{padding:7px 6px 7px 14px}
	.tab-full.alle-tab th.alle-primo,.tab-full.alle-tab td.alle-primo{padding-left:12px}
}

/* ===== CHIAPPE TONANTI dettaglio, solo mobile (chiappe_tonanti_dettaglio.php) - prefisso chtn- =====
   Il banner grande in cima all'articolo si nasconde sotto i 1000px (la soglia dell'hamburger); sopra resta com'e'. Nessun buco: il banner non ha margin ne' padding e .chtn-post-wrap non ha padding in
   alto, quindi sotto la testata parte direttamente il link "Torna a Chiappe Tonanti" col suo margine di sempre (20px). L'img ha loading="lazy": nascosto, il browser non lo scarica (501 KB).
   Nessuna regola esistente toccata e niente important: stessa specificita' della regola base .chtn-post-banner{display:block}, ma piu' in basso. */
@media (max-width:1000px){
	.chtn-post-banner{display:none}
}

/* ===== PREMIO MAROTTA mobile (premio_marotta.php) - prefisso mrt- =====
   Tutto dentro UN solo @media (max-width:700px), come Allenatori: sopra i 700px la pagina e' quella di prima (a 701-900px restano striscia e banner come oggi).
   A <=700px: via la fascia blu col logo (.mrt-testata e' un contenitore: sparisce col suo padding e sotto parte .pagina-testa), via la striscia di link (.mrt-elenco) e al suo posto
   la tendina .mrt-select (stesso schema del select giornata di Allenatori; font 16px = niente zoom su iOS). Il nome del vincitore scala con la larghezza: spazio per il testo =
   100vw - 164px (wrap 26+26, bordo 2, padding 20+20, logo squadra 56, gap 14), coefficiente 7.8 misurato coi font reali (25 utenti su 27 stanno su una riga a 390px); da ~476px torna a 40px.
   Fuori dal media solo .mrt-tendina{display:none}: e' un elemento nuovo, nessun elemento esistente cambia. Nessuna regola esistente toccata e niente important. */
.mrt-tendina{display:none}
@media (max-width:700px){
	.mrt-testata,.mrt-elenco{display:none}
	.mrt-tendina{display:block}
	.mrt-select{display:block;width:100%;padding:11px 12px;border:1px solid var(--linea);border-radius:10px;background:var(--carta);color:var(--inchiostro);font:700 16px 'PT Sans',sans-serif}
	.mrt-dettaglio-nome{font-size:clamp(20px,calc((100vw - 164px) / 7.8),40px)}
}

/* ===== CALCOLA mobile (calcola.php) - prefisso calc- =====
   Tutto dentro UN solo @media (max-width:1000px) (la soglia dell'hamburger): sopra i 1000px la pagina e' quella di prima. Fuori dal media solo 2 righe, per elementi NUOVI (.calc-nome-m,
   .calc-chk) che su desktop restano nascosti. Schema della classifica (cl-tabella): colonna sinistra ferma (pallino del ruolo 24px + cognome 112px, sticky con sfondo pieno anche sulle righe
   pari della zebra e ombra a destra) e area destra che scorre dentro .calc-tab-scroll (overflow-x gia' presente). table-layout fixed con <colgroup> (l'intestazione ha colspan=2: le larghezze
   non si leggono dalla prima riga); min-width 808px = 24+112+12x56. Il cognome non e' un link su mobile: un tap sbagliato farebbe perdere i dati non salvati.
   AMMONIZIONE/ESPULSIONE: il <select> originale resta l'UNICO campo con quel name (sempre inviato, anche se nascosto); la casella .calc-chk la crea lo script in calcola.php, non ha name e
   scrive nel select; il select si nasconde solo se lo script e' partito (classe calc-js sull'html): senza JS restano i select. Nessuna regola esistente toccata e niente important. */
.calc-nome-m{display:none}
.calc-chk{display:none}
@media (max-width:1000px){
	.calc-card{padding:10px}
	.calc-tab-scroll{scroll-padding-left:140px;overscroll-behavior-x:contain}
	.calc-tab{table-layout:fixed;border-collapse:separate;border-spacing:0;min-width:808px}
	.calc-tab col:nth-child(1){width:24px}
	.calc-tab col:nth-child(2){width:112px}
	.calc-tab col:nth-child(n+3){width:56px}
	.calc-tab col:nth-child(14){width:auto}
	.calc-tab td{padding:4px 2px}
	.calc-tab tr:first-child td{padding:8px 2px}
	.calc-tab td.calc-ruolo,.calc-tab td.calc-nome{position:sticky;z-index:2;background:#fff}
	.calc-tab tr:nth-child(even) td.calc-ruolo,.calc-tab tr:nth-child(even) td.calc-nome{background:var(--panna)}
	.calc-tab td.calc-ruolo{left:0;padding:0;font-size:0;line-height:0;text-align:center}
	.calc-tab td.calc-nome{left:24px;padding:4px 8px 4px 4px;line-height:1.2;white-space:normal;overflow-wrap:anywhere;border-right:1px solid var(--linea);box-shadow:6px 0 8px -6px rgba(8,20,40,.25)}
	.calc-tab tr:first-child td:first-child{position:sticky;left:0;z-index:3;background:#fff;border-right:1px solid var(--linea);box-shadow:6px 0 8px -6px rgba(8,20,40,.25)}
	.calc-tab td.calc-ruolo::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:#7a89a3;vertical-align:middle}
	.calc-tab td.calc-r1::before{background:#e8a13c}
	.calc-tab td.calc-r2::before{background:#3a8fd6}
	.calc-tab td.calc-r3::before{background:#2fae6b}
	.calc-tab td.calc-r4::before{background:#d64545}
	.calc-nome a{display:none}
	.calc-nome-m{display:block}
	.calc-in{height:44px;padding:0 4px}
	.calc-select{font-size:16px;min-height:44px}
	.calc-submit{font-size:16px;min-height:44px}
	.calc-js .calc-tab select.calc-select{display:none}
	.calc-chk{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 auto;cursor:pointer}
	.calc-chk input{width:26px;height:26px;margin:0}
}
