/* Pentalfa Club — stile comune a tutte le pagine (struttura dagli APPUNTI SITO PENTALFA + quaderno-pentalfa).
   Parole: circolo, soci, posto. Mai «tavolo», mai «ristorante». */
:root{
  --notte:#101A3D;      /* fondo del logo */
  --notte-fondo:#0A1230;
  --notte-chiara:#18275A;
  --giallo:#FFFF00;     /* stella del logo, usata poco */
  --bianco:#FFFFFF;
  --testo:#E9EDF8;
  --testo2:#AEB8D6;
  --linea:rgba(255,255,255,.12);
  --wrap:1280px;
  --serif:"Bodoni Moda",Didot,"Bodoni 72",serif;
  --sans:"Archivo",system-ui,-apple-system,sans-serif;
  --stella:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:var(--notte);color:var(--testo);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:3px solid var(--giallo);outline-offset:3px}
.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}
@media(min-width:760px){.wrap{width:min(100% - 80px,var(--wrap))}}
.salta{position:absolute;left:-999px;top:8px;z-index:99;background:var(--giallo);color:var(--notte);padding:10px 16px;font-weight:800}
.salta:focus{left:16px}

/* etichette in maiuscoletto, come «CLUB · MUSICA DAL VIVO» del logo */
.occhiello{display:flex;align-items:center;gap:10px;font:800 12px/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--giallo)}
.occhiello::before{content:"";width:13px;height:13px;flex:none;background:var(--giallo);clip-path:var(--stella)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04;color:var(--bianco);letter-spacing:-.01em}
h2{font-size:clamp(40px,6vw,76px);margin-top:14px}
h2 em,h1 em{font-style:italic;color:var(--giallo)}
.sotto{color:var(--testo2);max-width:58ch;margin-top:18px}

/* pulsanti: barra gialla sotto come le voci di Saint Louis */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 22px;font:800 14px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--bianco);border:0;background:transparent;box-shadow:inset 0 -5px 0 var(--giallo);cursor:pointer;transition:background .2s,color .2s}
.btn:hover{background:var(--giallo);color:var(--notte)}
.btn.pieno{background:var(--giallo);color:var(--notte);box-shadow:none}
.btn.pieno:hover{background:var(--bianco)}
.btn svg{width:18px;height:18px;flex:none}
.freccia{display:inline-flex;align-items:center;gap:8px;font:800 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--bianco);padding:12px 0;border-bottom:2px solid var(--giallo)}
.freccia::after{content:"→";color:var(--giallo)}
.da-conf{font-size:13px;color:var(--testo2)}

