/* Shooting di Natale — Kesia Production. Versione unica (9/11/2026).
   Marchio: crema, verde scuro, lime, lilla; Inter 850 per i titoli (skill kesia-brand, palette Production).
   Effetti: sipario di velluto che si apre, lucine sugli alberi, giorni come caselle dell'avvento, biglietto.
   Tutto il movimento si spegne con «riduci movimento». */
@font-face{font-family:Inter;src:url('fonts/inter-latin-wght-normal.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --crema:#fff4e3;--verde:#254441;--scuro:#183632;--lime:#e6f8b2;--lilla:#d1b1c8;--velluto:#4b1413;--rosso:#8f1824;
  --filo:rgba(37,68,65,.24);--filo-chiaro:rgba(255,244,227,.28);--errore:#a3161f;
  --curva:cubic-bezier(.23,1,.32,1);--gutter:clamp(20px,4.6vw,56px);--max:1360px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--crema);color:var(--verde);font-family:Inter,system-ui,sans-serif;font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a{color:inherit}
h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0}
h1,h2,h3{font-weight:850;letter-spacing:-.045em;line-height:1.04;text-wrap:balance}
h2{font-size:clamp(2.25rem,5vw,4.75rem)}
p{text-wrap:pretty}
[hidden]{display:none!important}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,label:focus-within{outline:3px solid currentColor;outline-offset:4px}
::selection{background:var(--lime);color:var(--scuro)}
.col{width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.stretta{max-width:980px}
.sezione{padding-block:clamp(64px,9vw,112px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.salta{position:fixed;left:16px;top:-80px;padding:14px 20px;background:var(--lime);color:var(--scuro);z-index:90;font-weight:700}
.salta:focus{top:12px}
svg.freccia{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* parole ancora da confermare con Kevin: si vedono segnate solo nell'anteprima */
.dc{text-decoration:underline dashed;text-decoration-thickness:1.5px;text-underline-offset:.22em}
body:not(.prova) .dc{text-decoration:none}
/* note interne per Kevin: esistono solo nell'anteprima */
body:not(.prova) .solo-prova{display:none!important}
.avviso-prova{background:var(--scuro);color:var(--crema);text-align:center;font-size:.75rem;padding:8px 16px;line-height:1.4}
body:not(.prova) .avviso-prova{display:none}

/* bottoni: sempre in prima persona, mai un ordine a chi legge */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:56px;padding:14px 24px;font-weight:700;font-size:.9375rem;line-height:1.3;border:1.5px solid transparent;border-radius:6px;text-decoration:none;text-align:center;transition:transform .18s var(--curva),background-color .18s var(--curva)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(1px)}
.btn-lime{background:var(--lime);color:var(--scuro)}
.btn-verde{background:var(--verde);color:var(--crema)}
.btn-filo{border-color:currentColor;background:transparent}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn.largo{width:100%}

/* ---------- testata ---------- */
.testata{position:absolute;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px var(--gutter);color:var(--crema)}
.marchio{display:inline-flex;align-items:center;gap:14px;min-height:44px;text-decoration:none}
.marchio img{width:112px;height:auto}
.marchio span{font-size:.625rem;letter-spacing:.17em;border-left:1px solid currentColor;padding-left:14px;font-weight:600}
.testata nav{display:flex;align-items:center;gap:28px;font-size:.8125rem;font-weight:600}
.testata nav a{display:inline-flex;align-items:center;gap:14px;min-height:44px;text-decoration:none}
.testata .nav-prenota{border-bottom:1px solid rgba(255,244,227,.6)}

/* ---------- la scena: il sipario si apre sul set ---------- */
.scena-sez{position:relative;height:min(940px,calc(100svh - 34px));min-height:640px;color:var(--crema);display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;background:#2a0a0b url('img/set-micro.webp') center/cover;container-type:size}
/* la foto e le lucine stanno nella stessa scatola 4:3, grande abbastanza da coprire tutta la scena */
.scena{position:absolute;left:50%;top:50%;width:max(100cqw,133.34cqh);height:max(100cqh,75cqw);transform:translate(-50%,-46%);z-index:-3}
.scena img{width:100%;height:100%;object-fit:cover}
.luci{position:absolute;inset:0;background-size:100% 100%;opacity:.2;pointer-events:none}
.luci-a{background-image:url('img/luci-a.webp');animation:scintilla 2.9s ease-in-out infinite alternate}
.luci-b{background-image:url('img/luci-b.webp');animation:scintilla 3.7s ease-in-out 1.1s infinite alternate}
@keyframes scintilla{from{opacity:.1}to{opacity:1}}
@keyframes panoramica{from{transform:translateX(-41%)}to{transform:translateX(-59%)}}
.fuori .luci{animation-play-state:paused}
/* una fascia scura dietro il drappo copre il soffitto del render, che altrimenti si vede chiaro nei triangoli
   fra un festone e l'altro: sta sopra la foto e sotto i teli e il drappo */
.scena-sez::before{content:"";position:absolute;left:0;right:0;top:0;height:clamp(40px,7.5cqh,90px);z-index:-2;background:#3a0508}
.scena-sez::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(33,11,8,.74),rgba(33,11,8,.42) 34%,rgba(33,11,8,0) 68%),linear-gradient(180deg,rgba(23,10,7,.42),transparent 24%,transparent 62%,rgba(23,10,7,.5))}
.telo{position:absolute;top:0;bottom:0;width:51%;z-index:-2;background:url('img/velluto.webp') center/cover;transition:transform 1.9s var(--curva);will-change:transform}
.telo-sx{left:0;transform-origin:0 50%;background-position:left center}
.telo-dx{right:0;transform-origin:100% 50%;background-position:right center}
.telo-sx::after,.telo-dx::after{content:"";position:absolute;inset:0}
.telo-sx::after{background:linear-gradient(270deg,rgba(0,0,0,.6),rgba(0,0,0,0) 26%)}
.telo-dx::after{background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,0) 26%)}
.aperto .telo{transform:scaleX(.1)}
.festone{position:absolute;left:0;right:0;top:-2px;height:clamp(54px,10cqh,120px);z-index:-1;background:url('img/drappo.webp') center top/auto 100% repeat-x;filter:brightness(.72) drop-shadow(0 8px 12px rgba(0,0,0,.5))}
.scena-testo{padding-bottom:clamp(64px,9cqh,96px);padding-top:120px;width:min(100% - 2*var(--gutter),var(--max));margin-inline:auto}
.scena-testo>*{animation:sale .9s var(--curva) both}
.scena-testo>:nth-child(2){animation-delay:.08s}.scena-testo>:nth-child(3){animation-delay:.14s}.scena-testo>:nth-child(4){animation-delay:.2s}.scena-testo>:nth-child(5){animation-delay:.26s}
@keyframes sale{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.scena-meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.75rem;letter-spacing:.015em;margin-bottom:26px}
.scena-meta span+span{padding-left:22px;border-left:1px solid rgba(255,244,227,.55)}
h1{font-size:clamp(2.6rem,7.2vw,7rem);max-width:11em;line-height:1;letter-spacing:-.055em}
h1 span{color:var(--lime)}
.scena-sotto{max-width:27rem;font-size:1.0625rem;line-height:1.6;margin-top:24px}
.scena-azioni{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:30px}
.scena-azioni>span{font-size:.75rem;line-height:1.5}
.scena-azioni strong{font-size:1rem}
.didascalia{display:inline-block;margin-top:22px;font-size:.6875rem;line-height:1.4;color:var(--crema);background:rgba(24,35,29,.76);padding:6px 10px;border-radius:3px}

/* ---------- i fatti ---------- */
.fatti{border-bottom:1px solid var(--filo)}
.fatti ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 32px;padding-block:22px;font-size:.8125rem}
.fatti b{font-weight:750}

