:root{
  --arancio:#ff7a1a;
  --scuro:#1b2430;
  --grigio:#6b7280;
  --bordo:#e5e7eb;
  --fondo:#f7f8fa;
  --verde:#16a34a;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--fondo);color:var(--scuro)}

/* Testata */
.testata{background:#fff;border-bottom:1px solid var(--bordo);padding:14px 22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.testata .brand{display:inline-flex;align-items:center;line-height:0}
.testata .brand img{height:38px;width:auto;display:block}
@media(max-width:600px){.testata .brand img{height:30px}}
.briciole{color:var(--grigio);font-size:13px;flex:1}
.briciole b{color:var(--scuro)}
.testata .torna{color:var(--grigio);font-size:13px;font-weight:700;text-decoration:none;
  border:1.5px solid var(--bordo);border-radius:999px;padding:7px 14px;white-space:nowrap}
.testata .torna:hover{border-color:var(--arancio);color:var(--arancio)}

.fascia{max-width:1200px;margin:0 auto;padding:22px}
.titolo{font-size:26px;font-weight:800;margin-bottom:4px}
.sotto{color:var(--grigio);margin-bottom:18px;font-size:15px}

/* Contatore passi del preventivo */
.passi{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}
.passo{font-size:12.5px;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--bordo);color:var(--grigio);text-decoration:none;display:inline-block}
.passo.fatto{color:var(--scuro);border-color:#ffd9b8;background:#fff7f0}
.passo.attivo{background:var(--arancio);border-color:var(--arancio);color:#fff;font-weight:700}

/* Griglia: schede a sinistra, quiz a destra */
.griglia{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}
@media(max-width:900px){.griglia{grid-template-columns:1fr}.colonna{position:static!important;order:-1}}

/* Avvertenza in evidenza */
.nota{background:#fff7f0;border:1.5px solid #ffd9b8;border-radius:12px;padding:13px 15px;font-size:13.5px;line-height:1.6;margin-bottom:18px}
.nota b{color:var(--scuro)}

/* Sezioni delle schede (dentro casa / fuori casa) */
.sezione{margin:22px 0 12px;padding-left:12px;border-left:4px solid var(--arancio)}
.sezione:first-child{margin-top:0}
.sezione h3{font-size:18px;font-weight:800}
.sezione p{font-size:13px;color:var(--grigio);margin-top:2px}

/* Schede prodotto */
.schede{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.scheda{background:#fff;border:1.5px solid var(--bordo);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:all .3s;position:relative}
.scheda:hover{border-color:var(--arancio)}
/* Esclusa dalle risposte: diventa SCURA ma resta usabile */
.scheda.esclusa{background:#232a33;border-color:#2e3742;color:#8b94a0}
.scheda.esclusa h3{color:#aab2bd}
.scheda.esclusa .car,.scheda.esclusa .car b{color:#7d8692}
.scheda.esclusa .prezzo{color:#aab2bd}
.scheda.esclusa .foto img{filter:brightness(.45) saturate(.4)}
.scheda.esclusa .tacca{background:#2e3742;color:#8b94a0}
.scheda.esclusa .avviso{display:block}
.scheda.esclusa:hover{border-color:var(--arancio)}
.avviso{display:none;font-size:11px;color:#c9852f;margin-top:2px}
.avviso a{color:#ffb066}
/* Non funziona con la centrale scelta: si vede ma non si può aggiungere */
.scheda.bloccata .quantita{opacity:.35;pointer-events:none}
.scheda.bloccata .colori{opacity:.35;pointer-events:none}
.scheda.bloccata .avviso{display:block;color:#ff9d5c;font-size:11.5px;font-weight:600}
.scheda.vincitrice{border-color:var(--arancio);box-shadow:0 6px 24px rgba(255,122,26,.25)}
.scheda .foto{height:150px;display:flex;align-items:center;justify-content:center}
.scheda .foto img{max-height:150px;max-width:100%;object-fit:contain;transition:filter .3s}
.scheda h3{font-size:17px}
.scheda .car{font-size:12.5px;color:var(--grigio);line-height:1.55;flex:1}
.scheda .car b{color:var(--scuro)}
.tacca{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;background:#eef2f7;margin:1px 2px 1px 0;color:#374151}
.tacca.si{background:#e8f7ee;color:var(--verde)}
.prezzo{font-size:20px;font-weight:800}
.prezzo small{font-size:11.5px;color:var(--grigio);font-weight:400}
.dispo{font-size:12px;font-weight:600}
.dispo.ok{color:var(--verde)}
.dispo.attesa{color:#b45309}
.timbro{position:absolute;top:10px;right:10px;background:var(--arancio);color:#fff;font-size:11px;font-weight:800;padding:4px 10px;border-radius:999px;display:none;z-index:2}
.scheda.vincitrice .timbro{display:block}

/* Scelta del colore sulla singola scheda */
.colori{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.colori .col{display:flex;align-items:center;gap:6px;font-size:12px;padding:5px 10px;border-radius:999px;border:1.5px solid var(--bordo);background:#fff;cursor:pointer;user-select:none}
.colori .col:hover{border-color:var(--arancio)}
.colori .col.attivo{border-color:var(--arancio);background:#fff7f0;font-weight:700}
.colori .col i{width:13px;height:13px;border-radius:50%;border:1px solid #cbd2da;display:inline-block}
.colori .col.b i{background:#fff}
.colori .col.n i{background:#20262e;border-color:#20262e}
.colori .col .q{background:var(--arancio);color:#fff;border-radius:999px;font-size:10.5px;font-weight:800;padding:1px 6px;font-style:normal}
.colori .solo{font-size:12px;color:var(--grigio)}
.scheda.esclusa .colori .col{background:#2e3742;border-color:#3a4552;color:#c6ccd4}
.scheda.esclusa .colori .col.attivo{border-color:var(--arancio);background:#3a2e24}

/* Quantità (+ / −) */
.quantita{display:flex;align-items:center;gap:10px;margin-top:2px}
.quantita button{width:34px;height:34px;border-radius:9px;border:1.5px solid var(--bordo);background:#fff;font-size:19px;font-weight:800;color:var(--scuro);cursor:pointer;line-height:1}
.quantita button:hover{border-color:var(--arancio);color:var(--arancio)}
.quantita .n{font-size:18px;font-weight:800;min-width:26px;text-align:center}
.quantita .n.zero{color:var(--grigio);font-weight:400}
.scheda.esclusa .quantita button{background:#2e3742;border-color:#3a4552;color:#c6ccd4}
.scheda.esclusa .quantita .n{color:#aab2bd}

/* Colonna di destra */
.colonna{position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}
.quiz{background:#fff;border:1.5px solid var(--bordo);border-radius:14px;padding:18px}
.quiz h2{font-size:16px;margin-bottom:2px}
.quiz .aiuto{font-size:12.5px;color:var(--grigio);margin-bottom:14px}
.avanzamento{height:6px;background:var(--fondo);border-radius:99px;overflow:hidden;margin-bottom:16px}
.avanzamento i{display:block;height:100%;background:var(--arancio);width:0;transition:width .35s;border-radius:99px}

/* Domanda: una alla volta */
.gruppo{margin-bottom:10px}
.gruppo.futura{display:none}
.gruppo.corrente{background:#fff7f0;border:1.5px solid #ffd9b8;border-radius:12px;padding:12px;animation:entra .35s}
.gruppo.corrente .domanda{font-size:14.5px;font-weight:800;margin-bottom:9px}
.gruppo.corrente .spiega{font-size:12px;color:var(--grigio);margin:-6px 0 9px}
.gruppo.corrente .opzioni{display:flex;flex-direction:column;gap:7px}
.gruppo.corrente .opz{font-size:13.5px;padding:11px 14px;border-radius:10px;border:1.5px solid var(--bordo);background:#fff;cursor:pointer;user-select:none;transition:all .15s}
.gruppo.corrente .opz:hover{border-color:var(--arancio)}
.gruppo.corrente .opz.vuota{opacity:.4;text-decoration:line-through;pointer-events:none}
/* Domanda già risposta: riga compatta */
.gruppo.fatta{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--grigio);padding:7px 10px;border-radius:9px;background:var(--fondo)}
.gruppo.fatta .domanda{font-weight:600;font-size:12.5px;flex:1;margin:0}
.gruppo.fatta .spiega{display:none}
.gruppo.fatta .risposta-data{color:var(--scuro);font-weight:700}
.gruppo.fatta .cambia{color:var(--arancio);cursor:pointer;font-size:12px;text-decoration:underline;white-space:nowrap}
.gruppo.fatta .opzioni,.gruppo.fatta .conta{display:none}

/* Domanda con contatore */
.conta{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:9px}
.conta button{width:44px;height:44px;border-radius:11px;border:1.5px solid var(--bordo);background:#fff;font-size:22px;font-weight:800;cursor:pointer;line-height:1}
.conta button:hover{border-color:var(--arancio);color:var(--arancio)}
.conta .n{font-size:30px;font-weight:800;min-width:52px;text-align:center}
.avantiDomanda{width:100%;padding:11px;border:none;border-radius:10px;background:var(--arancio);color:#fff;font-size:14px;font-weight:800;cursor:pointer}

.contatore{margin-top:12px;padding:12px;border-radius:10px;background:var(--fondo);text-align:center;font-size:14px}
.contatore b{font-size:20px;color:var(--arancio)}
.azzera{display:block;width:100%;margin-top:10px;padding:9px;border:none;background:none;color:var(--grigio);font-size:12.5px;cursor:pointer;text-decoration:underline}

/* Riepilogo dell'impianto */
.riepilogo{background:#fff;border:1.5px solid var(--bordo);border-radius:14px;padding:16px}
.riepilogo h3{font-size:15px;margin-bottom:10px}
.riepilogo .riga{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0;border-bottom:1px dashed var(--bordo)}
.riepilogo .riga span:first-child{color:var(--grigio)}
.riepilogo .riga b{white-space:nowrap}
.riepilogo .totale{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;font-size:15px;font-weight:800}
.riepilogo .totale em{font-style:normal;font-size:11.5px;color:var(--grigio);font-weight:400}
.riepilogo .vuoto{font-size:13px;color:var(--grigio)}

/* Riquadro finale del passo */
.vincita{display:none;margin-top:20px;background:linear-gradient(120deg,#fff7f0,#fff);border:2px solid var(--arancio);border-radius:16px;padding:22px;text-align:center}
.vincita.mostra{display:block;animation:entra .4s}
@keyframes entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.vincita h2{font-size:21px;margin-bottom:6px}
.vincita p{color:var(--grigio);font-size:14px;margin-bottom:14px}
/* nella colonna di destra sta stretto: lo faccio più compatto */
.colonna .vincita{margin-top:0;padding:18px 16px}
.colonna .vincita h2{font-size:17px;line-height:1.35}
.colonna .vincita p{font-size:13px;margin-bottom:12px}
.colonna .avanti{display:block;width:100%;padding:14px 10px;font-size:15px}
.avanti{background:var(--arancio);color:#fff;border:none;font-size:16px;font-weight:800;padding:14px 34px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-block}
.avanti:hover{filter:brightness(1.08)}
.indietro{display:inline-block;margin-top:12px;color:var(--grigio);font-size:13px}

/* ---------- "riprendo o ricomincio?" al rientro ---------- */
.velo{position:fixed;inset:0;background:rgba(20,24,30,.62);z-index:9000;
      display:flex;align-items:center;justify-content:center;padding:20px}
.velo .riprendi{background:#fff;border-radius:16px;max-width:430px;width:100%;
      padding:26px 26px 22px;box-shadow:0 18px 50px rgba(0,0,0,.3)}
.velo .riprendi h3{margin:0 0 10px;font-size:19px}
.velo .riprendi p{margin:0 0 20px;font-size:14px;line-height:1.65;color:var(--grigio)}
.velo .riprendi .scelte{display:flex;flex-direction:column;gap:9px}
.velo .riprendi .scelte button{width:100%;padding:13px;border-radius:11px;border:1.5px solid var(--bordo);
      background:#fff;color:var(--scuro);font-size:14.5px;font-weight:700;cursor:pointer}
.velo .riprendi .scelte button.forte{background:var(--arancio);border-color:var(--arancio);color:#fff}
.velo .riprendi .scelte button:hover{border-color:var(--arancio)}