/* ===== testata sottile: le 7 voci degli appunti ===== */
.top{position:sticky;top:0;z-index:50;background:var(--notte);border-bottom:1px solid var(--linea)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.marchio img{height:42px;width:auto}
.voci{display:none;align-items:center;gap:22px;list-style:none;padding:0}
.voci a{display:block;padding:10px 2px 9px;font:800 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;box-shadow:inset 0 -4px 0 transparent;transition:box-shadow .2s,color .2s}
.voci a:hover,.voci a[aria-current]{box-shadow:inset 0 -4px 0 var(--giallo)}
.burger{width:48px;height:48px;display:grid;place-items:center;background:none;border:0;color:var(--bianco);cursor:pointer}
/* 29/10 sera: la X sono le due righe esterne che ruotano insieme in due tempi, prima al centro poi ruotano (prima una riga compariva di colpo e per .3s si vedevano 3-4 righe storte) */
.burger i{position:relative;display:block;width:28px;height:2px;background:currentColor;transition:background .15s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:28px;height:2px;background:currentColor;transition:rotate .15s,translate .15s .15s}
.burger i::before{translate:0 -9px}
.burger i::after{translate:0 9px}
.aperto .burger i{background:transparent}
.aperto .burger i::before,.aperto .burger i::after{translate:0 0;transition:translate .15s,rotate .15s .15s}
.aperto .burger i::before{rotate:45deg}
.aperto .burger i::after{rotate:-45deg}
@media(min-width:1000px){.top .wrap{height:76px}.marchio img{height:48px}}
/* Andres 29/10: hamburger sempre visibile, anche con le 7 voci */
@media(min-width:1240px){.voci{display:flex}}

/* menu a tutto schermo (telefono e tablet) */
.tenda{position:fixed;inset:64px 0 0;z-index:49;background:var(--notte-fondo);overflow:auto;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
.aperto .tenda{opacity:1;visibility:visible}
.tenda .wrap{padding:28px 0 48px;display:grid;gap:36px}
.tenda ul{list-style:none;padding:0}
.tenda li a{display:block;padding:9px 0;font:500 clamp(32px,6vw,52px)/1.1 var(--serif);text-decoration:none;border-bottom:1px solid var(--linea)}
.tenda li a:hover{color:var(--giallo);font-style:italic}
.tenda .recapiti{display:grid;gap:8px;color:var(--testo2)}
.tenda .recapiti a{color:var(--bianco)}
@media(min-width:1000px){.tenda{inset:76px 0 0}.tenda .wrap{grid-template-columns:2fr 1fr;align-items:end}}

/* ===== hero a tutta larghezza che gira ===== */
.hero{position:relative;overflow:hidden;height:clamp(500px,74svh,640px);background:var(--notte-fondo)}
.pista{display:flex;height:100%;will-change:transform}
.slide{position:relative;flex:0 0 100%;height:100%}
.slide picture,.slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide.dx img{object-position:68% center}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,48,.92) 0%,rgba(10,18,48,.55) 38%,rgba(10,18,48,0) 70%)}
.didascalia{position:absolute;left:0;right:0;bottom:84px;z-index:2}
.didascalia .titolo-h{font:500 clamp(44px,7.4vw,96px)/1.02 var(--serif);color:var(--bianco);margin:14px 0 22px;max-width:12ch}
.didascalia .titolo-h em{font-style:italic;color:var(--giallo)}
.comandi{position:absolute;left:0;right:0;bottom:24px;z-index:3}
.comandi .wrap{display:flex;align-items:center;gap:6px}
.punto{width:32px;height:32px;display:grid;place-items:center;background:none;border:0;cursor:pointer}
.punto::before{content:"";width:14px;height:14px;background:rgba(255,255,255,.45);clip-path:var(--stella);transition:background .3s,transform .3s}
.punto[aria-current=true]::before{background:var(--giallo);transform:scale(1.35)}
.pausa{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;background:rgba(10,18,48,.5);border:1px solid var(--linea);color:var(--bianco);cursor:pointer}
.pausa svg{width:16px;height:16px}
@media(min-width:1000px){.hero{height:min(78vh,720px)}.didascalia{bottom:104px}}

/* ===== 1. scuola · live · sala prove ===== */
.intro{padding:72px 0 64px}
.intro .wrap{display:grid;gap:28px}
.intro h1{font-size:clamp(36px,5vw,64px);max-width:20ch;margin-top:16px}
.intro .indirizzo{margin-top:20px;color:var(--bianco);font-weight:600}
.tre{list-style:none;padding:0;display:grid;gap:12px;margin-top:28px}
.tre a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:84px;padding:18px 22px;border:1px solid var(--linea);text-decoration:none;font:600 italic clamp(28px,3.2vw,40px)/1 var(--serif);color:var(--bianco);box-shadow:inset 0 -5px 0 var(--giallo);transition:background .25s,color .25s}
.tre a::after{content:"→";font:400 24px/1 var(--sans);color:var(--giallo);transition:transform .25s}
.tre a:hover{background:var(--giallo);color:var(--notte)}
.tre a:hover::after{color:var(--notte);transform:translateX(4px)}
@media(min-width:1000px){.intro{padding:112px 0 96px}.intro .wrap{grid-template-columns:1.3fr 1fr;align-items:end;column-gap:80px}.tre{grid-template-columns:repeat(3,1fr);grid-column:1/-1;gap:24px;margin-top:40px}.tre a{min-height:120px;padding:24px 28px}}

/* ===== intestazione di sezione ===== */
.sez{padding:80px 0}
.fondo{background:var(--notte-fondo)}
.testa-sez{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px;margin-bottom:44px}
@media(min-width:1000px){.sez{padding:120px 0}}

