
:root{--bg:#050505;--bg2:#0b0b0b;--panel:#171717;--text:#f7f4ee;--muted:#b8b2aa;--red:#ee281f;--line:#292929}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding-top:90px;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}
.topbar{position:fixed;z-index:100;top:0;left:0;right:0;background:#020202;border-bottom:1px solid rgba(255,255,255,.035)}.topbar-inner{height:90px;max-width:1500px;margin:auto;padding:0 32px;display:flex;align-items:center;gap:30px}.brand{width:340px;flex:0 0 340px;display:flex;flex-direction:column;align-items:flex-start}.brand img{width:340px;height:50px;object-fit:contain;object-position:left center}.brand div{font-size:12px;font-weight:900;line-height:1;white-space:nowrap;margin-top:3px}.brand span{color:var(--red)}.nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px;font-weight:750}.participate{height:50px;min-width:154px;border-radius:999px;background:var(--red);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:850}.participate span{font-size:21px}.menu-button{display:none;margin-left:auto;background:transparent;border:0;color:#fff;font-size:28px}
.hero{height:510px;margin-top:0;position:relative;overflow:hidden;background:#000}.hero-photo{position:absolute;inset:0;background:url("assets/hero.jpg") center center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.66) 31%,rgba(0,0,0,.12) 62%,rgba(0,0,0,0) 100%),linear-gradient(0deg,rgba(0,0,0,.10),rgba(0,0,0,.02))}.hero-inner{position:relative;z-index:2;width:min(1400px,90vw);height:100%;margin:auto}.hero-copy{position:absolute;left:0;top:70px;max-width:770px}.eyebrow{margin:0 0 16px;color:var(--red);font-size:12px;font-weight:900;letter-spacing:.18em}h1,h2,h3{margin:0}h1{font-size:clamp(58px,5.35vw,84px);line-height:.91;letter-spacing:-.055em}h1 span{color:var(--red)}.hero-strong{margin:18px 0 9px;font-size:clamp(24px,2vw,31px);font-weight:900;line-height:1}.hero-text{margin:11px 0 0;max-width:690px;font-size:17px;line-height:1.45;color:#ded8d0}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.btn{min-height:52px;padding:0 26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:14px;font-size:16px;font-weight:850}.red{background:var(--red);border:1px solid var(--red);min-width:230px}.outline{background:rgba(0,0,0,.28);border:1px solid rgba(255,255,255,.86);min-width:270px}.btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}.handwrite{position:absolute;right:0;top:52px;width:330px;text-align:center;font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive;font-size:46px;line-height:.92;transform:rotate(-3deg);text-shadow:0 2px 10px rgba(0,0,0,.65)}.handwrite span{display:block}.handwrite i{display:block;width:238px;height:7px;background:var(--red);margin:14px auto 0;transform:rotate(-5deg) skewX(-12deg);border-radius:50%}
.points{display:grid;grid-template-columns:repeat(3,1fr);padding:0 5vw;background:#050505;border-bottom:1px solid #171717}.points article{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:18px;min-height:148px;padding:34px 38px}.points article:first-child{padding-left:0}.points article:last-child{padding-right:0}.points article+article{border-left:1px solid #272727}.icon{width:58px;height:58px;color:var(--red)}.icon svg{width:58px;height:58px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.points h3{font-size:20px;margin-bottom:7px}.points p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.45;max-width:355px}
.section{padding:94px 5vw}.container{width:min(1200px,100%);margin:auto}h2{font-size:clamp(46px,5.8vw,80px);line-height:.97;letter-spacing:-.045em}.section p{color:var(--muted);line-height:1.65}.center{text-align:center}.intro{max-width:760px;margin:22px auto 0}.section-lead{font-size:clamp(24px,2.7vw,34px)!important;color:#fff!important;font-weight:750;line-height:1.25!important}.about{position:relative;overflow:hidden;background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.025),transparent 42%),#0b0b0b}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px;align-items:start;position:relative;z-index:2}.about h2{font-size:clamp(56px,5.7vw,82px)}.lead{font-size:24px!important;color:#fff!important;font-weight:750;line-height:1.28!important;margin-top:0}.story p{margin-top:0;margin-bottom:18px}.brush{position:absolute;right:-12px;bottom:-10px;width:220px;height:330px;fill:var(--red);opacity:.98}
.dark{background:#0d0d0d}.black{background:#050505}.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:start}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card,.stat{background:#171717;border:1px solid #262626;border-radius:20px;padding:28px}.card span{color:var(--red);font-size:12px;font-weight:900}.card h3{font-size:24px;margin:10px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}.stat strong{display:block;color:var(--red);font-size:50px;line-height:1;margin-bottom:16px}.stat h3{font-size:22px}.event-list{margin-top:46px;border-top:1px solid var(--line)}.event-row{display:flex;justify-content:space-between;gap:30px;padding:26px 0;border-bottom:1px solid var(--line)}.event-row span{color:var(--red);font-size:11px;font-weight:900;letter-spacing:.15em}.event-row h3{margin-top:8px;font-size:24px}.event-row p{margin:0}.muted{opacity:.75}.song{background:linear-gradient(120deg,#080808,#17100e)}.player{padding:30px;border:1px solid var(--line);border-radius:26px;background:#151515}.player-title{display:flex;align-items:center;gap:18px;margin-bottom:22px}.disc{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:#060606;border:1px solid #252525;font-size:26px}.player-title span{display:block;color:#999;margin-top:4px}.player audio{width:100%}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:14px;margin-top:44px}.placeholder{display:grid;place-items:center;border-radius:18px;border:1px dashed #454545;background:linear-gradient(135deg,rgba(238,40,31,.15),rgba(255,255,255,.03)),#171717;color:#8f8981;font-weight:900;letter-spacing:.08em}.placeholder.tall{grid-row:span 2}.placeholder.wide{grid-column:span 2}.contact{background:#0d0d0d}.contact-card{border:1px solid var(--line);border-radius:30px;padding:58px;background:radial-gradient(circle at 70% 0%,rgba(238,40,31,.10),transparent 40%),rgba(255,255,255,.018)}
footer{padding:54px 5vw;background:#020202;border-top:1px solid #181818}.footer-grid{display:grid;grid-template-columns:300px 1fr auto;gap:36px;align-items:center}.footer-brand img{width:300px;height:44px;object-fit:contain;object-position:left center}.footer-brand div{font-size:10px;font-weight:900;margin-top:3px;white-space:nowrap}.footer-brand span{color:var(--red)}.footer-grid p{margin:0;color:#8f8982;line-height:1.5}.copyright{font-size:12px}
@media(max-width:1100px){.brand{width:280px;flex-basis:280px}.brand img{width:280px}.nav{gap:18px}.handwrite{width:280px;font-size:39px}}@media(max-width:900px){.topbar-inner{height:74px;padding:0 4vw}.brand{width:205px;flex-basis:205px}.brand img{width:205px;height:39px}.brand div{font-size:9px}.menu-button{display:block}.nav{display:none;position:absolute;top:74px;left:4vw;right:4vw;flex-direction:column;align-items:flex-start;background:#101010;border:1px solid #2b2b2b;border-radius:18px;padding:22px}.nav.open{display:flex}.participate{display:none}.hero{height:auto;min-height:650px;margin-top:74px}.hero-photo{background-position:62% center}.hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.80) 50%,rgba(0,0,0,.12) 100%)}.hero-copy{top:auto;bottom:42px;left:0;right:0;max-width:none}.hero-inner{width:90vw}.handwrite{top:34px;right:0;width:220px;font-size:32px}h1{font-size:clamp(48px,11vw,70px)}.hero-text br{display:none}.points{grid-template-columns:1fr}.points article{padding:26px 0}.points article+article{border-left:0;border-top:1px solid #272727}.about-grid,.split,.stats,.footer-grid{grid-template-columns:1fr;gap:42px}.menu-grid{grid-template-columns:1fr}.section{padding:78px 5vw}.brush{width:120px;height:190px;opacity:.75}.event-row{flex-direction:column}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:210px}.placeholder.tall,.placeholder.wide{grid-row:auto;grid-column:auto}.contact-card{padding:34px 24px}}


/* ===== MODIFICHE 1-6 ===== */

/* MODIFICA 1 - payoff header allineato alla larghezza del logo */
.brand{
  width:340px;
  flex:0 0 340px;
}
.brand img{
  width:340px;
}
.brand-payoff{
  width:340px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:0;
  margin-top:4px;
  font-size:11.5px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  letter-spacing:0;
}
.white{color:#fff!important}
.red-text{color:var(--red)!important}

/* MODIFICA 2 - il banner usa la foto pulita su tutta la larghezza */
.hero-photo{
  background-image:url("assets/hero.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}

/* MODIFICA 3 - tutti i cappelli di sezione nello stesso rosso */
.eyebrow{
  color:var(--red)!important;
}

/* MODIFICA 4 - ancore corrette con header fisso */
html{
  scroll-padding-top:90px;
}
#home{
  scroll-margin-top:0;
}
section[id]{
  scroll-margin-top:90px;
}

/* MODIFICA 6 - footer logo/payoff perfettamente allineati */
.footer-brand{
  width:300px;
}
.footer-brand img{
  width:300px;
}
.footer-payoff{
  width:300px;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:0;
  margin-top:4px;
  font-size:10px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  letter-spacing:0;
}

@media(max-width:1100px){
  .brand{width:280px;flex-basis:280px}
  .brand img{width:280px}
  .brand-payoff{width:280px;font-size:9.4px}
}

@media(max-width:900px){
  body{padding-top:74px}
  html{scroll-padding-top:74px}
  section[id]{scroll-margin-top:74px}
  .brand{width:205px;flex-basis:205px}
  .brand img{width:205px}
  .brand-payoff{width:205px;font-size:6.9px;margin-top:2px}
  .hero{margin-top:0!important}
  .footer-brand{width:240px}
  .footer-brand img{width:240px}
  .footer-payoff{width:240px;font-size:8px}
}


/* MODIFICA_8 - puntamenti menu */
.anchor-target{scroll-margin-top:90px!important}
@media(max-width:900px){
  .anchor-target{scroll-margin-top:74px!important}
}


/* =========================================================
   MODIFICA_7 - SOLO PAYOFF LOGO
   Base: MODIFICA_8 approvata.
   Nessuna modifica al logo o ad altri elementi.
   ========================================================= */

/* Il testo resta una frase continua: niente justify-content,
   niente word-spacing artificiale. La compensazione avviene
   esclusivamente con tracking uniforme tra i caratteri. */
.brand-payoff{
  display:block!important;
  width:340px!important;
  max-width:340px!important;
  white-space:nowrap!important;
  text-align:left!important;
  word-spacing:0!important;
  font-size:10.25px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:1.23px!important;
  font-kerning:normal!important;
}
.brand-payoff span{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  letter-spacing:inherit!important;
}

.footer-payoff{
  display:block!important;
  width:300px!important;
  max-width:300px!important;
  white-space:nowrap!important;
  text-align:left!important;
  word-spacing:0!important;
  font-size:9px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:1.085px!important;
  font-kerning:normal!important;
}
.footer-payoff span{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  letter-spacing:inherit!important;
}

@media(max-width:1100px){
  .brand-payoff{
    width:280px!important;
    max-width:280px!important;
    font-size:8.44px!important;
    letter-spacing:1.013px!important;
  }
}
@media(max-width:900px){
  .brand-payoff{
    width:205px!important;
    max-width:205px!important;
    font-size:6.18px!important;
    letter-spacing:.742px!important;
  }
  .footer-payoff{
    width:240px!important;
    max-width:240px!important;
    font-size:7.2px!important;
    letter-spacing:.868px!important;
  }
}


/* =========================================================
   MODIFICA_7 - CORREZIONE FINALE PAYOFF
   SOLO tracking del payoff. Nessun'altra modifica.
   ========================================================= */
.brand-payoff{
  letter-spacing:2.38px!important;
}
.footer-payoff{
  letter-spacing:2.10px!important;
}

@media(max-width:1100px){
  .brand-payoff{
    letter-spacing:1.96px!important;
  }
}
@media(max-width:900px){
  .brand-payoff{
    letter-spacing:1.44px!important;
  }
  .footer-payoff{
    letter-spacing:1.68px!important;
  }
}


/* =========================================================
   MODIFICA_7 - DUE BLOCCHI ALLINEATI AI BORDI DEL LOGO
   SOLO payoff; nessun'altra modifica.
   ========================================================= */

.brand-payoff{
  width:340px!important;
  max-width:340px!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:16px!important;
  white-space:nowrap!important;
  font-size:10.4px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  word-spacing:normal!important;
}
.brand-payoff .payoff-left{
  color:#fff!important;
  display:block!important;
  text-align:left!important;
  margin:0!important;
  padding:0!important;
}
.brand-payoff .payoff-right{
  color:var(--red)!important;
  display:block!important;
  text-align:right!important;
  margin:0!important;
  padding:0!important;
}

.footer-payoff{
  width:300px!important;
  max-width:300px!important;
  display:flex!important;
  align-items:baseline!important;
  justify-content:space-between!important;
  gap:14px!important;
  white-space:nowrap!important;
  font-size:9.15px!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.06em!important;
  word-spacing:normal!important;
}
.footer-payoff .payoff-left{
  color:#fff!important;
  display:block!important;
  text-align:left!important;
  margin:0!important;
  padding:0!important;
}
.footer-payoff .payoff-right{
  color:var(--red)!important;
  display:block!important;
  text-align:right!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:1100px){
  .brand-payoff{
    width:280px!important;
    max-width:280px!important;
    font-size:8.55px!important;
    gap:12px!important;
  }
}
@media(max-width:900px){
  .brand-payoff{
    width:205px!important;
    max-width:205px!important;
    font-size:6.25px!important;
    gap:8px!important;
  }
  .footer-payoff{
    width:240px!important;
    max-width:240px!important;
    font-size:7.3px!important;
    gap:10px!important;
  }
}


/* =========================================================
   MODIFICA_9 - RITAGLIO FORNITO DALL'UTENTE
   SOLO sfondo fotografico del banner.
   Nessun crop, nessuna deformazione, nessun altro intervento.
   ========================================================= */
.hero-photo{
  background-image:url("assets/hero-user-clean.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}


/* GALLERY MEDIA V1 - solo contenuti nei riquadri esistenti */
.gallery-media{position:relative;overflow:hidden}
.gallery-media>img,.gallery-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gallery-media>span{position:relative;z-index:2;color:#d3cec8;text-shadow:0 2px 10px rgba(0,0,0,.9)}
.gallery-media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);z-index:1;pointer-events:none}


/* =========================================================
   GALLERY MEDIA V2
   Solo correzione VOLONTARI + popup dei 4 contenuti.
   Layout e dimensioni della gallery restano invariati.
   ========================================================= */

.gallery-media.gallery-open{
  padding:0;
  font:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  text-align:inherit;
}
.gallery-media.gallery-open:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}

/* VOLONTARI: mostra l'intera fotografia senza deformarla.
   Lo sfondo riempie il riquadro usando la stessa immagine sfocata. */
.gallery-media-volunteers{
  background:#111;
}
.gallery-media-volunteers .volunteers-bg{
  position:absolute;
  inset:-16px;
  background-image:url("assets/gallery/volontari.jpg");
  background-size:cover;
  background-position:center;
  filter:blur(14px) brightness(.48);
  transform:scale(1.08);
  z-index:0;
}
.gallery-media-volunteers>img{
  object-fit:contain!important;
  object-position:center center!important;
  z-index:1;
}
.gallery-media-volunteers::after{
  z-index:2!important;
  background:rgba(0,0,0,.08)!important;
}
.gallery-media-volunteers>span:last-child{
  z-index:3!important;
}

/* POPUP / LIGHTBOX */
.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:36px;
  background:rgba(0,0,0,.92);
}
.gallery-lightbox.open{
  display:flex;
}
.gallery-lightbox-inner{
  width:min(1180px,92vw);
  max-height:88vh;
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-lightbox img,
.gallery-lightbox video{
  display:none;
  max-width:100%;
  max-height:88vh;
  border-radius:18px;
  background:#000;
  box-shadow:0 20px 70px rgba(0,0,0,.45);
}
.gallery-lightbox img.active,
.gallery-lightbox video.active{
  display:block;
}
.gallery-lightbox-close{
  position:absolute;
  top:20px;
  right:24px;
  width:50px;
  height:50px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  background:rgba(0,0,0,.65);
  color:#fff;
  font-size:31px;
  line-height:1;
  cursor:pointer;
}

@media(max-width:700px){
  .gallery-lightbox{padding:18px}
  .gallery-lightbox-close{top:10px;right:10px}
}


/* =========================================================
   MOBILE HERO V1
   SOLO visualizzazione smartphone/tablet del banner.
   Desktop e resto del sito invariati.
   ========================================================= */
@media(max-width:900px){

  /* Il banner occupa almeno tutta la prima schermata utile:
     la sezione "Accendiamo la brace" inizia solo dopo. */
  .hero{
    height:auto!important;
    min-height:calc(100vh - 74px)!important;
    min-height:max(calc(100svh - 74px), 760px)!important;
    margin-top:0!important;
    overflow:hidden!important;
  }

  /* Manteniamo la foto attuale, ma la posizioniamo meglio su mobile. */
  .hero-photo{
    background-position:58% center!important;
  }

  /* Gradiente mobile più leggibile nella parte bassa, senza cambiare la foto. */
  .hero-overlay{
    background:
      linear-gradient(0deg,
        rgba(0,0,0,.96) 0%,
        rgba(0,0,0,.82) 34%,
        rgba(0,0,0,.35) 62%,
        rgba(0,0,0,.04) 100%)!important;
  }

  .hero-inner{
    width:90vw!important;
    min-height:inherit!important;
  }

  /* Frase manoscritta mantiene il ruolo grafico nella parte alta. */
  .handwrite{
    top:48px!important;
    right:0!important;
    width:220px!important;
    font-size:31px!important;
    line-height:.95!important;
  }

  /* Ripristiniamo TUTTI i testi del banner nella parte inferiore. */
  .hero-copy{
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:auto!important;
    bottom:34px!important;
    max-width:none!important;
    z-index:3!important;
  }

  .hero-copy .eyebrow{
    margin-bottom:10px!important;
    font-size:10px!important;
    letter-spacing:.15em!important;
  }

  .hero-copy h1{
    font-size:clamp(39px,10.6vw,52px)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }

  .hero-strong{
    margin:16px 0 8px!important;
    font-size:clamp(18px,5vw,22px)!important;
    line-height:1.08!important;
  }

  .hero-text{
    max-width:100%!important;
    margin-top:8px!important;
    font-size:14px!important;
    line-height:1.42!important;
  }

  .hero-text br{
    display:none!important;
  }

  .hero-copy .actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:18px!important;
    max-width:330px!important;
  }

  .hero-copy .btn{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:0 18px!important;
    font-size:14px!important;
  }

  /* La fascia successiva resta identica nel contenuto e nel layout mobile
     già approvato; aggiungiamo solo uno stacco netto dal banner. */
  .points{
    border-top:1px solid #191919!important;
  }
}

/* Schermi particolarmente stretti: solo piccoli aggiustamenti tipografici. */
@media(max-width:430px){
  .handwrite{
    top:44px!important;
    width:205px!important;
    font-size:29px!important;
  }

  .hero-copy h1{
    font-size:clamp(37px,10.2vw,46px)!important;
  }

  .hero-strong{
    font-size:18px!important;
  }

  .hero-text{
    font-size:13.5px!important;
  }
}

/* Eventi: appuntamenti e archivio */
.event-row.upcoming-event{align-items:flex-start;gap:32px}
.event-row .event-subtitle{margin:.35rem 0 0;font-weight:700;opacity:.9}
.event-details{max-width:560px;text-align:right}
.event-details p{margin:0 0:.75rem}.event-details p:last-child{margin-bottom:0}
.gallery-archive-link{display:inline-block;color:#fff;font-weight:800;text-decoration:none;border-bottom:2px solid var(--red,#e6412e);padding-bottom:3px;transition:opacity .2s ease,transform .2s ease}
.gallery-archive-link:hover{opacity:.8;transform:translateX(3px)}
@media(max-width:760px){.event-row.upcoming-event{display:block}.event-details{max-width:none;text-align:left;margin-top:16px}.archive-row{align-items:center}}

/* Pagina Gallery per evento */
.gallery-page{background:#090909;color:#fff;min-height:100vh}
.gallery-page-main{padding-top:110px}
.gallery-page-hero{padding:70px 0 48px;text-align:center}
.gallery-page-hero h1{font-size:clamp(2.6rem,7vw,6rem);line-height:.95;margin:.2em 0}
.gallery-page-hero p{max-width:760px;margin:18px auto 0;color:#cfcfcf;font-size:1.08rem}
.event-gallery{padding:48px 0 72px;border-top:1px solid rgba(255,255,255,.12)}
.event-gallery-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.event-gallery-head h2{margin:0;font-size:clamp(2rem,5vw,4rem)}
.event-video{width:100%;aspect-ratio:16/9;background:#000;border-radius:18px;overflow:hidden;margin-bottom:22px}
.event-video video{width:100%;height:100%;display:block;object-fit:cover}
.event-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.event-photo-grid button{border:0;padding:0;background:#111;border-radius:14px;overflow:hidden;cursor:pointer;aspect-ratio:4/3}
.event-photo-grid img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}.event-photo-grid button:hover img{transform:scale(1.025)}
.gallery-back{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:800}
@media(max-width:760px){.gallery-page-main{padding-top:82px}.gallery-page-hero{padding:46px 0 34px}.event-gallery{padding:34px 0 52px}.event-gallery-head{display:block}.event-photo-grid{grid-template-columns:repeat(2,1fr)}}


/* =========================================================
   ULTIME MODIFICHE - EVENTI + GALLERY COMPATTA V2
   ========================================================= */

/* Last Summer Night: title clickable, no visual disruption */
.event-poster-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  font-weight:inherit;
  padding:0;
  margin:0;
  cursor:pointer;
  text-align:left;
}
.event-poster-link:hover{opacity:.78}
.event-poster-link:focus-visible{outline:2px solid var(--red);outline-offset:4px}

/* Home Gallery: remove text-overlay feeling; media unchanged */
#gallery .gallery-media > span:not(.volunteers-bg){
  display:none!important;
}

/* Dedicated Gallery page: compact and centered */
.gallery-page{
  background:#080808;
}
.gallery-compact-main{
  padding-top:90px;
}
.gallery-compact-container{
  width:min(1120px,88vw);
  margin:0 auto;
}
.gallery-compact-hero{
  padding:54px 0 28px;
}
.gallery-compact-hero h1{
  font-size:clamp(42px,5vw,68px);
  line-height:.96;
  letter-spacing:-.045em;
  margin:0 0 12px;
}
.gallery-compact-hero p:last-child{
  margin:0;
  color:#b8b1aa;
  font-size:16px;
}

.gallery-event-card{
  padding:38px 0 54px;
  border-top:1px solid #222;
}
.gallery-event-title{
  margin-bottom:20px;
}
.gallery-event-title h2{
  font-size:clamp(34px,4vw,54px);
  line-height:1;
  letter-spacing:-.035em;
}
.gallery-event-note{
  margin:8px 0 0;
  color:#99928b;
  font-size:14px;
}

.gallery-event-layout{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  gap:18px;
  align-items:stretch;
  max-width:1040px;
}
.gallery-video-preview{
  position:relative;
  aspect-ratio:16/9;
  min-height:0;
  overflow:hidden;
  border:1px solid #2a2a2a;
  border-radius:18px;
  padding:0;
  background:#111;
  cursor:pointer;
}
.gallery-video-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery-video-preview::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,.05) 60%);
  pointer-events:none;
}
.gallery-play{
  position:absolute;
  left:22px;
  bottom:20px;
  z-index:2;
  width:46px;
  height:46px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--red);
  color:#fff;
  font-size:17px;
  padding-left:3px;
}
.gallery-video-label{
  position:absolute;
  left:80px;
  bottom:31px;
  z-index:2;
  color:#fff;
  font-size:15px;
  font-weight:850;
}

.gallery-photo-grid-compact{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:10px;
  min-height:0;
}
.gallery-photo-grid-compact button{
  padding:0;
  margin:0;
  border:1px solid #2a2a2a;
  border-radius:14px;
  overflow:hidden;
  background:#111;
  cursor:pointer;
  min-height:0;
  aspect-ratio:4/3;
}
.gallery-photo-grid-compact img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .2s ease;
}
.gallery-photo-grid-compact button:hover img{
  transform:scale(1.025);
}

/* Keep lightbox content sensible on desktop and mobile */
.gallery-lightbox-inner{
  width:min(1100px,92vw)!important;
}
.gallery-lightbox img,
.gallery-lightbox video{
  max-width:100%!important;
  max-height:86vh!important;
}
.gallery-lightbox video.active{
  width:min(1000px,92vw)!important;
  aspect-ratio:16/9;
  object-fit:contain;
}

/* Dedicated Gallery header alignment */
.gallery-page .site-header .header-inner{
  width:min(1120px,88vw);
  margin:0 auto;
}
.gallery-page .gallery-back{
  color:#fff;
  font-weight:750;
  font-size:14px;
}

/* Responsive */
@media(max-width:900px){
  .gallery-compact-main{padding-top:74px}
  .gallery-compact-container{width:90vw}
  .gallery-compact-hero{padding:34px 0 22px}
  .gallery-compact-hero h1{font-size:clamp(38px,10vw,50px)}
  .gallery-event-card{padding:30px 0 42px}
  .gallery-event-title h2{font-size:clamp(30px,8vw,42px)}
  .gallery-event-layout{
    grid-template-columns:1fr;
    gap:12px;
    max-width:none;
  }
  .gallery-photo-grid-compact{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .gallery-photo-grid-compact button{
    border-radius:12px;
  }
  .gallery-page .site-header .header-inner{
    width:92vw;
  }
  .gallery-page .brand{
    width:205px;
    flex-basis:205px;
  }
  .gallery-page .brand img{width:205px}
  .gallery-page .gallery-back{
    font-size:12px;
  }
}
@media(max-width:520px){
  .gallery-compact-container{width:92vw}
  .gallery-compact-hero p:last-child{font-size:14px}
  .gallery-video-preview{border-radius:14px}
  .gallery-play{width:40px;height:40px;left:16px;bottom:14px}
  .gallery-video-label{left:66px;bottom:23px;font-size:13px}
  .gallery-photo-grid-compact{gap:7px}
}

/* Gallery V3: contenuti subito visibili, senza intestazione ridondante */
.gallery-page .gallery-compact-main{padding-top:118px;}
.gallery-page .gallery-event-card:first-child{border-top:0;padding-top:34px;}
@media(max-width:900px){
  .gallery-page .gallery-compact-main{padding-top:92px;}
  .gallery-page .gallery-event-card:first-child{padding-top:26px;}
}


/* =========================================================
   GALLERY COMPATTA V4
   Ultime correzioni approvate
   ========================================================= */

/* Mobile: ARCHIVIO / Gallery allineati come gli eventi sopra */
@media(max-width:900px){
  #eventi .archive-row{
    align-items:flex-start!important;
    text-align:left!important;
  }
  #eventi .archive-row > div,
  #eventi .archive-row > p{
    width:100%!important;
    text-align:left!important;
  }
  #eventi .archive-row > p{
    margin-top:8px!important;
  }
  #eventi .gallery-archive-link{
    display:inline-block!important;
  }
}

/* Pagina Gallery: header coerente con la Home */
.gallery-page{
  padding-top:90px!important;
}
.gallery-page .gallery-topbar{
  position:fixed;
  z-index:100;
  top:0;
  left:0;
  right:0;
  background:#020202;
  border-bottom:1px solid rgba(255,255,255,.035);
}
.gallery-page .gallery-topbar .topbar-inner{
  height:90px;
  max-width:1500px;
  margin:auto;
  padding:0 32px;
  display:flex;
  align-items:center;
  gap:30px;
}
.gallery-page .gallery-topbar .gallery-back{
  margin-left:auto;
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.gallery-page .gallery-compact-main{
  padding-top:0!important;
}
.gallery-page .gallery-event-card:first-child{
  border-top:0!important;
  padding-top:34px!important;
}

@media(max-width:900px){
  .gallery-page{
    padding-top:74px!important;
  }
  .gallery-page .gallery-topbar .topbar-inner{
    height:74px;
    padding:0 4vw;
  }
  .gallery-page .gallery-topbar .brand{
    width:205px!important;
    flex-basis:205px!important;
  }
  .gallery-page .gallery-topbar .brand img{
    width:205px!important;
    height:39px!important;
  }
  .gallery-page .gallery-topbar .gallery-back{
    font-size:12px!important;
    white-space:nowrap;
  }
  .gallery-page .gallery-event-card:first-child{
    padding-top:24px!important;
  }
}
@media(max-width:520px){
  .gallery-page .gallery-topbar .gallery-back{
    font-size:11px!important;
  }
}


/* =========================================================
   GALLERY COMPATTA V5
   Favicon trasparente, footer Home, locandine, storico sostegni
   ========================================================= */

.footer-home-link{
  text-decoration:none!important;
  cursor:pointer;
}
.footer-home-link:hover{opacity:.88}

/* Micro-link LOCANDINA: discreto e uniforme */
.event-poster-cta{
  margin:.65rem 0 0!important;
}
.poster-mini-link{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  background:transparent;
  padding:0;
  color:var(--red);
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  cursor:pointer;
  text-transform:uppercase;
}
.poster-mini-link:hover{opacity:.72}
.poster-mini-link:focus-visible{outline:2px solid var(--red);outline-offset:5px}

/* Storico sostegni: conserva la stessa grammatica grafica delle 3 card */
.support-history{
  display:grid;
  gap:20px;
  margin-top:32px;
}
.support-row{
  margin:0!important;
}
.support-row .stat{
  min-height:310px;
}
.support-row .stat h3{
  font-size:22px;
  line-height:1.15;
}
.support-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px 10px;
  align-items:flex-start;
}
.support-links a{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:7px 11px;
  border:1px solid #343434;
  border-radius:999px;
  color:#d7d2cc;
  text-decoration:none;
  font-size:13px;
  font-weight:750;
  line-height:1;
  transition:border-color .2s ease,color .2s ease,background .2s ease;
}
.support-links a:hover{
  border-color:var(--red);
  color:#fff;
  background:rgba(242,44,36,.08);
}

/* Torneo Gallery: finché non arrivano foto/video, mostra solo la locandina compatta */
.gallery-event-subtitle{
  margin:7px 0 0;
  color:#d5d0ca;
  font-size:17px;
  font-weight:800;
}
.gallery-poster-only-wrap{
  display:flex;
  align-items:flex-end;
  gap:18px;
}
.gallery-poster-preview{
  display:block;
  width:min(340px,100%);
  aspect-ratio:4/5;
  padding:0;
  overflow:hidden;
  border:1px solid #292929;
  border-radius:16px;
  background:#111;
  cursor:pointer;
}
.gallery-poster-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery-poster-caption{
  margin-bottom:8px;
}

@media(max-width:900px){
  .support-row .stat{
    min-height:0;
  }
  .support-history{
    gap:14px;
  }
  .support-links{
    gap:7px;
  }
  .gallery-poster-only-wrap{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .gallery-poster-preview{
    width:min(320px,82vw);
  }
}

/* V6 - modifiche consolidate 23/09/2026 */
.menu-grid .card{position:relative;overflow:hidden}
.menu-icon{width:52px;height:52px;margin-bottom:10px;color:var(--red)}
.menu-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.menu-grid .card h3{margin-top:0}
.support-compact-history{display:grid;gap:14px;margin-top:34px}
.support-compact-row{display:grid;grid-template-columns:minmax(250px,1.05fr) minmax(380px,1.65fr) 118px;gap:24px;align-items:center;background:#181818;border:1px solid #2b2b2b;border-radius:22px;padding:24px 26px;min-height:138px}
.support-event h3{font-size:22px;line-height:1.1;margin:0 0 9px}.support-event p{margin:0;color:#aaa39c}
.support-compact-row .support-links{display:flex;flex-wrap:wrap;gap:8px}.support-compact-row .support-links a{margin:0}
.solidarity-badge{justify-self:end;width:104px;height:104px;border-radius:50%;background:var(--red);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1}
.solidarity-badge strong{font-size:28px;letter-spacing:-.04em}.solidarity-badge span{font-size:9px;font-weight:900;letter-spacing:.08em;margin-top:5px;line-height:1.15}
.event-title-with-poster{display:flex;align-items:center;gap:16px;min-width:0}.event-title-with-poster>div{min-width:0}.event-poster-thumb{flex:0 0 54px;width:54px;height:70px;padding:0;border:1px solid #343434;border-radius:8px;overflow:hidden;background:#111;cursor:pointer}.event-poster-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.event-poster-thumb:hover img{transform:scale(1.06)}.past-event>div>span{color:var(--red)}
.gallery-photo-grid-torneo{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;max-width:1040px}.gallery-photo-grid-torneo button{padding:0;border:1px solid #2a2a2a;border-radius:14px;overflow:hidden;background:#111;cursor:pointer;min-height:0}.gallery-photo-grid-torneo .torneo-main{grid-row:1/3}.gallery-photo-grid-torneo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}.gallery-photo-grid-torneo button:hover img{transform:scale(1.025)}
@media(max-width:760px){.support-compact-history{gap:12px;margin-top:24px}.support-compact-row{grid-template-columns:1fr 72px;gap:12px;padding:18px 16px;min-height:0;border-radius:18px}.support-event{padding-right:4px}.support-event h3{font-size:19px;padding-right:0}.support-event p{font-size:13px}.support-compact-row .support-links{grid-column:1/3;gap:6px}.support-compact-row .support-links a{font-size:11px;min-height:28px;padding:6px 9px}.solidarity-badge{grid-column:2;grid-row:1;width:68px;height:68px}.solidarity-badge strong{font-size:19px}.solidarity-badge span{font-size:6.5px}.event-title-with-poster{gap:12px}.event-poster-thumb{flex-basis:46px;width:46px;height:60px}.gallery-photo-grid-torneo{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery-photo-grid-torneo .torneo-main{grid-column:1/3;grid-row:auto;aspect-ratio:4/3}.gallery-photo-grid-torneo button{aspect-ratio:4/3}}

/* V8 - eventi conclusi e link diretti alle gallery */
.gallery-event-card[id]{scroll-margin-top:110px}
.gallery-single-poster{grid-template-columns:minmax(150px,260px);justify-content:start}
.gallery-single-poster button{aspect-ratio:4/5}
@media(max-width:760px){.gallery-single-poster{grid-template-columns:minmax(120px,46vw)}}


/* =========================================================
   V9 CORRETTA — storico solo in Trasparenza + media + Gallery
   ========================================================= */
.support-compact-row{
  grid-template-columns:minmax(240px,1.05fr) minmax(330px,1.55fr) 84px 104px;
  gap:18px;
}
.support-gallery-link{
  display:inline-block;
  margin-top:12px;
  color:var(--red);
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}
.support-gallery-link:hover{opacity:.72}
.support-media-wrap{display:flex;justify-content:center;align-items:center}
.support-media{
  width:72px;
  height:92px;
  padding:0;
  border:1px solid #343434;
  border-radius:10px;
  overflow:hidden;
  background:#101010;
  cursor:pointer;
  position:relative;
  display:block;
}
.support-media img,
.support-media video{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.support-media img{transition:transform .2s ease}
.support-media:hover img{transform:scale(1.05)}
.support-media-video video{pointer-events:none}
.support-media-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(0,0,0,.62);
  color:#fff;
  font-size:10px;
}
.footer-social a,
.gallery-social-footer a{
  color:#b7b1aa;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}
.footer-social a:hover,
.gallery-social-footer a:hover{color:#fff}
.gallery-social-footer{
  background:#020202;
  border-top:1px solid #181818;
  padding:28px 5vw 34px;
  text-align:center;
}

/* Tablet */
@media(max-width:980px) and (min-width:761px){
  .support-compact-row{
    grid-template-columns:minmax(210px,1fr) minmax(280px,1.35fr) 74px 90px;
    gap:14px;
    padding:20px;
  }
  .support-media{width:64px;height:82px}
  .solidarity-badge{width:86px;height:86px}
  .solidarity-badge strong{font-size:23px}
}

/* Smartphone: compatto e leggibile, niente scroll orizzontale */
@media(max-width:760px){
  .support-compact-history{gap:12px;margin-top:24px}
  .support-compact-row{
    grid-template-columns:minmax(0,1fr) 58px 66px;
    grid-template-areas:
      "event media badge"
      "links links links";
    gap:10px;
    padding:16px 14px;
    min-height:0;
    border-radius:18px;
    align-items:start;
  }
  .support-event{
    grid-area:event;
    min-width:0;
    padding-right:0;
  }
  .support-event h3{
    font-size:18px;
    line-height:1.12;
    margin-bottom:7px;
  }
  .support-event p{
    font-size:12px;
    line-height:1.35;
  }
  .support-gallery-link{
    margin-top:9px;
    font-size:10px;
    letter-spacing:.07em;
  }
  .support-links{
    grid-area:links!important;
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin-top:2px;
  }
  .support-compact-row .support-links a{
    font-size:10.5px;
    min-height:27px;
    padding:6px 8px;
  }
  .support-media-wrap{
    grid-area:media;
    justify-self:center;
    align-self:start;
  }
  .support-media{
    width:54px;
    height:70px;
    border-radius:8px;
  }
  .solidarity-badge{
    grid-area:badge!important;
    width:62px;
    height:62px;
    justify-self:end;
    align-self:start;
  }
  .solidarity-badge strong{font-size:18px}
  .solidarity-badge span{font-size:6px;letter-spacing:.05em}
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
    align-items:start!important;
  }
  .footer-social{margin-top:2px!important}
}

/* V10 - correzioni finali Trasparenza / Instagram */
.support-compact-row{
  grid-template-columns:minmax(330px,1.05fr) minmax(420px,1.65fr) 112px!important;
  gap:28px!important;
  padding:26px 30px!important;
  min-height:132px!important;
  align-items:center!important;
}
.support-event{min-width:0}
.support-event-head{display:flex;align-items:center;gap:18px;min-width:0}
.support-event-copy{min-width:0;flex:0 1 auto}
.support-event h3{font-size:20px!important;line-height:1.15!important;margin:0 0 8px!important}
.support-event p{font-size:15px!important;line-height:1.35!important;margin:0!important}
.support-gallery-link{display:inline-block;margin-top:10px!important;font-size:11px!important}
.support-poster-thumb{
  flex:0 0 auto;width:48px;height:64px;padding:0;border:0;border-radius:7px;
  overflow:hidden;background:#111;cursor:pointer;box-shadow:0 0 0 1px rgba(255,255,255,.10);
}
.support-poster-thumb img{width:100%;height:100%;display:block;object-fit:cover}
.support-poster-thumb:hover img{transform:scale(1.04)}
.support-poster-thumb img{transition:transform .18s ease}
.solidarity-badge{
  width:104px!important;height:104px!important;justify-self:end!important;
  flex:0 0 104px!important;
}
.solidarity-badge strong{font-size:29px!important}
.solidarity-badge span{font-size:9px!important;letter-spacing:.08em!important}
.instagram-icon{
  width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;
  color:#fff;opacity:.88;transition:opacity .18s ease,transform .18s ease;
}
.instagram-icon:hover{opacity:1;transform:scale(1.06)}
.instagram-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}
.footer-social{display:flex;justify-content:flex-end;align-items:center;margin:0!important}
.gallery-social-footer{display:flex!important;justify-content:center;align-items:center;padding:26px 5vw 32px!important}

@media(max-width:980px) and (min-width:761px){
  .support-compact-row{
    grid-template-columns:minmax(280px,1fr) minmax(300px,1.35fr) 94px!important;
    gap:18px!important;padding:22px!important;
  }
  .solidarity-badge{width:90px!important;height:90px!important;flex-basis:90px!important}
  .solidarity-badge strong{font-size:25px!important}
}
@media(max-width:760px){
  .support-compact-row{
    grid-template-columns:minmax(0,1fr) 72px!important;
    grid-template-areas:"event badge" "links links"!important;
    gap:12px 10px!important;padding:16px 14px!important;min-height:0!important;align-items:start!important;
  }
  .support-event{grid-area:event!important}
  .support-event-head{gap:10px!important;align-items:flex-start!important}
  .support-event-copy{flex:1 1 auto!important;min-width:0!important}
  .support-event h3{font-size:17px!important;line-height:1.12!important}
  .support-event p{font-size:11.5px!important;line-height:1.35!important}
  .support-gallery-link{font-size:9.5px!important;margin-top:8px!important}
  .support-poster-thumb{width:42px!important;height:56px!important;border-radius:6px!important}
  .support-links{grid-area:links!important;margin-top:2px!important}
  .solidarity-badge{
    grid-area:badge!important;width:68px!important;height:68px!important;flex-basis:68px!important;justify-self:end!important;
  }
  .solidarity-badge strong{font-size:20px!important}
  .solidarity-badge span{font-size:6.3px!important}
  .footer-social{justify-content:flex-start!important}
  .instagram-icon,.instagram-icon svg{width:23px!important;height:23px!important}
}
