/* CC Suite 3 — Trova la tua arma · wizard frontend (scoped #ccs-finder.ccta, classi .ccta* del legacy v2 mantenute)
   Brand: militare/industriale · rosso #D70000 · Barlow/Roboto Condensed */
#ccs-finder.ccta{--canvas:#f2efe9;--card:#ffffff;--card-2:#faf8f4;--elev:#efeae2;
	--bd:#d8d1c6;--bd-soft:#e8e2d9;--bd-hover:#171310;
	--tx:#171310;--mut:#6f6a63;
	--brand:#D70000;--cta:#D70000;--cta-dark:#a80000;--brand-text:#C00000;--brand-tint:#fdecec;
	--green:#1f8a54;--green-t:#e5f3ea;--red:#c0392b;--red-text:#96271c;
	--r:4px;--r-card:6px;--r-lg:0px;
	--sh-sm:none;
	--sh:0 2px 10px rgba(23,19,16,.07);
	--sh-lg:none;
	--ease:cubic-bezier(.4,0,.2,1);
	--disp:'Barlow Condensed',sans-serif;
	--ff:'Roboto Condensed',system-ui,-apple-system,"Segoe UI",sans-serif;
	font-family:var(--ff);color:var(--tx);-webkit-font-smoothing:antialiased;
	max-width:860px;margin:0 auto;line-height:1.5;}
#ccs-finder.ccta *,#ccs-finder.ccta *::before,#ccs-finder.ccta *::after{box-sizing:border-box;}

#ccs-finder.ccta .ccta-frame{background:var(--card);border:1px solid var(--bd);position:relative;}

#ccs-finder.ccta h1,#ccs-finder.ccta .tb-word,#ccs-finder.ccta .step-kick,#ccs-finder.ccta .btn,#ccs-finder.ccta .card .cname,#ccs-finder.ccta .done h2,#ccs-finder.ccta .ba-val,#ccs-finder.ccta .stp .lbl,#ccs-finder.ccta .qlabel,#ccs-finder.ccta .field > label{font-family:var(--disp);}

/* topbar: niente logo ripetuto, il sito ce l'ha gia sopra. Solo dove sei e come tornare. */
#ccs-finder.ccta .topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 26px 0;background:transparent;border:0;}
#ccs-finder.ccta .tb-back{width:34px;height:34px;border-radius:var(--r);display:grid;place-items:center;border:1px solid var(--bd-soft);background:transparent;color:var(--mut);text-decoration:none;transition:.15s var(--ease);flex:none;}
#ccs-finder.ccta .tb-back:hover{color:var(--tx);border-color:var(--bd-hover);}
#ccs-finder.ccta .tb-logo{display:none;}
#ccs-finder.ccta .tb-step{font-family:var(--disp);font-size:13px;font-weight:600;color:var(--mut);white-space:nowrap;letter-spacing:1.2px;text-transform:uppercase;}
#ccs-finder.ccta .tb-step b{color:var(--tx);font-weight:700;}
#ccs-finder.ccta .tb-step .tb-sep{margin:0 3px;color:var(--bd);}