/* ===== 2. corsi: tre riquadri grandi ===== */
.riquadri{display:grid;gap:20px}
.riquadro{position:relative;display:block;overflow:hidden;background:var(--notte-chiara);text-decoration:none;aspect-ratio:4/3}
.riquadro img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.riquadro::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,18,48,.9),rgba(10,18,48,0) 60%)}
.riquadro .titolo{position:absolute;left:24px;right:24px;bottom:22px;z-index:2}
.riquadro h3{display:inline-block;font:600 italic clamp(30px,3.2vw,44px)/1.05 var(--serif);padding-bottom:10px;box-shadow:inset 0 -6px 0 var(--giallo)}
.riquadro .conta{display:block;margin-top:12px;font:800 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--testo)}
.riquadro:hover img,.apri[open] .riquadro img{transform:scale(1.05)}
.apri summary{list-style:none;cursor:pointer}
.apri summary::-webkit-details-marker{display:none}
.apri .conta::after{content:" +";color:var(--giallo)}
.apri[open] .conta::after{content:" −"}
.apri .desc{color:var(--testo2);padding-top:20px;font-size:15px}
.elenco{padding:14px 0 8px;columns:2;column-gap:24px;list-style:none}
.elenco li{break-inside:avoid;padding:7px 0;border-bottom:1px solid var(--linea);font:500 18px/1.3 var(--serif);color:var(--bianco)}
.elenco.uno{columns:1}
.elenco small{display:block;font:400 13px/1.4 var(--sans);color:var(--testo2)}
.azioni{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;margin-top:40px}
@media(min-width:760px){.riquadri{grid-template-columns:1fr 1fr;gap:28px;align-items:start}}
@media(min-width:1000px){.corsi .riquadri{grid-template-columns:repeat(3,1fr)}.corsi .riquadro{aspect-ratio:4/5}}

/* ===== 3. concerti: lista come la bozza (GG · titolo · foto) ===== */
.serate{list-style:none;padding:0;border-top:1px solid var(--linea)}
[hidden]{display:none!important} /* .serata{display:grid} vinceva su hidden: il filtro dei concerti non nascondeva */
.serata{display:grid;grid-template-columns:64px 1fr 96px;gap:4px 16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--linea)}
.data{grid-row:span 3;font:600 34px/1 var(--serif);color:var(--giallo);text-align:center}
.data small{display:block;margin-top:6px;font:800 10px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--testo2)}
.serata h3{font-size:clamp(24px,3vw,36px)}
.serata .info{color:var(--testo2);font-size:15px}
.serata .foto{grid-column:3;grid-row:1/span 3;width:96px;aspect-ratio:1;object-fit:cover}
.serata .btn{grid-column:2;justify-self:start;margin-top:8px;min-height:44px;padding:10px 16px;font-size:12px}
@media(min-width:1000px){.serata{grid-template-columns:120px 1fr auto 160px;gap:4px 32px;padding:26px 0}.data{font-size:46px}.serata .foto{grid-column:4;width:160px}.serata .btn{grid-column:3;grid-row:1/span 3;margin:0}}

/* prenota un posto (sezione della bozza, «tavolo» → «posto») */
.prenota{margin-top:56px;display:grid;gap:28px;padding:32px 24px;background:var(--notte-chiara);box-shadow:inset 0 -6px 0 var(--giallo)}
.prenota h3{font-size:clamp(32px,4vw,48px)}
.prenota h3 em{font-style:italic;color:var(--giallo)}
.prenota p{color:var(--testo2);margin-top:10px}
.prenota form{display:grid;gap:14px}
.prenota label{display:grid;gap:6px;font:800 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--testo2)}
.prenota input{font:400 17px var(--sans);color:var(--bianco);background:var(--notte-fondo);border:1px solid var(--linea);padding:13px 14px;border-radius:0}
.prenota input:focus{border-color:var(--giallo);outline:none}
@media(min-width:1000px){.prenota{grid-template-columns:1fr 1.2fr;gap:56px;padding:48px}.prenota form{grid-template-columns:1.4fr 1.4fr .7fr;align-items:end}.prenota form .btn{grid-column:1/-1;justify-self:start}}