/* ---------- pacchetti ---------- */
.testa-sez{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:clamp(32px,4vw,52px);flex-wrap:wrap}
.testa-sez>p{font-size:1rem;max-width:27rem;line-height:1.65}
.pacchetti{display:grid;grid-template-columns:1fr 1.24fr 1fr;gap:20px;align-items:stretch}
.pacco{padding:30px 28px;display:flex;flex-direction:column;border:1px solid var(--filo);border-radius:12px}
.pacco.centro{background:var(--verde);color:var(--crema);border-color:var(--verde)}
.pacco-sopra{min-height:42px;font-size:.6875rem;line-height:1.5;letter-spacing:.04em;text-transform:uppercase;font-weight:650}
.pacco.centro .pacco-sopra{color:var(--lime)}
.pacco h3{font-size:clamp(1.9rem,2.6vw,2.3rem);margin-top:14px}
.prezzo{display:flex;align-items:baseline;font-size:clamp(3.4rem,5vw,4.6rem);font-weight:800;letter-spacing:-.06em;line-height:1.1;margin-top:22px}
.prezzo small{font-size:.42em;letter-spacing:-.03em;margin-left:8px}
.prezzo em{font-style:normal;font-size:.6875rem;letter-spacing:.02em;font-weight:500;margin-left:12px}
.pacco>p:not(.prezzo):not(.pacco-sopra){font-size:.9375rem;margin-top:16px;min-height:4.3em}
.pacco ul{padding:0;list-style:none;font-size:.8125rem;line-height:1.55;margin:22px 0 28px}
.pacco li{padding-block:10px;border-bottom:1px solid var(--filo);display:flex;gap:10px}
.pacco.centro li{border-color:var(--filo-chiaro)}
.pacco li::before{content:"";width:5px;height:5px;background:currentColor;flex:none;border-radius:50%;margin-top:.55em}
.pacco .btn{margin-top:auto}
.nota{font-size:.8125rem;margin-top:22px;max-width:60ch}