/* Avanzamento: una riga sola di segmenti, senza otto etichette in gergo. */
#ccs-finder.ccta .stepper{display:flex;gap:4px;padding:14px 26px 0;}
#ccs-finder.ccta .stp{flex:1;min-width:0;}
#ccs-finder.ccta .stp .bar{height:3px;border-radius:2px;background:var(--elev);overflow:hidden;position:relative;display:block;}
#ccs-finder.ccta .stp .bar::after{content:"";position:absolute;inset:0 auto 0 0;width:0;background:var(--brand);transition:width .45s var(--ease);}
#ccs-finder.ccta .stp.fill .bar::after,#ccs-finder.ccta .stp.active .bar::after{width:100%;}
/* L'etichetta del passo la legge chi ci sta sopra: le altre sette non servono a niente. */
#ccs-finder.ccta .stp .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* body */
#ccs-finder.ccta .main{padding:34px 26px 40px;min-height:300px;}
#ccs-finder.ccta .step{display:none;animation:ccta-slidein .3s var(--ease);}
#ccs-finder.ccta .step.show{display:block;}
@keyframes ccta-slidein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
#ccs-finder.ccta .step-kick{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--brand-text);}
#ccs-finder.ccta .step-kick::before{content:"";width:18px;height:2px;background:var(--brand);}
#ccs-finder.ccta .step h1{font-size:40px;font-weight:700;letter-spacing:0;line-height:1;margin:12px 0 10px;text-transform:uppercase;color:var(--tx);}
#ccs-finder.ccta .step h1:focus,#ccs-finder.ccta .done h2:focus{outline:none;}
#ccs-finder.ccta .step .lead{font-size:16px;color:var(--mut);line-height:1.6;margin:0 0 30px;font-weight:400;max-width:58ch;}
#ccs-finder.ccta .step .lead b{color:var(--tx);font-weight:600;}

#ccs-finder.ccta .qlabel{font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--mut);margin:30px 0 12px;}
#ccs-finder.ccta .qlabel:first-of-type{margin-top:0;}
#ccs-finder.ccta .qlabel .opt{color:var(--mut);font-weight:400;text-transform:none;letter-spacing:0;font-family:var(--ff);}

/* Le risposte: piastrelle vere, con uno stato scelto che non lascia dubbi. */
#ccs-finder.ccta .cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
/* Se le risposte sono dispari, l'ultima prende tutta la riga invece di restare spaiata. */
#ccs-finder.ccta .cards .card:last-child:nth-child(odd){grid-column:1/-1;}
#ccs-finder.ccta .card{display:flex;align-items:center;gap:15px;padding:17px 18px;border:1.5px solid var(--bd-soft);border-radius:var(--r-card);background:var(--card);cursor:pointer;text-align:left;transition:.16s var(--ease);font-family:inherit;width:100%;position:relative;}
#ccs-finder.ccta .card:hover{border-color:var(--bd-hover);}
#ccs-finder.ccta .card.sel{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);}
#ccs-finder.ccta .card.sel::after{content:"";position:absolute;top:11px;right:13px;width:6px;height:11px;border:solid var(--brand);border-width:0 2px 2px 0;transform:rotate(45deg);}
#ccs-finder.ccta .card .cico{width:46px;height:46px;border-radius:var(--r);background:var(--elev);display:grid;place-items:center;color:var(--tx);flex-shrink:0;transition:.16s var(--ease);}
#ccs-finder.ccta .card.sel .cico{background:var(--brand);color:#fff;}
#ccs-finder.ccta .card .ctx{flex:1;min-width:0;padding-right:16px;}
#ccs-finder.ccta .card .cname{display:block;font-size:18px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;line-height:1.1;color:var(--tx);}
#ccs-finder.ccta .card .csub{display:block;font-size:13px;color:var(--mut);margin-top:3px;line-height:1.35;font-weight:400;font-family:var(--ff);}