/* ===== 4. docenti: schede che scorrono ===== */
.striscia{display:grid;grid-auto-flow:column;grid-auto-columns:min(64%,240px);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-width:thin;scrollbar-color:var(--giallo) transparent;list-style:none;padding-left:0}
.striscia li{scroll-snap-align:start}
.striscia img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.9);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.striscia figure{overflow:hidden}
.striscia li:hover img{transform:scale(1.04)}
.striscia b{display:block;margin-top:12px;font:600 21px/1.15 var(--serif);color:var(--bianco)}
.striscia span{display:block;margin-top:4px;font:800 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--giallo)}
@media(min-width:1000px){.striscia{grid-auto-columns:260px;gap:24px}}

/* ===== 5-6. eventi privati + sala prove ===== */
.spazi .riquadro{aspect-ratio:16/10}
.spazi .testo{padding:24px 0 8px}
.spazi .testo p{color:var(--testo2);margin:10px 0 8px;max-width:46ch}
.spazi .testo ul{color:var(--testo);margin:0 0 6px;padding-left:20px}
.spazi .testo .da-conf{display:block;margin:6px 0 20px}

/* ===== 7. soci ===== */
.soci .wrap{display:grid;gap:28px;align-items:center}
.soci img{aspect-ratio:1;object-fit:cover;width:100%}
@media(min-width:1000px){.soci .wrap{grid-template-columns:1fr 1.2fr;gap:80px}}