/* ---------- come funziona ---------- */
.passi-sez{background:var(--lime);color:var(--scuro)}
.passi{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;counter-reset:p}
.passi li{counter-increment:p;border-top:2px solid var(--scuro);padding-top:18px}
.passi li::before{content:"0" counter(p);display:block;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin-bottom:14px}
.passi h3{font-size:1.3rem;letter-spacing:-.03em;line-height:1.15;margin-bottom:10px}
.passi p{font-size:.9375rem}

/* ---------- chi trovi ---------- */
.chi{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}
.chi h2{font-size:clamp(2rem,3.8vw,3.4rem)}
.chi p{margin-top:20px;max-width:34rem}
.numeri{display:flex;flex-wrap:wrap;gap:20px 44px;margin-top:30px;padding-top:24px;border-top:1px solid var(--filo)}
.numeri b{display:block;font-size:2.4rem;font-weight:850;letter-spacing:-.05em;line-height:1.1}
.numeri span{font-size:.8125rem}
.volti{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.volti figure{min-width:0}
.volti img,.volti .vuoto{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 22%;border-radius:10px}
.volti .vuoto{display:grid;place-items:center;text-align:center;font-size:.75rem;padding:10px;border:1px dashed var(--filo);line-height:1.4}
.volti figcaption{font-size:.75rem;padding-top:8px;line-height:1.4}
.volti figure:nth-child(2){margin-top:36px}

/* ---------- domande ---------- */
.domande-sez{background:var(--scuro);color:var(--crema)}
.domande{margin-top:8px;max-width:54rem}
.domande details{border-bottom:1px solid var(--filo-chiaro)}
.domande summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:68px;padding:16px 0;font-weight:700;font-size:1.0625rem;line-height:1.35}
.domande summary::-webkit-details-marker{display:none}
.domande summary::after{content:"+";font-size:1.6rem;font-weight:300;color:var(--lime);flex:none;line-height:1}
.domande details[open] summary::after{content:"–"}
.domande details p{padding:0 0 22px;max-width:46rem;font-size:1rem;opacity:.95}
.domande details a{text-underline-offset:.2em}
/* i link dentro una frase hanno comunque 44 px di tocco, senza spostare le righe */
.domande details a,.spunta a,.legge a,.nota a,.aiuto a{display:inline-block;padding-block:13px;margin-block:-13px}
.palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:22px;max-width:46rem}
.palette>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;font-size:.75rem}
.palette i{display:block;height:34px;border-radius:3px}
.palette span{grid-column:1/-1;padding-top:4px;line-height:1.3}