/* fields */
#ccs-finder.ccta .field{display:flex;flex-direction:column;gap:6px;position:relative;}
#ccs-finder.ccta .field > label{font-size:12px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;color:var(--tx);}
#ccs-finder.ccta .field label .lopt{text-transform:none;color:var(--mut);font-weight:400;font-family:var(--ff);letter-spacing:0;}
#ccs-finder.ccta .field label .req-mark{text-transform:none;color:var(--brand-text);font-weight:600;font-family:var(--ff);}
#ccs-finder.ccta .select select,#ccs-finder.ccta .field input,#ccs-finder.ccta .field textarea{font-family:var(--ff);font-size:16px;color:var(--tx);border:1px solid var(--bd);border-radius:var(--r);background:#fff;box-shadow:inset 0 1px 2px rgba(38,30,21,.045);font-weight:400;width:100%;transition:.15s var(--ease);}
#ccs-finder.ccta .field input::placeholder,#ccs-finder.ccta .field textarea::placeholder{color:var(--mut);opacity:1;}
#ccs-finder.ccta .select{position:relative;}
#ccs-finder.ccta .select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:13px 44px 13px 14px;cursor:pointer;line-height:1.25;}
#ccs-finder.ccta .select::after{content:"";position:absolute;right:17px;top:50%;width:8px;height:8px;transform:translateY(-65%) rotate(45deg);border-right:2px solid var(--mut);border-bottom:2px solid var(--mut);pointer-events:none;}
#ccs-finder.ccta .field input,#ccs-finder.ccta .field textarea{padding:13px 14px;}
#ccs-finder.ccta .field textarea{resize:vertical;min-height:74px;}
#ccs-finder.ccta .select select:hover,#ccs-finder.ccta .field input:hover,#ccs-finder.ccta .field textarea:hover{border-color:var(--bd-hover);}
#ccs-finder.ccta .select select:focus,#ccs-finder.ccta .field input:focus,#ccs-finder.ccta .field textarea:focus{outline:none;border-color:var(--brand);background:var(--card);box-shadow:0 0 0 3px var(--brand-tint);}
#ccs-finder.ccta .field.err input,#ccs-finder.ccta .field.err textarea,#ccs-finder.ccta .field.err .select select{border-color:var(--red);}
#ccs-finder.ccta .field .ferr{font-size:12px;color:var(--red-text);font-weight:500;display:none;}
#ccs-finder.ccta .field.err .ferr{display:block;}
#ccs-finder.ccta .row2{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
#ccs-finder.ccta .note-field{margin-top:14px;}
#ccs-finder.ccta .row2-top{margin-top:2px;}

/* checkbox */
#ccs-finder.ccta .chk{display:flex;align-items:flex-start;gap:11px;cursor:pointer;padding:7px 0;position:relative;}
#ccs-finder.ccta .chk input{position:absolute;opacity:0;width:1px;height:1px;}
#ccs-finder.ccta .chk .box{width:21px;height:21px;border:1.5px solid var(--bd);border-radius:5px;flex-shrink:0;display:grid;place-items:center;margin-top:1px;transition:.15s var(--ease);background:var(--card);}
#ccs-finder.ccta .chk .box svg{width:12px;height:12px;color:#fff;opacity:0;transition:opacity .15s;}
#ccs-finder.ccta .chk input:checked + .box{background:var(--brand);border-color:var(--brand);}
#ccs-finder.ccta .chk input:checked + .box svg{opacity:1;}
#ccs-finder.ccta .chk input:focus-visible + .box{outline:none;box-shadow:0 0 0 3px var(--brand-tint);border-color:var(--brand);}
#ccs-finder.ccta .chk .txt{font-size:14.5px;font-weight:400;color:var(--tx);line-height:1.45;}
#ccs-finder.ccta .chk .txt small{display:block;font-size:12.5px;color:var(--mut);font-weight:400;margin-top:1px;}
#ccs-finder.ccta .chk.err .box{border-color:var(--red);}
#ccs-finder.ccta .privacy-link{display:inline-block;margin:6px 0 0 32px;font-size:12.5px;color:var(--mut);text-decoration:underline;}
#ccs-finder.ccta .privacy-link:hover{color:var(--tx);}