/* ===== footer con logo ARCI ===== */
footer{background:var(--notte-fondo);padding:72px 0 32px;border-top:1px solid var(--linea)}
.piede{display:grid;gap:36px}
.piede h3{font:800 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--giallo);margin-bottom:14px}
.piede p{color:var(--testo)}
.piede a{text-decoration-color:var(--giallo);text-underline-offset:4px}
.social{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.social a{font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:12px 16px;border:1px solid var(--linea)}
.social a:hover{border-color:var(--giallo);color:var(--giallo)}
.agevolazioni{margin-top:28px;padding:16px 20px;border-left:4px solid var(--giallo);background:var(--notte-chiara);color:var(--testo);font-size:15px;max-width:760px}
.firma{display:flex;flex-wrap:wrap;align-items:center;gap:20px 32px;margin-top:48px;padding-top:28px;border-top:1px solid var(--linea);font-size:13px;color:var(--testo2)}
.firma .stella{height:40px;width:auto}
.firma .arci{height:44px;width:auto;background:#fff;padding:4px 8px}
@media(min-width:760px){.piede{grid-template-columns:repeat(3,1fr)}}

/* ingresso morbido, una volta */
.entra{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1)}
.entra.visibile{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entra{opacity:1;transform:none;transition:none}.riquadro img,.striscia img{transition:none}}

/* ===================== pagine interne ===================== */
.testa-pag{padding:64px 0 40px;border-bottom:1px solid var(--linea)}
.testa-pag h1{font-size:clamp(48px,8vw,104px);margin-top:16px}
.testa-pag h1 em{font-style:italic;color:var(--giallo)}
.testa-pag .sotto{font-size:18px;max-width:64ch}
.briciole{font:800 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--testo2);margin-bottom:22px}
.briciole a{text-decoration:none;color:var(--testo2)}.briciole a:hover{color:var(--giallo)}
@media(min-width:1000px){.testa-pag{padding:96px 0 56px}}
/* sotto-menu della pagina (Corsi: tre schede; Concerti: filtri) */
.schede{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.schede a,.schede button{min-height:44px;padding:12px 18px;font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--bianco);background:transparent;border:1px solid var(--linea);cursor:pointer}
.schede a:hover,.schede button:hover{border-color:var(--giallo)}
.schede [aria-pressed=true]{background:var(--giallo);color:var(--notte);border-color:var(--giallo)}
.testo-lungo p{color:var(--testo2);max-width:66ch;margin-top:14px}
.testo-lungo p:first-child{margin-top:0}
.testo-lungo ul{color:var(--testo2);max-width:66ch;margin:12px 0 0;padding-left:20px}
.testo-lungo li{margin-top:6px}
.testo-lungo b{color:var(--bianco);font-weight:600}
/* corsi: griglia strumenti */
.strumenti{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:20px}
.strumenti img{width:100%;aspect-ratio:1;object-fit:cover}
.strumenti b{display:block;margin-top:10px;font:600 20px/1.15 var(--serif);color:var(--bianco)}
.strumenti span{display:block;margin-top:4px;font-size:14px;color:var(--testo2)}
.strumenti span a{color:var(--testo);text-decoration-color:var(--giallo);text-underline-offset:3px}
@media(min-width:1000px){.strumenti{grid-template-columns:repeat(5,1fr);gap:28px}}
/* laboratori che si aprono */
.lab{border-top:1px solid var(--linea)}
.lab:last-child{border-bottom:1px solid var(--linea)}
.lab summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:18px 0}
.lab summary::-webkit-details-marker{display:none}
.lab summary img{width:84px;aspect-ratio:1;object-fit:cover}
.lab summary b{font:500 clamp(24px,3vw,34px)/1.1 var(--serif);color:var(--bianco)}
.lab summary::after{content:"+";font:400 30px/1 var(--sans);color:var(--giallo)}
.lab[open] summary::after{content:"−"}
.lab .testo-lungo{padding:0 0 28px}
@media(min-width:760px){.lab .testo-lungo{padding-left:102px}}
/* docenti: griglia */
.griglia{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:28px 16px}
.griglia a{text-decoration:none;display:block}
.griglia figure{overflow:hidden}
.griglia img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.griglia a:hover img{transform:scale(1.04)}
.griglia b{display:block;margin-top:12px;font:600 20px/1.15 var(--serif);color:var(--bianco)}
.griglia span{display:block;margin-top:4px;font:800 11px/1.35 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--giallo)}
@media(min-width:760px){.griglia{grid-template-columns:repeat(3,1fr);gap:40px 24px}}
@media(min-width:1000px){.griglia{grid-template-columns:repeat(4,1fr)}}
/* scheda singola (docente, evento): foto a sinistra, testo a destra */
.scheda{display:grid;gap:32px;align-items:start}
.scheda>img,.scheda>figure img{width:100%;height:auto}
.scheda h1{font-size:clamp(40px,6vw,76px);margin-top:14px}
.scheda .ruolo{margin-top:12px;font:800 13px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--giallo)}
.dati{list-style:none;padding:0;margin-top:24px;border-top:1px solid var(--linea)}
.dati li{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--linea);color:var(--bianco)}
.dati li span{font:800 11px/1.6 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--testo2)}
.scheda .testo-lungo{margin-top:28px}
.musicisti{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0}.musicisti img{aspect-ratio:1;object-fit:cover} /* foto dei musicisti ritagliate dalle locandine */
@media(min-width:1000px){.scheda{grid-template-columns:5fr 7fr;gap:72px}.scheda>img,.scheda>figure{position:sticky;top:110px}}
/* concerti: titoli cliccabili nella lista */
.serata h3 a{text-decoration:none}.serata h3 a:hover{color:var(--giallo)}
.serata .fatto{grid-column:2;justify-self:start;font:800 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--testo2);margin-top:8px}
@media(min-width:1000px){.serata .fatto{grid-column:3;grid-row:1/span 3;margin:0}}
.gruppo-titolo{font:800 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--giallo);margin:48px 0 16px}
.gruppo-titolo:first-child{margin-top:0}
.gruppo+.gruppo>.gruppo-titolo{margin-top:56px}
/* sala prove e feste: due colonne */
.colonne{display:grid;gap:56px}
.colonne article>img{width:100%;aspect-ratio:16/10;object-fit:cover}
.colonne h2{font-size:clamp(36px,4.6vw,60px)}
.colonne .btn{margin-top:24px}
@media(min-width:1000px){.colonne{grid-template-columns:1fr 1fr;gap:64px}.colonne article+article{border-left:1px solid var(--linea);padding-left:64px}}
/* passi della tessera */
.passi{counter-reset:p;list-style:none;padding:0;margin-top:18px;max-width:66ch}
.passi li{counter-increment:p;position:relative;padding:12px 0 12px 48px;border-bottom:1px solid var(--linea);color:var(--testo)}
.passi li::before{content:counter(p);position:absolute;left:0;top:10px;font:600 26px/1 var(--serif);color:var(--giallo)}
/* contatti */
.recapito{display:grid;gap:4px;padding:22px 0;border-bottom:1px solid var(--linea)}
.recapito span{font:800 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--giallo)}
.recapito a,.recapito p{font:600 clamp(20px,2.4vw,26px)/1.3 var(--sans);color:var(--bianco);text-decoration:none} /* Bodoni: il 4 sottile spariva nei numeri di telefono */
.recapito a:hover{color:var(--giallo)}
.recapito small{color:var(--testo2);font-size:15px}
.due{display:grid;gap:40px}
@media(min-width:1000px){.due{grid-template-columns:1fr 1fr;gap:80px;align-items:start}}

