/* Jizen · stile comune di landing e candidatura */
:root{
  --notte:#10302B; --verde:#1F6F5C; --sole:#F2B23A; --salvia:#9FC3B8;
  --menta:#E3EFEB; --nebbia:#F4F6F5; --bianco:#FFFFFF;
  --testo2:#4A5B57; --testo3:#2F4440; --chiaro:#D4E2DE; --chiaro2:#B9CEC8;
  --bordo:#DDE3E1; --bordo2:#C9D3D0; --notte2:#2B4D47;
  --titoli:'Bricolage Grotesque', system-ui, sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--nebbia);color:var(--notte);font:400 16px/1.5 Inter, system-ui, sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--verde)}a:hover{color:var(--notte)}
h1,h2,h3{font-family:var(--titoli);font-weight:700;margin:0;letter-spacing:-.03em}
p{margin:0}
:focus-visible{outline:3px solid var(--sole);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.contenitore{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}
.marchio{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.marchio img{width:44px;height:44px;border-radius:50%;background:var(--bianco)}
.marchio span{font-family:var(--titoli);font-weight:700;font-size:24px;letter-spacing:-.02em}
.occhiello{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--verde)}

/* Bottoni */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font:600 16px Inter, sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s, background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-sole{background:var(--sole);color:var(--notte)}.btn-sole:hover{color:var(--notte);background:#F5C05A}
.btn-notte{background:var(--notte);color:var(--bianco)}.btn-notte:hover{color:var(--bianco);background:#1B443D}
.btn-verde{background:var(--verde);color:var(--bianco)}.btn-verde:hover{color:var(--bianco);background:#195C4C}
.btn-linea{border-color:var(--salvia);color:var(--bianco);background:transparent}.btn-linea:hover{color:var(--bianco);background:rgba(255,255,255,.06)}
.btn-contorno{border-color:var(--verde);color:var(--verde);background:transparent}.btn-contorno:hover{background:var(--menta);color:var(--verde)}
.btn-grande{min-height:56px;padding:0 30px;font-size:17px}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}

/* ---------- Landing ---------- */
.testata{background:var(--notte);color:var(--bianco)}
.nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;padding-bottom:18px}
.nav-link{display:flex;flex-wrap:wrap;align-items:center;gap:24px;font-size:15px}
.nav-link a:not(.btn){color:var(--chiaro);text-decoration:none}
.nav-link a:not(.btn):hover{color:var(--bianco)}
.nav-link .btn{min-height:44px;padding:0 20px;font-size:15px}
@media (max-width:640px){ .nav-link a:not(.btn){display:none} }

.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:56px;padding-bottom:88px}
.hero-testo{flex:999 1 480px;min-width:0;display:flex;flex-direction:column;gap:24px}
.pillola{align-self:flex-start;padding:7px 14px;border-radius:16px;border:1.5px solid var(--salvia);font-size:14px;font-weight:500;color:var(--chiaro)}
.hero h1{font-size:clamp(44px,7vw,84px);line-height:.98;letter-spacing:-.035em}
.hero p{max-width:520px;font-size:19px;color:var(--chiaro)}
.azioni{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}
.hero-card{flex:1 1 320px;display:flex;justify-content:center}

/* Hero con foto: la foto riempie la testata, un velo scuro a sinistra tiene leggibile il testo */
.testata-foto{position:relative;isolation:isolate;overflow:hidden;min-height:min(92vh,820px);display:flex;flex-direction:column}
/* Desktop: foto sulla destra (da metà pagina), testo sul verde a sinistra; la sfumatura unisce le due parti */
/* la foto parte dove finisce la colonna del testo (contenitore da 1200px centrato), qualunque sia la larghezza dello schermo */
.hero-foto{position:absolute;top:0;bottom:0;right:0;left:clamp(38%, calc((100vw - 1200px) / 2 + 560px), 58%);z-index:-2}
.hero-foto img{width:100%;height:100%;object-fit:cover;object-position:20% 40%;display:block}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--notte) 0%,rgba(16,48,43,.6) 12%,rgba(16,48,43,0) 32%)}
.testata-foto::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(16,48,43,.6) 0%,rgba(16,48,43,0) 20%)}
.testata-foto .hero{flex:1;padding-top:40px;padding-bottom:56px}
.testata-foto .hero-testo{flex:0 1 560px}
.testata-foto .hero h1{font-size:clamp(40px,5vw,66px);max-width:11ch}
.testata-foto .hero p{color:#E8F0EE}
.testata-foto .pillola{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45);backdrop-filter:blur(4px)}
.foto-credito{margin:0;padding-bottom:16px;font-size:12px;color:rgba(255,255,255,.7);text-align:right}
@media (max-width:900px){
  /* Telefono e tablet: foto a tutta larghezza in alto, il testo scende sulla parte sfumata */
  .testata-foto{min-height:auto}
  .hero-foto{left:0;bottom:auto;height:min(78vh,640px)}
  .hero-foto::after{display:none}
  .hero-foto img{object-position:50% 25%}
  .testata-foto::before{background:linear-gradient(180deg,rgba(16,48,43,.6) 0%,rgba(16,48,43,0) 16%,rgba(16,48,43,0) 34%,var(--notte) min(70vh,580px))}
  .testata-foto .hero{padding-top:min(48vh,400px);padding-bottom:24px}
  .foto-credito{text-align:left}
}
.biglietto{width:100%;max-width:360px;background:var(--sole);border-radius:24px;padding:22px;transform:rotate(2deg)}
.biglietto-dentro{background:var(--bianco);color:var(--notte);border-radius:18px;overflow:hidden}
.biglietto-testa{padding:22px 20px 18px;display:flex;flex-direction:column;gap:6px}
.biglietto-etichetta{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--testo2)}
.biglietto-grande{font-family:var(--titoli);font-weight:700;font-size:46px;line-height:.95;letter-spacing:-.03em}
.biglietto-strappo{border-top:2px dashed var(--bordo);margin:0 12px}
.biglietto-dati{padding:16px 20px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dato{display:flex;flex-direction:column;gap:2px}
.dato small{font-size:12px;color:var(--testo2)}
.dato b{font-size:15px;font-weight:600}

.breve{background:var(--bianco);border-bottom:1px solid var(--bordo)}
.breve .contenitore{padding-top:28px;padding-bottom:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.breve div div{display:flex;flex-direction:column;gap:4px}
.breve strong{font-family:var(--titoli);font-size:22px;font-weight:700;letter-spacing:-.02em}
.breve span{font-size:15px;color:var(--testo2)}

.sezione{padding-top:96px;padding-bottom:96px;display:flex;flex-direction:column;gap:40px}
.sezione-titolo{display:flex;flex-direction:column;gap:12px;max-width:640px}
.sezione h2{font-size:clamp(32px,4.5vw,48px);line-height:1.05}

.passi{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.passi li{background:var(--bianco);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:12px}
.passi .num{width:40px;height:40px;border-radius:20px;background:var(--notte);color:var(--bianco);display:flex;align-items:center;justify-content:center;font-family:var(--titoli);font-weight:700}
.passi b{font-size:19px;font-weight:600}
.passi li > span:last-child{font-size:15px;color:var(--testo2)}
.passi li.scuro{background:var(--notte);color:var(--bianco)}
.passi li.scuro .num{background:var(--sole);color:var(--notte)}
.passi li.scuro > span:last-child{color:var(--chiaro)}

.perche{background:var(--menta)}
.perche .contenitore{padding-top:88px;padding-bottom:88px;display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.perche h2{flex:1 1 360px;font-size:clamp(30px,4vw,44px);line-height:1.08}
.perche div div{flex:1 1 420px;display:flex;flex-direction:column;gap:16px;font-size:17px;line-height:1.6;color:var(--testo3)}

.partenze-testa{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.partenze-testa > span{font-size:15px;color:var(--testo2);max-width:420px}
#filtri-partenze{margin-bottom:-12px}
.griglia-partenze{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.partenza{background:var(--bianco);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:12px}
.partenza h3{font-size:24px;letter-spacing:-.02em}
.partenza .quando{font-size:15px;color:var(--testo2)}
.partenza .info{font-size:14px;color:var(--testo2)}
.partenza .btn{margin-top:auto;min-height:46px;font-size:15px}
.partenza.evidenza{background:var(--notte);color:var(--bianco)}
.partenza.evidenza .quando,.partenza.evidenza .info{color:var(--chiaro)}
.etichetta{align-self:flex-start;padding:4px 10px;border-radius:12px;background:var(--sole);color:var(--notte);font-size:12px;font-weight:600}

.barra-mix{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--bordo)}
.barra-mix i{display:block}
.mix-a{background:var(--verde)}.mix-v{background:var(--sole)}.mix-e{background:var(--salvia)}
.legenda{display:flex;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--testo2)}
.legenda span{display:inline-flex;align-items:center;gap:6px}
.legenda i{width:10px;height:10px;border-radius:5px;display:inline-block}

.impatto{background:var(--notte);color:var(--bianco)}
.impatto .contenitore{padding-top:96px;padding-bottom:96px;display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.impatto-testo{flex:999 1 440px;min-width:0;display:flex;flex-direction:column;gap:20px}
.impatto .occhiello{color:var(--sole)}
.impatto h2{font-size:clamp(32px,4.5vw,48px);line-height:1.05}
.impatto p{font-size:17px;line-height:1.6;color:var(--chiaro)}
.progetti{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.progetti li{border:1.5px solid var(--notte2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:2px}
.progetti b{font-weight:600}
.progetti span{font-size:14px;color:var(--chiaro2)}
.passaporto-mini{flex:1 1 300px;display:flex;justify-content:center}
.passaporto-mini > div{width:100%;max-width:320px;background:var(--nebbia);color:var(--notte);border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:14px}
.avatar{width:44px;height:44px;border-radius:22px;background:var(--sole);display:flex;align-items:center;justify-content:center;font-family:var(--titoli);font-weight:700;flex-shrink:0}
.chi{display:flex;align-items:center;gap:12px}
.chi div{display:flex;flex-direction:column}
.chi small{font-size:13px;color:var(--testo2)}
.contatori{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.contatori div{background:var(--bianco);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;gap:2px}
.contatori b{font-family:var(--titoli);font-size:18px}
.contatori span{font-size:12px;color:var(--testo2)}
.percorso{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--testo2)}
.percorso div{display:flex;justify-content:space-between}

.faq{display:flex;flex-wrap:wrap;gap:48px}
.faq h2{flex:1 1 300px}
.faq-lista{flex:2 1 480px;border-bottom:1px solid var(--bordo)}
.faq details{border-top:1px solid var(--bordo)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-size:18px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:8px;top:50%;width:10px;height:10px;border-right:2px solid var(--verde);border-bottom:2px solid var(--verde);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.faq details p{padding:0 0 20px;font-size:16px;line-height:1.55;color:var(--testo2)}

.chiusura{background:var(--sole)}
.chiusura .contenitore{padding-top:80px;padding-bottom:80px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.chiusura h2{font-size:clamp(34px,5vw,56px);line-height:1.02}
.chiusura span{font-size:15px;color:var(--testo3)}

.piede{background:var(--notte);color:var(--chiaro2)}
.piede .contenitore{padding-top:32px;padding-bottom:32px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px}
.piede a{color:var(--chiaro2)}.piede a:hover{color:var(--bianco)}

/* ---------- Candidatura ---------- */
.modulo-pagina{min-height:100vh;display:flex;flex-direction:column}
.modulo-testa{background:var(--bianco);border-bottom:1px solid var(--bordo)}
.modulo-testa .contenitore{max-width:640px;padding-top:14px;padding-bottom:14px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.modulo-testa .marchio img{width:36px;height:36px}
.modulo-testa .marchio span{font-size:20px}
.modulo-testa a.esci{font-size:14px;color:var(--testo2)}
.modulo{max-width:640px;width:100%;margin:0 auto;padding:24px 20px 40px;display:flex;flex-direction:column;gap:22px;flex:1}
#modulo{display:flex;flex-direction:column;gap:22px;flex:1}
#modulo[hidden]{display:none}
.avanzamento{display:flex;flex-direction:column;gap:10px}
.avanzamento-riga{display:flex;align-items:center;justify-content:space-between;min-height:44px}
.indietro{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-left:-10px;padding:0 10px;border:0;background:none;color:var(--notte);font:500 15px Inter, sans-serif;cursor:pointer;border-radius:22px}
.indietro:hover{background:var(--menta)}
.indietro[hidden]{display:none}
.avanzamento-riga > span{font-size:13px;color:var(--testo2);margin-left:auto}
.tacche{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.tacche i{height:4px;border-radius:2px;background:var(--bordo)}
.tacche i.fatto{background:var(--verde)}
.passo{display:flex;flex-direction:column;gap:22px}
.passo[hidden]{display:none}
.passo-titolo{display:flex;flex-direction:column;gap:6px}
.passo-titolo h1{font-size:clamp(28px,6vw,36px);line-height:1.1;letter-spacing:-.02em}
.passo-titolo p{font-size:15px;color:var(--testo2)}
.riquadro{background:var(--bianco);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:16px}
.cursore{display:flex;flex-direction:column;gap:6px}
.cursore div{display:flex;justify-content:space-between;font-size:15px}
.cursore label{font-weight:600}
.cursore output{color:var(--testo2);font-variant-numeric:tabular-nums}
.cursore input{width:100%;height:28px;margin:0;accent-color:var(--verde)}
.gruppo{display:flex;flex-direction:column;gap:10px;border:0;margin:0;padding:0;min-width:0}
.gruppo legend,.gruppo > .tit{font-size:15px;font-weight:600;padding:0;margin-bottom:10px}
.scelte{display:flex;flex-wrap:wrap;gap:8px}
.scelta{position:relative}
.scelta input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.scelta span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:22px;border:1.5px solid var(--bordo2);background:var(--bianco);font:500 14px Inter, sans-serif;cursor:pointer}
.scelta input:checked + span{background:var(--verde);border-color:var(--verde);color:var(--bianco)}
.scelta input:focus-visible + span{outline:3px solid var(--sole);outline-offset:2px}
.nota{display:flex;gap:10px;align-items:flex-start;background:var(--menta);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;color:var(--testo3)}
.nota svg{flex-shrink:0;margin-top:1px}
.suggerita{display:flex;flex-direction:column;gap:10px}
.suggerita > span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--testo2)}
.scheda{background:var(--bianco);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px;border:2px solid var(--verde)}
.scheda-riga{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.scheda-riga b{font-family:var(--titoli);font-weight:700;font-size:20px}
.scheda-riga span{font-size:15px;font-weight:600;white-space:nowrap}
.scheda small{font-size:14px;color:var(--testo2)}
.scheda .barra-mix{height:8px;border-radius:4px}
.scheda .mix-testo{font-size:13px;color:var(--testo2)}
.scheda .aiuto{font-size:13px;color:var(--verde);font-weight:600;border-top:1px solid var(--bordo);padding-top:10px}
.opzioni{display:flex;flex-direction:column;gap:8px}
.opzione{position:relative;background:var(--bianco);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;border:2px solid var(--bordo);cursor:pointer}
.opzione input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opzione:has(input:checked){border-color:var(--verde);box-shadow:0 0 0 3px rgba(31,111,92,.12)}
.opzione:has(input:focus-visible){outline:3px solid var(--sole);outline-offset:2px}
.opzione .scheda-riga{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.opzione .scheda-riga b{font-family:var(--titoli);font-weight:700;font-size:19px}
.opzione .scheda-riga span{font-size:15px;font-weight:600;white-space:nowrap}
.opzione small{font-size:14px;color:var(--testo2)}
.opzione .mix-testo{font-size:12px;color:var(--testo2)}
.suggerita > .nota-scelta{font-size:13px;color:var(--testo2);text-transform:none;letter-spacing:0;font-weight:400}
.attivita{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.attivita .scelta span{width:100%;min-height:52px;padding:8px 12px;border-radius:12px;border-color:var(--bordo);text-align:left}
.attivita .scelta input:checked + span{background:var(--menta);border-color:var(--verde);color:var(--notte);font-weight:600}
.campo{display:flex;flex-direction:column;gap:8px}
.campo label{font-size:15px;font-weight:600}
.campo input,.campo textarea,.campo select{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--bordo2);background:var(--bianco);font:400 16px Inter, sans-serif;color:var(--notte)}
.campo textarea{resize:vertical;min-height:72px}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--verde);box-shadow:0 0 0 3px rgba(31,111,92,.18)}
.campo [aria-invalid=true]{border-color:#B3261E}
::placeholder{color:#6B7A76}
.facoltativo{background:var(--bianco);border-radius:14px;padding:14px;border:1.5px dashed var(--bordo2)}
.facoltativo .tit{display:flex;justify-content:space-between;align-items:center;gap:8px}
.facoltativo small{font-size:12px;color:var(--testo2);font-weight:400}
.consenso{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.45;color:var(--testo3)}
.consenso input{width:22px;height:22px;margin:1px 0 0;flex-shrink:0;accent-color:var(--verde)}
.errore{background:#FBEAE8;color:#8C1D18;border-radius:12px;padding:12px 14px;font-size:14px}
.errore:empty{display:none}
.piede-modulo{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:8px}
.piede-modulo .btn{width:100%;min-height:54px}
.piede-modulo > span{text-align:center;font-size:13px;color:var(--testo2)}
.trappola{position:absolute;left:-9999px}

.fatto-pagina{background:var(--notte);color:var(--bianco)}
.fatto-pagina .modulo-testa{background:var(--notte);border-color:var(--notte2)}
.fatto-pagina .modulo-testa a.esci{color:var(--chiaro2)}
.ricevuta{display:flex;flex-direction:column;gap:22px;padding-top:12px}
.ricevuta h1{font-size:clamp(40px,9vw,56px);line-height:1;letter-spacing:-.03em}
.ricevuta p{font-size:16px;line-height:1.5;color:var(--chiaro)}
.ricevuta .pillola{background:var(--sole);color:var(--notte);border:0;font-weight:600;font-size:13px}
.codice-box{background:var(--bianco);color:var(--notte);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}
.codice-box .scheda-riga{font-size:14px;color:var(--testo2);border-top:1px solid var(--bordo);padding-top:12px}
.codice-box .scheda-riga:first-child{border-top:0;padding-top:0}
.codice-box .scheda-riga b{font-family:Inter, sans-serif;font-size:15px;color:var(--notte);font-weight:600;text-align:right}

/* ---------- Esito ---------- */
.caricamento{padding:48px 0;text-align:center;color:var(--chiaro2)}
.conto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;text-align:center}
.conto div{background:var(--nebbia);border-radius:12px;padding:10px 0;display:flex;flex-direction:column;gap:2px}
.conto b{font-family:var(--titoli);font-size:28px;font-variant-numeric:tabular-nums}
.conto span{font-size:12px;color:var(--testo2)}
.codice-box > .tit{font-size:15px;font-weight:600}
.codice-box .btn{width:100%;min-height:52px}
.codice-box .piccolo{font-size:12px;line-height:1.4;color:var(--testo2);text-align:center}
.codice-box .ok{background:var(--menta);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45;color:var(--testo3)}
.gruppo-esito{display:flex;flex-direction:column;gap:10px}
.gruppo-esito > span{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--chiaro2)}
.gruppo-esito > div{display:flex;align-items:center;gap:12px}
.facce{display:flex}
.facce i{width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:13px;font-weight:600;color:var(--notte);border:2px solid var(--notte);margin-left:-10px}
.facce i:first-child{margin-left:0}
.facce i:nth-child(4n+1){background:var(--salvia)}.facce i:nth-child(4n+2){background:var(--sole)}
.facce i:nth-child(4n+3){background:var(--menta)}.facce i:nth-child(4n){background:var(--bianco)}
.gruppo-esito p{font-size:14px;line-height:1.4;color:var(--chiaro)}
.ricevuta .btn-linea{width:100%}
.codice-box .btn-contorno{background:transparent}
.iban{background:var(--nebbia);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.iban .scheda-riga{border-top:0;padding-top:0;font-size:13px}
.iban .scheda-riga b{font-size:14px;word-break:break-all;user-select:all}
.storico summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--verde);min-height:32px;display:flex;align-items:center}
.storico .scheda-riga{font-size:13px}

/* ---------- Iscrizione ---------- */
.riepilogo{background:var(--bianco);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.riepilogo .scheda-riga{font-size:14px;color:var(--testo2)}
.riepilogo .scheda-riga b{font-family:Inter, sans-serif;font-size:15px;color:var(--notte);font-weight:600}
.riepilogo .totale{border-top:1px solid var(--bordo);padding-top:8px}
.riepilogo .totale b{font-family:var(--titoli);font-size:22px}
.metodi{display:flex;flex-direction:column;gap:8px}
.metodo{position:relative;display:flex;gap:12px;align-items:flex-start;background:var(--bianco);border:1.5px solid var(--bordo);border-radius:14px;padding:14px;cursor:pointer}
.metodo input{margin:2px 0 0;width:20px;height:20px;accent-color:var(--verde);flex-shrink:0}
.metodo b{display:block;font-size:15px}
.metodo small{display:block;font-size:13px;color:var(--testo2);margin-top:2px}
.metodo:has(input:checked){border-color:var(--verde);background:var(--menta)}
.due-colonne{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}

/* ---------- Passaporto ---------- */
.pass-testa{background:var(--notte);color:var(--bianco)}
.pass-testa .contenitore{max-width:640px;padding-top:16px;padding-bottom:24px;display:flex;flex-direction:column;gap:18px}
.pass-barra-alta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pass-barra-alta .marchio img{width:34px;height:34px}.pass-barra-alta .marchio span{font-size:20px}
.pass-barra-alta > span{font-size:13px;color:var(--chiaro2)}
.pass-chi{display:flex;align-items:center;gap:14px}
.pass-chi .avatar{width:56px;height:56px;border-radius:28px;font-size:22px;color:var(--notte)}
.pass-chi div{display:flex;flex-direction:column;gap:4px}
.pass-chi b{font-family:var(--titoli);font-size:26px;line-height:1;letter-spacing:-.02em}
.pass-chi span{font-size:14px;color:var(--chiaro)}
.livello{display:flex;flex-direction:column;gap:8px}
.livello div:first-child{display:flex;justify-content:space-between;font-size:13px}
.livello div:first-child span{color:var(--chiaro2)}
.livello .barra{height:8px;border-radius:4px;background:var(--notte2);overflow:hidden}
.livello .barra i{display:block;height:100%;background:var(--sole)}
.pass-corpo{max-width:640px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:20px}
.pass-numeri{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pass-numeri div{background:var(--bianco);border-radius:14px;padding:14px 10px;display:flex;flex-direction:column;gap:4px}
.pass-numeri b{font-family:var(--titoli);font-size:24px}
.pass-numeri span{font-size:12px;line-height:1.3;color:var(--testo2)}
.pass-box{background:var(--bianco);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:8px}
.pass-etichetta{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--testo2)}
.pass-box b{font-family:var(--titoli);font-size:20px}
.pass-box p{font-size:14px;line-height:1.45;color:var(--testo2)}
.tappe{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.tappe li{display:flex;gap:14px}
.tappe .pallino{display:flex;flex-direction:column;align-items:center}
.tappe .pallino i{width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:700;background:var(--bianco);border:2px solid var(--bordo);color:var(--testo2)}
.tappe .pallino::after{content:"";width:2px;flex-grow:1;background:var(--bordo)}
.tappe li:last-child .pallino::after{display:none}
.tappe li.fatta .pallino i{background:var(--verde);border-color:var(--verde);color:var(--bianco)}
.tappe li.fatta .pallino::after{background:var(--verde)}
.tappe li.ora .pallino i{background:var(--sole);border-color:var(--sole);color:var(--notte)}
.tappe .testo{display:flex;flex-direction:column;gap:4px;padding-bottom:18px}
.tappe .testo small{font-size:12px;color:var(--testo2)}
.tappe .testo b{font-size:15px;font-weight:600}
.tappe .testo span{font-size:14px;line-height:1.4;color:var(--testo2)}
.tappe .testo ul{margin:4px 0 0;padding-left:18px;font-size:14px;line-height:1.45;color:var(--testo3)}
.invita{background:var(--menta);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:10px}
.invita b{font-size:15px}
.invita p{font-size:14px;line-height:1.45;color:var(--testo3)}
.invita div{display:flex;gap:8px;align-items:center}
.invita output{flex:1;min-width:0;background:var(--bianco);border-radius:10px;min-height:44px;display:flex;align-items:center;padding:0 12px;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invita .btn{min-height:44px;padding:0 18px;font-size:14px}
