/* Stile "sobrio" comune ai temi: toglie gli effetti tipici dei siti generati (bagliori, griglie, titoli compressi,
   pastelli e prezzi in monospazio) e usa le variabili di palette definite dal tema. */
body{background:var(--bg);color:var(--text);font-family:var(--font-body)}
a:hover{color:var(--primary)}
:focus-visible{outline-color:var(--primary)}
.h-xxl,.h-xl,.h-l,.hero h1,.h-m,.zonelist a,.step b,.bento-item b,.pcard-title,.faq summary,.prose h2,.cta-in h2{font-family:var(--font-head);letter-spacing:var(--track-head);font-weight:var(--w-head)}
.h-xxl{font-size:clamp(36px,4.6vw,64px);line-height:1.05}
.h-xl{font-size:clamp(30px,3.6vw,48px);line-height:1.08}
.h-xxl .grey,.h-xl .grey,.h-xxl .mute,.h-xl .mute{color:var(--muted-head)}
.lead,.lead-dark{font-weight:400}
.mono,.price,.bigprice,.eyebrow,.lbl{font-family:var(--font-body);font-variant-numeric:tabular-nums}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:600;color:var(--primary)}
.lime-t{color:var(--accent-on-dark)!important}

/* Pulsanti */
.btn{border-radius:var(--radius-btn);font-weight:600}
.btn.lime{background:var(--cta);color:var(--cta-ink)}
.btn.lime:hover{background:var(--cta-hover);color:var(--cta-ink)}
.btn.glowbtn{box-shadow:none}
.btn.black{background:var(--primary);color:#fff}
.btn.black:hover{background:var(--primary-hover);color:#fff}
.btn.outline{border-color:var(--primary);color:var(--primary)}

/* Header */
.topband{background:var(--head);padding:0;border-bottom:1px solid var(--head-border)}
body.light .topband{padding-bottom:0}
.pillbar{background:transparent;border:0;border-radius:0;backdrop-filter:none;padding:14px 24px;max-width:1320px}
.brand,.brand:hover{color:var(--head-ink)}
.wordmark{letter-spacing:-.01em}
.wordmark i{color:var(--head-muted)}
.mainnav a{color:var(--head-ink);border-radius:var(--radius-btn);font-weight:500}
.mainnav a:hover{background:var(--head-hover);color:var(--head-ink)}
.iconbtn,.textlink,.navtoggle{color:var(--head-ink)}
.iconbtn:hover{background:var(--head-hover);color:var(--head-ink)}
.textlink:hover{color:var(--primary)}
.navtoggle{border-color:var(--head-border);border-radius:var(--radius-btn)}
.count{background:var(--cta);color:var(--cta-ink)}
.nav-quote{color:var(--primary)!important}

/* Hero */
.hero{background:var(--hero-bg);color:var(--hero-ink)}
.grid-bg{background-image:none}
.glow{display:none}
.hero h1{font-size:clamp(40px,5.6vw,76px);line-height:1.04;color:var(--hero-ink)}
.hero .lead{color:var(--hero-muted);font-size:20px}
.pill-badge{background:var(--hero-chip);border-color:var(--hero-border);color:var(--hero-muted);border-radius:var(--radius-btn)}
.pill-badge span{background:var(--primary);color:#fff;border-radius:calc(var(--radius-btn) - 2px)}
.pill-badge:hover{color:var(--hero-ink)}
.hero-links a{color:var(--hero-muted)}
.hero-links a:hover{color:var(--primary)}
.btn.ghostdark{border-color:var(--hero-border);color:var(--hero-ink)}
.btn.ghostdark:hover{border-color:var(--hero-ink);color:var(--hero-ink)}
.console-in{background:var(--surface);border:1px solid var(--border);box-shadow:0 20px 50px -30px rgba(15,23,42,.35);border-radius:var(--radius)}
.console-img{background:#fff;border:1px solid var(--border);border-radius:calc(var(--radius) - 6px)}
.console-panel,.console-price{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:calc(var(--radius) - 6px)}
.lbl{color:var(--muted-text);letter-spacing:.04em}
.lbl b{color:var(--text)}
.chips span{border-color:var(--border);color:var(--muted-text);border-radius:var(--radius-btn)}
.chips span.on{background:var(--primary);border-color:var(--primary);color:#fff}
.chips span.inc{background:var(--primary-soft);color:var(--primary)}
.track{background:var(--border)}
.track i,.track i::after{background:var(--primary)}
.track i::after{box-shadow:0 0 0 4px var(--primary-soft)}
.track.cmyk i{background:var(--primary)}
.pulse{background:var(--ok-dot)}
.bigprice{color:var(--text);letter-spacing:-.02em;font-weight:700}
.bigprice small,.console-price .muted{color:var(--muted-text)}

/* Fascia marche */
.marquee-wrap{background:var(--surface2);border-color:var(--border)}
.marquee{color:var(--muted-text);opacity:.8}

/* Servizi */
.dark-sec{background:var(--dark);color:var(--dark-ink)}
.dark-sec .lead{color:var(--dark-muted)}
.svc{background:var(--dark-card);border-color:var(--dark-border);border-radius:var(--radius-sm)}
.svc p{color:var(--dark-muted)}
.svc .ic{color:var(--accent-on-dark)}
.tag-lime{background:var(--accent-on-dark);color:var(--dark)}
.tag-dark{background:transparent;border:1px solid var(--dark-border);color:var(--dark-muted)}

/* Schede prodotto */
.pcard,.pcard.t1,.pcard.t2,.pcard.t3{background:var(--card-foot);border:1px solid var(--border);border-radius:var(--radius)}
.pcard:hover{transform:translateY(-2px);box-shadow:0 16px 40px -24px rgba(15,23,42,.45)}
.pcard-media{border-radius:calc(var(--radius) - 1px) calc(var(--radius) - 1px) 0 0;border-bottom:1px solid var(--border);margin:-22px -22px 0}
.pcard-title{font-size:20px;line-height:1.2}
.pcard-foot{border-top:1px solid var(--border)}
.price{font-weight:700;letter-spacing:-.01em;color:var(--text)}
.round-arrow{background:var(--primary);border-radius:var(--radius-btn)}
.pcard-badge{background:var(--primary);border-radius:var(--radius-btn)}
.feats li{border-width:1px!important;border-color:var(--border)!important;background:#fff}

/* Categorie */
.bento-item,.bento-item[style]{background:var(--surface)!important;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}
.bento-item.big,.bento-item.big[style]{background:var(--primary)!important;color:#fff;border-color:var(--primary);border-radius:var(--radius)}
.bento-item.big .mono{color:#fff;opacity:.8}
.bento-item b{letter-spacing:var(--track-head)}

/* Passi */
.step,.step.s0,.step.s1,.step.s2,.step.s3{background:var(--surface);color:var(--text);border:1px solid var(--border);border-top:4px solid var(--primary);border-radius:var(--radius-sm);min-height:240px}
.step.s3{background:var(--primary);color:#fff;border-color:var(--primary)}
.step .num{font-family:var(--font-head);font-size:56px;color:var(--primary);letter-spacing:0;font-weight:700}
.step.s3 .num{color:#fff}

/* Zone */
.zonelist,.zonelist li{border-color:var(--border);border-width:1px}
.zonelist a{font-size:clamp(22px,2.6vw,34px);font-weight:600;padding:16px 0}
.dot,.dot.d0,.dot.d1,.dot.d2,.dot.d3{background:var(--primary);width:10px;height:10px}

/* CTA */
.cta-box{background:var(--primary);color:#fff;border-radius:var(--radius)}
.cta-box h2,.cta-box .h-xl,.cta-box .h-xxl{color:#fff}
.cta-in p{color:rgba(255,255,255,.85)}
.cta-box .btn.black{background:var(--cta);color:var(--cta-ink)}
.blob{display:none}
.faq{border-color:var(--border)}

/* Footer */
.sitefoot{background:var(--foot);color:var(--foot-muted)}
.footgrid a,.footgrid .linkbtn{color:var(--foot-muted)}
.bigmark{display:none}
.footlegal{border-color:var(--foot-border);color:var(--foot-muted)}

/* Catalogo, filtri, scheda */
.subcats{background:var(--surface2);border-radius:var(--radius-btn)}
.subcats a{border-radius:var(--radius-btn)}
.subcats a.on{background:var(--primary);color:#fff}
.filters a{border-radius:var(--radius-btn)}
.filters a.on{background:var(--primary-soft);border-color:var(--primary);box-shadow:none}
.volbox{border:1px solid var(--border);border-radius:var(--radius)}
.summary,.configurator .summary{background:var(--primary)}
.summary .bigprice,.mbar b{color:#fff}
.range input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--primary) var(--pct),var(--border) var(--pct))}
.range.cmyk input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--primary) var(--pct),var(--border) var(--pct))}
.range input[type=range]::-webkit-slider-thumb{border-color:var(--primary)}
.range input[type=range]::-moz-range-progress,.range.cmyk input[type=range]::-moz-range-progress{background:var(--primary)}
.gallery-main,.card{border-radius:var(--radius)}
.cookie{background:var(--foot);border-color:var(--foot-border);border-radius:var(--radius-sm)}
.cookie a{color:#fff}
.fab-tel{background:var(--primary)}
@media (min-width:1101px){.pillbar{flex-wrap:nowrap;gap:8px 14px}.mainnav{flex-wrap:nowrap}.mainnav a{padding:10px 10px;white-space:nowrap;font-size:15px}}
.wordmark{white-space:nowrap}
.summary .bigprice small,.summary .muted,.summary small{color:rgba(255,255,255,.78)!important}

/* Rifinitura di tutte le pagine (scheda prodotto, carrello, account, form, cookie) */
.pills span,.svc-inc,.svc-opt,.qty input,.range-num input,.searchbox input,.sortform select,.catchips a,.progress li,.area-nav a,.feats li,.chip,.tag,.fab a span{border-radius:var(--radius-btn)}
.pills span{border-color:var(--border);background:#fff}
.pills input:checked+span{background:var(--primary);border-color:var(--primary);color:#fff}
.pills input:focus-visible+span{outline-color:var(--primary)}
.svc-inc{background:var(--surface2)}
.svc-opt{border-color:var(--border);background:#fff}
.svc-opt input{accent-color:var(--primary)}
.range-num input,.qty input{border-color:var(--border);font-family:var(--font-body)}
.range-head output{font-family:var(--font-body);font-weight:600;letter-spacing:-.01em}
.searchbox input,.sortform select,.catchips a{border-width:1px;border-color:var(--border);background:#fff}
.catchips a:hover{border-color:var(--primary);color:var(--primary)}
.empty{border-style:solid;border-width:1px;border-color:var(--border);border-radius:var(--radius);background:#fff}
.card{border-color:var(--border)}
.dark-card{background:var(--dark)!important;color:var(--dark-ink)}
.dark-card .muted,.dark-card p{color:var(--dark-muted)}
.form input,.form select,.form textarea,input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea{border-radius:var(--radius-btn)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
input[type=checkbox],input[type=radio]{accent-color:var(--primary)}
.progress li.on,.progress li.done{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.area-nav a.on,.area-nav a:hover{background:var(--primary-soft);color:var(--primary)}
.crumbs.dark{justify-content:flex-start;color:var(--muted-text)}
.zonehero .hero-in{grid-column:1 / -1}
.prose h2{font-size:26px;line-height:1.2;margin:34px 0 10px}
.prose a{color:var(--primary)}
/* banner cookie */
.cookie .btn.ghostdark{color:#fff;border-color:rgba(255,255,255,.45);background:transparent}
.cookie .btn.ghostdark:hover{border-color:#fff;color:#fff}
.cookie .btn.white{background:#fff;color:var(--text)}
.cookie-opts label{color:#fff}
.textlink{white-space:nowrap}