/* ===== Andres 29/10: barra delle sezioni + Indietro (sotto la testata) e ↑ Su ===== */
html:has(.barra){scroll-padding-top:132px}
.barra{position:sticky;top:64px;z-index:40;background:var(--notte-fondo);border-bottom:1px solid var(--linea)}
.barra .wrap{display:flex;align-items:center;gap:4px;height:52px;overflow-x:auto;scrollbar-width:none}
.barra .wrap::-webkit-scrollbar{display:none}
.barra a{flex:none;display:block;padding:12px 12px 11px;font:800 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--testo2);white-space:nowrap;box-shadow:inset 0 -3px 0 transparent;transition:color .2s,box-shadow .2s}
.barra a:hover{color:var(--bianco)}
.barra a[aria-current=true]{color:var(--bianco);box-shadow:inset 0 -3px 0 var(--giallo)}
.barra .indietro{color:var(--bianco);padding-left:0;margin-right:8px;border-right:1px solid var(--linea);padding-right:16px}
@media(min-width:1000px){.barra{top:76px}html:has(.barra){scroll-padding-top:144px}}
.su{position:fixed;right:16px;bottom:16px;z-index:45;min-width:52px;height:52px;padding:0 16px;border:2px solid var(--giallo);background:var(--notte);color:var(--giallo);font:800 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,visibility .25s,transform .25s}
.su.vis{opacity:1;visibility:visible;transform:none}
.su:hover{background:var(--giallo);color:var(--notte)}
@media(prefers-reduced-motion:reduce){.su{transition:none}}

/* ===== Andres 30/10 09:50: la carta dell'evento si agita, si illumina e va a tutto schermo (sito.js, «giro») ===== */
.serata:has(h3 a) .foto{cursor:pointer}
.giro{position:fixed;inset:0;z-index:60}
.giro-fondo{position:absolute;inset:0;background:var(--notte-fondo)}
.giro-carta{position:absolute;inset:0;transform-origin:0 0}
.retro{position:absolute;inset:0;background:var(--notte);overflow-y:auto;overscroll-behavior:contain;padding-top:64px}
.retro .sez{padding:36px 0 64px}
.retro .scheda>img,.retro .scheda>figure{top:100px}
.fronte{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none}
.giro-carta:not(:has(.retro>*)) .fronte{opacity:1}/* in volo si vede la foto; arrivato il dettaglio, la foto sfuma */
.fronte img{position:absolute;max-width:none;transform-origin:center}
.luce{position:absolute;inset:0;background:radial-gradient(closest-side,rgba(255,255,170,.55),rgba(255,255,0,.12) 70%,transparent);opacity:0}
/* il bagliore giallo della stella sui bordi: ombra ferma, si muovono solo opacità e transform */
.bagliore{position:absolute;opacity:0;box-shadow:0 0 0 2px var(--giallo),0 0 22px 6px rgba(255,255,0,.6),0 0 60px 12px rgba(255,255,0,.25);transform-origin:center;pointer-events:none}
.giro-barra{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;gap:4px;padding:0 max(8px,calc((100% - var(--wrap))/2));background:var(--notte-fondo);border-bottom:1px solid var(--linea)}
.giro-barra button{min-width:48px;height:48px;border:0;background:none;color:var(--bianco);font:600 22px/1 var(--sans);cursor:pointer}
.giro-barra button:disabled{opacity:.3;cursor:default}
.giro-barra .giro-chiudi{margin-left:auto;color:var(--giallo);font-size:24px}
.giro-conta{min-width:56px;text-align:center;font:800 12px/1 var(--sans);letter-spacing:.14em;color:var(--testo2)}
@media(hover:hover) and (pointer:fine){.giro-barra button:not(:disabled):hover{color:var(--giallo)}}
