:root{--sfondo:#111113;--testo:#faf9f6;--accento:#6b1913;--oro:#dcc67e;--bordo:#ffffff20;font-family:Arial,Helvetica,sans-serif;color:var(--testo);background:var(--sfondo);color-scheme:dark}
*{box-sizing:border-box}body{margin:0}img{max-width:100%}[hidden]{display:none!important}
.brand{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;justify-content:center;align-items:center;padding:36px 24px 25px;min-height:126px}.brand img{width:var(--logo-larghezza,200px);height:90px;object-fit:contain}.marchio{font-size:30px;letter-spacing:.12em;font-weight:900;text-align:center;line-height:1}.marchio span{display:block;font-size:10px;letter-spacing:.5em;padding-left:5px;margin-top:11px;color:var(--oro)}
main{width:100%;margin:0;padding:0}.intro{position:absolute;z-index:4;top:126px;left:0;width:100%;pointer-events:none;text-shadow:0 2px 24px #0008;text-align:center;padding:20px 24px 48px}.intro h1{font-size:clamp(38px,4.5vw,76px);font-weight:800;letter-spacing:-.055em;line-height:1.04;margin:0 0 18px}.intro p{margin:0;color:#aaa9af;font-size:16px;line-height:1.6}
.griglia{display:grid;grid-template-columns:repeat(var(--colonne,4),minmax(0,1fr));gap:1px;background:#ffffff20;}
.torneo{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:0;height:100vh;height:100svh;height:100dvh;background:#18181b;}.torneo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#08080bc9 0%,#08080b70 26%,#11111315 45%,#11111365 65%,#111113e8 100%);z-index:-1}
.copertina{position:absolute;inset:0;z-index:-2;overflow:hidden}.copertina img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.65,.3,1),filter .65s;filter:saturate(.8)}
.contenuto{position:absolute;bottom:0;left:0;right:0;padding:30px clamp(22px,2.2vw,44px) 32px}.contenuto h2{font-size:clamp(27px,2.4vw,44px);line-height:1.07;letter-spacing:-.045em;margin:0 0 25px;overflow-wrap:anywhere}.azioni{display:grid;grid-template-columns:1fr;gap:10px}
.bottone{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:13px 16px;border:1px solid #ffffff40;border-radius:3px;color:var(--testo);background:#ffffff06;text-decoration:none;font-size:13px;font-weight:700;line-height:1.3;transition:background .2s,border-color .2s}.bottone::after{content:'↗';font-size:19px;line-height:1;font-weight:400}.bottone.primario{color:#17140e;background:var(--oro);border-color:var(--oro)}.bottone[aria-disabled]{cursor:default;color:#c0bec5;border-color:#ffffff26}.bottone.primario[aria-disabled]{background:var(--oro);border-color:var(--oro);color:#17140e;opacity:.8}.bottone[aria-disabled]::after{content:'—';opacity:.6}.bottone:focus-visible{outline:3px solid white;outline-offset:4px}.stato{font-size:11px;letter-spacing:.025em;color:#aaa7b0;line-height:1.5;margin:15px 0 0}
footer{display:flex;justify-content:center;align-items:center;padding:27px 24px;color:#8e8c94;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
@media(hover:hover){.torneo:hover .copertina img{transform:scale(1.045);filter:saturate(1)}.bottone[href]:hover{background:#ffffff18;border-color:#ffffff80}.bottone.primario[href]:hover{background:#eddaa0;border-color:#eddaa0}}
@media(min-width:1700px){.azioni{grid-template-columns:1fr 1fr}}
@media(max-width:1000px){.griglia{grid-template-columns:repeat(var(--colonne-tablet,2),minmax(0,1fr))}.torneo{height:100vh;height:100svh;height:100dvh;min-height:0}.contenuto{padding:28px}.contenuto h2{font-size:38px}.intro{padding-bottom:38px}}
@media(max-width:540px){
.brand{padding:24px 18px 18px;min-height:105px}.brand img{height:70px;width:var(--logo-larghezza,180px);max-width:85vw}.marchio{font-size:25px}
.intro{top:115px;padding:16px 20px 28px}.intro h1{font-size:34px;max-width:330px;margin:0 auto 14px}.intro p{font-size:13px;max-width:290px;margin:auto}
.griglia{grid-template-columns:repeat(var(--colonne-tablet,2),minmax(0,1fr))}
.torneo{height:100vh;height:100svh;height:100dvh;min-height:0}
.contenuto{padding:18px 12px calc(20px + env(safe-area-inset-bottom,0px))}.contenuto h2{font-size:clamp(20px,5.5vw,29px);line-height:1.15;margin-bottom:18px;letter-spacing:-.035em}
.azioni{grid-template-columns:1fr;gap:8px}.bottone{min-height:44px;padding:11px 10px;font-size:12px;gap:6px;overflow-wrap:anywhere}.bottone::after{font-size:16px;flex-shrink:0}
.stato{font-size:10px;margin-top:12px;overflow-wrap:anywhere}footer{padding:25px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

.copertina::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,var(--oscuramento,0));pointer-events:none}.nessun-torneo{min-height:100svh;display:grid;place-content:center;text-align:center;margin:0;padding:330px 24px 60px;background:var(--sfondo);color:var(--testo)}

@media(max-width:1000px) and (max-height:700px){
.brand{min-height:0;padding:16px 18px 12px}.brand img{height:60px}.marchio{font-size:23px}.marchio span{margin-top:8px;font-size:9px}
.intro{top:92px;padding:12px 18px}.intro h1{font-size:30px;margin-bottom:10px}.intro p{font-size:12px;line-height:1.4}
.contenuto h2{margin-bottom:12px}.stato{margin-top:8px}
}
@media(max-width:1000px) and (max-height:460px){
.brand{padding-top:10px}.brand img{height:42px}.marchio{font-size:20px}.marchio span{font-size:8px;margin-top:5px}
.intro{top:64px;padding:6px 16px}.intro h1{font-size:23px;margin-bottom:6px}.intro p{font-size:11px}
.contenuto{padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))}.contenuto h2{font-size:22px;margin-bottom:10px}.azioni{gap:6px}
}

/* Logo e introduzione occupano due righe indipendenti, senza coordinate sovrapposte. */
.testata{position:absolute;z-index:5;top:0;left:0;width:100%;pointer-events:none}
.testata .brand{position:relative;top:auto;left:auto}
.testata .intro{position:relative;top:auto;left:auto;padding-top:8px;padding-bottom:20px}
.testata .intro h1,.testata .intro p{overflow-wrap:anywhere}
.bottone.tabellone{border-color:var(--oro);color:var(--oro)}
@media(min-width:1700px){.bottone.tabellone{grid-column:1/-1}}
@media(max-width:1000px) and (max-height:700px){.testata .intro{padding-top:4px;padding-bottom:12px}}