/* multi-select marche */
#ccs-finder.ccta .msel{position:relative;}
#ccs-finder.ccta .msel-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--ff);font-size:16px;font-weight:400;color:var(--tx);border:1px solid var(--bd);border-radius:var(--r);background:var(--card-2);box-shadow:inset 0 1px 2px rgba(38,30,21,.045);padding:13px 14px;cursor:pointer;text-align:left;transition:.15s var(--ease);}
#ccs-finder.ccta .msel-trigger:hover{border-color:var(--bd-hover);}
#ccs-finder.ccta .msel-trigger[aria-expanded="true"]{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 3px var(--brand-tint);}
#ccs-finder.ccta .msel-summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#ccs-finder.ccta .msel-summary.ph{color:var(--mut);}
#ccs-finder.ccta .msel-chev{color:var(--mut);flex-shrink:0;transition:transform .25s var(--ease);}
#ccs-finder.ccta .msel-trigger[aria-expanded="true"] .msel-chev{transform:rotate(180deg);}
#ccs-finder.ccta .msel-panel{max-height:0;overflow:hidden;transition:max-height .3s var(--ease);}
#ccs-finder.ccta .msel-panel.open{max-height:340px;overflow-y:auto;margin-top:8px;}
#ccs-finder.ccta .msel-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:8px;border:1px solid var(--bd-soft);border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh-sm);}
#ccs-finder.ccta .msel-opt{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:5px;cursor:pointer;font-size:14.5px;color:var(--tx);position:relative;}
#ccs-finder.ccta .msel-opt:hover{background:var(--card-2);}
#ccs-finder.ccta .msel-opt input{position:absolute;opacity:0;width:1px;height:1px;}
#ccs-finder.ccta .msel-opt .mbox{width:19px;height:19px;border:1.5px solid var(--bd);border-radius:4px;display:grid;place-items:center;flex-shrink:0;background:#fff;transition:.15s var(--ease);}
#ccs-finder.ccta .msel-opt .mbox svg{width:11px;height:11px;color:#fff;opacity:0;}
#ccs-finder.ccta .msel-opt input:checked + .mbox{background:var(--brand);border-color:var(--brand);}
#ccs-finder.ccta .msel-opt input:checked + .mbox svg{opacity:1;}

/* budget */
#ccs-finder.ccta .budget-amount{display:flex;align-items:baseline;justify-content:center;gap:8px;margin:8px 0 2px;}
#ccs-finder.ccta .ba-cur{font-size:30px;font-weight:600;color:var(--mut);letter-spacing:-.5px;font-family:var(--disp);}
#ccs-finder.ccta .ba-val{font-size:60px;font-weight:700;letter-spacing:-1px;color:var(--tx);line-height:1;}
#ccs-finder.ccta .ba-bracket{text-align:center;font-size:13px;color:var(--brand-text);font-weight:700;margin:8px 0 22px;letter-spacing:1px;text-transform:uppercase;font-family:var(--disp);}
#ccs-finder.ccta .slider-wrap{padding:0 4px;}
#ccs-finder.ccta .budget-range{-webkit-appearance:none;appearance:none;width:100%;height:7px;border-radius:5px;background:var(--elev);outline:none;cursor:pointer;border:none;padding:0;}
#ccs-finder.ccta .budget-range:focus-visible{outline:none;box-shadow:0 0 0 4px var(--brand-tint);}
#ccs-finder.ccta .budget-range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:4px solid var(--brand);box-shadow:var(--sh);cursor:grab;}
#ccs-finder.ccta .budget-range::-webkit-slider-thumb:active{cursor:grabbing;}
#ccs-finder.ccta .budget-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--brand);box-shadow:var(--sh);cursor:grab;}
#ccs-finder.ccta .slider-ends{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mut);margin-top:9px;font-weight:500;}

#ccs-finder.ccta .hr{height:1px;background:var(--bd-soft);margin:24px 0;}

/* footer: l'azione è sempre lì, e quando si può andare avanti si vede. */
#ccs-finder.ccta .footer{background:var(--card-2);border-top:1px solid var(--bd-soft);padding:16px 26px;display:flex;align-items:center;justify-content:space-between;gap:14px;}
#ccs-finder.ccta .foot-note{font-size:13px;color:var(--mut);font-weight:400;display:flex;align-items:center;gap:8px;}
#ccs-finder.ccta .foot-note svg{display:none;}
#ccs-finder.ccta .foot-actions{display:flex;gap:10px;flex-shrink:0;}
#ccs-finder.ccta .btn{border-radius:var(--r);padding:13px 26px;font-size:16px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:.16s var(--ease);border:1.5px solid transparent;display:inline-flex;align-items:center;gap:9px;font-family:var(--disp);}
#ccs-finder.ccta .btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-tint);}
#ccs-finder.ccta .btn.ghost{background:transparent;border-color:var(--bd);color:var(--tx);}
#ccs-finder.ccta .btn.ghost:hover{border-color:var(--bd-hover);}
#ccs-finder.ccta .btn.primary{background:var(--cta);color:#fff;border-color:var(--cta);}
#ccs-finder.ccta .btn.primary:hover{background:var(--cta-dark);border-color:var(--cta-dark);}
#ccs-finder.ccta .btn.primary:disabled{background:transparent;color:var(--mut);border-color:var(--bd);cursor:not-allowed;}

