:root {
  --sfondo: #0e0f14; --sfondo2: #1a1020; --testo: #f1f2f6; --muto: #9aa0ae; --rosso: #e10600;
  --vetro: rgba(255,255,255,.07); --bordo: rgba(255,255,255,.14); --ok: #2ecc71; --giallo: #ffd400;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { -webkit-text-size-adjust: 100%; touch-action: manipulation; }
body {
  margin: 0; color: var(--testo); font: 15px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background: #0e0f14; background: radial-gradient(1200px 700px at 10% -10%, #3a0b10 0%, transparent 60%), linear-gradient(160deg, var(--sfondo) 0%, var(--sfondo2) 100%) fixed;
  min-height: 100vh; min-height: 100dvh; padding-bottom: calc(68px + env(safe-area-inset-bottom));
}
.testata {
  position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 10px; max-width: 1280px; margin: 0 auto;
  padding: calc(10px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 10px calc(16px + env(safe-area-inset-left));
  background: rgba(14,15,20,.88);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .testata { background: rgba(14,15,20,.6); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
}
h1 { margin: 0; font-size: 18px; letter-spacing: .14em; font-weight: 800; }
h1 span { color: var(--rosso); margin-left: 6px; }
.stato { margin-left: auto; font-size: 12px; color: var(--muto); }
main { max-width: 1280px; margin: 0 auto; padding: 8px calc(16px + env(safe-area-inset-right)) 16px calc(16px + env(safe-area-inset-left)); }
section[hidden] { display: none; }
.griglia { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 800px) { .griglia.due { grid-template-columns: repeat(2, minmax(0, 1fr)); } .griglia.tre { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.vetro {
  background: rgba(40,42,54,.9); border: 1px solid var(--bordo); border-radius: 18px; padding: 14px 16px; box-shadow: 0 8px 28px rgba(0,0,0,.35);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .vetro { background: var(--vetro); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
}
.vetro h2 { margin: 0 0 8px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muto); font-weight: 700; }
.grande { font-size: 22px; font-weight: 800; }
.muto { color: var(--muto); }
.piccolo { font-size: 12px; }

/* Box in diretta: lampeggia */
.box-live {
  display: block; text-decoration: none; color: inherit; border-radius: 18px; padding: 16px; border: 2px solid var(--rosso);
  background: rgba(225,6,0,.18); animation: lampeggia 1.2s ease-in-out infinite; min-height: 44px;
}
.box-live .titolo { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 18px; }
.box-live .punto, .pillola-live i { width: 12px; height: 12px; border-radius: 50%; background: var(--rosso); display: inline-block; animation: lampeggia-punto 1s ease-in-out infinite; }
.box-live .vai { margin-top: 6px; color: #ffb4b0; font-size: 13px; }
@keyframes lampeggia { 0%,100% { box-shadow: 0 0 0 0 rgba(225,6,0,.65); background: rgba(225,6,0,.18); } 50% { box-shadow: 0 0 22px 6px rgba(225,6,0,.55); background: rgba(225,6,0,.34); } }
@keyframes lampeggia-punto { 0%,100% { opacity: 1; } 50% { opacity: .2; } }
.pillola-live { display: inline-flex; align-items: center; gap: 6px; color: #fff; text-decoration: none; background: var(--rosso); border-radius: 999px; padding: 4px 10px; font-weight: 800; font-size: 12px; min-height: 28px; }
.pillola-live[hidden] { display: none; }
.pillola-live i { background: #fff; width: 8px; height: 8px; }
@media (prefers-reduced-motion: reduce) { .box-live, .box-live .punto, .pillola-live i { animation: none; } }

.conto { display: flex; gap: 10px; margin: 10px 0 2px; }
.conto div { flex: 1; text-align: center; background: rgba(255,255,255,.06); border-radius: 12px; padding: 8px 4px; }
.conto b { display: block; font-size: 24px; font-variant-numeric: tabular-nums; }
.conto span { font-size: 11px; color: var(--muto); text-transform: uppercase; letter-spacing: .08em; }

/* Elenchi */
.riga { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--bordo); min-height: 44px; }
.riga:first-of-type { border-top: 0; }
a.riga, button.riga { color: inherit; text-decoration: none; background: none; border-left: 0; border-right: 0; border-bottom: 0; width: 100%; font: inherit; text-align: left; cursor: pointer; }
.riga .pos { width: 28px; text-align: center; font-weight: 800; font-variant-numeric: tabular-nums; }
.riga .barra { width: 4px; align-self: stretch; border-radius: 2px; flex: none; }
.riga .nome { flex: 1; min-width: 0; }
.riga .nome small { display: block; color: var(--muto); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.riga .valore { font-weight: 800; font-variant-numeric: tabular-nums; }
@media (hover: hover) { a.riga:hover, button.riga:hover { background: rgba(255,255,255,.05); } }

.interruttore { display: inline-flex; background: rgba(255,255,255,.08); border-radius: 12px; padding: 3px; margin: 4px 0 10px; }
.interruttore button { color: var(--muto); background: none; border: 0; border-radius: 10px; padding: 8px 16px; font: inherit; font-weight: 700; min-height: 44px; cursor: pointer; }
.interruttore button.attivo { background: var(--rosso); color: #fff; }

.gp { padding: 12px 0; border-top: 1px solid var(--bordo); }
.gp:first-child { border-top: 0; }
.gp.prossimo { border-left: 3px solid var(--rosso); padding-left: 10px; }
.gp .sessioni { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; margin-top: 8px; font-size: 13px; }
.gp .sessioni span:nth-child(even) { text-align: right; font-variant-numeric: tabular-nums; color: var(--muto); }
.gp .sessioni .passata { opacity: .5; }

/* Diretta */
.etichette { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.eti { background: rgba(255,255,255,.1); border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 600; }
.eti.verde { background: rgba(46,204,113,.25); } .eti.gialla { background: rgba(255,212,0,.28); color: var(--giallo); }
.eti.rossa { background: rgba(225,6,0,.4); } .eti.scacchi { background: #fff; color: #000; }
.tab-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
table.live { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 14px; }
table.live th { text-align: right; font-size: 11px; color: var(--muto); text-transform: uppercase; letter-spacing: .06em; padding: 6px 6px; font-weight: 700; white-space: nowrap; }
table.live td { text-align: right; padding: 0 6px; height: 44px; border-top: 1px solid var(--bordo); white-space: nowrap; }
table.live th:nth-child(1), table.live td:nth-child(1), table.live th:nth-child(2), table.live td:nth-child(2) { text-align: left; }
table.live tr.pilota { cursor: pointer; }
table.live td.acr { font-weight: 800; }
table.live td.acr i { display: inline-block; width: 4px; height: 22px; border-radius: 2px; vertical-align: middle; margin-right: 8px; }
.extra { display: none; }
@media (min-width: 760px) { .extra { display: table-cell; } }
.gomma { display: inline-block; min-width: 22px; text-align: center; border-radius: 50%; border: 2px solid #aaa; font-size: 11px; font-weight: 800; line-height: 18px; }
.gomma.SOFT { border-color: #ff3b30; color: #ff3b30; } .gomma.MEDIUM { border-color: #ffd400; color: #ffd400; } .gomma.HARD { border-color: #fff; color: #fff; }
.gomma.INTERMEDIATE { border-color: #2ecc71; color: #2ecc71; } .gomma.WET { border-color: #3b82f6; color: #3b82f6; }
.viola { color: #d96bff; font-weight: 800; }
.messaggio { padding: 8px 0; border-top: 1px solid var(--bordo); font-size: 13px; }
.messaggio time { color: var(--muto); margin-right: 8px; font-variant-numeric: tabular-nums; }
@media (min-width: 1000px) { .colonne-live { display: grid; grid-template-columns: 2fr 1fr; gap: 12px; align-items: start; } }

/* Telemetria (finestra dal basso) */
.fondo { position: fixed; inset: 0; z-index: 40; background: rgba(0,0,0,.55); display: flex; align-items: flex-end; justify-content: center; }
.fondo[hidden] { display: none; }
.foglio { width: 100%; max-width: 560px; max-height: 85vh; max-height: 85dvh; overflow-y: auto; background: #1b1d27; border: 1px solid var(--bordo); border-radius: 22px 22px 0 0; padding: 16px 16px calc(20px + env(safe-area-inset-bottom)); }
.foglio .chiudi { float: right; background: rgba(255,255,255,.1); color: #fff; border: 0; border-radius: 12px; min-width: 44px; min-height: 44px; font-size: 20px; cursor: pointer; }
.misure { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 12px 0; }
.misura { background: rgba(255,255,255,.06); border-radius: 12px; padding: 10px; }
.misura b { font-size: 26px; font-variant-numeric: tabular-nums; } .misura small { color: var(--muto); display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.stecca { height: 8px; background: rgba(255,255,255,.12); border-radius: 4px; overflow: hidden; margin-top: 6px; } .stecca i { display: block; height: 100%; background: var(--ok); }
.stecca.freno i { background: var(--rosso); }
.errore { color: #ffb4b0; padding: 14px; text-align: center; }

/* Navigazione in basso */
.schede {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; display: flex; justify-content: center; gap: 4px;
  padding: 6px 8px calc(6px + env(safe-area-inset-bottom)); background: rgba(14,15,20,.95); border-top: 1px solid var(--bordo);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) { .schede { background: rgba(14,15,20,.7); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); } }
.schede a { flex: 1; max-width: 160px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 52px; color: var(--muto); text-decoration: none; font-size: 11px; font-weight: 600; border-radius: 12px; }
.schede a.attiva { color: #fff; background: rgba(225,6,0,.28); }

@media (max-width: 759px) { table.live { font-size: 13px; } table.live th, table.live td { padding-left: 3px; padding-right: 3px; } table.live td.acr i { margin-right: 5px; } }

.opzioni { margin: 8px 0; } .opzione { display: flex; align-items: center; gap: 12px; min-height: 44px; cursor: pointer; }
.opzione input { width: 22px; height: 22px; accent-color: var(--rosso); flex: none; }
.azioni { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.bottone { background: var(--rosso); color: #fff; border: 0; border-radius: 12px; padding: 10px 16px; min-height: 44px; font: inherit; font-weight: 700; cursor: pointer; }
.bottone.secondario { background: rgba(255,255,255,.12); }
@media (hover: hover) { .bottone:hover { filter: brightness(1.15); } }

/* Menu laterale */
.btn-menu { background: rgba(255,255,255,.08); color: #fff; border: 1px solid var(--bordo); border-radius: 12px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: 26px; line-height: 1; cursor: pointer; flex: none; }
.menu-fondo { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.55); }
.menu-fondo[hidden] { display: none; }
.menu { position: fixed; top: 0; bottom: 0; left: 0; z-index: 60; width: 80vw; max-width: 320px; background: #171821; border-right: 1px solid var(--bordo); transform: translateX(-105%); transition: transform .22s ease; visibility: hidden;
  padding: calc(12px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left)); overflow-y: auto; }
.menu.aperto { transform: none; visibility: visible; }
.menu-testa { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-size: 18px; letter-spacing: .1em; }
.menu-gruppo { color: var(--muto); font-size: 11px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; margin: 16px 8px 4px; }
.menu a, .menu-presto { display: flex; align-items: center; min-height: 48px; padding: 0 12px; border-radius: 12px; color: var(--testo); text-decoration: none; font-weight: 600; }
.menu a.attiva { background: rgba(225,6,0,.28); }
.menu-presto { color: var(--muto); }
@media (hover: hover) { .menu a:hover { background: rgba(255,255,255,.08); } }
@media (prefers-reduced-motion: reduce) { .menu { transition: none; } }

/* Piloti */
.pilota-testa { display: flex; gap: 14px; align-items: center; }
.pilota-testa img { width: 96px; height: 96px; border-radius: 16px; object-fit: cover; object-position: top; background: rgba(255,255,255,.08); flex: none; }
.pilota-testa .nome { font-size: 24px; font-weight: 800; line-height: 1.15; }
.stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 10px; }
@media (min-width: 700px) { .stats { grid-template-columns: repeat(4, 1fr); } }
.stat { background: rgba(255,255,255,.06); border-radius: 12px; padding: 10px 6px; text-align: center; }
.stat b { display: block; font-size: 22px; font-variant-numeric: tabular-nums; } .stat span { font-size: 11px; color: var(--muto); text-transform: uppercase; letter-spacing: .06em; }
.stat.evidenza { background: rgba(225,6,0,.22); }
.tabella { width: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.tabella th { text-align: right; font-size: 11px; color: var(--muto); text-transform: uppercase; letter-spacing: .06em; padding: 6px 4px; font-weight: 700; }
.tabella td { text-align: right; padding: 8px 4px; border-top: 1px solid var(--bordo); }
.tabella th:first-child, .tabella td:first-child { text-align: left; }
.tabella tr.attuale td { font-weight: 800; }
.notizia { display: block; padding: 10px 0; border-top: 1px solid var(--bordo); color: inherit; text-decoration: none; min-height: 44px; }
.notizia:first-of-type { border-top: 0; } .notizia small { color: var(--muto); display: block; margin-top: 2px; }
@media (hover: hover) { .notizia:hover b { text-decoration: underline; } }
details.sezione > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; min-height: 44px; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--muto); font-weight: 700; }
details.sezione > summary::-webkit-details-marker { display: none; }
details.sezione > summary::after { content: "+"; font-size: 22px; } details.sezione[open] > summary::after { content: "−"; }
.storia p { margin: 0 0 10px; line-height: 1.55; } .storia h3 { margin: 16px 0 6px; font-size: 16px; }
.indietro { background: rgba(255,255,255,.08); color: #fff; border: 0; border-radius: 12px; padding: 0 14px; min-height: 44px; font: inherit; font-weight: 700; cursor: pointer; margin-bottom: 10px; }

/* Video (YouTube, caricato solo al tocco) */
.video { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 14px; overflow: hidden; margin-bottom: 6px; }
@supports not (aspect-ratio: 16 / 9) { .video { height: 0; padding-bottom: 56.25%; } }
.video iframe, .video-anteprima { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-anteprima { padding: 0; background: none; cursor: pointer; }
.video-anteprima img { width: 100%; height: 100%; object-fit: cover; display: block; }
.video-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 50%; background: rgba(225,6,0,.9); color: #fff; font-size: 26px; display: flex; align-items: center; justify-content: center; }
.sessioni-moto { padding: 0 0 8px 38px; } .sessioni-moto[hidden] { display: none; }

.box-azioni { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.btn-tv { display: inline-flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 12px; background: #fff; color: #111; font-weight: 800; text-decoration: none; }
.btn-tv.sec { background: rgba(255,255,255,.16); color: #fff; }
@media (hover: hover) { .btn-tv:hover { filter: brightness(.92); } }
.box-differita { border: 1px solid #4d97ff; background: rgba(77,151,255,.14); }

/* L'attributo hidden vince sempre (prima una barra nascosta restava visibile sopra l'altra e prendeva i tocchi) */
[hidden] { display: none !important; }

/* Partite di calcio */
.partita { display: flex; align-items: stretch; gap: 12px; color: inherit; text-decoration: none; padding: 10px 0; border-top: 1px solid var(--bordo); min-height: 56px; }
.partita:first-of-type { border-top: 0; }
.p-stato { width: 62px; flex: none; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 13px; font-weight: 700; color: var(--muto); font-variant-numeric: tabular-nums; }
.partita.in-corso .p-stato { color: #ff6b66; animation: lampeggia-punto 1.4s ease-in-out infinite; }
.p-squadre { flex: 1; min-width: 0; }
.p-riga { display: flex; align-items: center; gap: 10px; min-height: 30px; }
.p-riga img { width: 24px; height: 24px; object-fit: contain; flex: none; }
.p-riga .nome { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.p-riga .gol { font-weight: 800; font-size: 18px; min-width: 20px; text-align: right; font-variant-numeric: tabular-nums; }
.p-riga.vince .nome { font-weight: 800; }
.p-eventi { margin-top: 4px; font-size: 12px; color: var(--muto); display: grid; gap: 2px; }
.p-eventi div { display: flex; gap: 6px; }
.p-eventi .casa { justify-content: flex-start; } .p-eventi .trasferta { justify-content: flex-end; text-align: right; }
@media (hover: hover) { a.partita:hover { background: rgba(255,255,255,.04); } }
.giorno-titolo { margin: 14px 0 2px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--muto); font-weight: 700; display: flex; justify-content: space-between; gap: 8px; }
.giorno-titolo:first-child { margin-top: 0; }
.giorno-titolo span:last-child { text-transform: none; letter-spacing: 0; font-weight: 600; }
.scoreboard { text-align: center; }
.scoreboard .squadre { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
.scoreboard .sq { display: flex; flex-direction: column; align-items: center; gap: 6px; font-weight: 800; min-width: 0; }
.scoreboard .sq img { width: 56px; height: 56px; object-fit: contain; }
.scoreboard .risultato { font-size: 40px; font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.scoreboard .stato-partita { margin-top: 6px; color: var(--muto); font-weight: 700; }
.scoreboard .stato-partita.in { color: #ff6b66; }
.evento { display: grid; grid-template-columns: 56px 28px 1fr; gap: 8px; align-items: start; padding: 8px 0; border-top: 1px solid var(--bordo); font-size: 14px; }
.evento:first-of-type { border-top: 0; }
.evento .min { font-weight: 800; color: var(--muto); font-variant-numeric: tabular-nums; }
.evento.importante .testo b { font-size: 15px; }
.evento .quadra { font-size: 12px; color: var(--muto); }
.stat-barra { margin: 10px 0; } .stat-barra .riga-st { display: flex; justify-content: space-between; font-weight: 700; font-size: 14px; font-variant-numeric: tabular-nums; }
.stat-barra .titolo-st { text-align: center; font-size: 12px; color: var(--muto); text-transform: uppercase; letter-spacing: .08em; margin: 2px 0; }
.stat-barra .doppia { display: flex; height: 6px; gap: 3px; } .stat-barra .doppia i { display: block; height: 100%; border-radius: 3px; background: #4d97ff; } .stat-barra .doppia i:first-child { background: var(--rosso); }
table.classifica { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: 14px; }
table.classifica th { text-align: right; font-size: 11px; color: var(--muto); text-transform: uppercase; letter-spacing: .06em; padding: 6px 4px; font-weight: 700; }
table.classifica td { text-align: right; padding: 6px 4px; border-top: 1px solid var(--bordo); height: 40px; }
table.classifica th:nth-child(1), table.classifica td:nth-child(1), table.classifica th:nth-child(2), table.classifica td:nth-child(2) { text-align: left; }
table.classifica td.sq { white-space: nowrap; } table.classifica td.sq img { width: 20px; height: 20px; object-fit: contain; vertical-align: middle; margin-right: 8px; }
table.classifica td.pt { font-weight: 800; }
table.classifica td.zona { width: 4px; padding: 0; border-top-color: transparent; }
table.classifica .extra { display: none; } @media (min-width: 640px) { table.classifica .extra { display: table-cell; } }
.legenda { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 12px; color: var(--muto); } .legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; }
.selettore { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.selettore button, .selettore select { min-height: 44px; border-radius: 12px; border: 1px solid var(--bordo); background: rgba(255,255,255,.08); color: #fff; font: inherit; font-weight: 700; padding: 0 14px; cursor: pointer; }
.selettore select { flex: 1; appearance: none; -webkit-appearance: none; text-align: center; }
.selettore option { color: #111; }

/* Tennis */
.match { padding: 10px 0; border-top: 1px solid var(--bordo); display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; }
.match:first-of-type { border-top: 0; }
.match .gioc { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 28px; }
.match .gioc img { width: 22px; height: 15px; object-fit: cover; border-radius: 2px; flex: none; }
.match .gioc .nome { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.match .gioc.vince .nome { font-weight: 800; }
.match .sets { display: flex; gap: 6px; font-variant-numeric: tabular-nums; font-weight: 700; align-items: center; min-height: 28px; }
.match .sets span { min-width: 18px; text-align: center; } .match .sets span.perso { color: var(--muto); font-weight: 500; }
.match .sets sup { font-size: 10px; color: var(--muto); }
.match .info { grid-column: 1 / -1; font-size: 12px; color: var(--muto); display: flex; gap: 10px; flex-wrap: wrap; }
.match.in-corso .info .live { color: #ff6b66; font-weight: 800; }
.badge { display: inline-block; font-size: 11px; font-weight: 800; border-radius: 999px; padding: 2px 8px; background: rgba(255,255,255,.12); text-transform: uppercase; letter-spacing: .05em; }
.badge.in { background: rgba(225,6,0,.45); } .badge.pre { background: rgba(77,151,255,.3); }

/* ============ Computer (schermi larghi): menu sempre visibile a sinistra, niente barra in basso, più colonne ============ */
@media (min-width: 1024px) {
  body { padding-left: 260px; padding-bottom: 0; font-size: 16px; }
  .btn-menu, .menu-fondo, #chiudi-menu { display: none !important; }
  .menu { visibility: visible; transform: none; transition: none; width: 260px; max-width: none; z-index: 25; padding-top: 18px; }
  .menu-testa { padding: 0 8px; }
  .schede { display: none !important; }
  .testata { max-width: none; padding-left: 32px; padding-right: 32px; }
  main { max-width: 1320px; padding: 12px 32px 40px; }
  .griglia { gap: 18px; }
  .vetro { padding: 18px 22px; border-radius: 20px; }
  .griglia.tre { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .stats { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
  .fondo { align-items: center; } .foglio { border-radius: 22px; max-height: 80vh; }
  .colonne-live { gap: 18px; }
  .pilota-testa img { width: 120px; height: 120px; }
  .scoreboard .sq img { width: 72px; height: 72px; } .scoreboard .risultato { font-size: 52px; }
  .evento { grid-template-columns: 70px 32px 1fr; }
  table.classifica td { height: 44px; }
  .riga { padding: 12px 0; }
}
@media (min-width: 1500px) { main { max-width: 1480px; } .griglia.due { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Intestazione: titolo e, sotto, le schede degli sport */
.testata { display: block; padding-bottom: 8px; }
.testata-riga { display: flex; align-items: center; gap: 10px; }
.sport-tab { display: flex; gap: 6px; margin-top: 8px; }
.sport-tab a { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 44px; border-radius: 12px; color: var(--muto); text-decoration: none; font-weight: 800; font-size: 14px; background: rgba(255,255,255,.07); border: 1px solid transparent; white-space: nowrap; }
.sport-tab a.attiva { color: #fff; background: rgba(225,6,0,.38); border-color: rgba(225,6,0,.7); }
@media (hover: hover) { .sport-tab a:hover { color: #fff; background: rgba(255,255,255,.14); } .sport-tab a.attiva:hover { background: rgba(225,6,0,.5); } }
@media (min-width: 1024px) { .sport-tab { max-width: 640px; } .sport-tab a { font-size: 15px; } }

/* Le colonne non allungano le schede per riempire l'altezza (il box "in diretta" restava enorme accanto a una colonna lunga) */
.griglia { align-content: start; align-items: start; }
table.classifica th:nth-child(3), table.classifica td:nth-child(3) { text-align: left; }
