:root{--carta:#f6f3ea;--inchiostro:#14241e;--muto:#56635d;--verde:#0f4c3a;--arancio:#e8552b;--filo:#d9d3c3;--bianco:#fffdf8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--carta);color:var(--inchiostro);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:inherit}
.barra{display:flex;justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:18px 20px}
.logo{font-weight:800;font-size:22px;letter-spacing:-.03em;text-decoration:none}
.logo i{color:var(--arancio);font-style:normal}
main{max-width:1080px;margin:0 auto;padding:0 20px}
.apertura{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start;padding:30px 0 40px}
h1{font-size:clamp(36px,5.4vw,60px);line-height:1.03;letter-spacing:-.04em;margin:18px 0;font-weight:800}
h1 em{font-style:normal;color:var(--verde)}
.testo p{font-size:19px;max-width:30em;color:var(--muto);margin:0}
.punti{list-style:none;padding:0;margin:24px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.punti li{border:1px solid var(--filo);padding:6px 12px;border-radius:99px;font-size:14px;background:var(--bianco)}
.scheda{background:var(--bianco);border:1.5px solid var(--inchiostro);border-radius:14px;padding:24px;box-shadow:6px 6px 0 var(--verde)}
.scheda h2{margin:0 0 16px;font-size:22px;letter-spacing:-.02em}
label{display:block;font-size:14px;font-weight:600;margin-bottom:14px}
input,select{display:block;width:100%;margin-top:5px;padding:11px 12px;font:inherit;font-size:16px;font-weight:400;border:1px solid #a9a798;border-radius:8px;background:#fff;color:var(--inchiostro)}
input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--arancio);outline-offset:2px}
fieldset{border:0;padding:0;margin:0}
legend{padding:0;font-size:14px;font-weight:600;margin-bottom:6px}
fieldset label{font-weight:400;color:var(--muto);font-size:13px}
.due{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tre{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.primario{display:block;width:100%;padding:14px;border:0;border-radius:9px;background:var(--arancio);color:#1d0b04;font:inherit;font-weight:800;font-size:17px;cursor:pointer}
.primario:hover{background:#d44a22}
.primario:disabled{opacity:.6;cursor:wait}
.errore{color:#a11d0f;font-size:14px;font-weight:600;margin:10px 0 0}
.risultati{padding:8px 0 40px;scroll-margin-top:10px}
.titolo-ris h2{margin:0;font-size:28px;letter-spacing:-.03em}
.titolo-ris p{margin:4px 0 18px;color:var(--muto);font-size:14px}
.offerta{display:grid;grid-template-columns:1fr auto auto;gap:20px;align-items:center;background:var(--bianco);border:1px solid var(--filo);border-radius:12px;padding:16px 18px;margin-bottom:10px}
.offerta.prima{border:1.5px solid var(--verde)}
.offerta h3{margin:0;font-size:18px;letter-spacing:-.01em}
.offerta h3 small{font-weight:500;color:var(--muto);font-size:15px}
.offerta p{margin:2px 0 0;color:var(--muto);font-size:14px}
.badge{display:inline-block;background:var(--verde);color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;margin-bottom:4px}
.prezzo{font-size:26px;font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.scegli{padding:11px 20px;background:var(--inchiostro);color:#fff;border:0;border-radius:9px;font:inherit;font-weight:700;cursor:pointer}
.scegli:hover{background:var(--verde)}
.vuoto{background:var(--bianco);border:1px solid var(--filo);border-radius:12px;padding:18px}
.come,.domande{padding:40px 0;border-top:1px solid var(--filo)}
.come h2,.domande h2{font-size:28px;letter-spacing:-.03em;margin:0 0 20px}
.come ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;counter-reset:n}
.come li{counter-increment:n;color:var(--muto)}
.come li::before{content:counter(n);display:block;font-size:40px;font-weight:800;color:var(--arancio);line-height:1;margin-bottom:8px}
.come b{display:block;color:var(--inchiostro);font-size:18px}
details{border-bottom:1px solid var(--filo);padding:12px 0}
summary{cursor:pointer;font-weight:700}
details p{margin:8px 0 0;color:var(--muto)}
footer{max-width:1080px;margin:0 auto;padding:24px 20px 40px;color:var(--muto);font-size:13px}
footer p{margin:2px 0}
dialog{border:1.5px solid var(--inchiostro);border-radius:14px;padding:0;max-width:520px;max-height:calc(100dvh - 24px);width:calc(100% - 28px);background:var(--bianco);color:var(--inchiostro)}
dialog::backdrop{background:rgba(20,36,30,.6)}
dialog form{padding:26px;position:relative}
dialog h2{margin:0 0 8px;font-size:24px;line-height:1.15;letter-spacing:-.03em;padding-right:24px}
dialog p{margin:0 0 16px;color:var(--muto)}
.eti{font-size:14px;font-weight:700;color:var(--verde);margin:0 0 8px}
.chiudi{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;background:none;font-size:26px;line-height:1;cursor:pointer;color:var(--inchiostro)}
.spunta{display:grid;grid-template-columns:auto 1fr;gap:9px;font-weight:400;font-size:14px;align-items:start}
.spunta input{width:20px;height:20px;margin:1px 0 0}
.trappola{position:absolute;left:-9999px;height:0;overflow:hidden}
.gruppo{border-top:1px solid var(--filo);padding-top:14px;margin-bottom:6px}
.gruppo legend{float:left;width:100%;margin-bottom:10px;font-weight:800;font-size:15px}
.gruppo label{clear:both;color:var(--inchiostro);font-size:14px;font-weight:600}
.cp{display:grid;grid-template-columns:1fr 78px;gap:10px;clear:both}
.piccolo{font-size:14px}
.avviso{background:var(--bianco);border:1.5px solid var(--verde);border-radius:10px;padding:12px 14px;font-weight:600}
.testo-lungo{max-width:680px;padding-bottom:50px}
.testo-lungo h2{font-size:20px;margin:26px 0 6px}
.testo-lungo h1{font-size:40px}
@media(max-width:800px){.apertura{grid-template-columns:1fr;gap:18px;padding:0 0 32px}h1{font-size:31px;margin:6px 0 8px}.testo p{font-size:15px}.punti{display:none}.barra{padding:12px 20px}.scheda{padding:18px}.come ol{grid-template-columns:1fr}.offerta{grid-template-columns:1fr auto;gap:10px 14px}.scegli{grid-column:1/-1;width:100%}}