/* success */
#ccs-finder.ccta .done{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 40px;}
#ccs-finder.ccta .done.show{display:flex;animation:ccta-slidein .35s var(--ease);}
#ccs-finder.ccta .done .ok{width:66px;height:66px;border-radius:50%;background:var(--green-t);color:var(--green);display:grid;place-items:center;margin-bottom:20px;flex-shrink:0;}
#ccs-finder.ccta .done h2{font-size:28px;font-weight:700;margin:0 0 9px;letter-spacing:.5px;text-transform:uppercase;color:var(--tx);}
#ccs-finder.ccta .done .dp{font-size:15.5px;color:var(--mut);max-width:470px;line-height:1.55;margin:0 0 24px;font-weight:400;}
#ccs-finder.ccta .done .dp b{color:var(--tx);font-weight:700;}
#ccs-finder.ccta .done .recap2{text-align:left;background:var(--card-2);border:1px solid var(--bd-soft);border-radius:var(--r-card);padding:18px 20px;font-size:13.5px;color:var(--tx);max-width:470px;width:100%;line-height:1.6;font-weight:400;box-shadow:var(--sh-sm);}
#ccs-finder.ccta .done .recap2 .rh{font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--brand-text);margin-bottom:12px;}
#ccs-finder.ccta .done .recap2 .rr{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-top:1px solid var(--bd-soft);}
#ccs-finder.ccta .done .recap2 .rr:first-of-type{border-top:none;}
#ccs-finder.ccta .done .recap2 .rr .l{color:var(--mut);}
#ccs-finder.ccta .done .recap2 .rr .v{color:var(--tx);font-weight:700;text-align:right;font-family:var(--disp);letter-spacing:.3px;}

/* honeypot */
#ccs-finder.ccta .ccta-hp{position:absolute;left:-9999px;top:-9999px;height:1px;width:1px;overflow:hidden;}

/* errore invio */
#ccs-finder.ccta .send-err{display:none;margin:0 22px 14px;background:#fdecea;border:1px solid #f2b8b5;border-radius:var(--r);padding:10px 14px;font-size:13.5px;color:var(--red-text);}
#ccs-finder.ccta .send-err.show{display:block;}

@media(max-width:620px){
	#ccs-finder.ccta .topbar{padding:11px 16px;}
	#ccs-finder.ccta .tb-word{font-size:19px;}
	#ccs-finder.ccta .stepper{padding:12px 16px;gap:5px;}
	#ccs-finder.ccta .stp .bar{height:5px;}
	#ccs-finder.ccta .stp .lbl{display:none;}
	#ccs-finder.ccta .main{padding:18px 16px 24px;}
	#ccs-finder.ccta .step h1{font-size:25px;margin:6px 0 6px;}
	#ccs-finder.ccta .step .lead{font-size:14px;line-height:1.5;margin-bottom:18px;}
	#ccs-finder.ccta .cards{grid-template-columns:1fr;gap:8px;}
	#ccs-finder.ccta .card{padding:12px;gap:11px;}
	#ccs-finder.ccta .card .cico{width:36px;height:36px;}
	#ccs-finder.ccta .row2{grid-template-columns:1fr;gap:15px;}
	#ccs-finder.ccta .msel-grid{grid-template-columns:1fr;}
	#ccs-finder.ccta .ba-val{font-size:46px;}
	#ccs-finder.ccta .ba-cur{font-size:25px;}
	#ccs-finder.ccta .footer{padding:11px 16px 12px;gap:8px;}
	#ccs-finder.ccta .foot-note{display:none;}
	#ccs-finder.ccta .foot-actions{flex:1;gap:8px;}
	/* Stessa altezza del primario (13px, non 14): con 1px in più la barra dei pulsanti cambiava
	   di 2px fra il passo 1 (senza "indietro") e gli altri, e si vedeva come un sussulto. */
	#ccs-finder.ccta .btn.ghost{flex:0 0 auto;padding:13px 16px;}
	#ccs-finder.ccta .btn.primary{flex:1;justify-content:center;}
	#ccs-finder.ccta .done{padding:30px 20px;}
}