/* ---------- le stampe ---------- */
.casa{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,6vw,90px);align-items:start}
.casa h2{font-size:clamp(2rem,4vw,3.6rem)}
.casa>div>p{margin-top:20px;max-width:32rem}
.listino{border-top:2px solid var(--verde)}
.listino div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--filo);font-size:.9375rem}
.listino dd{font-weight:750;white-space:nowrap}

/* ---------- prenota ---------- */
.prenota-sez{background:var(--scuro);color:var(--crema)}
.prenota-sez .testa-sez>p{opacity:.92}
.metodi-riga{font-size:.8125rem;margin-top:10px;opacity:.9}
.modulo{background:var(--crema);color:var(--verde);border-radius:14px;max-width:980px;margin-inline:auto;overflow:hidden}
.modulo-testa{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;border-bottom:1px solid var(--filo)}
.modulo-testa p{font-size:.75rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.tappe{display:flex;gap:6px}
.tappe i{display:block;width:30px;height:4px;border-radius:2px;background:var(--filo)}
.tappe i.on{background:var(--verde)}
.tappa{display:none;padding:26px 24px 8px}
.tappa.on{display:block}
.tappa h3{font-size:clamp(1.5rem,2.6vw,2rem);letter-spacing:-.035em;margin-bottom:6px}
.tappa .aiuto{font-size:.9375rem;margin-bottom:20px;max-width:46rem}
.config{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;align-items:start}
.gruppo{border:0;padding:0;margin:0 0 22px;min-width:0}
.gruppo legend{font-weight:750;font-size:1rem;margin-bottom:10px;padding:0}
.scelte{display:grid;gap:10px}
.scelta{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;min-height:64px;padding:12px 16px;border:1.5px solid var(--filo);border-radius:10px;cursor:pointer;background:#fffaf1}
.scelta:has(input:checked){border-color:var(--verde);background:var(--lime)}
.scelta input{width:22px;height:22px;margin:0;accent-color:var(--verde)}
.scelta b{display:block;font-size:1rem;line-height:1.3}
.scelta small{display:block;font-size:.8125rem;line-height:1.4}
.scelta .tot{font-weight:850;font-size:1.25rem;letter-spacing:-.04em;white-space:nowrap}
.conto{background:var(--verde);color:var(--crema);border-radius:12px;padding:22px}
.conto h4{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:650;color:var(--lime)}
.conto .cosa{font-size:1.5rem;font-weight:850;letter-spacing:-.04em;line-height:1.15;margin:6px 0 16px}
.conto dl{display:grid;grid-template-columns:1fr auto;gap:10px 16px;font-size:.9375rem;padding-top:14px;border-top:1px solid var(--filo-chiaro)}
.conto dd{font-weight:750;text-align:right}
.conto .oggi{font-size:1.75rem;font-weight:850;letter-spacing:-.04em;line-height:1.1}
.conto .quando{font-size:.875rem;margin-top:14px;padding-top:14px;border-top:1px solid var(--filo-chiaro)}

/* i giorni sono caselle dell'avvento: la porta di velluto si apre sui turni liberi */
.caselle{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;perspective:900px}
.casella{position:relative;min-height:64px;border-radius:9px;background:var(--lime);color:var(--scuro);overflow:visible}
.casella .dentro{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font-size:.75rem;font-weight:700;line-height:1.15;padding:2px}
.casella .porta{position:absolute;inset:0;display:grid;place-content:center;text-align:center;border-radius:9px;background:var(--velluto) url('img/velluto.webp') center/320% auto;color:var(--crema);transform-origin:0 50%;transition:transform .55s cubic-bezier(.4,.1,.2,1);backface-visibility:hidden}
.porta small{display:block;font-size:.6875rem;line-height:1;font-weight:600;text-transform:lowercase}
.porta b{display:block;font-size:1.4rem;line-height:1.1;font-weight:850;letter-spacing:-.03em}
.casella[aria-pressed="true"] .porta{transform:rotateY(-108deg)}
.casella[aria-pressed="true"]{z-index:2;box-shadow:0 0 0 2px var(--verde)}
.casella.pochi .porta::after{content:"";position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--lime)}
.casella.piena{background:transparent;cursor:not-allowed;box-shadow:inset 0 0 0 1px var(--filo)}
.casella.piena .porta{background:transparent;color:rgba(37,68,65,.55)}
.casella.piena .porta b{text-decoration:line-through;text-decoration-thickness:1.5px}
.casella.piena .dentro{display:none}
.mese-nome{font-size:.75rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase;margin:18px 0 10px}
.mese-nome:first-child{margin-top:0}
.legenda{font-size:.8125rem;margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.legenda i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--verde);margin-right:6px}
.turni{margin-top:24px}
.turni h4{font-size:1.0625rem;font-weight:750;margin-bottom:12px}
.elenco-turni{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.turno{min-height:50px;border-radius:8px;border:1.5px solid var(--filo);font-weight:700;font-size:1rem;background:#fffaf1}
.turno[aria-pressed="true"]{background:var(--verde);color:var(--crema);border-color:var(--verde)}
.scarsita{margin-top:12px;font-size:.875rem;font-weight:700;color:var(--rosso)}
.stato-cal{font-size:.9375rem;padding:16px 0}

/* i dati */
.campi{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.campi label{display:grid;gap:5px;font-size:.8125rem;font-weight:700}
.campi label.largo{grid-column:1/-1}
.campi small{font-weight:400}
.campi input[type=text],.campi input[type=tel],.campi input[type=email]{min-height:52px;padding:10px 14px;border:1.5px solid var(--filo);border-radius:8px;background:#fffaf1;font-size:1rem;font-weight:400;width:100%}
.campi input.male{border-color:var(--errore);background:#fdeeec}
.spunta{display:grid!important;grid-template-columns:24px 1fr;gap:12px!important;align-items:start;min-height:44px;font-weight:400!important;font-size:.875rem!important;line-height:1.5;padding:6px 0}
.spunta input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--verde)}
.spunta a{font-weight:700}
.miele{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.metodi{display:flex;flex-wrap:wrap;gap:8px}
.metodo{display:inline-flex;align-items:center;min-height:48px;padding:8px 16px;border:1.5px solid var(--filo);border-radius:8px;font-weight:700;font-size:.875rem;cursor:pointer;background:#fffaf1}
.metodo:has(input:checked){background:var(--verde);color:var(--crema);border-color:var(--verde)}
.metodo input{position:absolute;opacity:0;width:0;height:0}
.nota-metodo{font-size:.875rem;margin-top:10px;min-height:2.8em}
.riepilogo{margin-top:22px;border:1.5px solid var(--verde);border-radius:12px;padding:18px 20px;font-size:.9375rem}
.riepilogo h4{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;font-weight:750;margin-bottom:10px}
.riepilogo dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px}
.riepilogo dd{font-weight:750;text-align:right}
.riepilogo .legge{margin-top:14px;padding-top:14px;border-top:1px solid var(--filo);font-size:.8125rem;line-height:1.55}
.errore{margin:16px 24px 0;padding:12px 16px;background:#fdeeec;border:1.5px solid var(--errore);border-radius:8px;color:#7a0c14;font-size:.9375rem;font-weight:600}
.modulo-piede{display:flex;justify-content:space-between;align-items:center;gap:14px 20px;padding:20px 24px 26px;flex-wrap:wrap}
.indietro{min-height:48px;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.sotto-pulsante{flex-basis:100%;font-size:.75rem;line-height:1.5;text-align:right}

/* ---------- chiusura e piè di pagina ---------- */
.chiusura{text-align:center}
.chiusura h2{margin-inline:auto;max-width:14em}
.chiusura p{margin:18px auto 30px;max-width:34rem}
.pie{background:var(--scuro);color:var(--crema);padding:44px 0 110px;font-size:.8125rem;line-height:1.7}
.pie .col{display:grid;gap:18px}
.pie img{width:120px;height:auto;justify-self:start}
.pie nav{display:flex;flex-wrap:wrap;gap:4px 24px}
.pie a{display:inline-flex;align-items:center;min-height:44px;text-underline-offset:.2em}
.pie .dati{opacity:.86;max-width:60rem}

/* barra in basso sul telefono */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;align-items:center;justify-content:space-between;gap:14px;padding:10px var(--gutter) max(10px,env(safe-area-inset-bottom));background:var(--crema);color:var(--verde);border-top:1.5px solid var(--verde);transform:translateY(110%);transition:transform .35s var(--curva)}
.barra.su{transform:none}
.barra b{display:block;font-size:1.0625rem;letter-spacing:-.03em;line-height:1.15}
.barra small{font-size:.75rem}
.barra .btn{min-height:48px;padding:8px 18px;font-size:.875rem;gap:10px}

/* ---------- il sipario che si chiude sul pagamento e si riapre sul biglietto ---------- */
.sipario-finale{position:fixed;inset:0;z-index:80;pointer-events:none;visibility:hidden}
.sipario-finale .telo{z-index:1;transform:scaleX(0);transition:transform 1s var(--curva)}
.sipario-finale.chiuso{visibility:visible;pointer-events:auto}
.sipario-finale.chiuso .telo{transform:none}
.sipario-finale.in-corsa{visibility:visible}
.attesa{position:absolute;inset:0;z-index:3;display:grid;place-content:center;padding:24px;text-align:center;color:var(--crema);font-size:clamp(1.5rem,4vw,2.4rem);font-weight:850;letter-spacing:-.04em;line-height:1.15;opacity:0;transition:opacity .4s}
.chiuso .attesa{opacity:1;transition-delay:.7s}

/* ---------- la conferma: il biglietto ---------- */
.conferma{min-height:100svh;background:radial-gradient(120% 60% at 50% 0,#5a1716 0,var(--velluto) 46%,#2a0a0b 100%);color:var(--crema);padding:28px 0 70px}
.conferma .testata{position:static;padding-inline:0}
.conferma h1{font-size:clamp(2.1rem,6vw,3.6rem);max-width:14em;margin-top:26px}
.conferma .sotto{margin-top:16px;max-width:36rem}
.biglietto{position:relative;margin-top:30px;background:var(--crema);color:var(--verde);border-radius:16px;box-shadow:0 30px 50px -24px #000;max-width:560px;animation:biglietto .9s cubic-bezier(.2,.8,.2,1) .35s both;
  -webkit-mask:radial-gradient(circle 13px at 0 var(--taglio,68%),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% var(--taglio,68%),#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 13px at 0 var(--taglio,68%),#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% var(--taglio,68%),#0000 98%,#000) right/51% 100% no-repeat}
@keyframes biglietto{from{opacity:0;transform:translateY(34px) rotate(-1.6deg)}to{opacity:1;transform:none}}
.b-testa{padding:24px 24px 20px;background:var(--verde);color:var(--crema);border-radius:16px 16px 0 0}
.b-testa small{display:block;font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--lime)}
.b-testa strong{display:block;margin-top:6px;font-size:clamp(1.8rem,7vw,2.5rem);line-height:1.08;font-weight:850;letter-spacing:-.045em;overflow-wrap:anywhere}
.b-corpo{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;padding:22px 24px}
.b-corpo div{min-width:0}
.b-corpo small{display:block;font-size:.75rem}
.b-corpo b{display:block;font-size:1.125rem;line-height:1.25;font-weight:750;letter-spacing:-.02em}
.b-largo{grid-column:1/-1}
.b-coda{padding:16px 24px 20px;border-top:2px dashed var(--filo);display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:.8125rem}
.b-coda b{font-family:ui-monospace,Menlo,monospace;letter-spacing:.04em}
.azioni-biglietto{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;max-width:560px}
.azioni-biglietto .btn{flex:1 1 220px}
.nota-chiara{font-size:.875rem;margin-top:16px;max-width:36rem;opacity:.92}
.nota-chiara a{font-weight:700;display:inline-flex;min-height:44px;align-items:center}
.extra{margin-top:56px;padding-top:40px;border-top:1px solid var(--filo-chiaro);max-width:680px}
.extra h2{font-size:clamp(1.7rem,4.6vw,2.6rem)}
.extra>p{margin-top:12px}
.scelte-extra{display:grid;gap:10px;margin-top:20px}
.scelta-extra{display:grid;grid-template-columns:24px 1fr auto;gap:12px;align-items:center;min-height:66px;padding:12px 14px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--filo-chiaro);cursor:pointer}
.scelta-extra:has(input:checked){background:rgba(255,244,227,.1);box-shadow:inset 0 0 0 2px var(--lime)}
.scelta-extra input{width:22px;height:22px;margin:0;accent-color:var(--lime)}
.scelta-extra small{display:block;font-size:.8125rem;opacity:.92}
.scelta-extra b.pr{font-size:1.2rem;font-weight:850;color:var(--lime);white-space:nowrap}
.extra .btn{margin-top:18px}
.extra .legge{font-size:.8125rem;margin-top:14px;opacity:.9;line-height:1.55}

/* comparsa delle sezioni, solo se lo script è partito */
.js [data-entra]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--curva),transform .7s var(--curva)}
.js [data-entra].visto{opacity:1;transform:none}

/* ---------- schermi stretti ---------- */
@media(max-width:1000px){
  .pacchetti{grid-template-columns:1fr}.pacco.centro{order:-1}.pacco>p:not(.prezzo):not(.pacco-sopra){min-height:0}
  .passi{grid-template-columns:1fr 1fr}
  .chi,.casa,.config{grid-template-columns:1fr}
  .testata nav a:not(.nav-prenota){display:none}
}
@media(max-width:640px){
  h1{font-size:clamp(2.2rem,10.6vw,3.2rem)}
  .marchio img{width:96px}.marchio span{display:none}
  .scena-sez{height:calc(100svh - 34px);min-height:600px}
  /* il telefono è verticale e la foto orizzontale: il set sta nella metà alta e la camera scorre piano da un albero all'altro */
  .scena-sez{background:#2a0a0b}
  .scena{top:0;height:52cqh;width:calc(52cqh*4/3);transform:translateX(-50%);-webkit-mask-image:linear-gradient(#000 70%,transparent 100%);mask-image:linear-gradient(#000 70%,transparent 100%)}
  .aperto .scena{animation:panoramica 18s ease-in-out infinite alternate}
  .fuori .scena{animation-play-state:paused}
  .scena-sez::after{background:linear-gradient(180deg,rgba(23,10,7,.4),transparent 14%,transparent 30%,rgba(42,10,11,.86) 44%,#2a0a0b 52%)}
  .scena-meta{margin-bottom:12px}
  .scena-sotto{font-size:1rem;margin-top:14px;line-height:1.5}
  .scena-azioni{margin-top:18px;gap:12px 20px}
  .didascalia{margin-top:14px}
  .scena-testo{padding-bottom:28px}
  .fatti ul{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
  .passi{grid-template-columns:1fr}
  .volti figure:nth-child(2){margin-top:0}
  .palette{grid-template-columns:1fr}
  .caselle{grid-template-columns:repeat(5,minmax(0,1fr))}
  .campi{grid-template-columns:1fr}
  .tappa{padding:22px 16px 6px}.modulo-testa{padding:16px}.modulo-piede{padding:16px 16px 22px}.errore{margin:14px 16px 0}
  .modulo-piede .btn{width:100%}.sotto-pulsante{text-align:left}
  .barra{display:flex}
  .b-corpo{grid-template-columns:1fr}
}
@media(max-width:350px){.caselle{grid-template-columns:repeat(4,minmax(0,1fr))}.scelta{grid-template-columns:auto 1fr}.scelta .tot{grid-column:2}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
  .telo{transform:scaleX(.1)}
  .sipario-finale .telo{transform:scaleX(0)}
  .sipario-finale.chiuso .telo{transform:none}
  .luci{opacity:.6}
  .js [data-entra]{opacity:1;transform:none}
}
@media print{.barra,.sipario-finale,.testata nav,.avviso-prova{display:none!important}}

/* Fondo della scena approvato il 15 novembre. */
.scena{background:radial-gradient(ellipse at 55% 25%,#bb743b55,transparent 65%),url(img/velluto.webp) center/cover;min-width:100%;min-height:100%}

.regalo-icona{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}.prezzo del{font-size:1.2rem;text-decoration-color:#ef6464;text-decoration-thickness:3px}.pacco .prezzo-nota{font-size:.75rem!important;min-height:0!important}

.team img{width:100%;height:auto;border-radius:12px}.listino h3{font-size:1rem;padding:22px 0 8px;line-height:1.4}.whatsapp{position:fixed;right:16px;bottom:18px;z-index:55;background:var(--verde);color:var(--crema);padding:12px 18px;min-height:48px;display:flex;align-items:center;border:1px solid var(--crema);border-radius:28px;font-size:.875rem;font-weight:700}@media(max-width:640px){.whatsapp{bottom:calc(94px + env(safe-area-inset-bottom))}}

[hidden]{display:none!important}.cookie{position:fixed;left:16px;bottom:16px;z-index:90;max-width:420px;width:calc(100% - 32px);padding:18px;background:var(--crema);color:var(--verde);border:1px solid var(--verde);border-radius:12px;box-shadow:0 8px 40px #0004;font-size:.875rem}.cookie div{display:flex;gap:10px;margin-top:8px}.cookie button{min-height:44px;min-width:44px;padding:10px 16px;border:1px solid var(--verde);border-radius:8px}.cookie a,.cookie-preferenze{display:inline-flex;align-items:center;min-height:44px}.cookie-preferenze{margin-left:var(--gutter)}

.recensioni{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 20px}.recensioni figure{flex:0 0 min(82vw,380px);padding:24px;border:1px solid var(--filo);border-radius:12px;scroll-snap-align:start}.recensioni blockquote{margin:0;font-size:1rem}.recensioni figcaption{margin-top:18px;font-weight:700}.recensioni-link{display:inline-flex;align-items:center;min-height:44px}

@media(max-width:640px){.whatsapp{bottom:calc(16px + env(safe-area-inset-bottom))}.barra.su~.whatsapp{bottom:calc(94px + env(safe-area-inset-bottom))}.modulo-piede{padding-bottom:90px}.scena-testo{padding-bottom:80px}}

.pagamenti{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}.pagamenti>span{display:flex;align-items:center;justify-content:center;min-width:64px;height:48px;padding:4px 10px;background:#fff;border-radius:5px;color:#254441;font-size:.75rem;font-weight:700}.pagamenti img{display:block;width:auto;height:25px;max-width:90px;object-fit:contain}.pagamenti img[src$="/visa.svg"],.pagamenti img[src$="/googlepay.svg"]{height:40px;max-width:82px}

.conferma{background-color:#4b1413}
