: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}}

/* Reghium Tornei 2.2.3 | Mobile: immagine a tutta scheda
   La locandina copre lo sfondo fino dietro titolo e pulsanti.
   La testata rimane sopra le schede e il desktop non viene cambiato.
   I ritagli inevitabili con object-fit:cover sono centrati, così i loghi
   centrali rimangono leggibili. Il punto focale impostato nell'admin
   resta utilizzabile. */
@media (max-width: 1000px) {
  .testata {
    position:relative;
    inset:auto;
    z-index:5;
    width:100%;
    background:var(--sfondo);
  }
  .testata .brand,
  .testata .intro { position:relative; inset:auto; }
  .griglia {
    align-items:stretch;
    grid-auto-rows:auto;
  }
  .torneo {
    position:relative;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    isolation:isolate;
    width:100%;
    height:clamp(420px, 135vw, 680px);
    min-height:0;
    background:#151518;
    overflow:hidden;
  }
  .torneo .copertina {
    position:absolute;
    inset:0;
    display:block;
    width:100%;
    height:100%;
    aspect-ratio:auto;
    z-index:0;
    overflow:hidden;
    background:#111113;
  }
  .torneo .copertina img {
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    filter:none;
    transform:none;
    transition:none;
  }
  .torneo:hover .copertina img {
    filter:none;
    transform:none;
  }
  /* Il poster intero e il riempimento usano la stessa locandina:
     il primo mantiene i loghi leggibili, il secondo elimina gli spazi vuoti. */
  .torneo .copertina img:not(.locandina-intera) {
    filter:brightness(.32) blur(6px);
    transform:scale(1.08);
  }
  .torneo:hover .copertina img:not(.locandina-intera) {
    filter:brightness(.32) blur(6px);
    transform:scale(1.08);
  }
  .torneo .copertina img.locandina-intera {
    position:absolute;
    inset:0 auto auto 0;
    z-index:1;
    width:100%;
    height:auto;
    aspect-ratio:9 / 16;
    object-fit:contain;
    object-position:center top !important;
    filter:none;
    transform:none;
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 67%,transparent 100%);
    mask-image:linear-gradient(to bottom,#000 0%,#000 67%,transparent 100%);
    pointer-events:none;
  }
  .torneo .copertina::after {
    z-index:2;
    background:rgba(0,0,0,var(--oscuramento,0));
  }
  .torneo::after {
    display:block;
    z-index:1;
    background:linear-gradient(
      180deg,
      rgba(8,8,11,.06) 0%,
      rgba(8,8,11,0) 29%,
      rgba(8,8,11,.16) 44%,
      rgba(8,8,11,.54) 65%,
      rgba(8,8,11,.81) 85%,
      rgba(8,8,11,.94) 100%
    );
  }
  .torneo .contenuto {
    position:relative;
    inset:auto;
    z-index:2;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    width:100%;
    min-width:0;
    flex:0 0 auto;
    margin-top:auto;
    padding:18px 16px 22px;
    background:transparent;
  }
  .torneo .contenuto h2 {
    margin:0 0 16px;
    font-size:clamp(20px,3vw,32px);
    line-height:1.14;
    text-shadow:0 2px 12px rgba(0,0,0,.75);
  }
  .torneo .azioni { margin-top:0; }
  .torneo .bottone:not(.primario) {
    background:rgba(11,11,14,.44);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
  }
  .torneo .bottone:not(.primario)[href]:hover { background:rgba(11,11,14,.68); }
  .nessun-torneo { min-height:30svh;padding:35px 24px; }
}
@media (max-width: 540px) {
  .testata .intro {padding-top:9px;padding-bottom:23px;}
  .griglia {grid-template-columns:repeat(var(--colonne-tablet,2),minmax(0,1fr));}
  .torneo .contenuto {
    padding:15px 11px calc(18px + env(safe-area-inset-bottom,0px));
  }
  .torneo .contenuto h2 {
    font-size:clamp(18px,5.4vw,26px);
    margin-bottom:14px;
    overflow-wrap:anywhere;
  }
  .torneo .azioni {gap:8px;}
  .torneo .bottone {min-height:45px;padding:11px 10px;font-size:12px;}
}
@media (max-width: 1000px) and (orientation:landscape) and (max-height:500px) {
  .torneo {height:clamp(420px, 68vw, 560px);}
}