/* ---- passo "Proposte" (3.0): card prodotto dal catalogo ---- */
#ccs-finder.ccta .results{min-height:120px;}
#ccs-finder.ccta .results[aria-busy="true"] .rgrid{opacity:.7;}
#ccs-finder.ccta .rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
#ccs-finder.ccta .rcard{display:flex;flex-direction:column;border:1px solid var(--bd-soft);border-radius:var(--r-card);background:var(--card);box-shadow:var(--sh-sm);overflow:hidden;text-decoration:none;color:var(--tx);transition:.16s var(--ease);position:relative;}
#ccs-finder.ccta .rcard:hover{border-color:var(--bd-hover);box-shadow:var(--sh);transform:translateY(-2px);color:var(--tx);}
#ccs-finder.ccta .rcard:focus-visible{outline:none;box-shadow:0 0 0 3px var(--brand-tint);border-color:var(--brand);}
#ccs-finder.ccta .rcard.seen{border-color:var(--brand);}
#ccs-finder.ccta .rimg{aspect-ratio:4/3;background:var(--card-2);display:grid;place-items:center;overflow:hidden;}
#ccs-finder.ccta .rimg img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply;}
#ccs-finder.ccta .rbody{padding:11px 12px 12px;display:flex;flex-direction:column;gap:3px;flex:1;}
#ccs-finder.ccta .rbrand{font-family:var(--disp);font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--brand-text);}
#ccs-finder.ccta .rtitle{font-family:var(--disp);font-size:16px;font-weight:600;line-height:1.15;letter-spacing:.2px;text-transform:uppercase;color:var(--tx);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#ccs-finder.ccta .rprice{font-size:15px;font-weight:700;color:var(--tx);margin-top:auto;padding-top:6px;}
#ccs-finder.ccta .rprice del{color:var(--mut);font-weight:400;margin-right:6px;}
#ccs-finder.ccta .rprice ins{text-decoration:none;}
#ccs-finder.ccta .rcta{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-family:var(--disp);font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--brand-text);}
#ccs-finder.ccta .rcta svg{width:14px;height:14px;}
#ccs-finder.ccta .rnote{display:flex;gap:10px;align-items:flex-start;background:var(--card-2);border:1px solid var(--bd-soft);border-left:3px solid var(--brand);border-radius:var(--r);padding:12px 14px;font-size:14px;color:var(--tx);line-height:1.5;margin:0 0 16px;}
#ccs-finder.ccta .rnote svg{flex-shrink:0;color:var(--brand);margin-top:2px;}
#ccs-finder.ccta .rempty{text-align:center;padding:26px 16px;color:var(--mut);font-size:15px;line-height:1.5;background:var(--card-2);border:1px dashed var(--bd);border-radius:var(--r-card);}
#ccs-finder.ccta .rempty b{color:var(--tx);}
#ccs-finder.ccta .rloading{font-size:13px;color:var(--mut);margin:0 0 12px;display:flex;align-items:center;gap:8px;}
#ccs-finder.ccta .rloading::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--bd);border-top-color:var(--brand);animation:ccta-spin .8s linear infinite;}
@keyframes ccta-spin{to{transform:rotate(360deg);}}
#ccs-finder.ccta .rskel{border:1px solid var(--bd-soft);border-radius:var(--r-card);overflow:hidden;background:var(--card);}
#ccs-finder.ccta .rskel i{display:block;background:linear-gradient(90deg,var(--elev) 25%,var(--card-2) 50%,var(--elev) 75%);background-size:200% 100%;animation:ccta-shimmer 1.2s infinite;}
#ccs-finder.ccta .rskel .si{aspect-ratio:4/3;}
#ccs-finder.ccta .rskel .st{height:12px;margin:12px 12px 8px;width:70%;border-radius:4px;}
#ccs-finder.ccta .rskel .sp{height:12px;margin:0 12px 14px;width:40%;border-radius:4px;}
@keyframes ccta-shimmer{from{background-position:200% 0;}to{background-position:-200% 0;}}
@media(max-width:620px){
	#ccs-finder.ccta .rgrid{grid-template-columns:1fr 1fr;gap:8px;}
	#ccs-finder.ccta .rtitle{font-size:14px;}
}
@media(max-width:400px){
	#ccs-finder.ccta .rgrid{grid-template-columns:1fr;}
}

/* ---- pagina a schermo intero (body.ccs-finder-full) ---- */
body.ccs-finder-full{margin:0;padding:28px 18px;background:#f2efe9;min-height:100vh;display:grid;place-items:center;}
body.ccs-finder-full #ccs-finder.ccta{width:100%;}
/* Sul telefono prende tutto: bordo a filo e altezza piena, come un'applicazione.
   Il telaio è ALTO QUANTO LO SCHERMO e non cresce col contenuto: con min-height i passi lunghi
   lo allungavano e i pulsanti finivano sotto la piega, così a ogni passo la pagina si alzava e
   si abbassava. Adesso barra, avanzamento e pulsanti stanno fermi e a scorrere è solo il centro. */
@media(max-width:620px){
	body.ccs-finder-full{padding:0;align-items:stretch;}
	body.ccs-finder-full #ccs-finder.ccta{max-width:none;}
	body.ccs-finder-full #ccs-finder.ccta .ccta-frame{border:0;min-height:100vh;display:flex;flex-direction:column;}
	body.ccs-finder-full #ccs-finder.ccta .main{flex:1;}
	/* iPhone: la barra di sistema in basso non deve coprire i pulsanti (il template ha viewport-fit=cover). */
	body.ccs-finder-full #ccs-finder.ccta .footer{padding-bottom:calc(12px + env(safe-area-inset-bottom));}
}
/* Telaio fisso, solo dove 'dvh' esiste (l'altezza vera dello schermo, senza la barra del browser).
   Sui browser vecchi resta il comportamento qui sopra: meglio una pagina che scorre che dei pulsanti
   tagliati fuori da un'altezza sbagliata. */
/* Telaio fisso. NON dipende più dalla classe sul <body>: su crippaecanali.it la pagina del
   questionario è servita da un altro template a pagina vuota, il <body> esce senza classi e tutte
   le regole qui sotto non si applicavano — il difetto sembrava non corretto. Adesso l'aggancio è il
   questionario stesso, che JS marca con .ccta-schermo quando è lui la pagina (parte in cima, senza
   intestazione del tema sopra). */
@supports (height:100svh){
	@media(max-width:620px){
		#ccs-finder.ccta.ccta-schermo{width:100%;max-width:none;min-height:0;}
		/* svh = l'altezza dello schermo CON le barre del browser visibili: è la più piccola e non cambia
	   mai mentre scorri. Con dvh (o con l'altezza congelata al caricamento) se la pagina partiva con
	   la barra ritratta il telaio veniva più alto dello schermo e i pulsanti finivano tagliati sotto,
	   senza poterci arrivare perché la pagina non scorre. */
		/* MIN-height, non height: il telaio è alto almeno uno schermo, ma se il browser ha misurato
		   male può crescere e la pagina scorre. Con l'altezza fissa, se la misura veniva più corta
		   dello schermo la barra dei pulsanti restava fuori e non c'era modo di raggiungerla. */
		#ccs-finder.ccta.ccta-schermo .ccta-frame{border:0;min-height:var(--ccta-h,100svh);display:flex;flex-direction:column;}
		#ccs-finder.ccta.ccta-schermo .topbar,
		#ccs-finder.ccta.ccta-schermo .stepper,
		#ccs-finder.ccta.ccta-schermo .footer{flex:none;}
		/* min-height:0 è quello che lascia rimpicciolire il figlio flex: senza, non scorre e sfonda. */
		#ccs-finder.ccta.ccta-schermo .main,
		#ccs-finder.ccta.ccta-schermo .done.show{flex:1 1 auto;min-height:0;}
		/* La barra dei pulsanti si appiccica al fondo dello SCHERMO, non del telaio: qualunque cosa
		   facciano le barre di Safari e Chrome, resta visibile. È l'unica presa che non dipende da
		   quanto il browser dice che è alto lo schermo. */
		#ccs-finder.ccta.ccta-schermo .footer{position:sticky;bottom:0;z-index:3;}
		/* Il contenuto sta in mezzo allo spazio che ha, non appiccicato in alto: sui passi corti
		   lasciava 142px di vuoto fra l'ultima risposta e i pulsanti, che sembravano caduti in fondo.
		   'safe' serve perché con il solo center un contenuto più alto dello spazio verrebbe tagliato
		   sopra, fuori dallo scorrimento. */
		#ccs-finder.ccta.ccta-schermo .main{display:flex;flex-direction:column;justify-content:center;justify-content:safe center;}
		/* I pulsanti non toccano il bordo dello schermo: sotto restano un dito d'aria e, sugli iPhone,
		   lo spazio della barra di sistema. Era l'altra metà di "troppo in basso". */
		#ccs-finder.ccta.ccta-schermo .footer{height:calc(92px + env(safe-area-inset-bottom));
			padding-bottom:calc(20px + env(safe-area-inset-bottom));}
		/* La pagina può scorrere: è la rete di sicurezza. Bloccarla era la trappola — se il telaio
		   risultava più alto dell'area visibile, i pulsanti restavano fuori e irraggiungibili. */
		html.ccta-blocca,html.ccta-blocca body{margin:0;background:#faf8f4;}
		body.ccs-finder-full{display:block;padding:0;}
		/* La barra dei pulsanti ha un'altezza sua e non cambia con la lunghezza della scritta.
		   Era l'ultimo pezzo che si muoveva: al passo "Proposte" il pulsante diventa "Continua con
		   la richiesta", andava a capo su due righe e la barra cresceva di 19px, quindi le CTA
		   salivano. Scritta su una riga sola, icona via (ruba 25px di larghezza), altezza bloccata. */
		#ccs-finder.ccta.ccta-schermo .footer{align-items:center;padding-top:0;}
		#ccs-finder.ccta.ccta-schermo .foot-actions{align-items:center;}
		#ccs-finder.ccta.ccta-schermo .foot-actions .btn{height:46px;padding-top:0;padding-bottom:0;}
		#ccs-finder.ccta.ccta-schermo .btn.primary{font-size:14px;letter-spacing:.8px;padding-left:14px;padding-right:14px;
			white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;justify-content:center;}
		#ccs-finder.ccta.ccta-schermo .btn.primary svg{display:none;}
		/* Con l'iPhone il tasto di sistema in basso mangia spazio: si aggiunge alla barra, non dentro. */
		#ccs-finder.ccta.ccta-schermo .footer{margin-bottom:env(safe-area-inset-bottom);}
	}
}
/* Questionario dentro una pagina del tema (non prende lo schermo): i pulsanti restano appiccicati
   in basso invece di scappare in fondo al contenuto. */
@media(max-width:620px){
	#ccs-finder.ccta:not(.ccta-schermo) .footer{position:sticky;bottom:0;z-index:2;}
}
