
:root{
  --verde:#028B55; --verde-scuro:#016B41; --verde-tenue:#E7F3ED;
  --notte:#014C2E; --blu:#028B55;
  --rosso:#D01532;
  --crema:#FFFDDC; --sabbia:#F2F1EF; --linea:#DCDCD6;
  --grigio:#5E6B64; --bianco:#fff;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--bianco);color:var(--notte);
  font-family:Manrope,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.45;
  font-variant-numeric:tabular-nums;
}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--blu);outline-offset:2px}
.wrap{max-width:1180px;margin:0 auto}

/* ---- barra del prototipo ---- */









/* ---- testata sito ---- */
.top{border-bottom:1px solid var(--linea);background:#fff}
.top .wrap{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px}
.logo{font-weight:800;font-size:25px;letter-spacing:-.03em;color:var(--verde);line-height:1}
.logo small{display:block;font-size:9px;font-weight:600;letter-spacing:.22em;color:var(--grigio)}
.nav{display:flex;gap:20px;font-size:14.5px;font-weight:500}
.nav a{text-decoration:none}
.nav a:hover{color:var(--verde)}
.top .cerca{margin-left:auto;flex:0 1 320px;display:flex;border:1.5px solid var(--linea);border-radius:var(--r-sm)}
.top .cerca input{border-radius:10px 0 0 10px}
.top .cerca button{border-radius:0 10px 10px 0}
.top .cerca:focus-within{border-color:var(--verde)}
.top .cerca input{border:0;padding:8px 12px;width:100%;outline:none}
.top .cerca button{background:var(--sabbia);border:0;border-left:1px solid var(--linea);padding:0 12px}

/* ---- barra ordine (l'eroe) ---- */
.ordine{background:var(--notte);color:#fff;padding:48px 0 56px}
.ordine h1{margin:0 0 4px;font-size:30px;font-weight:700;letter-spacing:-.02em}
.ordine p.sub{margin:0 0 20px;color:#B7E0CC;font-size:15.5px;max-width:60ch}
.barra{display:flex;gap:8px;flex-wrap:wrap}
.barra .campo{flex:1 1 380px;display:flex;background:#fff;border-radius:var(--r-sm)}
.barra .campo input{border-radius:10px 0 0 10px;padding:16px}
.barra .campo button{border-radius:0 10px 10px 0}
.barra .campo input{border:0;padding:16px 16px;width:100%;outline:none;font-size:16px}
.barra .campo button{background:var(--verde);color:#fff;border:0;padding:0 24px;font-weight:600}
.barra .campo button:hover{background:var(--verde-scuro)}
.barra .ripeti{
  background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.3);color:#fff;
  border-radius:var(--r-sm);padding:12px 20px;font-weight:600;display:flex;gap:8px;align-items:center;
}
.barra .ripeti:hover{background:rgba(255,255,255,.18)}
.barra .ripeti span{font-weight:400;color:#B7E0CC;font-size:13px}
.tipi{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.tipi a{
  text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  border-radius:7px;padding:8px 16px;font-size:14px;font-weight:500;
}
.tipi a:hover{background:rgba(255,255,255,.16)}

/* ---- fascia risparmio (per visitatori) ---- */
.esca{background:var(--crema);border-bottom:1px solid var(--linea);padding:20px 0}
.esca .wrap{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.esca .n{font-size:40px;font-weight:800;color:var(--verde);line-height:1;letter-spacing:-.03em}
.esca .t{font-size:15px;max-width:52ch}
.esca .t b{font-weight:700}
.esca a.cta{
  margin-left:auto;background:var(--verde);color:#fff;text-decoration:none;font-weight:600;
  padding:12px 20px;border-radius:8px;white-space:nowrap;
}
.esca a.cta:hover{background:var(--verde-scuro)}

/* ---- sezioni ---- */
section{padding:56px 0}
h2.tit{margin:0 0 6px;font-size:24px;font-weight:700;letter-spacing:-.02em}
p.occhio{margin:0 0 20px;color:var(--grigio);font-size:14.5px}

.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(172px,1fr));gap:12px}
.cat{
  display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;
  background:var(--sabbia);border-radius:var(--r-sm);padding:12px;min-height:96px;
  border:1px solid transparent;
}
.cat:hover{border-color:var(--verde);background:var(--verde-tenue)}
.cat b{font-size:16px;font-weight:600}
.cat span{color:var(--grigio);font-size:13px}
.cat.promo{background:var(--verde);color:#fff}
.cat.promo span{color:rgba(255,255,255,.8)}
.cat.promo:hover{background:var(--verde-scuro);border-color:transparent}
.cat.promo em{font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:.1em;opacity:.75}

/* ---- griglia prodotti ---- */
.collo{
  display:inline-flex;align-items:center;gap:4px;background:var(--sabbia);border-radius:5px;
  padding:3px 8px;font-size:12px;color:var(--grigio);align-self:flex-start;
}
.collo b{color:var(--notte);font-weight:600}

/* ---- blocco prezzo ibrido ---- */
.prezzo{margin-top:2px}
.prezzo .listino{font-size:13px;color:var(--grigio)}
.prezzo .listino s{opacity:.8}
.prezzo .val{font-size:22px;font-weight:700;letter-spacing:-.02em}
.prezzo .val small{font-size:12.5px;font-weight:500;color:var(--grigio);letter-spacing:0}
.prezzo .tuo{color:var(--verde)}
.prezzo .risparmio{
  display:inline-block;background:var(--verde-tenue);color:var(--verde-scuro);
  font-size:12.5px;font-weight:600;padding:2px 8px;border-radius:5px;margin-top:3px;
}
.prezzo .sblocca{
  display:block;margin-top:6px;background:var(--verde-tenue);border:1px dashed var(--verde);
  color:var(--verde-scuro);border-radius:7px;padding:8px 8px;font-size:12.5px;font-weight:600;
  text-align:center;text-decoration:none;
}
.prezzo .sblocca:hover{background:#D9EDE3}

/* ---- finestra accesso e registrazione ---- */
@keyframes su{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}

.aggiungi{border:0;background:var(--notte);color:#fff;border-radius:8px;padding:8px;font-weight:600;width:100%}
.aggiungi:hover{background:var(--notte-90)}

/* ---- riquadro promozionale dentro la griglia ---- */

/* ---- ricerca istantanea ---- */
.acwrap{position:relative}
.ac{
  position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;z-index:70;
  border:1px solid var(--linea);border-radius:var(--r-sm);box-shadow:0 14px 40px rgba(0,41,80,.16);
  max-height:420px;overflow-y:auto;display:none;
}
.ac.on{display:block}
.ac .grp{
  font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--grigio);
  padding:8px 12px 4px;border-top:1px solid var(--linea);
}
.ac .grp:first-child{border-top:0}
.ac .it{display:flex;gap:12px;align-items:center;padding:8px 12px;text-decoration:none;cursor:pointer}
.ac .it:hover,.ac .it.sel{background:var(--verde-tenue)}
.ac .it img{width:38px;height:38px;object-fit:contain;background:var(--sabbia);border-radius:6px;flex:none}
.ac .it .n{font-weight:600;font-size:14px;line-height:1.2}
.ac .it .m{font-size:12px;color:var(--grigio)}
.ac .it .p{margin-left:auto;font-weight:700;font-size:14px;white-space:nowrap}
.ac .it .p small{display:block;font-weight:500;font-size:11px;color:var(--grigio);text-align:right}
.ac .vuoto{padding:20px 12px;color:var(--grigio);font-size:14px;text-align:center}
.ac .tutti{
  display:block;padding:12px 12px;text-align:center;font-weight:600;font-size:13.5px;
  background:var(--sabbia);text-decoration:none;border-top:1px solid var(--linea);
}
mark{background:#FFF2A8;color:inherit;padding:0 1px;border-radius:2px}

/* ---- scheda prodotto ---- */
.box{border:1px solid var(--linea);border-radius:var(--r-md);padding:20px;margin-top:18px}
.box.cliente{border-color:var(--verde);background:var(--verde-tenue)}
.big{font-size:36px;font-weight:800;letter-spacing:-.03em;line-height:1}
.big small{font-size:14px;font-weight:500;color:var(--grigio);letter-spacing:0}
.nota{font-size:13px;color:var(--grigio);margin-top:10px}
.nota b{color:var(--notte)}
dl.dati{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:16px 0 0;font-size:14px}
dl.dati dt{color:var(--grigio)}
dl.dati dd{margin:0;font-weight:600}

/* ---- riordino ---- */
.filtri{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.filtri button{border:1px solid var(--linea);background:#fff;border-radius:var(--r-pill);padding:4px 12px;font-size:13.5px}
.filtri button[aria-pressed=true]{background:var(--notte);border-color:var(--notte);color:#fff;font-weight:600}
table.rio{width:100%;border-collapse:collapse;font-size:14.5px}
table.rio th{
  text-align:left;font-size:12.5px;font-weight:600;color:var(--grigio);
  padding:8px 8px;border-bottom:2px solid var(--linea);
}
table.rio th.num,table.rio td.num{text-align:right}
table.rio td{padding:8px 8px;border-bottom:1px solid var(--linea);vertical-align:middle}
table.rio tr.marca td{background:var(--sabbia);font-weight:700;font-size:13px;letter-spacing:.03em;padding:4px 8px}
table.rio .nm{font-weight:600}
table.rio .sub{font-size:12.5px;color:var(--grigio)}
table.rio .mini{display:flex;border:1.5px solid var(--linea);border-radius:7px;overflow:hidden;width:116px;margin-left:auto}
table.rio .mini button{border:0;background:var(--sabbia);width:32px;font-weight:600}
table.rio .mini input{border:0;width:52px;text-align:center;font-weight:700;outline:none}
table.rio tr.attiva td{background:var(--verde-tenue)}
.totale{
  position:sticky;bottom:0;background:#fff;border-top:2px solid var(--notte);
  padding:12px 0;margin-top:0;
}
.totale .wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.totale .soglia{flex:1 1 260px;min-width:220px}
.totale .soglia .bar{height:6px;background:var(--sabbia);border-radius:4px;overflow:hidden;margin-top:6px}
.totale .soglia .bar i{display:block;height:100%;background:var(--verde);width:0;transition:width .3s}
.totale .soglia p{margin:0;font-size:13px;color:var(--grigio)}
.totale .somma{text-align:right}
.totale .somma b{font-size:27px;font-weight:800;letter-spacing:-.03em;display:block;line-height:1.1}
.totale .somma span{font-size:12.5px;color:var(--grigio)}
.totale .aggiungi{width:auto;padding:12px 24px;font-size:15.5px}



footer{background:var(--notte);color:#B7E0CC;padding:32px 0;margin-top:40px;font-size:13.5px}

/* ---- carrello laterale ---- */
.velo{position:fixed;inset:0;background:rgba(0,41,80,.42);z-index:80;opacity:0;pointer-events:none;transition:opacity .22s}
.velo.on{opacity:1;pointer-events:auto}

/* ---- barra mobile ---- */

/* ---- modulo account ---- */
.conto-modulo{max-width:640px;margin:0 auto;padding:32px 0 56px}
.conto-modulo h1{font-size:29px;font-weight:700;letter-spacing:-.025em;margin:0 0 4px}
.conto-modulo .intro{color:var(--grigio);font-size:15.5px;margin:0 0 24px}
.campi{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.campi label{display:flex;flex-direction:column;gap:4px;font-size:13.5px;font-weight:600}
.campi label.full{grid-column:1/-1}
.campi input,.campi select{border:1.5px solid var(--linea);border-radius:8px;padding:12px 12px;font-weight:400;outline:none}
.campi input:focus,.campi select:focus{border-color:var(--verde)}
.campi .hint{font-weight:400;font-size:12.5px;color:var(--grigio)}
.promessa{background:var(--verde-tenue);border-radius:var(--r-sm);padding:16px 16px;margin:20px 0}
.promessa b{display:block;margin-bottom:4px}
.promessa ul{margin:0;padding-left:19px;font-size:14px;color:var(--notte)}
.promessa li{margin:3px 0}

@media(pointer:coarse){
table.rio .mini{width:132px}
table.rio .mini button{width:40px;height:44px}
table.rio .mini input{width:52px;height:44px}
.ac .it{padding:12px 16px}
}
@media(max-width:900px){
section{padding:32px 0}
.ordine{padding:32px 0 36px}
  .scheda{grid-template-columns:minmax(0,1fr);gap:20px}
  .top .cerca{order:5;flex:1 1 100%;margin-left:0}
  .nav{display:none}
  .ordine h1{font-size:24px}
  table.rio .sub{display:none}
  .mob{display:flex}
  body{padding-bottom:66px}
  .totale{bottom:66px}
  .campi{grid-template-columns:1fr}
  .carrello{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}


/* === componenti pagine editoriali === */
textarea{font:inherit;color:inherit}.stretta{max-width:720px}/* barra prototipo */






/* testata */
.top{border-bottom:1px solid var(--linea)}.top .cta{margin-left:auto;background:var(--verde);color:#fff;text-decoration:none;
  font-weight:600;font-size:14px;padding:8px 16px;border-radius:8px;white-space:nowrap}/* testata di pagina */
.testa{padding:48px 0 40px}.testa h1{margin:0 0 12px;font-size:44px;font-weight:800;letter-spacing:-.035em;line-height:1.06;max-width:16ch}.testa p{margin:0;font-size:19px;color:var(--grigio);max-width:56ch;line-height:1.5}.testa.foto{position:relative;color:#fff;padding:0;margin-bottom:34px;overflow:hidden;border-radius:0 0 18px 18px}.testa.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.testa.foto::after{content:"";position:absolute;inset:0;z-index:-1;
  background:transparent}.testa.foto .wrap{padding-top:76px;padding-bottom:76px}.testa.foto p{color:#C9E6D9}.cappello{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--verde);margin:0 0 8px}.testa.foto .cappello{color:#8FD5B4}.pagina section{padding:64px 0}section.sabbia{background:var(--sabbia)}section.crema{background:var(--crema)}.pagina h2{font-size:29px;font-weight:700;letter-spacing:-.028em;margin:0 0 8px;max-width:22ch}.pagina h3{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}p.gu{color:var(--grigio);max-width:62ch;margin:0 0 24px}.corpo p{max-width:68ch}/* numeri */
.numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--linea);
  border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.numeri div{background:#fff;padding:26px 22px 24px;border-top:3px solid var(--verde);transition:background .2s}
.numeri div:hover{background:var(--sabbia)}
.numeri b{display:block;font-size:42px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--notte)}
.numeri span{display:block;font-size:14px;color:var(--grigio);margin-top:8px;font-weight:500}/* colonne */
.due{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;align-items:center}.due img{width:100%;border-radius:var(--r-md);display:block}.tre{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.carta{border:1px solid var(--linea);border-radius:var(--r-md);padding:24px}.carta p{margin:0;color:var(--grigio);font-size:15px}.carta .seg{width:34px;height:3px;background:var(--verde);border-radius:2px;margin-bottom:14px}/* elenco consorzi */
.consorzi{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.consorzi span{border:1.5px solid var(--verde);color:var(--verde-scuro);border-radius:var(--r-pill);
  padding:4px 16px;font-size:14px;font-weight:600;background:#fff}/* fisarmonica */
.faq details{border-bottom:1px solid var(--linea)}.faq summary{padding:16px 32px 16px 0;font-weight:600;font-size:17px;cursor:pointer;position:relative;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:14px;font-size:23px;color:var(--verde);font-weight:400}.faq details[open] summary::after{content:"–"}.faq .risp{padding:0 40px 16px 0;color:var(--grigio);max-width:66ch}.faq .risp b{color:var(--notte)}/* pagina marchio */
.marchio{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px;align-items:start}.marchio .stemma{border:1px solid var(--linea);border-radius:var(--r-md);padding:16px;background:#fff}.marchio .stemma img{width:100%;border-radius:var(--r-sm);display:block}.marchio dl{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:16px 0 0;font-size:14px}.marchio dt{color:var(--grigio)}.marchio dd{margin:0;font-weight:600}.griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-top:24px}.pcard img{aspect-ratio:1;width:100%;object-fit:contain;background:var(--sabbia);padding:8px}.pcard .c{padding:12px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}.pcard .n{font-weight:600;font-size:14.5px;line-height:1.25;flex:1}.pz{font-size:19px;font-weight:700;letter-spacing:-.02em}.pz small{font-size:11.5px;font-weight:500;color:var(--grigio);letter-spacing:0}/* contatti */
.vie{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:30px}.via{border:1px solid var(--linea);border-radius:var(--r-md);padding:24px}.via b{display:block;font-size:17px;margin-bottom:4px}.via p{margin:0 0 12px;color:var(--grigio);font-size:14.5px}.via a{font-weight:600;color:var(--verde);text-decoration:none;font-size:15px}.via.forte{background:var(--verde);border-color:var(--verde);color:#fff}.via.forte p{color:rgba(255,255,255,.86)}.via.forte a{color:#fff}.zone{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;background:var(--linea);
  border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden}.zone div{background:#fff;padding:16px 20px}.zone b{display:block;font-size:15.5px}.zone span{font-size:14px;color:var(--grigio)}/* passi */
.passi{counter-reset:p;display:grid;gap:12px}.passo{display:flex;gap:16px;align-items:flex-start}.passo .n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--verde);color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:16px}.passo p{margin:3px 0 0;color:var(--grigio);max-width:60ch}.fascia{background:var(--notte);color:#fff;padding:40px 0}.fascia h2{color:#fff;margin-bottom:8px}.fascia p{color:#B7E0CC;max-width:58ch;margin:0 0 20px}.fascia a{background:var(--verde);color:#fff;text-decoration:none;font-weight:600;
  padding:12px 24px;border-radius:var(--r-sm);display:inline-block}.fascia a:hover{background:var(--verde-scuro)}.fonte{background:var(--crema);border-left:3px solid var(--verde);padding:12px 16px;
  font-size:13.5px;margin:0 0 20px;border-radius:0 8px 8px 0}.pagina section{padding:36px 0}.testa h1{font-size:32px}.marchio{grid-template-columns:minmax(0,1fr)}.marchio .stemma{max-width:220px}.testa.foto .wrap{padding-top:48px;padding-bottom:48px}/* ===== piede ===== */
.piede{background:var(--notte-90);color:#B7E0CC;margin-top:64px;font-size:14.5px}.piede-griglia{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-top:48px;padding-bottom:40px}.piede .logo{color:#fff;font-weight:800;font-size:24px;letter-spacing:-.03em;line-height:1;display:block}.piede .logo small{display:block;font-size:9px;font-weight:600;letter-spacing:.22em;color:#7FA890}.piede-marca p{margin:16px 0 0;max-width:34ch;line-height:1.5}.piede .consorzi-mini{font-size:13px;color:#7FA890;border-top:1px solid rgba(255,255,255,.14);padding-top:12px}.piede h3{color:#fff;font-size:14px;font-weight:700;margin:0 0 12px}.piede ul{list-style:none;margin:0;padding:0}.piede li{margin:0 0 8px}.piede a{color:#B7E0CC;text-decoration:none}.piede a:hover{color:#fff;text-decoration:none}.piede-riga{border-top:1px solid rgba(255,255,255,.14)}.piede-riga .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;padding-bottom:24px}.piede-riga p{margin:0;font-size:13.5px}.piede-riga .legali a{margin-left:20px}
@media(max-width:860px){.piede-griglia{grid-template-columns:1fr 1fr;gap:32px}.piede-marca{grid-column:1/-1}.piede-riga .legali a{margin:0 20px 0 0;display:inline-block}
}/* ===== archivio catalogo ===== */
.negozio{padding-top:24px}.woocommerce-products-header{margin-bottom:8px}.woocommerce-products-header__title{font-size:var(--t-3xl);font-weight:800;letter-spacing:-.03em;margin:0 0 6px}.woocommerce-result-count{color:var(--grigio);font-size:14.5px;margin:0}.woocommerce-ordering{margin:0 0 20px}ul.products{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:16px}ul.products li.product{border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;
  display:flex;flex-direction:column;background:#fff;padding:0}ul.products li.product:hover{border-color:var(--verde)}ul.products li.product a img{aspect-ratio:1;width:100%;object-fit:contain;
  background:var(--sabbia);padding:12px;margin:0;display:block}ul.products li.product .woocommerce-loop-product__title{font-weight:600;font-size:15px;
  line-height:1.25;padding:12px 16px 0;margin:0}ul.products li.product .collo{margin:8px 16px 0}ul.products li.product .prezzo{padding-bottom:10px}ul.products li.product .price{padding:0 16px}ul.products li.product .button{margin:12px 16px 16px;background:var(--notte);color:#fff;
  border:0;border-radius:8px;padding:12px;font-weight:600;text-align:center;
  text-decoration:none;display:block;font-size:14.5px}ul.products li.product .button:hover{background:var(--notte-90)}ul.products li.product .added_to_cart{display:none}.woocommerce-pagination ul{list-style:none;display:flex;gap:6px;padding:0;margin:32px 0 0;flex-wrap:wrap}.woocommerce-pagination a, .woocommerce-pagination span{display:block;padding:9px 14px;
  border:1px solid var(--linea);border-radius:8px;text-decoration:none;font-weight:600}.woocommerce-pagination .current{background:var(--notte);color:#fff;border-color:var(--notte)}/* ===== testata: il menu e una lista, va steso ===== */
.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;align-items:center}.nav li{margin:0}.nav a{text-decoration:none;font-weight:500;font-size:14.5px;white-space:nowrap}.nav .current-menu-item > a{color:var(--verde)}.carrello{display:flex;align-items:center;gap:16px;font-weight:600;font-size:14.5px;white-space:nowrap}.carrello a{text-decoration:none}.carrello b{background:var(--verde);color:#fff;border-radius:var(--r-pill);padding:2px 9px;font-size:12.5px}/* ===== bottoni: uno stile solo per tutto il sito ===== */
.woocommerce .button, .woocommerce button.button, .woocommerce input.button, .woocommerce a.button, .wp-element-button, button.single_add_to_cart_button{
  background:var(--notte);color:#fff;border:0;border-radius:var(--r-sm);padding:14px 24px;
  font-weight:600;font-size:15px;text-decoration:none;display:inline-block;
  line-height:1.2;cursor:pointer;text-align:center;
}.woocommerce .button:hover, .woocommerce a.button:hover, button.single_add_to_cart_button:hover{background:var(--notte-90);color:#fff}.woocommerce .button.alt, button.single_add_to_cart_button{background:var(--verde)}.woocommerce .button.alt:hover, button.single_add_to_cart_button:hover{background:var(--verde-scuro)}/* ===== scheda prodotto ===== */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;align-items:start;padding-top:24px}.single-product .woocommerce-product-gallery{background:var(--sabbia);border-radius:var(--r-md);
  padding:24px;margin:0;width:auto!important;float:none!important}.single-product .woocommerce-product-gallery img{width:100%;height:auto;display:block;border-radius:8px}.single-product .summary{margin:0!important;width:auto!important;float:none!important}.single-product .product_title{font-size:var(--t-3xl);font-weight:800;letter-spacing:-.03em;
  line-height:1.12;margin:4px 0 10px}.single-product .woocommerce-product-details__short-description{color:var(--grigio);max-width:56ch}.single-product .summary .collo{display:inline-flex;margin:0 0 14px}.single-product .price{display:block;border:1px solid var(--linea);border-radius:var(--r-md);
  padding:20px;margin:0 0 18px;font-size:inherit}.single-product .price .val{font-size:34px;font-weight:800;letter-spacing:-.03em;display:block;line-height:1.1}.single-product .price .val small{font-size:14px;font-weight:500;color:var(--grigio);letter-spacing:0}.single-product .price .listino{font-size:13px;color:var(--grigio);display:block;margin-bottom:4px}.single-product .price .tuo{color:var(--verde)}.single-product .price .sblocca{display:block;margin-top:12px;padding-top:12px;
  border-top:1px dashed var(--linea);color:var(--verde-scuro);font-weight:600;
  text-decoration:none;font-size:14px}.single-product .price .risparmio{display:inline-block;margin-top:8px}.single-product form.cart{display:flex;gap:12px;align-items:stretch;margin:0 0 12px;flex-wrap:wrap}.single-product .quantity{display:flex;border:1.5px solid var(--linea);border-radius:var(--r-sm);overflow:hidden}.single-product .quantity input{border:0;width:88px;text-align:center;font-weight:700;
  font-size:17px;outline:none;padding:0 8px;-moz-appearance:textfield}.single-product .quantity input::-webkit-outer-spin-button, .single-product .quantity input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.single-product button.single_add_to_cart_button{flex:1;min-width:200px}.single-product .product_meta{font-size:14px;color:var(--grigio);border-top:1px solid var(--linea);
  padding-top:16px;margin-top:20px}.single-product .product_meta a{color:var(--notte);font-weight:600;text-decoration:none}.single-product .product_meta a:hover{color:var(--verde)}/* ===== schede a linguette ===== */
.woocommerce-tabs{grid-column:1/-1;margin-top:48px;border-top:1px solid var(--linea);padding-top:32px}.woocommerce-tabs ul.tabs{display:flex;gap:4px;list-style:none;margin:0 0 24px;padding:0;flex-wrap:wrap}.woocommerce-tabs ul.tabs li{margin:0}.woocommerce-tabs ul.tabs a{display:block;padding:10px 18px;border-radius:8px;
  text-decoration:none;font-weight:600;font-size:14.5px;color:var(--grigio)}.woocommerce-tabs ul.tabs li.active a{background:var(--notte);color:#fff}.woocommerce-tabs .panel > h2:first-child{display:none}.woocommerce-tabs .panel{max-width:72ch}.woocommerce-tabs table{width:100%;border-collapse:collapse}.woocommerce-tabs table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linea);color:var(--grigio)}.woocommerce-tabs table td{padding:10px 12px;border-bottom:1px solid var(--linea)}/* correlati: erano schiacciati dai float di WooCommerce */
.related, .upsells{grid-column:1/-1;margin-top:48px;clear:both}.related > h2, .upsells > h2{font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0 0 20px}.related ul.products, .upsells ul.products{grid-template-columns:repeat(auto-fill,minmax(224px,1fr))}/* WooCommerce usa float e larghezze fisse: qui non servono */
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product{
  float:none!important;width:auto!important;margin:0!important;clear:none!important}.woocommerce ul.products::before, .woocommerce ul.products::after{display:none!important}.woocommerce .col2-set, .woocommerce-page .col2-set{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2{width:auto!important;float:none!important}.woocommerce #content div.product div.images, .woocommerce div.product div.images{width:auto!important;float:none!important}.woocommerce #content div.product div.summary, .woocommerce div.product div.summary{width:auto!important;float:none!important}/* ===== avvisi ===== */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  list-style:none;border-left:3px solid var(--verde);background:var(--verde-tenue);
  padding:14px 18px;border-radius:0 10px 10px 0;margin:0 0 20px}.woocommerce-error{border-left-color:var(--rosso);background:#FCEBEC}.woocommerce-info{border-left-color:var(--blu);background:#EAF0FA}/* ===== moduli ===== */
.woocommerce form .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}.woocommerce form label{font-weight:600;font-size:13.5px}.woocommerce input[type=text], .woocommerce input[type=email], .woocommerce input[type=password], .woocommerce input[type=tel], .woocommerce select, .woocommerce textarea{
  border:1.5px solid var(--linea);border-radius:var(--r-sm);padding:12px;
  outline:none;font:inherit;width:100%}.woocommerce input:focus, .woocommerce select:focus{border-color:var(--verde)}/* ===== carrello e conferma ===== */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden}.woocommerce table.shop_table th{text-align:left;padding:14px 16px;background:var(--sabbia);font-size:13px;color:var(--grigio)}.woocommerce table.shop_table td{padding:14px 16px;border-top:1px solid var(--linea)}.woocommerce table.shop_table img{width:56px;border-radius:8px;background:var(--sabbia)}.woocommerce .cart_totals h2{font-size:20px;font-weight:700;margin:0 0 12px}.woocommerce .quantity input{border:1.5px solid var(--linea);border-radius:8px;padding:8px;width:80px;text-align:center;font-weight:700}

@media(max-width:900px){.single-product div.product{grid-template-columns:minmax(0,1fr);gap:24px}.single-product .product_title{font-size:26px}.single-product .price .val{font-size:28px}.nav{display:none}ul.products{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.woocommerce-products-header__title{font-size:28px}
}
@media(pointer:coarse){.single-product .quantity input{height:48px}.woocommerce-tabs ul.tabs a{padding:14px 18px}
}.marca{display:block;font-size:11.5px;font-weight:700;letter-spacing:.06em;
  color:var(--verde);text-decoration:none;padding:12px 16px 0}.marca:hover{text-decoration:none}.single-product .marca{padding:0;font-size:13px}ul.products li.product .woocommerce-loop-product__title{padding-top:4px}/* la foto non deve schiacciare le informazioni: il prodotto si compra a destra */
.single-product div.product{grid-template-columns:minmax(0,1.05fr) minmax(380px,460px);gap:40px}.single-product .woocommerce-product-gallery{display:grid;place-items:center;min-height:360px}.single-product .woocommerce-product-gallery img{max-height:460px;width:auto;max-width:100%;object-fit:contain}.single-product .woocommerce-product-gallery__wrapper{width:100%;display:grid;place-items:center}.single-product .stock.out-of-stock{display:inline-block;background:#FCEBEC;color:var(--rosso);
  border-radius:8px;padding:10px 14px;font-weight:600;font-size:14px;margin:0 0 16px}.single-product .stock.in-stock{color:var(--verde);font-weight:600;font-size:14px}/* briciole: dicono dove sei, e sono la seconda via di navigazione del catalogo */
.woocommerce-breadcrumb{color:var(--grigio);font-size:13.5px;padding:16px 0 0;margin:0}.woocommerce-breadcrumb a{color:var(--grigio);text-decoration:none}.woocommerce-breadcrumb a:hover{color:var(--verde)}/* categorie, tag e marchio: una riga per tipo, non un blocco di testo */
.product_meta{display:grid;gap:8px}.product_meta > span{display:block;font-size:13.5px;color:var(--grigio)}.product_meta .tagged_as{color:var(--ink-3,#8A99A3)}.esaurito{background:#FCEBEC;border-left:3px solid var(--rosso);border-radius:0 10px 10px 0;
  padding:14px 16px;font-size:14.5px;margin:0 0 18px}.esaurito a{color:var(--rosso);font-weight:600}/* ===== dettagli della home ===== */
.tipi{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}.tipi a{text-decoration:none;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:9px 16px;
  font-size:14px;font-weight:500;color:#fff}.tipi a:hover{background:rgba(255,255,255,.18)}.barra .ripeti{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.3);
  color:#fff;border-radius:var(--r-sm);padding:14px 20px;font-weight:600;text-decoration:none;
  display:flex;gap:10px;align-items:center;white-space:nowrap}.barra .ripeti span{font-weight:400;color:#B7E0CC;font-size:13px}.cat{min-height:104px;padding:16px}.cat b{font-size:16px;font-weight:600;line-height:1.2}.cat span{color:var(--grigio);font-size:13px;margin-top:auto}.cat.promo{background:var(--verde);color:#fff;border-color:var(--verde)}.cat.promo span{color:rgba(255,255,255,.85)}.cat.promo em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.1em;opacity:.8;display:block;margin-bottom:4px}.cat.promo:hover{background:var(--verde-scuro)}/* ===== card: bottone sempre in fondo ===== */
ul.products li.product{display:flex;flex-direction:column;height:100%}ul.products li.product .woocommerce-loop-product__title{min-height:2.6em;padding-bottom:0}ul.products li.product .price{display:block;padding:10px 16px 0;margin:0;font-size:inherit}ul.products li.product .button{margin-top:auto}ul.products .prezzo{display:block}ul.products .prezzo .listino{display:block;font-size:12.5px;color:var(--grigio)}ul.products .prezzo .val{display:block;font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.25}ul.products .prezzo .val small{font-size:12px;font-weight:500;color:var(--grigio);letter-spacing:0;display:block}ul.products .prezzo .risparmio{display:inline-block;margin-top:6px;font-size:12px}ul.products .prezzo .sblocca{margin-top:8px;font-size:12.5px}ul.products .pz-nd{display:block;padding:10px 16px 0;color:var(--grigio);font-size:14px;font-style:italic}/* ===== testata appiccicata: la ricerca deve restare a portata ===== */
.top{position:sticky;top:0;z-index:50;background:#fff;transition:box-shadow .2s}.admin-bar .top{top:32px}.top.ombra{box-shadow:0 2px 14px rgba(0,41,80,.1)}
@media(max-width:782px){.admin-bar .top{top:46px}}
@media(max-width:600px){.admin-bar .top{top:0}}/* ===== filtri e ordinamento ===== */
.woocommerce-result-count{color:var(--grigio);font-size:14px;margin:0 0 12px}.filtri{display:inline-flex;align-items:center;gap:10px;margin:0 12px 20px 0}.f-lab{font-size:13px;font-weight:600;color:var(--grigio)}.filtri select, .woocommerce-ordering select{border:1.5px solid var(--linea);
  border-radius:var(--r-sm);padding:10px 14px;background:#fff;font-weight:500;
  font-size:14.5px;max-width:280px}.f-pulisci{font-size:13.5px;color:var(--rosso);font-weight:600}.woocommerce-ordering{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px}.carta.figlia{display:block;text-decoration:none;color:inherit}.carta.figlia:hover{border-color:var(--verde)}.carta.figlia h3{margin:0 0 6px}

/* ===== testata: tre zone che non si toccano ===== */
.salta{position:absolute;left:-9999px;background:var(--notte);color:#fff;padding:12px 20px;border-radius:0 0 10px 0;z-index:200}
.salta:focus{left:0;top:0}
.top-riga{display:flex;align-items:center;gap:24px;padding-top:16px;padding-bottom:16px}
.top .logo{text-decoration:none;flex:none}
.top .nav{margin-left:8px}
.top .cerca{margin-left:auto;flex:0 1 320px}
.conto{display:flex;align-items:center;gap:4px;flex:none;padding-left:20px;
  margin-left:4px;border-left:1px solid var(--linea)}
.conto-voce,.conto-carrello{display:flex;align-items:center;gap:8px;text-decoration:none;
  padding:9px 12px;border-radius:var(--r-sm);font-size:14px;font-weight:600;white-space:nowrap}
.conto-voce:hover,.conto-carrello:hover{background:var(--sabbia)}
.conto-eti{color:var(--grigio);font-weight:500}
.conto-voce b{font-weight:600}
.conto-carrello b{background:var(--verde);color:#fff;border-radius:var(--r-pill);
  min-width:24px;text-align:center;padding:2px 8px;font-size:12.5px}
.top .nav ul{gap:22px}
.top .nav .current-menu-item > a,.top .nav .current-page-ancestor > a{color:var(--verde)}

/* ===== pulsante del menu ===== */
.hamburger{display:none;flex-direction:column;gap:4px;background:none;border:0;
  padding:8px 4px;align-items:center}
.hamburger span{display:block;width:22px;height:2px;background:var(--notte);border-radius:2px;
  transition:transform .2s,opacity .2s}
.hamburger em{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--grigio);margin-top:2px}
.hamburger[aria-expanded=true] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.hamburger[aria-expanded=true] span:nth-child(2){opacity:0}
.hamburger[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ===== menu a scomparsa ===== */
.lato-velo{position:fixed;inset:0;background:rgba(0,41,80,.45);z-index:98;opacity:0;transition:opacity .22s}
.lato-velo.on{opacity:1}
.lato{position:fixed;top:0;left:0;bottom:0;width:min(360px,88vw);background:#fff;z-index:99;
  display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .26s cubic-bezier(.2,.7,.3,1);
  overflow-y:auto}
.lato.on{transform:none}
.lato-testa{display:flex;align-items:center;padding:20px;border-bottom:1px solid var(--linea)}
.lato-testa button{margin-left:auto;border:0;background:none;font-size:30px;line-height:1;color:var(--grigio)}
.lato-cerca{position:relative;padding:16px 20px}
.lato-cerca input{width:100%;border:1.5px solid var(--linea);border-radius:var(--r-sm);padding:13px;outline:none}
.lato-cerca input:focus{border-color:var(--verde)}
.lato-voci{list-style:none;margin:0;padding:0 12px}
.lato-voci li{margin:0}
.lato-voci a{display:block;padding:14px 12px;text-decoration:none;font-weight:600;
  font-size:16px;border-radius:var(--r-sm)}
.lato-voci a:hover{background:var(--sabbia)}
.lato-voci .sub-menu{list-style:none;margin:0;padding:0 0 6px 12px}
.lato-voci .sub-menu a{font-weight:500;font-size:14.5px;color:var(--grigio);padding:10px 12px}
.lato-rep{padding:12px 24px 0;border-top:1px solid var(--linea);margin-top:12px}
.lato-rep h3{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--grigio);margin:16px 0 8px}
.lato-rep ul{list-style:none;margin:0;padding:0}
.lato-rep a{display:flex;justify-content:space-between;padding:10px 0;text-decoration:none;font-size:15px}
.lato-rep a span{color:var(--grigio);font-size:13px}
.lato-piede{margin-top:auto;padding:20px 24px 28px;border-top:1px solid var(--linea)}
.lato-btn{display:block;text-align:center;padding:14px;border-radius:var(--r-sm);
  text-decoration:none;font-weight:600;border:1.5px solid var(--linea);margin-bottom:10px}
.lato-btn.verde{background:var(--verde);border-color:var(--verde);color:#fff}
.lato-piede p{margin:12px 0 0;font-size:13px;color:var(--grigio);text-align:center}

@media(max-width:1080px){.top .nav{display:none}.hamburger{display:flex}}
@media(max-width:720px){
  .top .cerca{display:none}
  .conto-eti{display:none}
  .top-riga{gap:12px}
  .conto{padding-left:0;border-left:0}
}


/* ===== riquadro promozionale nella griglia =====
   L'immagine ha gia il suo testo stampato dentro: niente velo, niente ritaglio. */

/* il piede respira e si stacca dal contenuto */
.piede{margin-top:80px}
.piede-griglia{padding-top:56px;padding-bottom:48px;gap:48px}
.piede-col h3{font-size:12px;letter-spacing:.1em;color:#7FA890;margin:0 0 14px}
.piede-marca p{font-size:14px;line-height:1.55}
.piede .consorzi-mini{margin-top:20px}
.piede li{margin:0 0 10px}
.piede a{font-size:14.5px}


/* ===== testata: identica su ogni pagina, niente schiacciamenti ===== */
.top-riga{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;min-height:72px}
.top .nav{margin-left:4px;min-width:0}
.top .nav ul{gap:18px;flex-wrap:nowrap}
.top .nav a{font-size:14px}
.top .cerca{margin-left:auto;flex:0 1 300px;min-width:200px}
.top .cerca input{min-width:0;width:100%;padding:10px 12px}
.conto{flex:none}
@media(max-width:1240px){.top .cerca{flex-basis:220px}}

/* ===== pagine editoriali: respiro e leggibilita ===== */
.pagina section{padding:64px 0}
.pagina section:first-child{padding-top:40px}
.pagina .testa{padding-top:48px;padding-bottom:8px}
.pagina h1{font-size:44px;font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:0 0 14px;max-width:18ch}
.pagina .testa p{font-size:19px;color:var(--grigio);max-width:56ch;line-height:1.55;margin:0}
.pagina h2{font-size:30px;font-weight:700;letter-spacing:-.028em;margin:0 0 12px;max-width:24ch}
.pagina h3{font-size:18px;font-weight:700;letter-spacing:-.015em;margin:0 0 8px}
.pagina p.gu{color:var(--grigio);max-width:60ch;margin:0 0 32px;font-size:16.5px;line-height:1.6}
.pagina .cappello{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--verde);margin:0 0 12px}
.pagina .tre{gap:24px}
.pagina .carta{padding:28px}
.pagina .carta p{color:var(--grigio);font-size:15px;line-height:1.6;margin:0}
.pagina .carta .seg{width:34px;height:3px;background:var(--verde);border-radius:2px;margin-bottom:16px}
.pagina .passi{display:grid;gap:24px;max-width:64ch}
.pagina .passo{display:flex;gap:20px;align-items:flex-start}
.pagina .passo .n{flex:none;width:38px;height:38px;border-radius:50%;background:var(--verde);
  color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px}
.pagina .passo p{margin:4px 0 0;color:var(--grigio);line-height:1.6}
.pagina .testa.foto{margin-bottom:8px}
.pagina .testa.foto .wrap{padding-top:120px;padding-bottom:120px}
.pagina .faq{max-width:74ch}
.pagina .faq details{border-bottom:1px solid var(--linea)}
.pagina .faq summary{padding:22px 44px 22px 0;font-weight:600;font-size:17.5px;
  cursor:pointer;position:relative;list-style:none}
.pagina .faq summary::-webkit-details-marker{display:none}
.pagina .faq summary::after{content:"+";position:absolute;right:8px;top:18px;
  font-size:26px;color:var(--verde);font-weight:400;line-height:1}
.pagina .faq details[open] summary::after{content:"\2013"}
.pagina .faq .risp{padding:0 44px 24px 0;color:var(--grigio);line-height:1.65;font-size:16px}
.pagina .faq .risp b{color:var(--notte)}

/* ===== due colonne affiancate: testo e foto ===== */
.pagina .due-affiancate{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:56px;align-items:center}
.pagina .due-affiancate img{width:100%;border-radius:var(--r-md);display:block;
  aspect-ratio:4/3;object-fit:cover}
.pagina .bottone{display:inline-block;background:var(--notte);color:#fff;text-decoration:none;
  font-weight:600;padding:15px 28px;border-radius:var(--r-sm);font-size:15.5px}
.pagina .bottone:hover{background:var(--notte-90)}

/* ===== blocchi misti: uno pieno di colore, uno di fotografia ===== */
.pagina .blocchi{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.pagina .blocco{border-radius:var(--r-md);padding:36px;min-height:240px;display:flex;
  flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.pagina .blocco h3{font-size:22px;margin:0 0 10px}
.pagina .blocco p{margin:0;line-height:1.6}
.pagina .blocco.verde{background:var(--verde);color:#fff}
.pagina .blocco.verde p{color:rgba(255,255,255,.9)}
.pagina .blocco.foto{padding:0;color:#fff}
.pagina .blocco.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pagina .blocco.foto .sopra{position:relative;margin-top:auto;padding:36px;
  background:transparent}
.pagina .blocco.foto p{color:rgba(255,255,255,.9)}

/* ===== settori: foto sopra, testo sotto, altezze pari ===== */
.pagina .settori{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.pagina .settore{border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;
  display:flex;flex-direction:column;background:#fff}
.pagina .settore img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.pagina .settore .testo{padding:28px;display:flex;flex-direction:column;gap:8px}
.pagina .settore h3{margin:0}
.pagina .settore p{margin:0;color:var(--grigio);line-height:1.6;font-size:15px}

/* ===== fascia di chiusura ===== */
.pagina .fascia{background:var(--notte);color:#fff;padding:64px 0;margin-top:64px}
.pagina .fascia h2{color:#fff;margin:0 0 12px;max-width:20ch}
.pagina .fascia p{color:#B7E0CC;max-width:58ch;margin:0 0 28px;font-size:16.5px;line-height:1.6}
.pagina .fascia a{background:var(--verde);color:#fff;text-decoration:none;font-weight:600;
  padding:15px 30px;border-radius:var(--r-sm);display:inline-block}
.pagina .fascia a:hover{background:var(--verde-scuro)}

/* ===== responsive: si riordina, non si incolonna e basta ===== */
@media(max-width:980px){
  .pagina .due-affiancate{grid-template-columns:minmax(0,1fr);gap:32px}
  .pagina .due-affiancate img{aspect-ratio:16/9;order:-1}
  .pagina h1{font-size:34px;max-width:none}
  .pagina h2{font-size:26px;max-width:none}
  .pagina .testa.foto .wrap{padding-top:56px;padding-bottom:56px}
  .pagina section{padding:44px 0}
  .pagina .blocco{min-height:200px;padding:28px}
  .pagina .blocco.foto .sopra{padding:28px}
  .pagina .settore .testo{padding:22px}
  .pagina .fascia{padding:48px 0;margin-top:44px}
}
@media(max-width:600px){
  .pagina h1{font-size:28px}
  .pagina .testa p{font-size:16.5px}
  .pagina .testa.foto .wrap{padding-top:40px;padding-bottom:40px}
  .pagina section{padding:36px 0}
  .pagina .settori,.pagina .blocchi,.pagina .tre{gap:16px}
  .pagina .settore img{aspect-ratio:2/1}
  .pagina .carta{padding:22px}
  .pagina .bottone,.pagina .fascia a{display:block;text-align:center}
}

/* ===== pannello di reparto ===== */
.pannello-reparto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  border-radius:var(--r-lg);overflow:hidden;margin:8px 0 32px;background:var(--verde-tenue)}
.pannello-reparto .testo{padding:48px;display:flex;flex-direction:column;justify-content:center}
.pannello-reparto h1{font-size:38px;font-weight:800;letter-spacing:-.035em;margin:0 0 14px}
.pannello-reparto p{margin:0 0 18px;line-height:1.6;max-width:46ch;font-size:16.5px}
.pannello-reparto .quanti{font-size:13.5px;font-weight:600;color:var(--verde-scuro)}
.pannello-reparto img{width:100%;height:100%;object-fit:cover;display:block;min-height:300px}
@media(max-width:900px){
  .pannello-reparto{grid-template-columns:minmax(0,1fr)}
  .pannello-reparto img{order:-1;min-height:0;aspect-ratio:16/9}
  .pannello-reparto .testo{padding:28px}
  .pannello-reparto h1{font-size:28px}
}

/* ===== barra superiore ===== */
.barra-alta{background:var(--notte);color:#B7E0CC;font-size:13px}
.barra-alta .wrap{display:flex;align-items:center;gap:14px;padding-top:9px;padding-bottom:9px;flex-wrap:wrap}
.barra-alta a{color:#fff;text-decoration:none;font-weight:500}
.barra-alta a:hover{text-decoration:none}
.barra-alta .tel{margin-left:auto}
.barra-alta .sep{opacity:.45}
@media(max-width:720px){.barra-alta .sep,.barra-alta span:nth-of-type(2){display:none}}

/* ===== testata a griglia: niente sovrapposizioni ===== */
.top-riga{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,340px) auto;
  align-items:center;gap:24px;padding-top:14px;padding-bottom:14px;min-height:74px}
.top .hamburger{grid-column:1}
.top .logo{grid-column:1;flex:none}
.top .nav{grid-column:2;min-width:0;overflow:hidden}
.top .nav ul{gap:20px;flex-wrap:nowrap}
.top .cerca{grid-column:3;margin-left:0;flex:1 1 auto;min-width:0}
.top .conto{grid-column:4}
@media(max-width:1080px){
  .top-riga{grid-template-columns:auto auto minmax(0,1fr) auto}
  .top .hamburger{grid-column:1;display:flex}
  .top .logo{grid-column:2}
  .top .nav{display:none}
  .top .cerca{grid-column:3}
  .top .conto{grid-column:4}
}
@media(max-width:720px){
  .top-riga{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;min-height:64px}
  .top .cerca{display:none}
  .top .logo{grid-column:2;justify-self:center}
  .top .conto{grid-column:3}
}

/* ===== riquadro promozionale: riempie la riga come le card ===== */
.tile{display:flex;flex-direction:column;height:100%;border:1px solid var(--linea);
  border-radius:var(--r-md);overflow:hidden;text-decoration:none;background:#fff}
.tile:hover{border-color:var(--verde)}
.tile img{display:block;width:100%;aspect-ratio:600/797;object-fit:contain;background:var(--sabbia)}
.tile-testo{display:flex;flex-direction:column;gap:4px;padding:16px;margin-top:auto;
  background:var(--verde);color:#fff}
.tile-testo b{font-size:15px;font-weight:700;line-height:1.25}
.tile-testo em{font-style:normal;font-size:13px;color:rgba(255,255,255,.85)}

/* ===== testata fotografica: il testo deve restare leggibile ===== */
.pagina .testa.foto{position:relative;color:#fff;padding:0;border-radius:0;overflow:hidden;
  min-height:420px;display:grid;align-items:end}
.pagina .testa.foto img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 30%;z-index:0}
.pagina .testa.foto::after{content:"";position:absolute;inset:0;z-index:1;
  background:transparent}
.pagina .testa.foto .wrap{position:relative;z-index:2;padding-top:72px;padding-bottom:72px}
.pagina .testa.foto h1{color:#fff;max-width:16ch}
.pagina .testa.foto p{color:#D9ECD7;max-width:52ch}
.pagina .testa.foto .cappello{color:#8FD5B4}
@media(max-width:900px){
  .pagina .testa.foto{min-height:320px}
  .pagina .testa.foto::after{background:transparent}
  .pagina .testa.foto .wrap{padding-top:48px;padding-bottom:40px}
  .pagina .testa.foto h1,.pagina .testa.foto p{max-width:none}
}

/* ===== area account ===== */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:260px minmax(0,1fr);
  gap:40px;align-items:start;padding:32px 0 24px}
.woocommerce-MyAccount-navigation{border:1px solid var(--linea);border-radius:var(--r-md);
  padding:12px;background:#fff;position:sticky;top:96px}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}
.woocommerce-MyAccount-navigation li{margin:0}
.woocommerce-MyAccount-navigation a{display:block;padding:13px 16px;border-radius:var(--r-sm);
  text-decoration:none;font-weight:600;font-size:14.5px;color:var(--notte)}
.woocommerce-MyAccount-navigation a:hover{background:var(--sabbia)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--notte);color:#fff}
.woocommerce-MyAccount-content{border:1px solid var(--linea);border-radius:var(--r-md);padding:36px;background:#fff}
.woocommerce-MyAccount-content > p:first-child{font-size:18px;margin-top:0}
.woocommerce-MyAccount-content a{color:var(--verde);font-weight:600}
.woocommerce-account h2{font-size:24px;font-weight:700;letter-spacing:-.025em;margin:0 0 16px}
.woocommerce-form-login,.woocommerce-form-register{border:1px solid var(--linea);
  border-radius:var(--r-md);padding:32px;max-width:460px}
@media(max-width:900px){
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr);gap:20px}
  .woocommerce-MyAccount-navigation{position:static}
  .woocommerce-MyAccount-content{padding:24px}
}

/* ===== card: bordi e toni piu decisi ===== */
ul.products li.product{transition:border-color .15s,box-shadow .15s,transform .15s}
ul.products li.product:hover{border-color:var(--verde);
  box-shadow:0 8px 24px rgba(0,41,80,.09);transform:translateY(-2px)}
ul.products li.product a img{border-bottom:1px solid var(--linea)}
ul.products li.product .marca{color:var(--verde);letter-spacing:.07em}
ul.products .prezzo .risparmio{background:var(--verde-tenue);color:var(--verde-scuro);
  padding:3px 9px;border-radius:6px;font-weight:600}
ul.products .prezzo .listino s{opacity:.7}

/* ===== recensioni ===== */
.woocommerce-Reviews .commentlist{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.woocommerce-Reviews .comment_container{display:flex;gap:16px;border:1px solid var(--linea);
  border-radius:var(--r-md);padding:20px;background:#fff}
.woocommerce-Reviews .avatar{width:44px;height:44px;border-radius:50%;flex:none}
.woocommerce-Reviews .meta{font-size:13px;color:var(--grigio);margin:0 0 6px}
.woocommerce-Reviews .description p{margin:0;line-height:1.6}
.woocommerce-Reviews #review_form_wrapper{border:1px solid var(--linea);border-radius:var(--r-md);
  padding:24px;margin-top:20px;max-width:560px}
.woocommerce-Reviews .woocommerce-noreviews{color:var(--grigio);font-style:italic}

/* ===== scheletro di caricamento ===== */
@keyframes cedis-onda{0%{background-position:200% 0}100%{background-position:-200% 0}}
ul.products li.product a img,.tile img,.pagina .settore img{
  background-image:transparent;
  background-size:200% 100%;animation:cedis-onda 1.4s linear infinite}
img.caricata{animation:none;background-image:none}
@media(prefers-reduced-motion:reduce){img{animation:none!important}}

/* ===== card delle pagine figlie ===== */
.figlie{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.figlia{display:flex;flex-direction:column;border:1px solid var(--linea);
  border-radius:var(--r-md);overflow:hidden;text-decoration:none;color:inherit;background:#fff;
  transition:border-color .15s,box-shadow .15s,transform .15s}
.figlia:hover{border-color:var(--verde);box-shadow:0 10px 28px rgba(0,41,80,.1);
  transform:translateY(-2px)}
.figlia img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.figlia .testo{display:flex;flex-direction:column;gap:8px;padding:24px;flex:1}
.figlia b{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.figlia em{font-style:normal;color:var(--grigio);font-size:15px;line-height:1.55;flex:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(15px*1.55*3)}
.figlia .vai{color:var(--verde);font-weight:600;font-size:14.5px;margin-top:4px}

/* ===== stelle: selezione a stella, non elenco di link ===== */
.comment-form-rating p.stars{display:flex;gap:6px;margin:0 0 18px}
.comment-form-rating p.stars a{width:36px;height:36px;display:grid;place-items:center;
  border:1.5px solid var(--linea);border-radius:var(--r-sm);text-indent:-9999px;position:relative;
  overflow:hidden;background:#fff}
.comment-form-rating p.stars a::after{content:"\2605";position:absolute;inset:0;
  display:grid;place-items:center;text-indent:0;font-size:19px;color:var(--linea);line-height:1}
.comment-form-rating p.stars:hover a::after,.comment-form-rating p.stars a.active::after{color:#E8B21F}
.comment-form-rating p.stars a:hover ~ a::after{color:var(--linea)}
.comment-form-rating label{display:block;font-weight:600;font-size:13.5px;margin:0 0 8px}

/* ===== modulo recensione ===== */
#review_form_wrapper{border:1px solid var(--linea);border-radius:var(--r-md);padding:28px;
  margin-top:24px;max-width:620px;background:#fff}
#reply-title{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 18px;display:block}
.comment-form-comment label{display:block;font-weight:600;font-size:13.5px;margin:0 0 8px}
#comment{width:100%;min-height:130px;border:1.5px solid var(--linea);border-radius:var(--r-sm);
  padding:14px;font:inherit;outline:none;resize:vertical}
#comment:focus{border-color:var(--verde)}
.form-submit input[type=submit]{background:var(--verde);color:#fff;border:0;border-radius:var(--r-sm);
  padding:15px 32px;font-weight:600;font-size:15.5px;cursor:pointer}
.form-submit input[type=submit]:hover{background:var(--verde-scuro)}
.comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;
  font-size:13.5px;color:var(--grigio);margin:14px 0}

/* ===== riepilogo valutazioni in cima alle recensioni ===== */
.voto-sintesi{display:flex;align-items:center;gap:20px;border:1px solid var(--linea);
  border-radius:var(--r-md);padding:22px 26px;margin:0 0 24px;flex-wrap:wrap}
.voto-sintesi .media{font-size:44px;font-weight:800;letter-spacing:-.04em;line-height:1}
.voto-sintesi .stelle{color:#E8B21F;font-size:19px;letter-spacing:2px}
.voto-sintesi .quante{color:var(--grigio);font-size:14px}
.voto-link{display:inline-block;margin:0 0 14px;font-size:14px;font-weight:600;
  color:#B58300;text-decoration:none;background:#FFF8E6;border-radius:8px;padding:6px 12px}
.voto-link:hover{background:#FDF0CC}
.star-rating{color:#E8B21F}
ul.products .star-rating{margin:8px 16px 0;font-size:13px}

/* ===== catalogo con colonna filtri ===== */
.catalogo-griglia{display:grid;grid-template-columns:260px minmax(0,1fr);gap:40px;align-items:start}
.filtri-lato{position:sticky;top:100px;display:grid;gap:8px}
.f-blocco{border:1px solid var(--linea);border-radius:var(--r-md);padding:20px;background:#fff}
.f-blocco h3{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--grigio);margin:0 0 12px}
.f-blocco ul{list-style:none;margin:0;padding:0}
.f-blocco li{margin:0}
.f-blocco a{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;
  border-radius:8px;text-decoration:none;font-size:14.5px;font-weight:500}
.f-blocco a:hover{background:var(--sabbia)}
.f-blocco a.on{background:var(--notte);color:#fff}
.f-blocco a span{color:var(--grigio);font-size:13px}
.f-blocco a.on span{color:rgba(255,255,255,.7)}
.f-albero > li > a{font-weight:600}
.f-figli ul{padding-left:10px;border-left:2px solid var(--linea);margin:2px 0 6px 10px}
.f-figli a{font-size:14px;font-weight:500;color:var(--grigio)}
.f-figli a:hover,.f-figli a.on{color:inherit}
.f-marchi{max-height:280px;overflow-y:auto;padding-right:4px}
.f-voti .stelle{color:#E8B21F;letter-spacing:1px}
@media(max-width:1000px){
  .catalogo-griglia{grid-template-columns:minmax(0,1fr);gap:20px}
  .filtri-lato{position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
  .f-marchi{max-height:200px}
}

/* ===== scheletro: la forma di quello che sta arrivando ===== */
.sk{position:relative;overflow:hidden;background:var(--sabbia);border-radius:8px}
.sk::after{content:"";position:absolute;inset:0;
  background:transparent;
  animation:cedis-onda 1.3s ease-in-out infinite}
.sk-card{border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;background:#fff}
.sk-card .sk-foto{aspect-ratio:1;border-radius:0}
.sk-card .sk-riga{height:12px;margin:14px 16px 0}
.sk-card .sk-riga.corta{width:45%}
.sk-card .sk-riga.media{width:70%}
.sk-card .sk-btn{height:44px;margin:18px 16px 16px;border-radius:8px}

/* il prezzo nelle card va su righe sue, non in fila */
ul.products li.product .price .prezzo,
ul.products li.product .price .prezzo > *{display:block}
ul.products li.product .price .prezzo .val{font-size:20px;font-weight:700;
  letter-spacing:-.02em;line-height:1.3;margin-top:2px}
ul.products li.product .price .prezzo .val small{display:block;font-size:12px;
  font-weight:500;color:var(--grigio);letter-spacing:0;margin-top:2px}
ul.products li.product .price .prezzo .risparmio{display:inline-block;margin-top:8px}
ul.products li.product .price .prezzo .sblocca{margin-top:10px}

/* ===== stelle del modulo: WooCommerce le annida dentro uno span ===== */
.comment-form-rating p.stars{display:block;margin:0 0 20px}
.comment-form-rating p.stars span{display:flex;gap:8px}
.comment-form-rating p.stars a{flex:none;width:44px;height:44px;border:1.5px solid var(--linea);
  border-radius:var(--r-sm);text-indent:-9999px;position:relative;overflow:hidden;background:#fff;
  display:block;transition:border-color .12s,background .12s}
.comment-form-rating p.stars a::after{content:"\2605";position:absolute;inset:0;display:grid;
  place-items:center;text-indent:0;font-size:22px;color:#DDE3E6;line-height:1}
.comment-form-rating p.stars a:hover,.comment-form-rating p.stars a.active{border-color:#E8B21F;background:#FFFBF0}
.comment-form-rating p.stars a:hover::after,.comment-form-rating p.stars a.active::after{color:#E8B21F}

/* ===== recensioni su due colonne ===== */
#reviews{display:grid;grid-template-columns:340px minmax(0,1fr);gap:48px;align-items:start}
#reviews #comments{grid-column:2;grid-row:1}
#reviews #review_form_wrapper{grid-column:1;grid-row:1;margin-top:0;
  position:sticky;top:100px;max-width:none}
#reviews .woocommerce-Reviews-title{font-size:22px;font-weight:700;
  letter-spacing:-.025em;margin:0 0 20px}
#reviews .commentlist{display:grid;gap:14px}
@media(max-width:1000px){
  #reviews{grid-template-columns:minmax(0,1fr);gap:28px}
  #reviews #comments{grid-column:1;grid-row:2}
  #reviews #review_form_wrapper{grid-column:1;grid-row:1;position:static}
}

/* ===== riga del voto nelle card: occupa spazio anche quando e vuota ===== */
.voto-riga{display:block;padding:8px 16px 0;min-height:26px;font-size:12.5px;
  color:#E8B21F;letter-spacing:1px;line-height:1.4}
.voto-riga b{color:var(--notte);font-weight:600;letter-spacing:0;margin-left:4px}
.voto-riga i{font-style:normal;color:var(--grigio);letter-spacing:0}
.voto-riga.vuota{color:transparent}
ul.products li.product .star-rating{display:none}
ul.products li.product .collo{min-height:22px}
ul.products li.product .price{min-height:74px}

/* bottone che dice cosa fa: toni diversi per azioni diverse */
ul.products li.product .button{background:var(--notte)}
ul.products li.product .add_to_cart_button{background:var(--verde)}
ul.products li.product .add_to_cart_button:hover{background:var(--verde-scuro)}
ul.products li.product .product_type_variable{background:var(--blu)}
ul.products li.product .product_type_variable:hover{background:var(--notte-90)}
ul.products li.product .collo{display:inline-block;min-height:24px;line-height:18px}
ul.products li.product .collo.vuota{background:none;padding:0;min-height:24px}

/* ===== indice marchi ===== */
.marchi-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.marchio-card{display:flex;flex-direction:column;gap:4px;border:1px solid var(--linea);
  border-radius:var(--r-md);padding:18px 20px;text-decoration:none;color:inherit;background:#fff}
.marchio-card:hover{border-color:var(--verde);background:var(--verde-tenue)}
.marchio-card b{font-size:16px;font-weight:600;line-height:1.25}
.marchio-card span{font-size:13px;color:var(--grigio)}

/* ===== indice reparti ===== */
.reparti-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.reparto-card{border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;background:#fff;
  display:flex;flex-direction:column}
.reparto-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.reparto-card .testo{padding:24px;display:flex;flex-direction:column;gap:10px;flex:1}
.reparto-card .tit{font-size:21px;font-weight:700;letter-spacing:-.02em;text-decoration:none;color:inherit}
.reparto-card .tit span{font-size:14px;font-weight:500;color:var(--grigio);margin-left:4px}
.reparto-card .tit:hover{color:var(--verde)}
.reparto-card p{margin:0;color:var(--grigio);font-size:14.5px;line-height:1.55;flex:1}
.reparto-card .subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.reparto-card .sub{border:1px solid var(--linea);border-radius:var(--r-pill);padding:5px 12px;
  font-size:13px;text-decoration:none;color:var(--notte)}
.reparto-card .sub:hover{border-color:var(--verde);background:var(--verde-tenue)}
.reparto-card .sub i{font-style:normal;color:var(--grigio);font-size:12px}

/* ===== filtri compatti: prima occupavano mezza pagina ===== */
.catalogo-griglia{grid-template-columns:230px minmax(0,1fr);gap:32px}
.f-blocco{padding:16px;border-radius:var(--r-md)}
.f-blocco h3{font-size:11px;letter-spacing:.1em;margin:0 0 8px}
.f-blocco a{padding:5px 8px;font-size:13.5px;border-radius:6px;line-height:1.35}
.f-blocco a span{font-size:12px}
.f-albero > li > a{font-weight:600;font-size:14px}
.f-figli ul{padding-left:8px;margin:0 0 4px 8px}
.f-figli a{font-size:13px;padding:4px 8px}
.f-marchi{max-height:220px}
.f-marchi a{font-size:13px;padding:4px 8px}
.f-voti a{padding:5px 8px}

/* ===== un solo colore per "selezionato": il verde del marchio ===== */
.f-blocco a.on{background:var(--verde);color:#fff}
.f-blocco a.on span,.f-blocco a.on i{color:rgba(255,255,255,.8)}
.f-blocco a:hover{background:var(--verde-tenue)}
.f-blocco a.on:hover{background:var(--verde-scuro)}
ul.products li.product .product_type_variable{background:var(--notte)}
ul.products li.product .product_type_variable:hover{background:var(--notte-90)}

/* ===== riquadro promozionale: stessa sagoma delle card prodotto ===== */
.tile img{aspect-ratio:1;object-fit:cover;object-position:center top;background:var(--sabbia)}
.tile-testo{background:var(--verde);padding:14px 16px;gap:3px}
.tile-testo b{font-size:14.5px}
.tile-testo em{font-size:12.5px}

/* la sfumatura sulle foto delle pagine era troppo pesante e sporcava l'immagine */
.pagina .blocco.foto .sopra{background:transparent}
.pagina .testa.foto::after{background:transparent}

/* ===== mega menu ===== */
.apre-mega{background:none;border:0;font:inherit;font-weight:500;font-size:14px;
  padding:0;cursor:pointer;display:flex;align-items:center;gap:6px}
.apre-mega::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.apre-mega[aria-expanded=true]{color:var(--verde)}
.apre-mega[aria-expanded=true]::after{transform:rotate(-135deg) translateY(1px)}
.top{position:sticky}
.mega{position:absolute;left:0;right:0;top:100%;background:#fff;
  border-top:1px solid var(--linea);box-shadow:0 18px 44px rgba(0,41,80,.14);z-index:60}
.mega h3{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--grigio);margin:0 0 14px}
.mega-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:22px}
.mega-gruppo .capo{display:block;font-weight:700;font-size:15px;text-decoration:none;margin-bottom:6px}
.mega-gruppo .capo span{color:var(--grigio);font-weight:500;font-size:12.5px;margin-left:4px}
.mega-gruppo .capo:hover{color:var(--verde)}
.mega-gruppo .subs{display:flex;flex-direction:column;gap:2px}
.mega-gruppo .sub{border:0;padding:3px 0;font-size:13.5px;color:var(--grigio);
  text-decoration:none;border-radius:0}
.mega-gruppo .sub:hover{color:var(--verde);background:none}
.mega-gruppo .sub i{margin-left:3px;font-size:12px}
.mega-tutti{display:inline-block;margin-top:12px;font-weight:600;font-size:13.5px;
  color:var(--verde);text-decoration:none}
@media(max-width:1080px){.mega{display:none!important}}

/* ===== mosaico dei reparti: blocchi di misure diverse ===== */
.mosaico{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:190px;gap:16px;padding-top:0;padding-bottom:56px}
.mos-testo{grid-column:span 2;grid-row:span 2;background:var(--tinta,#E7F3ED);
  border-radius:var(--r-lg);padding:40px;display:flex;flex-direction:column;justify-content:center}
.mos-testo h2{font-size:28px;font-weight:700;letter-spacing:-.028em;margin:0 0 14px;max-width:none}
.mos-testo p{margin:0 0 24px;line-height:1.6;font-size:16px;max-width:44ch}
.mos-btn{align-self:flex-start;border:1.5px solid var(--notte);border-radius:var(--r-sm);
  padding:12px 24px;text-decoration:none;font-weight:600;font-size:14.5px}
.mos-btn:hover{background:var(--notte);color:#fff}
.mos-foto{grid-column:span 2;grid-row:span 2;border-radius:var(--r-lg);overflow:hidden;display:block}
.mos-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.mos-foto:hover img{transform:scale(1.03)}
.mos-tile{border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;
  background:var(--sabbia);grid-row:span 2}
.mos-tile img{width:100%;flex:1;object-fit:cover;min-height:0;display:block}
.mos-tile.chiaro img{object-fit:contain;background:#fff;padding:24px}
.mos-tile p{margin:0;padding:16px 18px;font-size:13.5px;line-height:1.5;
  color:var(--notte);background:#fff}
.mos-tile.foto p{background:var(--verde);color:#fff}
@media(max-width:1000px){
  .mosaico{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:160px}
  .mos-testo{grid-column:1/-1;grid-row:span 2;padding:28px}
  .mos-foto{grid-column:1/-1;grid-row:span 2}
}
@media(max-width:620px){
  .mosaico{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:12px}
  .mos-testo,.mos-foto,.mos-tile{grid-column:1/-1;grid-row:auto}
  .mos-foto{aspect-ratio:16/10}
  .mos-tile{aspect-ratio:auto}
  .mos-tile img{aspect-ratio:16/10;flex:none}
  .mos-btn{align-self:stretch;text-align:center}
}

/* ===== testata compatta, una riga sola ===== */
.barra-alta .wrap{padding-top:7px;padding-bottom:7px;font-size:12.5px}
.top-riga{min-height:0;padding-top:12px;padding-bottom:12px;gap:20px;
  grid-template-columns:auto minmax(0,1fr) minmax(0,300px) auto}
.top .logo{font-size:22px}
.top .logo small{font-size:8px;letter-spacing:.2em}
.top .cerca input{padding:9px 12px;font-size:14px}
.top .cerca{border-width:1px}
.top .nav ul{gap:18px}
.top .nav a,.apre-mega{font-size:14px}
.conto{display:flex;align-items:center;gap:10px;padding-left:0;border-left:0}
.conto-invito{display:flex;flex-direction:column;line-height:1.25;text-decoration:none;
  border:1.5px solid var(--verde);border-radius:var(--r-sm);padding:7px 14px;white-space:nowrap}
.conto-invito em{font-style:normal;font-size:11.5px;color:var(--grigio)}
.conto-invito b{font-size:13.5px;font-weight:700;color:var(--verde)}
.conto-invito:hover{background:var(--verde-tenue)}
.conto-ico{position:relative;display:grid;place-items:center;width:40px;height:40px;
  border-radius:var(--r-sm);color:var(--notte);text-decoration:none}
.conto-ico:hover{background:var(--sabbia);color:var(--verde)}
.conto-ico.carr b{position:absolute;top:2px;right:1px;background:var(--verde);color:#fff;
  font-size:10.5px;font-weight:700;border-radius:var(--r-pill);min-width:17px;
  text-align:center;padding:1px 5px}
@media(max-width:860px){.conto-invito{display:none}}

/* la barra alta e un accessorio: non deve pesare come la testata */
.barra-alta{font-size:12px}
.barra-alta .wrap{gap:12px}
.barra-alta .tel{font-weight:600}
@media(max-width:900px){
  .barra-alta .wrap{justify-content:flex-end}
  .barra-alta span:first-of-type{display:none}
  .barra-alta .tel{margin-left:0}
}

/* ===== carosello prodotti ===== */


/* ===== striscia dei marchi ===== */
.marchio-pill{display:flex;flex-direction:column;justify-content:center;gap:4px;
  border:1px solid var(--linea);border-radius:var(--r-md);padding:20px 22px;min-height:92px;
  text-decoration:none;color:inherit;background:#fff;scroll-snap-align:start}
.marchio-pill:hover{border-color:var(--verde);background:var(--verde-tenue)}
.marchio-pill b{font-size:15.5px;font-weight:600;line-height:1.25}
.marchio-pill span{font-size:12.5px;color:var(--grigio)}

/* ===== pastiglie dei filtri attivi ===== */
.pastiglie{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.pas-eti{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--grigio)}
.pastiglia{display:inline-flex;align-items:center;gap:8px;background:var(--verde);color:#fff;
  border-radius:var(--r-pill);padding:6px 14px;font-size:13.5px;font-weight:600;text-decoration:none}
.pastiglia:hover{background:var(--verde-scuro)}
.pastiglia b{font-weight:400;font-size:16px;line-height:1}
.pas-pulisci{font-size:13.5px;color:var(--rosso);font-weight:600;text-decoration:none}

/* i correlati scorrono invece di andare a capo */
.related ul.products,.upsells ul.products{display:grid;grid-auto-flow:column;
  grid-auto-columns:minmax(224px,1fr);grid-template-columns:none;gap:16px;
  overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.related ul.products > li.product,.upsells ul.products > li.product{scroll-snap-align:start}

/* ===== bacheca del cliente ===== */
.bac{display:grid;gap:24px}
.bac-saluto{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.bac-saluto h2{font-size:26px;font-weight:700;letter-spacing:-.028em;margin:0 0 6px}
.bac-sotto{margin:0;color:var(--grigio);font-size:14.5px;max-width:52ch}
.bac-ripeti{display:flex;flex-direction:column;gap:2px;background:var(--verde);color:#fff;
  border-radius:var(--r-md);padding:16px 26px;text-decoration:none;font-weight:700;font-size:15.5px;
  white-space:nowrap;flex:none}
.bac-ripeti span{font-weight:400;font-size:13px;color:rgba(255,255,255,.85)}
.bac-ripeti:hover{background:var(--verde-scuro);color:#fff}
.bac-numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden}
.bac-numeri > div{background:#fff;padding:20px}
.bac-numeri b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.bac-numeri span{display:block;font-size:13px;color:var(--grigio);margin-top:6px}
.bac-due{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.bac-riq{border:1px solid var(--linea);border-radius:var(--r-md);padding:24px}
.bac-riq-testa{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 16px}
.bac-riq-testa h3{font-size:17px;font-weight:700;letter-spacing:-.02em;margin:0}
.bac-riq-testa a{font-size:13.5px;font-weight:600;color:var(--verde);text-decoration:none}
.bac-vuoto{margin:0 0 16px;color:var(--grigio);font-size:14.5px;line-height:1.6}
.bac-btn{display:inline-block;background:var(--notte);color:#fff;border-radius:var(--r-sm);
  padding:11px 20px;text-decoration:none;font-weight:600;font-size:14px}
.bac-btn:hover{background:var(--notte-90);color:#fff}
.bac-lista{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.bac-lista li{display:flex;align-items:center;gap:12px}
.bac-lista img{width:44px;height:44px;object-fit:contain;background:var(--sabbia);border-radius:8px}
.bac-lista div{flex:1;min-width:0}
.bac-lista a{text-decoration:none;font-weight:600;font-size:14.5px;display:block}
.bac-lista span{display:block;font-size:12.5px;color:var(--grigio)}
.bac-agg{flex:none;border:1.5px solid var(--verde);color:var(--verde);border-radius:8px;
  padding:7px 14px;font-size:13px;font-weight:600;text-decoration:none}
.bac-agg:hover{background:var(--verde);color:#fff}
.bac-ordini{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bac-ordini a{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;
  align-items:center;padding:12px 14px;border:1px solid var(--linea);
  border-radius:var(--r-sm);text-decoration:none;font-size:14px}
.bac-ordini a:hover{border-color:var(--verde)}
.bac-ordini .st{font-style:normal;font-size:12px;font-weight:600;border-radius:var(--r-pill);
  padding:3px 10px;background:var(--sabbia);color:var(--grigio)}
.bac-ordini .st-completed{background:var(--verde-tenue);color:var(--verde-scuro)}

/* ===== pannello della pagina marchio ===== */
.pannello-marchio{display:grid;grid-template-columns:200px minmax(0,1fr);gap:32px;
  align-items:center;border:1px solid var(--linea);border-radius:var(--r-lg);
  padding:32px;margin:8px 0 28px;background:#fff}
.pm-logo{display:grid;place-items:center;background:var(--sabbia);border-radius:var(--r-md);padding:20px;min-height:130px}
.pm-logo img{max-width:100%;max-height:110px;object-fit:contain;display:block}
.pm-testo h1{font-size:34px;font-weight:800;letter-spacing:-.035em;margin:0 0 10px}
.pm-testo > p{margin:0 0 16px;color:var(--grigio);line-height:1.6;max-width:62ch}
.pm-testo .cappello{margin:0 0 6px}
.pm-dati{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--grigio)}
.pm-dati b{color:var(--notte);font-weight:700;font-size:17px}
.pm-reparti{display:flex;gap:6px;flex-wrap:wrap}
.pm-reparti a{border:1px solid var(--linea);border-radius:var(--r-pill);padding:5px 13px;
  font-size:13px;text-decoration:none;color:var(--notte)}
.pm-reparti a:hover{border-color:var(--verde);background:var(--verde-tenue)}
@media(max-width:800px){
  .pannello-marchio{grid-template-columns:minmax(0,1fr);gap:20px;padding:24px}
  .pm-logo{max-width:160px;min-height:0}
  .pm-testo h1{font-size:26px}
}

/* ===== menu con sottomenu a tendina ===== */
.top .nav{overflow:visible}
.top .nav li{position:relative}
.top .nav .ha-sub > a{display:flex;align-items:center;gap:6px}
.top .nav .ha-sub > a::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.top .nav .sub{position:absolute;top:calc(100% + 10px);left:-14px;min-width:230px;
  background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);padding:8px;
  box-shadow:0 14px 36px rgba(0,41,80,.14);display:none;flex-direction:column;gap:0;z-index:70}
.top .nav li:hover > .sub,.top .nav li:focus-within > .sub{display:flex}
.top .nav .sub a{display:block;padding:9px 12px;border-radius:8px;font-size:13.5px;font-weight:500}
.top .nav .sub a:hover{background:var(--verde-tenue);color:var(--verde-scuro)}

/* la tendina deve avere un ponte, altrimenti sparisce nel salto del mouse */
.top .nav .ha-sub::after{content:"";position:absolute;top:100%;left:0;right:0;height:12px}
.top .nav a{position:relative;padding:4px 0}
.top .nav > ul > li > a::before{content:"";position:absolute;left:0;right:0;bottom:-2px;
  height:2px;background:var(--verde);transform:scaleX(0);transition:transform .16s}
.top .nav > ul > li:hover > a::before,
.top .nav > ul > li.current-menu-item > a::before{transform:scaleX(1)}
.top .nav .sub a::before{display:none}
.conto{padding-left:18px;border-left:1px solid var(--linea);margin-left:2px}

/* ===== testata ancora piu bassa ===== */
.barra-alta .wrap{padding-top:6px;padding-bottom:6px}
.top-riga{padding-top:10px;padding-bottom:10px;min-height:0}
.top .logo{font-size:21px;line-height:1}
.top .logo small{font-size:7.5px;margin-top:1px}
.top .cerca input{padding:8px 12px}
.top .cerca button{padding:0 11px}
.conto-ico{width:36px;height:36px}
.conto-invito{padding:6px 13px}
.conto-invito em{font-size:11px}
.conto-invito b{font-size:13px}

/* ===== carosello ===== */
.carosello{position:relative;margin:0 0 56px}
.car-testa{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 18px}
.car-testa h2{font-size:26px;font-weight:700;letter-spacing:-.028em;margin:0;max-width:none}
.car-testa .cappello{margin:0 0 4px}
.car-comandi{display:flex;align-items:center;gap:10px;flex:none}
.car-tutti{font-weight:600;font-size:14px;color:var(--verde);text-decoration:none;white-space:nowrap}
.car-tutti:hover{text-decoration:none}

/* le frecce stanno sopra la pista, ai lati, e compaiono quando servono */

/* sfumature ai bordi: dicono che c'e altro oltre il taglio */
.carosello::before,.carosello::after{content:"";position:absolute;top:52px;bottom:8px;
  width:44px;pointer-events:none;z-index:4;opacity:0;transition:opacity .2s}
.carosello::before{left:0;background:transparent}
.carosello::after{right:0;background:transparent}
.carosello.puo-sx::before{opacity:1}
.carosello.puo-dx::after{opacity:1}
.marchi-pista{grid-auto-columns:minmax(190px,1fr)}


/* i correlati usano lo stesso carosello, senza barra a vista */
.related ul.products,.upsells ul.products{scrollbar-width:none;-ms-overflow-style:none;
  padding:4px 2px 8px;margin:0;list-style:none}
.related ul.products::-webkit-scrollbar,.upsells ul.products::-webkit-scrollbar{display:none}

/* le frecce restano dentro: sporgendo allargavano la pagina */
body{overflow-x:hidden}
.carosello{overflow:visible}

/* ===== dettagli: il bottone appare al passaggio, come nelle app ===== */
ul.products li.product{transition:border-color .18s,box-shadow .18s,transform .18s}
ul.products li.product .button{transition:background .15s,transform .15s}
ul.products li.product:active{transform:translateY(0)}
ul.products li.product a img{transition:transform .45s cubic-bezier(.2,.7,.3,1)}
ul.products li.product:hover a img{transform:scale(1.04)}
ul.products li.product > a:first-of-type{overflow:hidden;display:block}
.tile img,.figlia img,.settore img{transition:transform .45s cubic-bezier(.2,.7,.3,1)}
.tile:hover img,.figlia:hover img{transform:scale(1.04)}
.tile,.figlia{overflow:hidden}
@media(prefers-reduced-motion:reduce){*{transition:none!important;transform:none!important}}

/* ===== conferma a comparsa ===== */
.avviso{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);
  background:var(--notte);color:#fff;padding:13px 22px;border-radius:var(--r-sm);
  font-size:14.5px;font-weight:600;z-index:120;opacity:0;pointer-events:none;
  box-shadow:0 10px 34px rgba(0,41,80,.28);transition:opacity .22s,transform .22s;
  max-width:calc(100vw - 32px);text-align:center}
.avviso.su{opacity:1;transform:translate(-50%,0)}
.avviso::before{content:"\2713";color:#8FD5B4;margin-right:8px;font-weight:700}

/* ===== carrello ===== */
.woocommerce-cart .shop_table{border:1px solid var(--linea);border-radius:var(--r-md);
  border-collapse:separate;border-spacing:0;overflow:hidden;width:100%;margin:0 0 28px}
.woocommerce-cart .shop_table th{background:var(--sabbia);text-align:left;padding:14px 16px;
  font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--grigio)}
.woocommerce-cart .shop_table td{padding:16px;border-top:1px solid var(--linea);vertical-align:middle}
.woocommerce-cart .product-thumbnail img{width:64px;height:64px;object-fit:contain;
  background:var(--sabbia);border-radius:var(--r-sm)}
.woocommerce-cart .product-name a{font-weight:600;text-decoration:none;font-size:15px}
.woocommerce-cart .product-remove a{color:var(--grigio);text-decoration:none;font-size:20px;
  display:grid;place-items:center;width:32px;height:32px;border-radius:8px}
.woocommerce-cart .product-remove a:hover{background:#FCEBEC;color:var(--rosso)}
.woocommerce-cart .cart_totals{border:1px solid var(--linea);border-radius:var(--r-md);padding:24px}
.woocommerce-cart .cart_totals h2{font-size:18px;font-weight:700;margin:0 0 16px}
.woocommerce-cart .cart_totals table{width:100%;border-collapse:collapse}
.woocommerce-cart .cart_totals th{text-align:left;padding:10px 0;font-weight:500;color:var(--grigio)}
.woocommerce-cart .cart_totals td{text-align:right;padding:10px 0;font-weight:600}
.woocommerce-cart .order-total td{font-size:20px;font-weight:800;letter-spacing:-.02em}
.wc-proceed-to-checkout a{display:block;text-align:center;background:var(--verde);color:#fff;
  border-radius:var(--r-sm);padding:15px;font-weight:700;font-size:16px;text-decoration:none;margin-top:8px}
.wc-proceed-to-checkout a:hover{background:var(--verde-scuro);color:#fff}
.cart-collaterals{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.cart-collaterals > *{grid-column:2}
.return-to-shop a{display:inline-block;background:var(--notte);color:#fff;border-radius:var(--r-sm);
  padding:13px 26px;text-decoration:none;font-weight:600;margin-top:12px}
@media(max-width:900px){
  .cart-collaterals{grid-template-columns:minmax(0,1fr)}
  .cart-collaterals > *{grid-column:1}
}

/* ===== conferma d'ordine ===== */
.woocommerce-checkout .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 400px;
  gap:40px;align-items:start}
.woocommerce-checkout #customer_details{grid-column:1}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{grid-column:2}
.woocommerce-checkout #order_review{border:1px solid var(--linea);border-radius:var(--r-md);
  padding:24px;position:sticky;top:100px}
.woocommerce-checkout h3{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:0 0 18px}
.woocommerce-checkout #order_review_heading{font-size:19px;font-weight:700;margin:0 0 14px}
.woocommerce-checkout #payment ul.payment_methods{list-style:none;margin:0 0 18px;padding:0;
  border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden}
.woocommerce-checkout #payment li{padding:14px 16px;border-bottom:1px solid var(--linea)}
.woocommerce-checkout #payment li:last-child{border-bottom:0}
.woocommerce-checkout #place_order{width:100%;background:var(--verde);border:0;
  border-radius:var(--r-sm);padding:16px;font-weight:700;font-size:16px;color:#fff;cursor:pointer}
.woocommerce-checkout #place_order:hover{background:var(--verde-scuro)}
@media(max-width:1000px){
  .woocommerce-checkout .woocommerce{grid-template-columns:minmax(0,1fr)}
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #customer_details{grid-column:1}
  .woocommerce-checkout #order_review{position:static}
}

/* ===== ricerca e pagina non trovata ===== */
.ric-testa{padding:36px 0 24px}
.ric-testa h1{font-size:34px;font-weight:800;letter-spacing:-.035em;margin:0;max-width:22ch}
.ric-sotto{margin:12px 0 0;color:var(--grigio);font-size:16.5px;max-width:56ch;line-height:1.6}
.ric-vuota{max-width:62ch;margin:0 0 48px}
.ric-vuota p{font-size:16.5px;line-height:1.6;margin:0 0 18px}
.ric-vuota ul{margin:0 0 24px;padding-left:20px;color:var(--grigio);line-height:1.7}
.ric-vuota li{margin:6px 0}
.ric-azioni{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 48px}
.ric-alt{font-weight:600;font-size:14.5px;color:var(--verde);text-decoration:none}
.ris-pagina{border:1px solid var(--linea);border-radius:var(--r-md);padding:20px}
.ris-pagina a{text-decoration:none;display:block}
.ris-pagina b{display:block;font-size:17px;margin-bottom:6px}
.ris-pagina span{color:var(--grigio);font-size:14.5px;line-height:1.55}

/* ===== pista del carosello ===== */
.car-pista{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(224px,1fr);
  grid-template-columns:none!important;column-gap:16px;row-gap:0;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;
  margin:0;padding:4px 2px 8px;list-style:none;
  scrollbar-width:none;-ms-overflow-style:none}
.car-pista::-webkit-scrollbar{display:none;width:0;height:0}
.car-pista > *{scroll-snap-align:start}

/* ===== frecce: sempre visibili, spente quando non servono ===== */
.car-freccia{position:absolute;top:calc(50% + 26px);transform:translateY(-50%);
  width:44px;height:44px;border:1px solid var(--linea);background:#fff;border-radius:50%;
  font-size:22px;line-height:1;color:var(--notte);cursor:pointer;z-index:6;
  box-shadow:0 6px 20px rgba(0,41,80,.18);display:grid;place-items:center;
  transition:opacity .18s,border-color .18s,color .18s}
.car-freccia[data-dir="-1"]{left:6px}
.car-freccia[data-dir="1"]{right:6px}
.car-freccia:hover{border-color:var(--verde);color:var(--verde)}
.car-freccia.spenta{opacity:0;pointer-events:none}

/* ===== carosello su schermi stretti (dopo le regole principali) ===== */
@media(max-width:900px){
  .car-freccia{display:none}
  .carosello::before,.carosello::after{display:none}
  .car-pista{grid-auto-columns:minmax(170px,1fr);padding-right:16px;
    scroll-snap-type:x mandatory}
  .car-testa h2{font-size:21px}
}

/* il rientro orizzontale sta su .price: sul .prezzo va solo lo stacco sotto */
ul.products li.product .prezzo{display:block;padding:0 0 10px}
ul.products li.product .price{padding:10px 16px 0;margin:0}
ul.products li.product .price .prezzo > *{display:block}
ul.products li.product .price .prezzo .risparmio{display:inline-block}

/* ===== ritmo verticale: una regola sola per tutte le sezioni ===== */
section.wrap{padding-top:56px;padding-bottom:0}
section.wrap:first-of-type{padding-top:48px}
section.wrap:last-of-type{padding-bottom:64px}
section.wrap + section.wrap{padding-top:56px}
.ordine + .esca{margin-top:0}
.esca + section.wrap{padding-top:56px}
h2.tit{margin:0 0 6px}
p.occhio{margin:0 0 24px}
.cats{margin-bottom:0}
.carosello{margin:0 0 8px}
section.wrap .carosello:last-child{margin-bottom:0}
section.wrap > .carosello + .carosello{margin-top:48px}
.figlie{margin-top:0}
.negozio{padding-top:8px;padding-bottom:56px}
.pannello-reparto,.pannello-marchio{margin-top:16px}
@media(max-width:900px){
  section.wrap{padding-top:36px}
  section.wrap:first-of-type{padding-top:28px}
  section.wrap:last-of-type{padding-bottom:40px}
  section.wrap + section.wrap{padding-top:36px}
  section.wrap > .carosello + .carosello{margin-top:32px}
  .negozio{padding-bottom:36px}
}

/* ===== passata finale: tre soglie coerenti =====
   1000 tavoletta · 760 telefono grande · 560 telefono */
@media(max-width:1000px){
  .catalogo-griglia{grid-template-columns:minmax(0,1fr);gap:20px}
  .filtri-lato{position:static;display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
  .single-product div.product{grid-template-columns:minmax(0,1fr);gap:24px}
  #reviews{grid-template-columns:minmax(0,1fr)}
  .woocommerce-account .woocommerce{grid-template-columns:minmax(0,1fr)}
  .cart-collaterals{grid-template-columns:minmax(0,1fr)}
  .cart-collaterals > *{grid-column:1}
}
@media(max-width:760px){
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .car-pista{grid-auto-columns:minmax(160px,1fr);column-gap:12px}
  .cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .piede-griglia{grid-template-columns:1fr 1fr;gap:28px}
  .bac-saluto{flex-direction:column;align-items:stretch}
  .bac-ripeti{text-align:center}
  .car-testa{flex-direction:column;align-items:flex-start;gap:10px}
  .filtri-lato{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  ul.products li.product .woocommerce-loop-product__title{font-size:13.5px;min-height:2.8em}
  ul.products li.product .marca{font-size:10.5px;padding:10px 12px 0}
  ul.products li.product .price{padding:8px 12px 0}
  ul.products li.product .button{margin:10px 12px 12px;padding:11px;font-size:13.5px}
  ul.products li.product .collo{margin:6px 12px 0;font-size:11px}
  .voto-riga{padding:6px 12px 0;min-height:22px}
  .piede-griglia{grid-template-columns:minmax(0,1fr)}
  .piede-riga .wrap{flex-direction:column;gap:10px}
  .bac-numeri{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* niente puo sfondare in orizzontale: causa piu comune di sito rotto su telefono */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,table{max-width:100%}
.wrap,.pagina,.negozio{min-width:0}
.car-pista,.f-marchi{min-width:0}
.wrap > *,.pagina > *,.negozio > *,.catalogo-lista,.car-pista > *{min-width:0}

/* ===== card piu larghe e griglie che non lasciano buchi ===== */
ul.products{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.car-pista{grid-auto-columns:minmax(260px,1fr);column-gap:20px}
.related ul.products,.upsells ul.products{grid-auto-columns:minmax(260px,1fr);column-gap:20px}
.figlie{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:20px}
.cats{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.marchi-griglia{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.marchi-pista{grid-auto-columns:minmax(200px,1fr)}
ul.products li.product .woocommerce-loop-product__title{font-size:15.5px;padding:14px 18px 0}
ul.products li.product .marca{padding:14px 18px 0;font-size:11.5px}
ul.products li.product .collo{margin:8px 18px 0}
ul.products li.product .price{padding:10px 18px 0}
ul.products li.product .voto-riga{padding:8px 18px 0}
ul.products li.product a img{padding:14px}

/* le righe sotto il titolo restano allineate anche con testi corti o lunghi */
ul.products li.product .woocommerce-loop-product__title{min-height:3em;line-height:1.3}
ul.products li.product .voto-riga{min-height:24px}
ul.products li.product .collo{min-height:26px}
ul.products li.product .price{min-height:82px}
@media(max-width:760px){
  ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .car-pista{grid-auto-columns:minmax(190px,1fr);column-gap:12px}
  .figlie{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
  .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ===== filtri: colonna appiccicata sul desktop ===== */
.filtri-apri,.filtri-testa,.filtri-velo{display:none}
.filtri-lato{position:sticky;top:96px;max-height:calc(100vh - 120px);
  overflow-y:auto;overscroll-behavior:contain;padding-right:4px;
  scrollbar-width:thin;display:grid;gap:8px;align-content:start}
.filtri-lato::-webkit-scrollbar{width:6px}
.filtri-lato::-webkit-scrollbar-thumb{background:var(--linea);border-radius:3px}
.admin-bar .filtri-lato{top:128px}

/* ===== filtri a comparsa sotto i 1000px ===== */
@media(max-width:1000px){
  .filtri-apri{display:inline-flex;align-items:center;gap:8px;background:var(--notte);
    color:#fff;border:0;border-radius:var(--r-sm);padding:13px 24px;font-weight:650;
    font-size:15px;cursor:pointer;margin:0 0 18px}
  .filtri-apri em{font-style:normal;background:var(--verde);border-radius:var(--r-pill);
    padding:1px 8px;font-size:12px}
  .filtri-apri em:empty{display:none}
  .filtri-velo{position:fixed;inset:0;background:rgba(0,41,80,.45);z-index:98;
    opacity:0;transition:opacity .22s}
  .filtri-velo.on{opacity:1}
}
@media(max-width:1000px){
  .filtri-lato{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(360px,88vw);
    background:#fff;z-index:99;transform:translateX(100%);
    transition:transform .26s cubic-bezier(.2,.7,.3,1);max-height:none;
    padding:0 0 90px;gap:0;display:block;overflow-y:auto}
  .filtri-lato.on{transform:none}
  .filtri-testa{display:flex;align-items:center;justify-content:space-between;
    padding:18px 20px;border-bottom:1px solid var(--linea);position:sticky;top:0;background:#fff}
  .filtri-testa b{font-size:17px;font-weight:700}
  .filtri-testa button{border:0;background:none;font-size:28px;line-height:1;color:var(--grigio)}
  .filtri-lato .f-blocco{border:0;border-bottom:1px solid var(--linea);border-radius:0;padding:18px 20px}
}

/* ===== descrizioni: resa uniforme qualunque marcatura arrivi ===== */
.woocommerce-Tabs-panel p,.woocommerce-product-details__short-description p{
  margin:0 0 14px;line-height:1.65;font-size:15.5px;max-width:72ch}
.woocommerce-Tabs-panel p:last-child{margin-bottom:0}
.woocommerce-Tabs-panel img,.woocommerce-Tabs-panel figure{display:none}
.woocommerce-Tabs-panel ul,.woocommerce-Tabs-panel ol{margin:0 0 16px;padding-left:22px;line-height:1.7}
.woocommerce-Tabs-panel li{margin:4px 0}
.woocommerce-Tabs-panel strong,.woocommerce-Tabs-panel b{font-weight:600}
.woocommerce-Tabs-panel a{color:var(--verde);font-weight:600}
.woocommerce-Tabs-panel br + br{display:none}
.woocommerce-Tabs-panel h2,.woocommerce-Tabs-panel h3{font-size:17px;font-weight:700;margin:20px 0 8px}
.woocommerce-product-details__short-description{color:var(--grigio);max-width:56ch}
.woocommerce-product-details__short-description img{display:none}

/* il limite di lettura vale per la descrizione, non per le recensioni */
.woocommerce-tabs .panel{max-width:none}
.woocommerce-tabs #tab-description .panel,
.woocommerce-tabs #tab-description{max-width:none}
#tab-description > *{max-width:74ch}
#tab-reviews,#reviews{max-width:none;width:100%}

/* ===== recensioni: due colonne vere ===== */
#reviews{display:grid;grid-template-columns:minmax(320px,360px) minmax(0,1fr);
  gap:40px;align-items:start;width:100%}
#reviews #comments{grid-column:2;grid-row:1;min-width:0}
#reviews #review_form_wrapper{grid-column:1;grid-row:1;margin:0;position:sticky;top:100px}
#reviews .commentlist{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
#reviews .woocommerce-Reviews-title{grid-column:1/-1;font-size:21px;font-weight:700;
  letter-spacing:-.025em;margin:0 0 18px;max-width:none}
#reviews .commentlist li{list-style:none;margin:0}
#reviews .comment_container{display:flex;gap:14px;border:1px solid var(--linea);
  border-radius:var(--r-md);padding:18px;background:#fff;height:100%;align-items:flex-start}
#reviews .comment_container img.avatar{width:40px;height:40px;border-radius:50%;flex:none}
#reviews .comment-text{flex:1;min-width:0}
#reviews .meta{font-size:13px;color:var(--grigio);margin:0 0 8px;line-height:1.5}
#reviews .meta strong{color:var(--notte);display:block;font-size:14px}
#reviews .description p{margin:0;line-height:1.6;font-size:14.5px}
#reviews .star-rating{font-size:12px;margin-bottom:4px}
@media(max-width:1000px){
  #reviews{grid-template-columns:minmax(0,1fr);gap:26px}
  #reviews #comments{grid-column:1;grid-row:2}
  #reviews #review_form_wrapper{grid-column:1;grid-row:1;position:static}
  #reviews .commentlist{grid-template-columns:minmax(0,1fr)}
}

/* ===== card: una sola azione piena, le altre in tratteggio ===== */
ul.products li.product .button{background:#fff;color:var(--notte);
  border:1.5px solid var(--linea);font-weight:600}
ul.products li.product .button:hover{background:var(--sabbia);border-color:var(--notte);color:var(--notte)}
ul.products li.product .add_to_cart_button{background:var(--verde);color:#fff;border-color:var(--verde)}
ul.products li.product .add_to_cart_button:hover{background:var(--verde-scuro);
  border-color:var(--verde-scuro);color:#fff}
ul.products li.product .product_type_variable{background:#fff;color:var(--blu);border-color:var(--blu)}
ul.products li.product .product_type_variable:hover{background:var(--blu);color:#fff}

/* "Prezzo su richiesta" deve sembrare un'informazione, non un errore */
ul.products li.product .pz-nd{display:block;padding:10px 18px 0;font-style:normal;
  font-size:14px;color:var(--notte);font-weight:600}
ul.products li.product .pz-nd::before{content:"";display:block;width:22px;height:2px;
  background:var(--linea);border-radius:2px;margin-bottom:8px}
ul.products li.product .prezzo .listino{font-size:12.5px;color:var(--grigio)}
ul.products li.product .prezzo .val{font-size:21px}

/* l'immagine ha sempre la stessa area: cambia il prodotto, non la cornice */
ul.products li.product > a:first-of-type{background:var(--sabbia);display:block}
ul.products li.product a img{aspect-ratio:1;width:100%;height:auto;object-fit:contain;
  padding:18px;background:var(--sabbia);border-bottom:1px solid var(--linea);display:block}
ul.products li.product .corpo,ul.products li.product{background:#fff}
.related ul.products li.product,.upsells ul.products li.product{height:100%}

/* i correlati hanno la stessa griglia dell'archivio, non una loro */
.related,.upsells{grid-column:1/-1;margin-top:56px}
.related > h2,.upsells > h2{font-size:24px;font-weight:700;letter-spacing:-.025em;
  margin:0 0 20px;max-width:none}
.related ul.products,.upsells ul.products{grid-auto-columns:minmax(250px,1fr);column-gap:20px}

/* ===== indice marchi: barra e alfabeto ===== */
.mk-barra{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.mk-cerca{position:relative;flex:1 1 300px;max-width:380px}
.mk-cerca input{width:100%;border:1.5px solid var(--linea);border-radius:var(--r-sm);
  padding:12px 40px 12px 14px;font:inherit;outline:none}
.mk-cerca input:focus{border-color:var(--verde)}
.mk-cerca button{position:absolute;right:6px;top:50%;transform:translateY(-50%);
  border:0;background:none;font-size:22px;color:var(--grigio);cursor:pointer;
  width:30px;height:30px;border-radius:8px}
.mk-ord{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--grigio);font-weight:600}
.mk-ord select{border:1.5px solid var(--linea);border-radius:var(--r-sm);padding:11px 12px;font:inherit}
.mk-conta{margin-left:auto;font-size:13.5px;color:var(--grigio)}
.mk-alfabeto{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 28px;
  padding:12px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);
  position:sticky;top:96px;background:#fff;z-index:20}
.mk-alfabeto a{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;
  text-decoration:none;font-weight:700;font-size:13.5px;color:var(--grigio)}
.mk-alfabeto a:hover{background:var(--verde-tenue);color:var(--verde-scuro)}
.mk-gruppo{margin:0 0 28px;scroll-margin-top:160px}
.mk-gruppo h2{font-size:15px;font-weight:800;letter-spacing:.06em;color:var(--verde);
  margin:0 0 10px;padding-bottom:8px;border-bottom:2px solid var(--verde-tenue);max-width:none}
.mk-gruppo ul{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}
.mk-voce a{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-md);
  text-decoration:none;color:inherit;border:1px solid transparent}
.mk-voce a:hover{background:var(--sabbia);border-color:var(--linea)}
.mk-voce img{width:52px;height:40px;object-fit:contain;flex:none;background:#fff;border-radius:6px}
.mk-nologo{width:52px;height:40px;display:grid;place-items:center;flex:none;
  background:var(--verde-tenue);color:var(--verde-scuro);border-radius:6px;font-weight:800}
.mk-testo{flex:1;min-width:0}
.mk-testo b{display:block;font-size:15px;font-weight:600;line-height:1.25}
.mk-testo em{font-style:normal;font-size:12.5px;color:var(--grigio)}
.mk-vai{color:var(--verde);font-weight:700;opacity:0;transition:opacity .15s}
.mk-voce a:hover .mk-vai{opacity:1}
.mk-vuoto{color:var(--grigio);font-size:16px;padding:32px 0}
@media(max-width:760px){
  .mk-alfabeto{top:70px;overflow-x:auto;flex-wrap:nowrap}
  .mk-conta{margin-left:0;width:100%}
  .mk-gruppo ul{grid-template-columns:minmax(0,1fr)}
}
.mk-piatto{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}

/* quando la pagina finisce con la fascia scura, il piede le si attacca */
body:has(.pagina > .fascia:last-child) .piede{margin-top:0}
body:has(.pagina > .fascia:last-child) .piede .piede-griglia{padding-top:40px}
.pagina > .fascia:last-child{margin-bottom:0}
.pagina .fascia + .piede{margin-top:0}

/* e quando invece finisce con contenuto chiaro, il distacco resta */
.piede{margin-top:72px}
body:has(.pagina > .fascia:last-child) .piede{margin-top:0}

/* ===== sistema di colore: scale, non singoli valori ===== */
:root{
  --verde-05:#F2F9F5; --verde-10:#E3F1EA; --verde-20:#C2E1D2;
  --verde-60:#03A566; --verde:#028B55; --verde-scuro:#016B41; --verde-90:#014C2E;
  --notte-05:#F4F6F8; --notte-10:#E4EAEF; --notte-30:#A8B8C6;
  --notte-60:#0F7A4C; --notte:#014C2E; --notte-90:#013322;
  --sabbia:#F6F5F2; --linea:#E2E4E0; --linea-forte:#CBD0CC;
  --grigio:#5E6B64; --grigio-chiaro:#8A958F;
  --rosso:#D01532; --rosso-05:#FDF0F2;
  --giallo:#E8B21F; --giallo-05:#FFFAEC;
  --crema:#FFFDDC;
}

/* i vecchi nomi puntano alle nuove scale: niente da riscrivere altrove */
:root{--verde-tenue:var(--verde-10)}

/* superfici e bordi coerenti */
body{background:#fff;color:var(--notte)}
.top,.piede,.barra-alta{border-color:var(--linea)}
ul.products li.product,.carta,.settore,.figlia,.f-blocco,.bac-riq,
.reparto-card,.marchio-card,.pannello-marchio,.tile{border-color:var(--linea)}
ul.products li.product:hover,.figlia:hover,.settore:hover{border-color:var(--verde-20)}
.f-blocco a:hover{background:var(--verde-05)}
.mk-voce a:hover{background:var(--verde-05);border-color:var(--verde-20)}
.sabbia,.pcard .foto,ul.products li.product a img{background:var(--sabbia)}

/* ===== tipografia fluida: cresce con lo schermo, senza soglie brusche ===== */
:root{
  --t-xs:clamp(11.5px,.72rem + .1vw,12.5px);
  --t-sm:clamp(13px,.8rem + .12vw,14px);
  --t-base:clamp(14.5px,.88rem + .15vw,15.5px);
  --t-md:clamp(16px,.95rem + .2vw,17px);
  --t-lg:clamp(19px,1.05rem + .5vw,22px);
  --t-xl:clamp(22px,1.2rem + 1vw,28px);
  --t-2xl:clamp(26px,1.4rem + 1.6vw,36px);
  --t-3xl:clamp(30px,1.6rem + 2.4vw,46px);
}
body{font-size:var(--t-base)}
.pagina h1,.ric-testa h1,.pm-testo h1,.pannello-reparto h1{font-size:var(--t-3xl)}
.pagina h2,.car-testa h2,.related > h2,.mos-testo h2{font-size:var(--t-xl)}
h2.tit,.bac-saluto h2{font-size:var(--t-xl)}
.pagina h3,.carta h3,.settore h3,.blocco h3{font-size:var(--t-md)}

/* ===== spazi fluidi: una scala sola per tutto ===== */
:root{
  --s1:4px; --s2:8px; --s3:12px; --s4:16px;
  --s5:clamp(18px,1.2vw + 12px,24px);
  --s6:clamp(24px,2vw + 14px,32px);
  --s7:clamp(32px,3vw + 18px,48px);
  --s8:clamp(40px,4vw + 22px,64px);
  --s9:clamp(48px,5vw + 26px,80px);
}
section.wrap{padding-top:var(--s8);padding-bottom:0}
section.wrap + section.wrap{padding-top:var(--s8)}
section.wrap:last-of-type{padding-bottom:var(--s8)}
.pagina section{padding-top:var(--s8);padding-bottom:var(--s8)}
.pagina .testa{padding-top:var(--s7);padding-bottom:var(--s2)}
.pagina .fascia{padding:var(--s8) 0;margin-top:var(--s8)}
.piede-griglia{padding-top:var(--s7);padding-bottom:var(--s6);gap:var(--s7)}

/* ===== angoli e rilievo: due scale, non dieci valori a caso ===== */
:root{
  --r-sm:8px; --r-md:12px; --r-lg:16px; --r-pill:999px;
  --om-1:0 1px 2px rgba(0,41,80,.06);
  --om-2:0 6px 18px rgba(0,41,80,.09);
  --om-3:0 14px 38px rgba(0,41,80,.14);
}
.f-blocco,.carta,.settore,.figlia,ul.products li.product,.tile,.bac-riq,
.reparto-card,.marchio-card,.pannello-marchio,.pannello-reparto{border-radius:var(--r-md)}
.mos-testo,.mos-foto,.mos-tile,.testa.foto{border-radius:var(--r-lg)}
.button,.bottone,.bac-btn,.aggiungi,.mos-btn,.cta{border-radius:var(--r-sm)}
.pastiglia,.pm-reparti a,.sub,.consorzi span{border-radius:var(--r-pill)}
ul.products li.product:hover,.figlia:hover,.settore:hover{box-shadow:var(--om-2)}
.ac,.mega,.lato,.filtri-lato.on{box-shadow:var(--om-3)}
.top.ombra{box-shadow:var(--om-1)}

/* ===== griglie fluide: min() evita lo sfondamento su schermo stretto ===== */
ul.products{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:var(--s4)}
.cats{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:var(--s3)}
.figlie{grid-template-columns:repeat(auto-fit,minmax(min(100%,238px),1fr));gap:var(--s5)}
.settori,.tre{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--s5)}
.blocchi{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:var(--s4)}
.mk-gruppo ul,.mk-piatto{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.marchi-griglia{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:var(--s3)}
.reparti-griglia{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:var(--s5)}
.numeri,.bac-numeri{grid-template-columns:repeat(auto-fit,minmax(min(50%,150px),1fr))}
.car-pista{grid-auto-columns:minmax(min(72vw,260px),1fr);column-gap:var(--s4)}

/* ===== il verde e il segnale: azione e risparmio, niente altro ===== */
.risparmio{background:var(--verde-10);color:var(--verde-90)}
.prezzo .tuo,.car-tutti,.mk-vai,.ric-alt,.bac-riq-testa a,.marca,.cappello,
.mega-tutti,.f-blocco a.on span{color:var(--verde)}
.star-rating,.voto-riga,.voto-sintesi .stelle,.f-voti .stelle{color:var(--giallo)}
.voto-link{background:var(--giallo-05);color:#9A7200}
.woocommerce-error{border-left-color:var(--rosso);background:var(--rosso-05)}

/* ===== leggibilita: il verde chiaro solo su fondi pieni o testo grande ===== */
.car-tutti,.mk-vai,.ric-alt,.bac-riq-testa a,.mega-tutti,
.prezzo .sblocca,.f-blocco a.on span,.woocommerce-tabs .panel a,
.woocommerce-MyAccount-content a,.mos-tile a{color:var(--verde-scuro)}
.marca{color:var(--verde-scuro)}
.prezzo .tuo{color:var(--verde-scuro)}
.voto-link{color:#8A6600}
.grigio-chiaro-solo-decoro{color:var(--grigio-chiaro)}
.cappello{color:var(--verde-scuro)}
.testa.foto .cappello,.fascia .cappello{color:#8FD5B4}

/* ===== fuoco visibile per chi naviga da tastiera ===== */
:focus-visible{outline:2px solid var(--verde-scuro);outline-offset:3px;border-radius:4px}
.piede a:focus-visible,.ordine a:focus-visible,.fascia a:focus-visible,
.barra-alta a:focus-visible{outline-color:#8FD5B4}

/* ===== movimento ridotto rispettato davvero ===== */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;
    animation-iteration-count:1!important;transition-duration:.001ms!important;
    scroll-behavior:auto!important}
  ul.products li.product:hover a img,.tile:hover img,.figlia:hover img{transform:none}
}

/* ===== mega menu: tre colonne allineate al contenitore ===== */
.mega-griglia{display:grid;grid-template-columns:230px minmax(0,1fr) 260px;
  gap:var(--s7);padding-top:var(--s6);padding-bottom:var(--s7);text-align:left}
.mega-col{min-width:0}
.mega h3{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--grigio);
  margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--linea)}
.mega-scorciatoie{border-right:1px solid var(--linea);padding-right:var(--s5)}
.ms{display:block;padding:9px 10px;border-radius:var(--r-sm);text-decoration:none;color:inherit}
.ms:hover{background:var(--verde-05)}
.ms b{display:block;font-size:14.5px;font-weight:600}
.ms em{font-style:normal;font-size:12.5px;color:var(--grigio)}
.mega-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:var(--s5) var(--s4);align-items:start}
.mega-gruppo{min-width:0}
.mega-gruppo .capo{display:block;font-weight:700;font-size:14.5px;text-decoration:none;
  margin-bottom:6px;color:var(--notte)}
.mega-gruppo .capo span{color:var(--grigio);font-weight:500;font-size:12px;margin-left:4px}
.mega-gruppo .capo:hover{color:var(--verde-scuro)}
.mega-gruppo .subs{display:flex;flex-direction:column;gap:1px}
.mega-gruppo .sub{border:0;padding:3px 0;font-size:13px;color:var(--grigio);
  text-decoration:none;border-radius:0;background:none}
.mega-gruppo .sub:hover{color:var(--verde-scuro);background:none}
.mega-gruppo .sub i{margin-left:3px;font-size:11.5px;opacity:.7}
.mega-lato{border-left:1px solid var(--linea);padding-left:var(--s5)}
.mega-loghi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 14px}
.mega-loghi a{display:grid;place-items:center;height:52px;border:1px solid var(--linea);
  border-radius:var(--r-sm);background:#fff;padding:8px;text-decoration:none}
.mega-loghi a:hover{border-color:var(--verde-20);background:var(--verde-05)}
.mega-loghi img{max-width:100%;max-height:100%;object-fit:contain}
.mega-loghi span{font-size:11.5px;font-weight:600;text-align:center;line-height:1.2}
.mega-tutti{display:inline-block;font-weight:600;font-size:13.5px;
  color:var(--verde-scuro);text-decoration:none}
.mega-tutti:hover{text-decoration:none}
@media(max-width:1180px){
  .mega-griglia{grid-template-columns:200px minmax(0,1fr)}
  .mega-lato{display:none}
}

/* le tendine piccole si allineano a sinistra della voce, non centrate */
.top .nav .sub{left:-12px;right:auto;text-align:left}
.top .nav .sub a{text-align:left}
.apre-mega{text-decoration:none;color:inherit}
.apre-mega[aria-expanded=true]{color:var(--verde-scuro)}
.top .nav .ha-mega{position:static}
.mega{left:0;right:0}

/* ===== nessuna barra di scorrimento a vista, da nessuna parte ===== */
.filtri-lato,.f-marchi,.mk-alfabeto,.car-pista,.lato,.cassetto,
.related ul.products,.upsells ul.products,.woocommerce-tabs ul.tabs{
  scrollbar-width:none;-ms-overflow-style:none}
.filtri-lato::-webkit-scrollbar,.f-marchi::-webkit-scrollbar,
.mk-alfabeto::-webkit-scrollbar,.lato::-webkit-scrollbar{display:none;width:0;height:0}
.f-marchi{max-height:240px;overflow-y:auto;position:relative}
.f-blocco{position:relative}

/* al posto della barra, una sfumatura che dice che c'e altro sotto */
.f-marchi::after{content:"";position:sticky;bottom:0;display:block;height:28px;
  margin-top:-28px;background:transparent;
  pointer-events:none}
.filtri-lato{overflow-y:auto;overscroll-behavior:contain}

/* ===== filtri avanzati: finestra centrale anche su schermo grande ===== */
.filtri-apri{display:inline-flex;align-items:center;gap:8px;background:#fff;
  color:var(--notte);border:1.5px solid var(--linea);border-radius:var(--r-sm);
  padding:13px 24px;font-weight:650;font-size:15px;cursor:pointer;margin:0 0 16px}
.filtri-apri:hover{border-color:var(--notte);background:var(--sabbia)}
.filtri-apri::before{content:"";width:15px;height:11px;flex:none;
  background:linear-gradient(currentColor 0 1.6px,transparent 0) 0 0/100% 100%,
    linear-gradient(currentColor 0 1.6px,transparent 0) 0 4.7px/70% 100%,
    linear-gradient(currentColor 0 1.6px,transparent 0) 0 9.4px/40% 100%;
  background-repeat:no-repeat}
.filtri-apri em{font-style:normal;background:var(--verde);color:#fff;
  border-radius:var(--r-pill);padding:1px 8px;font-size:12px}
.filtri-apri em:empty{display:none}
.filtri-velo{display:block;position:fixed;inset:0;background:rgba(0,27,54,.5);
  z-index:98;opacity:0;transition:opacity .2s}
.filtri-velo.on{opacity:1}
.filtri-lato.finestra{position:fixed;top:50%;left:50%;right:auto;bottom:auto;
  transform:translate(-50%,-48%) scale(.98);width:min(880px,92vw);max-height:82vh;
  background:#fff;border-radius:var(--r-lg);box-shadow:var(--om-3);z-index:99;
  padding:0 0 84px;display:block;opacity:0;pointer-events:none;
  transition:opacity .2s,transform .2s}
.filtri-lato.finestra.on{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.filtri-lato.finestra .filtri-testa{display:flex;align-items:center;
  justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--linea);
  position:sticky;top:0;background:#fff;z-index:2;border-radius:var(--r-lg) var(--r-lg) 0 0}
.filtri-lato.finestra .filtri-testa b{font-size:18px;font-weight:700}
.filtri-lato.finestra .filtri-testa button{border:0;background:none;font-size:28px;
  line-height:1;color:var(--grigio);cursor:pointer;width:36px;height:36px;border-radius:var(--r-sm)}
.filtri-lato.finestra .filtri-testa button:hover{background:var(--sabbia);color:var(--notte)}
.filtri-lato.finestra .f-corpo{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0;padding:0}
.filtri-lato.finestra .f-blocco{border:0;border-right:1px solid var(--linea);
  border-bottom:1px solid var(--linea);border-radius:0;padding:20px 24px;background:none}
.filtri-lato.finestra .f-marchi{max-height:260px}
.filtri-piede{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;
  justify-content:space-between;gap:16px;padding:18px 24px;background:#fff;
  border-top:1px solid var(--linea);border-radius:0 0 var(--r-lg) var(--r-lg)}
.filtri-piede .azzera{color:var(--rosso);font-weight:600;font-size:14px;text-decoration:none}
.filtri-piede .vedi{background:var(--verde);color:#fff;border:0;border-radius:var(--r-sm);
  padding:13px 24px;font-weight:650;font-size:15px;cursor:pointer;text-decoration:none}
.filtri-piede .vedi:hover{background:var(--verde-scuro);color:#fff}
@media(max-width:760px){
  .filtri-lato.finestra{width:100vw;max-height:88vh;top:auto;bottom:0;left:0;
    transform:translateY(100%);border-radius:var(--r-lg) var(--r-lg) 0 0}
  .filtri-lato.finestra.on{transform:translateY(0)}
}

/* ===== mosaico: i riquadri contengono il loro testo ===== */
.mosaico{grid-auto-rows:200px;align-items:stretch}
.mos-tile{overflow:hidden;display:grid;grid-template-rows:1fr auto;min-height:0}
.mos-tile img{width:100%;height:100%;object-fit:cover;min-height:0;display:block}
.mos-tile.chiaro img{object-fit:contain;background:#fff;padding:20px}
.mos-tile p{margin:0;padding:12px 14px;font-size:13px;line-height:1.45;
  background:var(--verde);color:#fff;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mos-tile.chiaro p{background:#fff;color:var(--notte);border-top:1px solid var(--linea)}
.mos-foto,.mos-testo{min-height:0;overflow:hidden}

/* ============================================================
   HOME 14/09 — apertura, mosaico fotografico, fascia consegna.
   Blocco nuovo, raggruppato per componente: il riordino del
   resto del foglio resta debito aperto e dichiarato.
   ============================================================ */

/* --- apertura: il testo e la fotografia si guardano --- */
.ordine-griglia{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.ordine-testo{min-width:0}
.ordine-foto{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;
  box-shadow:0 24px 60px rgba(0,0,0,.38)}
.ordine-foto img{width:100%;height:100%;object-fit:cover;display:block}

/* --- mosaico dei reparti: ogni reparto porta la sua fotografia --- */
.cats{grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:16px}
.cat{position:relative;display:block;min-height:208px;padding:0;border-radius:var(--r-md);
  overflow:hidden;border:1px solid var(--linea);background:var(--notte)}
.cat > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  display:block;transition:transform .45s ease}
.cat:hover{border-color:var(--verde);background:var(--notte)}
.cat:hover > img{transform:scale(1.06)}
.cat-pack > img{object-fit:contain;background:#fff;padding:20px 20px 56px}
.cat-vela{position:absolute;inset:0;pointer-events:none;
  background:transparent}
.cat-testo{position:absolute;left:16px;right:16px;bottom:14px;display:block;color:#fff}
.cat-testo b{display:block;font-size:18px;font-weight:700;line-height:1.15;color:#fff}
.cat-testo > span{display:block;margin-top:3px;font-size:13px;color:rgba(255,255,255,.84)}
.cat-promo .cat-vela{background:transparent}
.cat-promo em{display:block;margin-bottom:5px;font-style:normal;font-size:11px;
  font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.86)}

/* --- fascia della consegna: una fotografia e una promessa --- */
.fascia-consegna{margin:56px 0;padding:48px 0;background:var(--crema);
  border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.fc-griglia{display:grid;grid-template-columns:.92fr 1.08fr;gap:40px;align-items:center}
.fc-griglia figure{margin:0;border-radius:var(--r-md);overflow:hidden;aspect-ratio:16/9}
.fc-griglia figure img{width:100%;height:100%;object-fit:cover;display:block}
.fc-griglia h2{margin:0 0 10px;font-size:26px;font-weight:700;letter-spacing:-.02em}
.fc-griglia p{margin:0 0 18px;max-width:54ch;color:var(--grigio);font-size:15.5px}
.fc-griglia .cta{display:inline-block;padding:11px 20px;border-radius:8px;
  background:var(--verde);color:#fff;font-weight:600;text-decoration:none}
.fc-griglia .cta:hover{background:var(--verde-scuro)}

/* --- schermi stretti: le due colonne si impilano --- */
@media(max-width:900px){
  .ordine-griglia,.fc-griglia{grid-template-columns:1fr;gap:24px}
  .ordine-foto{aspect-ratio:16/9}
  .cats{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px}
  .cat{min-height:156px}
  .cat-testo b{font-size:15.5px}
  .fascia-consegna{margin:36px 0;padding:32px 0}
  .fc-griglia h2{font-size:21px}
}

/* ============================================================
   NIENTE SFUMATURE — 14/09, ordine del committente.
   Tinte piatte come sul sito attuale. Il testo non sta mai
   sopra una fotografia: sta accanto, in un riquadro pieno.
   ============================================================ */

/* --- testata di pagina: riquadro a tinta piatta + fotografia accanto --- */
.testa.foto::after,.pagina .testa.foto::after{content:none;display:none;background:none}
.testa.foto,.pagina .testa.foto{position:relative;display:grid;
  grid-template-columns:1.02fr .98fr;gap:0;align-items:stretch;overflow:hidden;
  padding:0;margin-bottom:32px;color:var(--notte);background:var(--crema);min-height:0}
.testa.foto > img,.pagina .testa.foto img{position:static;inset:auto;order:2;
  width:100%;height:100%;min-height:300px;object-fit:cover;display:block}
.testa.foto > .wrap,.pagina .testa.foto .wrap{position:static;order:1;z-index:auto;
  display:flex;flex-direction:column;justify-content:center;
  max-width:none;width:auto;margin:0;padding:48px 52px;background:var(--crema)}
.testa.foto h1,.pagina .testa.foto h1{color:var(--notte);max-width:18ch}
.testa.foto p,.pagina .testa.foto p{color:var(--grigio);max-width:46ch}
.testa.foto .cappello,.pagina .testa.foto .cappello{color:var(--verde)}

/* --- blocchi con fotografia dentro le pagine: stessa regola --- */
.pagina .blocco.foto .sopra{background:var(--crema);color:var(--notte)}
.pagina .blocco.foto .sopra h2,.pagina .blocco.foto .sopra h3{color:var(--notte)}
.pagina .blocco.foto .sopra p{color:var(--grigio)}

/* --- caroselli: i bordi non sbiadiscono piu --- */
.carosello::before,.carosello::after{content:none;display:none}

/* --- mosaico della home: fotografia sopra, fascia piena sotto --- */
.cat-vela,.cat-promo .cat-vela{display:none;background:none}
.cat{display:flex;flex-direction:column;min-height:0;background:var(--crema)}
.cat > img{position:static;width:100%;height:158px;object-fit:cover;flex:none}
.cat-pack > img{object-fit:contain;background:#fff;padding:14px}
.cat-testo{position:static;left:auto;right:auto;bottom:auto;display:block;
  padding:14px 16px 16px;background:var(--crema);color:var(--notte);flex:1 1 auto}
.cat-testo b{display:block;font-size:17px;font-weight:700;line-height:1.2;color:var(--notte)}
.cat-testo > span{display:block;margin-top:3px;font-size:13px;color:var(--grigio)}
.cat-promo{background:var(--verde)}
.cat-promo .cat-testo{background:var(--verde);color:#fff}
.cat-promo .cat-testo b{color:#fff}
.cat-promo .cat-testo > span{color:rgba(255,255,255,.86)}
.cat-promo em{display:block;margin-bottom:4px;font-style:normal;font-size:11px;
  font-weight:700;letter-spacing:.1em;color:rgba(255,255,255,.88)}
.cat:hover{border-color:var(--verde);background:var(--crema)}
.cat:hover > img{transform:none}

/* --- scheletro di caricamento: tinta piatta che pulsa, non un lampo sfumato --- */
.sk{background-image:none;background:var(--sabbia);animation:sk-pulsa 1.1s ease-in-out infinite}
.sk::after{content:none;display:none;background:none}
@keyframes sk-pulsa{0%,100%{opacity:1}50%{opacity:.55}}

/* --- testo lungo: non sbiadisce, si taglia netto --- */
.pagina .lungo::after,.tronca::after{content:none;display:none;background:none}

/* --- schermi stretti: le due colonne si impilano, la foto resta sotto --- */
@media(max-width:900px){
  .testa.foto,.pagina .testa.foto{grid-template-columns:1fr}
  .testa.foto > img,.pagina .testa.foto img{min-height:220px}
  .testa.foto > .wrap,.pagina .testa.foto .wrap{padding:28px 20px}
  .cat > img{height:118px}
}

/* --- ultime due: l onda sulle foto in arrivo e il velo bianco dei marchi --- */
ul.products li.product a img,.tile img,.pagina .settore img{
  background-image:none;background:var(--sabbia);animation:none}
.f-marchi::after{content:none;display:none;background:none}

/* --- mega menu: i loghi restano dentro il loro riquadro.
   max-height:100% su un elemento di griglia senza altezza risolta non si
   applica: i loghi 150x100 uscivano e coprivano il collegamento sotto.
   Prima apertura vera del menu: il JS che lo apre non aveva mai girato. --- */
.mega-loghi a{height:56px;padding:7px;overflow:hidden;min-width:0}
.mega-loghi img{width:100%;height:100%;max-width:none;max-height:none;
  object-fit:contain;display:block}

/* --- indice marchi: il contenitore non aveva nessuna regola.
   Serve un fondo minimo, altrimenti quando la ricerca nasconde tutti i
   gruppi la pagina collassa e l avviso di vuoto balla. --- */
.mk-elenco{display:block;min-height:180px}

/* ============================================================
   14/09 — tre difetti mai visti, perche i filtri non avevano
   mai girato e la testata non era mai rimasta in alto.
   ============================================================ */

/* 1. IL VELO SI PRENDEVA TUTTI I CLIC.
   display:block scavalca l attributo hidden: un pannello invisibile
   grande quanto lo schermo, z-index 98, sopra ogni bottone del sito. */
.filtri-velo{pointer-events:none}
.filtri-velo[hidden]{display:none}
.filtri-velo.on{pointer-events:auto;opacity:1}

/* 2. IL BOTTONE DEI FILTRI SFASAVA LA GRIGLIA.
   .catalogo-griglia ha due colonne e tre figli visibili: il bottone
   finiva in colonna 1, la colonna filtri in colonna 2 e l elenco andava
   a capo dentro 260px. Da qui il pannello marchio con una parola per riga. */
.catalogo-griglia > .filtri-apri{grid-column:1/-1;justify-self:start}

/* 3. LA TESTATA NON RESTAVA IN ALTO.
   overflow-x:hidden su html/body annulla position:sticky in tutti i
   discendenti. clip protegge dallo sfondamento e non lo annulla. */
html,body{overflow-x:clip}

/* 4. I BOTTONI DELLE CARD, TUTTI ALLA STESSA ALTEZZA.
   Le card hanno contenuti diversi: voto o niente, collo o niente,
   prezzo o "su richiesta". Lo spazio che avanza va sopra il bottone,
   cosi il bottone tocca il fondo in tutte. */
ul.products li.product{display:flex;flex-direction:column;height:100%}
ul.products li.product .prezzo,
ul.products li.product .price{margin-bottom:12px}

/* 5. CHIUDE LA FORMA, NON I SINGOLI CASI.
   Il JS nasconde 13 elementi con .hidden. Quattro avevano una regola
   display nel foglio che la scavalcava: il velo dei filtri (rubava i
   clic a tutto il sito) e l alfabeto dei marchi (restava mentre cerchi).
   Questa riga vale per tutti, compresi quelli che verranno. */
[hidden]{display:none!important}

/* 6. I loghi chiari dei marchi non sembrano piu buchi bianchi. */
.mk-voce img{background:#fff;border:1px solid var(--linea);padding:3px}

/* ============================================================
   14/09 sera — la finestra dei filtri e i difetti che hai visto.
   ============================================================ */


/* 2. LA FINESTRA ARRIVAVA DA IN BASSO A DESTRA.
   top:50% left:50% mette l ANGOLO dell elemento al centro: senza
   translate la finestra sta in basso a destra, ed era da li che
   partiva l animazione. Il centraggio ora sta in translate, che e
   una proprieta separata: la transizione anima solo opacita e scala. */
.filtri-lato.finestra{translate:-50% -50%;transform:scale(.98);
  transition:opacity .18s ease,transform .18s ease}
.filtri-lato.finestra.on{transform:scale(1)}

/* 3. LO SCATTO DEL CORPO all apertura: il JS toglie lo scorrimento e
   la barra sparisce, la pagina salta. Lo spazio resta riservato. */
html{scrollbar-gutter:stable}

/* 4. IL PIEDE SCHIACCIATO NELLA COLONNA.
   .filtri-piede e in posizione assoluta: giusto dentro la finestra,
   sbagliato nella colonna laterale, dove finiva sopra i filtri con
   "Vedi i risultati" tagliato su due righe. Nella colonna torna in
   fondo, nel flusso, con i due bottoni uno sotto l altro. */
.filtri-lato:not(.finestra) .filtri-piede{position:static;flex-direction:column;
  align-items:stretch;gap:10px;padding:16px 0 0;background:none;border-radius:0}
.filtri-lato:not(.finestra) .filtri-piede .vedi{text-align:center}
.filtri-lato:not(.finestra) .filtri-piede .azzera{text-align:center}

/* 5. LA COLONNA DEI FILTRI SEGUE LO SCORRIMENTO, come hai chiesto.
   Scorre da sola solo se non ci sta, e il blocco dei marchi non
   taglia piu il voto medio sotto di se. */
@media(min-width:901px){
  .catalogo-griglia > .filtri-lato{position:sticky;top:96px;
    max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain;
    padding-right:4px}
  .admin-bar .catalogo-griglia > .filtri-lato{top:128px}
}
.filtri-lato:not(.finestra) .f-marchi{max-height:200px;overflow-y:auto}

/* 6. LA FASCIA DI CHIAMATA VA IN VERDE, non in blu notte.
   Il blu resta la testata e il piede; il verde e il colore che
   chiede qualcosa. Contrasto del testo bianco su verde-scuro
   verificato: bianco su #016B41 misura 6,60:1, non 7: uso #014C2E, 10,12:1. */
.fascia,.pagina .fascia{background:var(--verde-90,#014C2E);color:#fff}
.fascia h2,.pagina .fascia h2{color:#fff}
.fascia p,.pagina .fascia p{color:rgba(255,255,255,.9)}
.fascia .cta,.pagina .fascia .cta,.pagina .fascia a.cta{background:#fff;color:var(--verde-90,#014C2E)}
.fascia .cta:hover,.fascia a.cta:hover{background:var(--crema);color:var(--verde-scuro)}

/* ============================================================
   14/09 sera — testo invisibile, menu storti, sito a blocchi.
   ============================================================ */

/* 1. TESTO BIANCO SU BIANCO. Gli input dentro .ordine non
   dichiaravano un colore ed ereditavano il bianco della fascia
   scura: si scriveva alla cieca. Vale per ogni campo del sito. */
input,textarea,select{color:var(--notte)}
.ordine input,.ordine textarea,.ordine select{color:var(--notte)}
input::placeholder,textarea::placeholder{color:#8A97A3;opacity:1}

/* 2. I SOTTOMENU ERANO CENTRATI. .top .nav .sub e un <ul> e
   ereditava align-items:center da .nav ul: le voci si
   allineavano al centro invece che a sinistra. */
.top .nav .sub{align-items:stretch;text-align:left}
.top .nav .sub li{width:100%;text-align:left}
.top .nav .sub a{text-align:left;width:100%}

/* 3. MEGA MENU: le tre colonne partono dalla stessa riga. */
.mega-griglia{align-items:start}
.mega-col{min-width:0}
.mega-col h3{text-align:left}

/* ============================================================
   PIEDE rifatto sul modello del sito attuale.
   ============================================================ */

/* --- fascia di chiamata: i tre passi e il riquadro account --- */
.prepiede{background:var(--crema);border-top:1px solid var(--linea);padding:56px 0}
.prepiede-griglia{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.pp-testo .occhiello{margin:0 0 8px;font-size:11.5px;font-weight:700;
  letter-spacing:.12em;color:var(--verde)}
.pp-testo h2{margin:0 0 28px;font-size:30px;font-weight:700;
  letter-spacing:-.025em;line-height:1.15;max-width:20ch}
.pp-passi{display:grid;grid-template-columns:repeat(3,1fr);gap:0;list-style:none;
  margin:0;padding:0;border-top:1px solid var(--linea)}
.pp-passi li{padding:20px 24px 4px 0;border-right:1px solid var(--linea)}
.pp-passi li:last-child{border-right:0;padding-right:0}
.pp-passi b{display:block;margin-bottom:6px;font-size:15.5px;font-weight:700;
  color:var(--notte);padding-left:24px;position:relative}
.pp-passi b::before{content:"";position:absolute;left:0;top:2px;width:16px;height:16px;
  border-radius:50%;background:var(--verde)}
.pp-passi b::after{content:"";position:absolute;left:5px;top:7px;width:4px;height:7px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(40deg)}
.pp-passi span{display:block;font-size:13.5px;line-height:1.55;color:var(--grigio);
  padding-left:24px}
.pp-riquadro{background:var(--verde);color:#fff;padding:32px;border-radius:var(--r-md,12px)}
.pp-riquadro h3{margin:0 0 12px;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.02em}
.pp-riquadro p{margin:0 0 22px;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.92)}
.pp-azioni{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.pp-cta{display:inline-block;padding:13px 24px;background:var(--notte);color:#fff;
  font-weight:650;font-size:15px;text-decoration:none;border-radius:var(--r-sm,8px)}
.pp-cta:hover{background:var(--notte-90);color:#fff}
.pp-alt{color:#fff;font-weight:600;font-size:14.5px;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px}
.pp-alt:hover{color:#fff;border-bottom-color:#fff}

/* --- colonne del piede: cinque, con i contatti veri --- */
.piede{margin-top:0}
.piede-griglia{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:40px;padding-top:56px;padding-bottom:40px;align-items:start}
.piede-contatti{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:12px}
.piede-contatti li{font-size:14px;line-height:1.5;color:#fff}
.piede-contatti span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;
  color:#7FA890;margin-bottom:2px}
.piede-contatti a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.piede-contatti a:hover{border-bottom-color:#fff;color:#fff}
.piede-col ul li a i{font-style:normal;font-size:11.5px;color:#7FA890;margin-left:5px}

/* --- fascia dei consorzi: una riga che dice cosa siamo autorizzati a fare --- */
.piede-consorzi{border-top:1px solid rgba(255,255,255,.12);padding:18px 0}
.piede-consorzi .wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.piede-consorzi span{font-size:11px;font-weight:700;letter-spacing:.1em;color:#7FA890}
.piede-consorzi b{font-size:13px;font-weight:600;color:#B7E0CC;
  border:1px solid rgba(255,255,255,.18);border-radius:var(--r-pill);padding:5px 14px}

/* --- riga fiscale --- */
.piede-riga{border-top:1px solid rgba(255,255,255,.12);padding:18px 0}
.piede-riga .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.piede-riga p{margin:0;font-size:12.5px;color:#7FA890}
.piede-riga .legali{display:flex;gap:18px}
.piede-riga .legali a{color:#7FA890;text-decoration:none}
.piede-riga .legali a:hover{color:#fff}

/* --- schermi stretti: tutto si impila, niente si stringe --- */
@media(max-width:900px){
  .prepiede{padding:36px 0}
  .prepiede-griglia{grid-template-columns:1fr;gap:28px}
  .pp-testo h2{font-size:23px;margin-bottom:20px}
  .pp-passi{grid-template-columns:1fr;gap:0}
  .pp-passi li{border-right:0;border-bottom:1px solid var(--linea);padding:16px 0}
  .pp-passi li:last-child{border-bottom:0}
  .piede-griglia{grid-template-columns:1fr 1fr;gap:28px;padding-top:36px;padding-bottom:24px}
  .piede-marca{grid-column:1/-1}
  .piede-riga .wrap{flex-direction:column;gap:10px}
}

/* ============================================================
   .conto — UNA definizione sola. Era dichiarato cinque volte in
   punti diversi, e la prima apparteneva a un MODULO ACCOUNT CHE
   NON ESISTE PIU (max-width 640, margin auto, padding 32/56).
   Quel padding finiva sul gruppo account+carrello della testata
   e lo portava a 124px di altezza. Qui la forma vera.
   ============================================================ */
.top .conto{display:flex;align-items:center;gap:10px;flex:none;
  max-width:none;margin:0 0 0 2px;padding:0 0 0 18px;
  border-left:1px solid var(--linea)}
@media(max-width:860px){
  .top .conto{padding-left:10px;border-left:0;margin-left:0;gap:6px}
}

/* ============================================================
   INDICE MARCHI — i gruppi-lettera non sono sezioni di pagina.
   .mk-gruppo e un <section> dentro .pagina, e si prendeva
   .pagina section{padding:var(--s8) 0}: fino a 64px sopra e 64
   sotto, piu 28 di margine. Su 19 lettere fanno circa 2.400px
   di vuoto. Il padding delle sezioni serve ai capitoli di una
   pagina, non alle voci di un elenco.
   ============================================================ */
.pagina .mk-gruppo,.pagina section.mk-gruppo{padding:0;margin:0 0 22px}
.pagina section.mk-gruppo:first-child{padding-top:0}
.mk-gruppo h2{margin:0 0 10px}
.mk-gruppo ul{gap:6px}

/* ============================================================
   FILTRI — una strada sola per larghezza.
   C erano due vie aperte insieme: la colonna a sinistra E il
   bottone che apre la finestra. Da qui il doppione: la finestra
   sopra e gli stessi filtri sotto. Su schermo largo vale la
   colonna, su schermo stretto vale la finestra.
   ============================================================ */
@media(min-width:901px){
  .catalogo-griglia > .filtri-apri{display:none}
  .filtri-velo{display:none}
}
@media(max-width:900px){
  .catalogo-griglia > .filtri-apri{display:inline-flex}
  .catalogo-griglia > .filtri-lato:not(.finestra){display:none}
}

/* --- la finestra non lascia piu buchi fra i blocchi.
   .f-corpo era una griglia auto-fit: la riga si allineava al
   blocco piu alto (i reparti) e gli altri restavano appesi in
   alto con il vuoto sotto. Con le colonne i blocchi si
   impilano e riempiono, senza righe da pareggiare. --- */
.filtri-lato.finestra .f-corpo{display:block;columns:2;column-gap:0;
  padding:0;max-height:calc(82vh - 150px);overflow-y:auto}
.filtri-lato.finestra .f-blocco{break-inside:avoid;-webkit-column-break-inside:avoid;
  display:block;width:100%}
.filtri-lato.finestra .f-blocco h3{margin:0 0 8px}
.filtri-lato.finestra .f-albero,.filtri-lato.finestra .f-marchi{max-height:200px;overflow-y:auto}
@media(max-width:640px){
  .filtri-lato.finestra .f-corpo{columns:1}
}

/* --- la colonna a sinistra: i blocchi si staccano con un
   filetto invece che con il vuoto --- */
.catalogo-griglia > .filtri-lato .f-blocco{padding:0 0 16px;margin:0 0 16px;
  border:0;border-bottom:1px solid var(--linea);border-radius:0;background:none}
.catalogo-griglia > .filtri-lato .f-blocco:last-of-type{border-bottom:0;margin-bottom:0}
.catalogo-griglia > .filtri-lato .f-blocco h3{margin:0 0 10px;font-size:12px;
  font-weight:700;letter-spacing:.08em;color:var(--grigio)}

/* ============================================================
   FILTRI — le voci respirano. .f-blocco li aveva margin:0 e le
   voci si toccavano: reparti, marchi, voti e colli sembravano
   un blocco unico di testo invece di una lista di scelte.
   ============================================================ */
.filtri-lato .f-blocco ul{display:grid;gap:3px}
.filtri-lato .f-blocco li{margin:0}
.filtri-lato .f-blocco li > a{display:flex;align-items:center;
  justify-content:space-between;gap:10px;padding:8px 10px;
  border-radius:8px;line-height:1.35;text-decoration:none}
.filtri-lato .f-blocco li > a:hover{background:var(--sabbia)}
.filtri-lato .f-blocco li > a.on{background:var(--verde-tenue);color:var(--verde-scuro);font-weight:600}
.filtri-lato .f-figli ul{gap:2px;margin:4px 0 8px 10px;padding-left:10px;
  border-left:2px solid var(--linea)}
.filtri-lato .f-figli li > a{padding:6px 10px;font-size:13.5px}
.filtri-lato .f-voti li > a{padding:7px 10px}
.filtri-lato .f-voti .stelle{letter-spacing:2px}
.filtri-lato .f-marchi{padding-right:6px}
.filtri-lato .f-albero > li{margin-bottom:2px}

/* i blocchi si staccano fra loro con aria, non solo col filetto */
.filtri-lato .f-blocco{padding-bottom:18px;margin-bottom:18px}
.filtri-lato .f-blocco h3{margin-bottom:12px}

/* ============================================================
   CARD PRODOTTO — una definizione sola, e piu compatta.
   Misurato: il prezzo era vestito 8 volte, la card 8, il
   bottone 7, il titolo 6, il collo 6, l immagine 6. Quaranta
   dichiarazioni per un componente. Qui la forma finale.
   ============================================================ */
ul.products li.product{display:flex;flex-direction:column;height:100%;
  padding:0 0 14px;border:1px solid var(--linea);border-radius:var(--r-md);
  overflow:hidden;background:#fff}
ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:contain;
  background:#fff;padding:10px;margin:0;display:block}
ul.products li.product .marca{display:block;padding:0 14px;margin:2px 0 3px;
  font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--verde)}
ul.products li.product .woocommerce-loop-product__title{padding:0 14px;margin:0 0 4px;
  font-size:14px;font-weight:600;line-height:1.3;min-height:2.6em;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
ul.products li.product .voto-riga{padding:0 14px;margin:0 0 4px;font-size:12px}
ul.products li.product .collo{padding:0 14px;margin:0 0 6px;font-size:11.5px;
  color:var(--grigio)}
ul.products li.product .price,ul.products li.product .prezzo{padding:0 14px;
  margin:0 0 8px;display:block;font-size:13px;line-height:1.35}
ul.products li.product .price .listino{font-size:11.5px;color:var(--grigio);
  text-decoration:line-through;margin-right:5px}
ul.products li.product .price .val{font-size:18px;font-weight:800;
  letter-spacing:-.02em;color:var(--notte)}
ul.products li.product .price .um{display:block;font-size:11px;color:var(--grigio)}
ul.products li.product .price .risparmio{display:inline-block;margin-top:4px;
  padding:2px 8px;border-radius:var(--r-pill);background:var(--verde-tenue);
  color:var(--verde-scuro);font-size:11px;font-weight:600}
ul.products li.product .button,
ul.products li.product a.button,
ul.products li.product .add_to_cart_button{display:block;margin:auto 14px 0;
  padding:10px 12px;border-radius:8px;font-size:13.5px;font-weight:600;
  text-align:center;line-height:1.2}
ul.products{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
@media(max-width:900px){
  ul.products{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
  ul.products li.product .woocommerce-loop-product__title{font-size:13px}
  ul.products li.product .price .val{font-size:16px}
}

/* ============================================================
   MISURATO COL BROWSER, non dedotto.
   1. Le spunte dei tre passi: il cerchio aveva top:2px e altezza
      16 su una riga di testo alta 22,5. Centro del cerchio a 10,
      centro della riga a 11,24: fuori di 1,2px, e si vede.
   2. Le card di /shop/: altezze da 543 a 557 e i bottoni su NOVE
      righe diverse invece che su cinque. Le card senza voto sono
      14px piu basse: lo spazio del voto va riservato sempre.
   ============================================================ */
.pp-passi b::before{top:50%;transform:translateY(-50%)}
.pp-passi b::after{top:50%;margin-top:-5px}
ul.products li.product .voto-riga{min-height:17px}
ul.products li.product .collo{min-height:16px}
/* min-height sul prezzo tolto: le card della stessa riga erano GIA allineate,
   la griglia ha 3 colonne e le 9 righe di bottoni erano le 9 righe della
   griglia, non un difetto. Correggevo una cosa che non c era. */

/* ============================================================
/* La causa vera dello sfasamento (16/09): tre scorciatoie padding su .pagina section azzeravano i lati. Corrette a padding-top/bottom. .wrap resta la sola fonte del margine laterale, in fondo al file. */
/* ============================================================
   MEGA MENU — misurato col browser, non guardato.
   Colonne attese 230 | 1fr | 260 su una griglia larga 1180.
   Misurate: 168 | 150 | 365, con 497px di vuoto a destra e la
   colonna centrale la piu STRETTA invece che la piu larga.
   Causa: .mega-griglia ha anche classe .wrap, e .top .wrap
   dichiara display:flex e align-items:center. Piu specifico,
   quindi vinceva: la griglia diventava una fila centrata.
   ============================================================ */
.top .mega .wrap,.top .mega-griglia{display:grid;
  grid-template-columns:230px minmax(0,1fr) 300px;
  align-items:start;gap:44px;padding-top:28px;padding-bottom:32px}

/* ============================================================
   Deciso dal committente, 14/09: sezioni di pagina a 20px.
   ============================================================ */
.pagina section:first-child{padding:20px}
.pagina section{padding:20px}
.pagina section.wrap,.pagina section.wrap + section.wrap,
.pagina section:first-child.wrap{padding-top:20px;padding-bottom:20px}
.top .mega .wrap,.top .mega-griglia{padding-top:28px;padding-bottom:32px}

/* ============================================================
   14/09 — quattro cose chieste dal committente.
   ============================================================ */

/* 1. Il riquadro promozionale non lascia piu il buco: il testo si
   distende e il bottone tocca il fondo, come nelle card prodotto. */
.tile{display:flex;flex-direction:column}
.tile .tile-testo{display:flex;flex-direction:column;flex:1 1 auto;gap:6px}
.tile .tile-cta{margin-top:auto;display:inline-block;align-self:flex-start;
  padding:13px 24px;border-radius:var(--r-sm);background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.4);color:#fff;font-weight:650;font-size:15px}
.tile:hover .tile-cta{background:#fff;color:var(--notte)}

/* 2. I filtri laterali non scorrono dentro se stessi: restano
   appiccicati mentre scende la pagina, e basta. Lo scorrimento
   interno resta solo al blocco dei marchi, che ha 75 voci. */
@media(min-width:901px){
  .catalogo-griglia > .filtri-lato{position:sticky;top:96px;
    max-height:none;overflow:visible}
  .admin-bar .catalogo-griglia > .filtri-lato{top:128px}
}
.filtri-lato:not(.finestra) .f-marchi{max-height:230px;overflow-y:auto}
.filtri-lato:not(.finestra) .f-albero{max-height:none;overflow:visible}

/* 3. "Filtri avanzati" torna visibile anche su schermo largo.
   L avevo nascosto per togliere il doppione, ma serviva: ora sta
   IN CIMA alla colonna, non nella griglia, quindi non sfasa piu
   le celle e apre la finestra con tutti i filtri insieme. */
@media(min-width:901px){
  .catalogo-griglia > .filtri-apri{display:inline-flex;grid-column:1;
    justify-self:stretch;justify-content:center;margin:0 0 14px}
  .filtri-velo{display:block}
}
/* Il bottone in colonna 1 spingeva la lista a capo: stessa forma
   sfasata di stamattina. Le celle ora sono assegnate a mano. */
@media(min-width:901px){
  .catalogo-griglia{grid-template-rows:auto 1fr}
  .catalogo-griglia > .filtri-apri{grid-column:1;grid-row:1}
  .catalogo-griglia > .filtri-lato{grid-column:1;grid-row:2}
  .catalogo-griglia > .catalogo-lista{grid-column:2;grid-row:1 / span 2}
}

/* ============================================================
   MOSAICO DEI REPARTI — ricomposto sul modello del sito attuale.
   Misurato prima: griglia 4x4 da 200px, ma il contenuto ne
   riempiva 2. Le tessere erano 273x416, verticali, non quadrate.
   Ora: pannello testo 2x2, fotografia grande 2 colonne che
   scende per tre righe, tessere QUADRATE 1:1 sotto il testo.
   Nessuna cella resta vuota.
   ============================================================ */
.mosaico{grid-auto-rows:minmax(190px,auto);align-items:stretch}
.mos-testo{grid-column:span 2;grid-row:span 2;display:flex;
  flex-direction:column;justify-content:center}
.mos-foto{grid-column:span 2;grid-row:span 3}
.mos-tile{grid-column:span 1;grid-row:span 1;aspect-ratio:1/1}

/* --- pannello del reparto: testo lungo e due bottoni --- */
.mos-testo p{margin:0 0 22px;font-size:15.5px;line-height:1.65;max-width:42ch}
.mos-azioni{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
.mos-btn2{display:inline-block;padding:11px 20px;border-radius:8px;
  border:1.5px solid var(--notte);color:var(--notte);font-weight:600;
  font-size:13.5px;text-decoration:none;background:none}
.mos-btn2:hover{background:var(--notte);color:#fff}

/* --- etichetta con bottone sopra la fotografia grande --- */
.mos-foto{position:relative}
.mos-eti{position:absolute;left:20px;right:20px;top:20px;display:flex;
  flex-direction:column;align-items:flex-start;gap:12px}
.mos-eti em{font-style:normal;font-size:14px;font-weight:600;color:#fff;
  text-shadow:0 1px 3px rgba(0,27,54,.6)}
.mos-eti-btn{display:inline-block;padding:9px 20px;border:1.5px solid #fff;
  color:#fff;font-weight:700;font-size:12px;letter-spacing:.08em}
.mos-foto:hover .mos-eti-btn{background:#fff;color:var(--notte)}

/* ============================================================
   MOSAICO — cinque blocchi, come sul sito attuale.
   Meta: pannello a tinta piena sopra, fotografia grande sotto.
   Altra meta: banner con etichetta sopra, due tessere quadrate
   sotto. I reparti pari invertono le due meta, come fa il tuo.
   ============================================================ */
.mosaico{grid-template-columns:repeat(4,minmax(0,1fr));
  grid-auto-rows:minmax(0,auto);gap:16px}
.mos-testo{grid-column:1 / 3;grid-row:1;min-height:300px}
.mos-foto{grid-column:1 / 3;grid-row:2;min-height:300px}
.mos-banner{grid-column:3 / 5;grid-row:1;min-height:300px}
.mos-tile{grid-column:auto;grid-row:2;aspect-ratio:auto;min-height:300px}
.mos-tile:nth-of-type(1){grid-column:3}
.mos-tile:nth-of-type(2){grid-column:4}

/* i reparti pari scambiano le due meta */
.mosaico:nth-of-type(even) .mos-testo,
.mosaico:nth-of-type(even) .mos-foto{grid-column:3 / 5}
.mosaico:nth-of-type(even) .mos-banner{grid-column:1 / 3}
.mosaico:nth-of-type(even) .mos-tile:nth-of-type(1){grid-column:1}
.mosaico:nth-of-type(even) .mos-tile:nth-of-type(2){grid-column:2}

.mos-banner{position:relative;border-radius:var(--r-lg);overflow:hidden;display:block}
.mos-banner img{width:100%;height:100%;object-fit:cover;display:block}
/* la riga bassa la decidono le tessere, non la fotografia: senza
   questo le tessere venivano 273x562, verticali. */
.mos-tile{min-height:0;aspect-ratio:4/3}
.mos-foto{min-height:0}
.mos-testo,.mos-banner{min-height:330px}
/* nth-of-type conta i TAG, non le classi: le tessere sono div come
   il pannello, quindi le due regole finivano sull elemento sbagliato
   e le tessere venivano larghe 749. Qui conta la posizione vera. */
.mosaico > :nth-child(4){grid-column:3;grid-row:2}
.mosaico > :nth-child(5){grid-column:4;grid-row:2}
.mosaico:nth-of-type(even) > :nth-child(4){grid-column:1}
.mosaico:nth-of-type(even) > :nth-child(5){grid-column:2}
/* aspect-ratio su un elemento di griglia con la riga alta 562
   ricavava la LARGHEZZA dall altezza: 562x4/3 = 749. Tolto.
   L altezza della riga bassa ora e dichiarata. */
.mosaico{grid-template-rows:minmax(330px,auto) 250px}
.mos-tile{aspect-ratio:auto;width:auto;min-height:0}

/* ============================================================
   BLOCCO DI AIUTO — pannello verde e modulo, come sul tuo sito.
   Fluent Forms non e installato: il blocco e uno shortcode, non
   dipende da nessun plugin e si mette dove serve.
   ============================================================ */
.aiuto{margin:56px 0 56px}
.aiuto-griglia{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.aiuto-testo{background:var(--verde);color:#fff;padding:44px 48px;
  display:flex;flex-direction:column;justify-content:center}
.aiuto-testo .cappello{color:rgba(255,255,255,.8);margin:0 0 10px}
.aiuto-testo h2{margin:0 0 14px;font-size:27px;font-weight:700;color:#fff;letter-spacing:-.02em}
.aiuto-testo > p{margin:0 0 22px;font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.94)}
.aiuto-punti{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.aiuto-punti li{position:relative;padding-left:26px;font-size:14px;color:rgba(255,255,255,.94)}
.aiuto-punti li::before{content:"";position:absolute;left:0;top:50%;
  transform:translateY(-50%);width:15px;height:15px;border-radius:50%;background:rgba(255,255,255,.28)}
.aiuto-punti li::after{content:"";position:absolute;left:5px;top:50%;margin-top:-4px;
  width:4px;height:7px;border-right:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(40deg)}
.aiuto-form{background:var(--sabbia);padding:40px 44px;display:flex;flex-direction:column;gap:16px}
.aiuto-form h3{margin:0;font-size:21px;font-weight:700;letter-spacing:-.02em}
.aiuto-sub{margin:-8px 0 4px;font-size:14px;color:var(--grigio)}
.aiuto-campi{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.aiuto-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;
  font-weight:600;color:var(--notte)}
.aiuto-form label span{color:var(--rosso,#C8372D)}
.aiuto-form input[type=email],.aiuto-form input[type=tel]{border:1.5px solid var(--linea);
  border-radius:8px;padding:12px 14px;font-size:15px;background:#fff;color:var(--notte)}
.aiuto-form input:focus{outline:none;border-color:var(--verde)}
.aiuto-consenso{flex-direction:row!important;align-items:flex-start;gap:9px;
  font-weight:400!important;font-size:13px!important;color:var(--grigio)!important}
.aiuto-consenso input{margin-top:2px;width:16px;height:16px;accent-color:var(--verde)}
.aiuto-consenso a{color:var(--verde-scuro);text-decoration:none}
.aiuto-form button{background:var(--verde);color:#fff;border:0;border-radius:8px;
  padding:14px 20px;font-weight:700;font-size:15px;cursor:pointer}
.aiuto-form button:hover{background:var(--verde-scuro)}
.aiuto-form button:disabled{opacity:.6;cursor:default}
.aiuto-esito{margin:0;font-size:14px;font-weight:600}
.aiuto-esito.ok{color:var(--verde-scuro)}
.aiuto-esito.ko{color:var(--rosso,#C8372D)}
@media(max-width:800px){
  .aiuto-griglia{grid-template-columns:1fr}
  .aiuto-testo,.aiuto-form{padding:28px 20px}
  .aiuto-campi{grid-template-columns:1fr}
}

/* ============================================================
   TESTATA CON FOTO — misurata: TRE figli, non due.
   WordPress aggiunge un <p> fra l immagine e il testo, e in una
   griglia a due colonne quel terzo figlio spinge la fotografia
   su una riga sua: 307 del testo + 485 della foto = 792px di
   testata. Le celle ora sono assegnate a mano e il <p> non
   partecipa piu al layout.
   ============================================================ */
.testa.foto > p,.pagina .testa.foto > p{display:contents}
.testa.foto > .wrap,.pagina .testa.foto > .wrap{grid-column:1;grid-row:1}
.testa.foto > img,.pagina .testa.foto > img{grid-column:2;grid-row:1;
  min-height:0;height:100%}

/* ============================================================
   FINESTRA FILTRI — misurata: era position:sticky, non fixed.
   La regola che tiene la colonna appiccicata, aggiunta dopo,
   ha la stessa specificita di quella della finestra e vinceva.
   Col translate di centraggio la finestra finiva a x=-37, meta
   fuori dallo schermo: i blocchi di sinistra erano tagliati.
   Qui la finestra e piu specifica della colonna.
   ============================================================ */
.catalogo-griglia > .filtri-lato.finestra{position:fixed;top:50%;left:50%;
  right:auto;bottom:auto;max-height:82vh;overflow:visible;z-index:99}

/* --- il carosello si puo afferrare: il cursore lo dice --- */
.car-pista{cursor:grab;-webkit-user-select:none;user-select:none}
.car-pista.tira{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.car-pista.tira img,.car-pista img{-webkit-user-drag:none;user-drag:none;pointer-events:auto}

/* --- riquadri promozionali: il testo si legge.
   Era 14,5px il titolo e 12,5px il testo, piu piccolo della
   didascalia di una card. Ora titolo 18 e testo 15, con la
   fotografia che cede spazio al testo e non viceversa. --- */
.tile-testo{padding:18px 18px 20px;gap:7px}
.tile-testo b{font-size:18px;line-height:1.25}
.tile-testo em{font-size:15px;line-height:1.55;color:rgba(255,255,255,.93)}
.tile-cta{font-size:15px;padding:13px 24px}
.tile > img{flex:0 1 auto;min-height:0}

/* ============================================================
   FINESTRA FILTRI — tre colonne dichiarate, non due lasciate
   spezzare da sole. Le colonne CSS mettevano Reparti e Marchio
   uno sopra l altro a sinistra e tre blocchi corti a destra,
   con il contenuto attaccato ai bordi. Qui ogni blocco ha la
   sua cella e la finestra ha aria intorno.
   ============================================================ */
.filtri-lato.finestra .f-corpo{display:grid;columns:auto;
  grid-template-columns:1fr 1fr 1fr;gap:0;padding:26px 28px 20px;
  max-height:calc(82vh - 170px);overflow-y:auto}
.filtri-lato.finestra .f-corpo > :nth-child(1){grid-column:1;grid-row:1 / span 3}
.filtri-lato.finestra .f-corpo > :nth-child(2){grid-column:2;grid-row:1 / span 3}
.filtri-lato.finestra .f-corpo > :nth-child(3){grid-column:3;grid-row:1}
.filtri-lato.finestra .f-corpo > :nth-child(4){grid-column:3;grid-row:2}
.filtri-lato.finestra .f-corpo > :nth-child(5){grid-column:3;grid-row:3}
.filtri-lato.finestra .f-blocco{border:0;border-right:1px solid var(--linea);
  border-bottom:0;border-radius:0;padding:0 22px 18px 0;margin:0 0 18px;background:none}
.filtri-lato.finestra .f-corpo > :nth-child(3),
.filtri-lato.finestra .f-corpo > :nth-child(4),
.filtri-lato.finestra .f-corpo > :nth-child(5){border-right:0;padding-left:22px}
.filtri-lato.finestra .f-corpo > :nth-child(2){padding-left:22px}
.filtri-lato.finestra .f-albero{max-height:none;overflow:visible}
.filtri-lato.finestra .f-marchi{max-height:300px;overflow-y:auto;padding-right:8px}
.filtri-lato.finestra .filtri-testa{padding:22px 28px}
.filtri-lato.finestra .filtri-piede{padding:18px 28px}
.filtri-lato.finestra{padding:0 0 92px}
@media(max-width:760px){
  .filtri-lato.finestra .f-corpo{grid-template-columns:1fr;padding:20px}
  .filtri-lato.finestra .f-corpo > *{grid-column:1!important;grid-row:auto!important;
    border-right:0!important;padding-left:0!important}
}
/* le righe le decidono i blocchi corti di destra, non i due
   lunghi di sinistra: senza questo Reparti e Marchio tiravano
   le righe a 783px e il corpo scorreva di 279. */
.filtri-lato.finestra .f-corpo{grid-auto-rows:min-content;align-content:start}
.filtri-lato.finestra .f-corpo > :nth-child(1),
.filtri-lato.finestra .f-corpo > :nth-child(2){align-self:start;
  max-height:420px;overflow-y:auto}
.filtri-lato.finestra .f-blocco{margin-bottom:14px;padding-bottom:0}

/* ============================================================
   FINESTRA FILTRI — niente colonne, e grande.
   Ogni filtro e una fascia a tutta larghezza; sono le VOCI a
   disporsi in orizzontale dentro la fascia, non i blocchi in
   colonna. Testo alla stessa misura del resto del sito.
   ============================================================ */
.catalogo-griglia > .filtri-lato.finestra,.filtri-lato.finestra{
  width:min(1120px,94vw);max-height:90vh;padding:0 0 88px}
.filtri-lato.finestra .f-corpo{display:block;columns:auto;
  grid-template-columns:none;padding:8px 32px 24px;
  max-height:calc(90vh - 190px);overflow-y:auto}
.filtri-lato.finestra .f-corpo > *{grid-column:auto!important;grid-row:auto!important;
  max-height:none!important;overflow:visible!important;padding:22px 0!important;
  margin:0!important;border:0!important;border-bottom:1px solid var(--linea)!important}
.filtri-lato.finestra .f-corpo > :last-child{border-bottom:0!important}
.filtri-lato.finestra .f-blocco h3{font-size:13px;letter-spacing:.06em;
  color:var(--notte);margin:0 0 14px;font-weight:800}
/* le VOCI si distribuiscono in orizzontale dentro la fascia */
.filtri-lato.finestra .f-blocco ul{display:grid;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px 18px}
.filtri-lato.finestra .f-blocco li > a{font-size:15px;padding:9px 12px}
.filtri-lato.finestra .f-figli ul{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  margin:4px 0 10px 12px;padding-left:12px}
.filtri-lato.finestra .f-figli li > a{font-size:14px}
.filtri-lato.finestra .f-albero > li{grid-column:1 / -1}
.filtri-lato.finestra .f-voti li > a{font-size:15px}
/* i reparti si distribuiscono invece di occupare una riga ciascuno:
   erano alti 668px da soli e il corpo scorreva di 801. */
.filtri-lato.finestra ul.f-albero{display:block;columns:250px 3;column-gap:26px;column-fill:balance}
.filtri-lato.finestra .f-albero > li{grid-column:auto}
.filtri-lato.finestra .f-marchi{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.filtri-lato.finestra .f-voti,
.filtri-lato.finestra .f-blocco:nth-child(4) ul,
.filtri-lato.finestra .f-blocco:nth-child(5) ul{
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}

/* ============================================================
   PIANI DI SOTTOSCRIZIONE — la pagina che manca nel nuovo sito
   e che sul vostro porta entrate ricorrenti.
   ============================================================ */
.piani{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:18px;margin:8px 0 0}
.piano{position:relative;display:flex;flex-direction:column;background:#fff;
  border:1.5px solid var(--linea);border-radius:var(--r-md);padding:26px 24px 24px}
.piano-pop{border-color:var(--verde);box-shadow:0 12px 34px rgba(2,139,85,.14)}
.piano-eti{position:absolute;top:-11px;left:24px;background:var(--verde);color:#fff;
  font-size:10.5px;font-weight:800;letter-spacing:.1em;padding:4px 12px;border-radius:var(--r-pill)}
.piano h3{margin:0 0 10px;font-size:14px;font-weight:800;letter-spacing:.1em;color:var(--grigio)}
.piano-prezzo{margin:0 0 18px;display:flex;align-items:baseline;gap:7px}
.piano-prezzo b{font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1;color:var(--notte)}
.piano-prezzo em{font-style:normal;font-size:14px;color:var(--grigio)}
.piano-dati{margin:0 0 16px;padding:14px 0;border-top:1px solid var(--linea);
  border-bottom:1px solid var(--linea);display:grid;grid-template-columns:auto 1fr;gap:5px 12px}
.piano-dati dt{font-size:12.5px;color:var(--grigio)}
.piano-dati dd{margin:0;font-size:13.5px;font-weight:600;text-align:right}
.piano-voci{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.piano-voci li{position:relative;padding-left:24px;font-size:14px;line-height:1.5}
.piano-voci li::before{content:"";position:absolute;left:0;top:5px;width:14px;height:14px;
  border-radius:50%;background:var(--verde-tenue)}
.piano-voci li::after{content:"";position:absolute;left:4px;top:8px;width:4px;height:7px;
  border-right:2px solid var(--verde);border-bottom:2px solid var(--verde);transform:rotate(40deg)}
.piano-per{margin:auto 0 16px;font-size:13px;line-height:1.5;color:var(--grigio)}
.piano-cta{display:block;text-align:center;padding:13px 18px;border-radius:8px;
  background:var(--notte);color:#fff;font-weight:700;font-size:14.5px;text-decoration:none}
.piano-pop .piano-cta{background:var(--verde)}
.piano-cta:hover{background:var(--verde-scuro);color:#fff}

/* ============================================================
   PAGINE STRETTE (faq, come si ordina) — misurate: la testata
   era larga 720 a x=353 e il contenuto 657 a x=384. Trentuno
   pixel di sfasamento fra titolo e domande. E l h1 era limitato
   a 16ch, cioe 517px: "Le domande che ci fanno piu spesso" ci
   andava a capo in mezzo.
   ============================================================ */
.pagina .stretta,.pagina section.stretta,.pagina .testa.stretta{
  max-width:760px;margin-left:auto;margin-right:auto}
.pagina .testa.stretta h1{max-width:24ch}
.pagina .testa.stretta p{max-width:60ch}
/* le domande respirano e si distinguono dalle risposte */
.pagina .faq details{border-bottom:1px solid var(--linea)}
.pagina .faq details[open]{background:var(--sabbia);border-radius:var(--r-sm);
  padding:0 18px;margin:0 -18px}
.pagina .faq summary{padding:20px 44px 20px 0;font-size:17px;line-height:1.35}
.pagina .faq details[open] summary{padding-bottom:10px}
.pagina .faq details > p,.pagina .faq details > div{margin:0 0 20px;
  font-size:15.5px;line-height:1.7;color:var(--grigio);max-width:62ch}
.pagina .faq summary::after{top:20px;font-size:22px;color:var(--verde)}
/* il riquadro aperto sporgeva di 18px per via del margine
   negativo: il bordo non era piu allineato al titolo. Ora la
   domanda aperta si riconosce dal filetto verde, non dal fondo. */
.pagina .faq details[open]{background:none;border-radius:0;padding:0;margin:0;
  box-shadow:inset 3px 0 0 var(--verde);padding-left:16px}
.pagina .faq details[open] summary{padding-left:0}

/* ============================================================
   BARRA DI NAVIGAZIONE — Shop staccato a destra e frecce dei
   sottomenu uniformi. Misurate: 6px sotto Prodotti e 5px sotto
   le altre, quindi due dimensioni diverse nella stessa barra.
   ============================================================ */
.top .nav .nav-shop{margin-left:auto}
.top .nav .nav-shop > a{border:1.5px solid var(--linea);border-radius:var(--r-pill);
  padding:7px 18px;font-weight:600}
.top .nav .nav-shop > a:hover{border-color:var(--verde);color:var(--verde-scuro);
  background:var(--verde-tenue)}
/* una sola freccia per tutte le voci, piu piccola e centrata
   sulla riga del testo invece che appesa in fondo */
.top .nav .ha-sub > a::after,.top .nav .ha-mega > a::after,
.top .nav .apre-mega::after{content:"";width:5px;height:5px;flex:none;
  border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);opacity:.55;
  transition:transform .15s,opacity .15s}
.top .nav .ha-sub > a,.top .nav .ha-mega > a,.top .nav .apre-mega{
  display:inline-flex;align-items:center;gap:7px}
.top .nav li:hover > a::after,.top .nav .apre-mega[aria-expanded=true]::after{opacity:1}
/* margin-left:auto non spingeva niente perche la barra non aveva
   spazio libero: la lista ora lo occupa, e Shop finisce contro il
   bordo destro della navigazione, staccato dalle altre voci. */
.top .nav{flex:1 1 auto;min-width:0}
.top .nav > ul{width:100%;flex-wrap:nowrap}
.top .cerca{flex:0 1 320px}

/* ============================================================
   PRODOTTI CORRELATI — il riquadro prezzo della scheda finiva
   anche sulle card. .single-product .price mette bordo 1px e
   angoli da 12: dentro le card quel bordo restava, perche la
   regola della card dichiarava margini e spazi ma non il bordo.
   Ottava volta oggi: il componente non dichiara, decide l antenato.
   ============================================================ */
.single-product ul.products li.product .price,
.single-product ul.products li.product .prezzo,
ul.products li.product .price,ul.products li.product .prezzo{
  border:0;border-radius:0;background:none;box-shadow:none}

/* ============================================================
   VARIANTI DELLA SCHEDA — era la tabella di WooCommerce:
   etichetta in una cella da 78px centrata in verticale, select
   in una da 218 allineata in alto. Da qui lo sfasamento fra
   "Peso 1 unità", il menu e "Svuota". Qui diventa una colonna:
   etichetta sopra, scelta sotto a tutta larghezza.
   ============================================================ */
.single-product table.variations,
.single-product table.variations tbody,
.single-product table.variations tr{display:block;width:100%;border:0;margin:0}
.single-product table.variations tr{margin:0 0 16px}
.single-product table.variations th.label,
.single-product table.variations td.value{display:block;width:100%;padding:0;border:0;text-align:left}
.single-product table.variations th.label label{display:block;margin:0 0 7px;
  font-size:13px;font-weight:700;letter-spacing:.03em;color:var(--notte)}
.single-product table.variations td.value select{width:100%;height:48px;
  padding:0 40px 0 14px;border:1.5px solid var(--linea);border-radius:8px;
  font-size:15.5px;background:#fff;color:var(--notte);appearance:none;
  background-image:none;cursor:pointer}
.single-product table.variations td.value{position:relative}
.single-product table.variations td.value::after{content:"";position:absolute;
  right:18px;top:20px;width:7px;height:7px;pointer-events:none;
  border-right:1.6px solid var(--grigio);border-bottom:1.6px solid var(--grigio);
  transform:rotate(45deg)}
.single-product table.variations td.value select:focus{outline:none;border-color:var(--verde)}
.single-product .reset_variations{display:inline-block;margin:8px 0 0;
  font-size:13px;color:var(--grigio);text-decoration:none;font-weight:500}
.single-product .reset_variations:hover{color:var(--notte)}
.single-product .woocommerce-variation-price{margin:14px 0 0}
.single-product .single_variation_wrap{margin-top:16px}
.single-product .woocommerce-variation-add-to-cart{display:flex;gap:12px;
  align-items:stretch;flex-wrap:wrap;margin-top:14px}
.single-product .woocommerce-variation-add-to-cart .quantity{flex:0 0 auto}
.single-product .woocommerce-variation-add-to-cart .button{flex:1 1 220px}
/* Shop e una pastiglia, non una voce di navigazione: la riga
   verde da 2px sotto le voci qui non serve e faceva doppione
   con il bordo della pastiglia. */
.top .nav .nav-shop > a::before{content:none;display:none}

/* --- l albero dei reparti: i figli ora stanno DENTRO il padre,
   quindi .f-figli non e piu un li che contiene un ul, e l ul
   stesso. Le vecchie regole .f-figli ul non colpivano piu niente. --- */
.filtri-lato .f-figli{display:grid;gap:2px;margin:6px 0 0 6px;padding-left:12px;
  border-left:2px solid var(--linea);list-style:none}
.filtri-lato .f-figli > li{margin:0}
.filtri-lato .f-figli li > a{padding:6px 10px;font-size:13.5px;color:var(--grigio)}
.filtri-lato .f-albero > li{margin-bottom:10px}
.filtri-lato .f-albero > li > a{font-weight:700}
.filtri-lato.finestra .f-albero{align-items:start}
.filtri-lato.finestra .f-albero > li{break-inside:avoid}

/* REPARTI NELLA FINESTRA FILTRI — 15/09/2026, misurato prima di toccare.
   Erano una griglia 4x250,5px: le celle della stessa riga prendevano l'altezza
   della piu' alta, quindi Condimenti e Gastronomia (38px, senza figli) stavano
   accanto a Latticini (163px) lasciando 125px di vuoto, e la seconda riga
   partiva da una linea che non spiegava se stessa. Sette reparti in quattro
   colonne lasciavano anche un buco in fondo a destra.
   Ora ogni reparto e' un blocco intero che non si spezza, e le colonne si
   bilanciano da sole: nessuna riga imposta, nessun buco. */
.filtri-lato.finestra .f-albero > li{
  grid-column:auto;break-inside:avoid;-webkit-column-break-inside:avoid;
  page-break-inside:avoid;display:block;margin:0 0 16px;
  border:1px solid var(--linea);border-radius:var(--r-sm);padding:8px 8px 6px;background:#fff}
.filtri-lato.finestra .f-albero > li > a{font-weight:700;border-radius:7px}
.filtri-lato.finestra .f-albero .f-figli{display:block;margin:2px 0 0 6px;
  padding-left:10px;border-left:2px solid var(--linea)}
.filtri-lato.finestra .f-albero .f-figli > li{margin:0}
.filtri-lato.finestra .f-albero .f-figli li > a{font-size:13.5px;padding:5px 9px}

/* 15/09/2026 — il sito deve dire per chi e', non lasciarlo capire.
   Misurato prima: nella fascia alta c'erano consegna, minimo e telefono,
   nessuna riga diceva che non si vende ai privati. */
.barra-alta .solo-b2b{font-weight:700;letter-spacing:.01em}

/* ARTICOLI — 15/09/2026. Il tema non aveva single.php: 153 articoli
   travasati che nessuno poteva leggere per intero. */
.articolo .art-briciole{font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grigio);margin:0 0 8px}
.articolo .art-briciole a{color:var(--verde);text-decoration:none}
.articolo .art-data{color:var(--grigio);font-size:14px;margin:10px 0 0}
.articolo .art-foto{margin:0 0 28px}
.articolo .art-foto img{display:block;width:100%;height:auto;max-height:460px;object-fit:cover}
.articolo .art-corpo{max-width:760px;font-size:17px;line-height:1.7}
.articolo .art-corpo h2{font-size:26px;margin:34px 0 12px}
.articolo .art-corpo h3{font-size:20px;margin:26px 0 10px}
.articolo .art-corpo p{margin:0 0 16px}
.articolo .art-corpo img{max-width:100%;height:auto}
.articolo .art-corpo ul,.articolo .art-corpo ol{margin:0 0 16px;padding-left:22px}
.griglia-art{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:26px;padding-bottom:48px}
.scheda-art{border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;background:#fff}
.scheda-art .sa-foto{display:block;aspect-ratio:16/10;background:var(--sabbia)}
.scheda-art .sa-foto img{width:100%;height:100%;object-fit:cover;display:block}
.scheda-art .sa-testo{padding:16px 18px 20px}
.scheda-art h2{font-size:18px;line-height:1.3;margin:0 0 8px}
.scheda-art h2 a{color:inherit;text-decoration:none}
.scheda-art p{margin:0;color:var(--grigio);font-size:14.5px;line-height:1.55}

/* FAQ — 15/09/2026. Prima erano tre domande scritte da noi, senza gruppi e
   senza indice. Ora sedici, nei cinque gruppi del sito vivo. */
.faq-sotto{color:var(--grigio);font-size:16.5px;line-height:1.6;max-width:640px;margin:14px 0 0}
.faq-indice{display:flex;flex-wrap:wrap;gap:10px;margin:0 auto 34px}
.faq-indice a{display:inline-block;padding:9px 16px;border:1px solid var(--linea);
  border-radius:999px;font-size:14px;font-weight:600;color:var(--notte);text-decoration:none}
.faq-indice a:hover{background:var(--verde-tenue);border-color:var(--verde);color:var(--verde)}
.faq2{margin:0 auto 40px;scroll-margin-top:100px}
.faq2 > h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--verde-tenue);scroll-margin-top:110px}
.faq2 details{border:1px solid var(--linea);border-radius:var(--r-md);background:#fff;margin:0 0 16px}
.faq2 details[open]{border-color:var(--verde);box-shadow:0 1px 0 var(--verde-tenue)}
.faq2 summary{list-style:none;cursor:pointer;padding:16px 52px 16px 18px;position:relative;
  font-weight:650;font-size:16.5px;line-height:1.4;color:var(--notte)}
.faq2 summary::-webkit-details-marker{display:none}
.faq2 summary:hover{color:var(--verde)}
.faq2 summary::after{content:"";position:absolute;right:20px;top:50%;width:10px;height:10px;
  margin-top:-7px;border-right:2px solid var(--verde);border-bottom:2px solid var(--verde);
  transform:rotate(45deg);transition:transform .18s}
.faq2 details[open] summary::after{transform:rotate(-135deg);margin-top:-3px}
.faq2 .risp{padding:0 18px 18px;color:var(--grigio);font-size:16px;line-height:1.65}
.faq2 .risp p{margin:0 0 10px}
.faq2 .risp p:last-child{margin:0}
.faq2 .risp a{color:var(--verde);font-weight:600}
.faq-aiuto{background:var(--sabbia);border-radius:var(--r-lg);padding:30px 32px;margin:0 auto 60px}
.faq-aiuto h2{font-size:22px;margin:0 0 8px}
.faq-aiuto p{margin:0;color:var(--grigio)}
.faq-vie{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px!important}
.faq-btn,.faq-btn2{display:inline-block;padding:13px 24px;border-radius:var(--r-sm);
  font-weight:650;font-size:15px;text-decoration:none}
.faq-btn{background:var(--verde);color:#fff}
.faq-btn2{background:#fff;color:var(--notte);border:1px solid var(--linea)}
.faq-btn:hover{background:var(--verde-scuro)}
.faq-btn2:hover{border-color:var(--verde);color:var(--verde)}
@media(max-width:600px){.faq2 summary{font-size:15.5px;padding:14px 44px 14px 15px}
  .faq-aiuto{padding:22px 20px}.faq-vie a{width:100%;text-align:center}}

/* MAPPA DEL SITO — 15/09/2026. Il componente condiviso stampava 727 nomi di
   prodotto in colonna. Qui i reparti e i marchi, e i prodotti si cercano. */
.mappa{padding-bottom:60px}
.mp-indice{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.mp-indice a{padding:9px 16px;border:1px solid var(--linea);border-radius:999px;
  font-size:14px;font-weight:600;color:var(--notte);text-decoration:none}
.mp-indice a:hover{background:var(--verde-tenue);border-color:var(--verde);color:var(--verde)}
.mp-sez{margin:0 0 44px;scroll-margin-top:110px}
.mp-sez > h2{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  margin:0 0 6px;padding-bottom:10px;border-bottom:2px solid var(--verde-tenue)}
.mp-occhiello{color:var(--grigio);font-size:15px;margin:0 0 18px;max-width:640px}
ul.mp-albero{list-style:none;margin:0;padding:0}
ul.mp-albero > li{break-inside:avoid;margin:0 0 14px}
ul.mp-albero a{color:var(--notte);text-decoration:none;font-weight:650;font-size:15.5px}
ul.mp-albero a:hover{color:var(--verde);text-decoration:none}
.mp-n{display:inline-block;margin-left:6px;font-size:12px;font-weight:600;color:var(--grigio)}
ul.mp-figli{list-style:none;margin:6px 0 0 4px;padding-left:12px;
  border-left:2px solid var(--linea)}
ul.mp-figli > li{margin:0 0 3px}
ul.mp-figli a{font-weight:500;font-size:14.5px;color:var(--grigio)}
ul.mp-figli a:hover{color:var(--verde)}
ul.mp-albero.mp-col{columns:250px 3;column-gap:34px;column-fill:balance}
ul.mp-albero.mp-marchi{columns:190px 5;column-gap:26px}
ul.mp-albero.mp-marchi > li{margin:0 0 7px}
ul.mp-albero.mp-marchi a{font-weight:500;font-size:14.5px}
@media(max-width:900px){ul.mp-albero.mp-marchi{columns:150px 3}}
@media(max-width:600px){ul.mp-albero.mp-col{columns:1}
  ul.mp-albero.mp-marchi{columns:2}.mp-indice a{font-size:13px;padding:8px 13px}}

/* 15/09/2026 — «Il sito» era una colonna sola larga 1.100px: ogni voce
   prendeva tutta la riga e a destra restavano 900px di vuoto. Misurato:
   Reparti 3 colonne, Marchi 5, Il sito 1. */
ul.mp-albero.mp-col4{columns:300px 3;column-gap:30px;column-fill:balance}
ul.mp-albero.mp-col4 > li{margin:0 0 18px;padding:0 0 2px}
ul.mp-albero.mp-col4 > li > a{display:block;font-size:16px;line-height:1.3}
@media(max-width:900px){ul.mp-albero.mp-col4{columns:220px 2}}
@media(max-width:600px){ul.mp-albero.mp-col4{columns:1}}
/* .mp-sez non dichiarava padding e un antenato gliene dava 20px a sinistra:
   sezioni a x=163, titolo della pagina a x=143. Misurato, non visto a occhio. */
.mappa .mp-sez{padding:0}

/* PAGINE PORTATE DAL SITO VIVO — 15/09/2026.
   Arrivate senza una sola classe, larghe 1.425px, tutto in colonna.
   Qui prendono la larghezza del sito e la loro struttura. */
.portata{max-width:1140px;margin:0 auto;padding:0 20px 60px}
.portata > p{font-size:17px;line-height:1.7;color:var(--grigio);max-width:820px;margin:0 0 16px}
.portata > h2{font-size:30px;line-height:1.25;margin:52px 0 16px;max-width:820px}
.portata > h2:first-child{margin-top:0}
.portata img{max-width:100%;height:auto;display:block}
.portata .pt-foto{margin:0 0 30px;border-radius:var(--r-md);overflow:hidden}
.portata .pt-foto img{width:100%;max-height:420px;object-fit:cover}
.portata .pt-schede{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  gap:26px;margin:0 0 48px}
.portata .pt-scheda{border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;
  background:#fff;display:flex;flex-direction:column}
.portata .pt-scheda .pt-foto{margin:0;border-radius:0;aspect-ratio:4/3;background:var(--sabbia)}
.portata .pt-scheda .pt-foto img{width:100%;height:100%;max-height:none;object-fit:cover}
.portata .pt-scheda h3{font-size:18px;line-height:1.3;margin:18px 18px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portata .pt-scheda p{font-size:15px;line-height:1.6;color:var(--grigio);margin:0 18px 14px}
.portata .pt-scheda ul{list-style:none;margin:auto 18px 18px;padding:0}
.portata .pt-scheda ul a{display:inline-block;padding:9px 18px;border-radius:8px;
  background:var(--verde);color:#fff;text-decoration:none;font-weight:650;font-size:14.5px}
.portata .pt-scheda ul a:hover{background:var(--verde-scuro)}
.portata > ul{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.portata > ul a{color:var(--verde);font-weight:650;text-decoration:none}
.portata > ul a:hover{text-decoration:none}
@media(max-width:600px){.portata > h2{font-size:24px;margin:36px 0 12px}
  .portata .pt-schede{gap:18px}}

/* PIEDE — 15/09/2026. Le colonne erano tre e disuguali: Catalogo 8 voci,
   Per chi 4, Azienda 7. Ora quattro colonne da sei, e la griglia lo dichiara. */
.piede .piede-griglia{grid-template-columns:2.2fr 1fr 1fr 1fr 1fr;gap:34px}
.piede .piede-col ul{display:block}
.piede .piede-col li{margin:0 0 8px}
@media(max-width:1100px){.piede .piede-griglia{grid-template-columns:1fr 1fr 1fr;gap:30px}
  .piede .piede-marca{grid-column:1/-1}}
@media(max-width:700px){.piede .piede-griglia{grid-template-columns:1fr 1fr;gap:26px}}

/* LA VETRINA — 15/09/2026. Prima: una fotografia scritta a mano nel file.
   Ora i prodotti veri del catalogo, con la loro foto e il loro marchio. */
.vetrina{position:relative;border-radius:var(--r-lg);overflow:hidden;background:var(--sabbia)}
.vt-pista{display:flex;transition:transform .55s cubic-bezier(.22,.8,.3,1);will-change:transform}
.vt-slide{flex:0 0 100%;min-width:100%;position:relative;display:block}
.vt-slide .vt-foto{display:block;aspect-ratio:4/3;background:#fff}
.vt-slide .vt-foto img{width:100%;height:100%;object-fit:cover;display:block}
.vt-testo{position:absolute;left:0;right:0;bottom:0;padding:70px 22px 20px;color:#fff;
  background:linear-gradient(to top,rgba(10,26,43,.92) 0%,rgba(10,26,43,.72) 45%,rgba(10,26,43,0) 100%)}
.vt-marchio{margin:0 0 4px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.72);font-weight:700}
.vt-testo h3{margin:0 0 4px;font-size:22px;line-height:1.2}
.vt-testo h3 a{color:#fff;text-decoration:none}
.vt-testo h3 a:hover{text-decoration:none}
.vt-reparto{margin:0 0 10px;font-size:13.5px;color:rgba(255,255,255,.75)}
.vt-prezzo{font-size:15px;margin:0 0 14px}
.vt-prezzo .prezzo,.vt-prezzo .val{color:#fff}
.vt-prezzo .sblocca,.vt-prezzo small,.vt-prezzo .listino{color:rgba(255,255,255,.75)}
.vt-vai{display:inline-block;background:#fff;color:var(--notte);padding:9px 18px;
  border-radius:8px;font-weight:650;font-size:14.5px;text-decoration:none}
.vt-vai:hover{background:var(--verde);color:#fff}
.vt-frec{position:absolute;top:50%;margin-top:-22px;width:44px;height:44px;border:0;
  border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer;z-index:2}
.vt-frec::after{content:"";position:absolute;top:50%;left:50%;width:9px;height:9px;
  margin:-5px 0 0 -3px;border-right:2px solid var(--notte);border-bottom:2px solid var(--notte)}
.vt-prec{left:14px}.vt-succ{right:14px}
.vt-prec::after{transform:rotate(135deg);margin-left:-6px}
.vt-succ::after{transform:rotate(-45deg)}
.vt-frec:hover{background:#fff}
.vt-punti{position:absolute;right:16px;bottom:16px;display:flex;gap:7px;z-index:2}
.vt-punto{width:8px;height:8px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.45)}
.vt-punto.on{background:#fff;width:20px;border-radius:5px}
.vt-sola .vt-frec,.vt-sola .vt-punti{display:none}
.ordine-vetrina{min-width:0}
.ordine-vetrina .vetrina{box-shadow:0 18px 44px rgba(0,0,0,.28)}
.vt-fascia{margin:0 auto 34px}
.vt-fascia .vetrina{max-height:none}
.vt-fascia .vt-slide .vt-foto{aspect-ratio:21/7}
@media(max-width:860px){.vt-fascia .vt-slide .vt-foto{aspect-ratio:16/9}
  .vt-testo{padding:56px 16px 16px}.vt-testo h3{font-size:19px}
  .vt-frec{width:38px;height:38px;margin-top:-19px}}
@media(prefers-reduced-motion:reduce){.vt-pista{transition:none}}

/* CONTATTI DEL PIEDE — 15/09/2026. Etichetta e valore stavano su due righe:
   quattro voci da 40px, colonna della marca a 306px contro 205 delle altre.
   Ora etichetta e valore sulla stessa riga, incolonnati. */
.piede .piede-contatti{gap:9px;margin-top:18px}
.piede .piede-contatti li{display:grid;grid-template-columns:74px 1fr;
  gap:12px;align-items:baseline;font-size:13.5px;line-height:1.45}
.piede .piede-contatti span{display:block;margin:0;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:#7FA890;font-weight:700;white-space:nowrap}
.piede .piede-marca p{margin:14px 0 0;max-width:30ch;line-height:1.5}
.piede .piede-griglia{grid-template-columns:1.62fr 1fr 1fr 1fr 1fr}
.piede .piede-contatti li{grid-template-columns:66px 1fr;gap:10px}
.piede .piede-marca p{max-width:34ch;font-size:13.5px}
.piede .piede-contatti{margin-top:14px;gap:8px}

/* I RECAPITI — 15/09/2026. Stavano dentro la colonna della marca e la
   portavano a 276px contro i 205 delle altre quattro. Ora sono una fascia
   sotto le colonne: tutte e cinque cominciano e finiscono insieme. */
.piede-recapiti{border-top:1px solid rgba(255,255,255,.14)}
.piede-recapiti .wrap{padding-top:22px;padding-bottom:22px}
.piede .piede-recapiti .piede-contatti{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin:0}
.piede .piede-recapiti .piede-contatti li{display:block;font-size:14px;line-height:1.5}
.piede .piede-recapiti .piede-contatti span{display:block;margin:0 0 3px;font-size:10.5px}
@media(max-width:700px){.piede .piede-recapiti .piede-contatti{gap:14px}}

/* BANNER CON TESTO SOPRA — 15/09/2026, un solo concetto per tutto il sito.
   Misurato: i banner promo sono 600x797 e medi 36/255, si scuriscono verso il
   basso (50 -> 17): fatti per portare testo. van_banner e 1264x512 medio 87,
   e' una fotografia: per questo affiancata al testo faceva quell'effetto.
   Il velo e calibrato sul piu chiaro dei due, cosi vale per entrambi. */
.banner-t{position:relative;display:block;border-radius:var(--r-lg);overflow:hidden;
  text-decoration:none;color:#fff;isolation:isolate}
.banner-t img{position:absolute;inset:0;display:block;width:100%;height:100%;
  object-fit:cover;transition:transform .6s cubic-bezier(.22,.8,.3,1)}
.banner-t:hover img{transform:scale(1.03)}
.banner-t .bt-velo{position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(8,22,38,.42) 0%,rgba(8,22,38,.26) 45%,
    rgba(8,22,38,.10) 75%,rgba(8,22,38,.02) 100%)}
.banner-t .bt-testo{position:relative;z-index:2;display:block;max-width:52%;
  margin:30px;padding:30px 32px;border-radius:var(--r-md);
  background:rgba(8,22,38,.88);backdrop-filter:blur(3px)}
.banner-t .bt-testo em{display:block;font-style:normal;font-size:11.5px;font-weight:700;
  letter-spacing:.16em;color:rgba(255,255,255,.72);margin:0 0 10px}
.banner-t .bt-testo b{display:block;font-size:32px;line-height:1.15;margin:0 0 12px;
  letter-spacing:-.01em}
.banner-t .bt-sub{display:block;font-size:16px;line-height:1.6;
  color:rgba(255,255,255,.88);max-width:46ch;margin:0 0 20px}
.banner-t .bt-cta{display:inline-block;background:var(--verde);color:#fff;
  padding:13px 24px;border-radius:var(--r-sm);font-weight:650;font-size:15px}
.banner-t:hover .bt-cta{background:var(--verde-scuro)}
.banner-largo{aspect-ratio:1264/512;margin-bottom:8px}
@media(max-width:860px){
  .banner-largo{aspect-ratio:4/3}
  .banner-t .bt-testo{max-width:100%;padding:28px 22px}
  .banner-t .bt-testo b{font-size:24px}
  .banner-t .bt-sub{font-size:15px;margin-bottom:16px}
  .banner-t .bt-velo{background:linear-gradient(to top,rgba(10,26,43,.93) 0%,
    rgba(10,26,43,.80) 48%,rgba(10,26,43,.35) 100%)}
  /* da stretto il riquadro cresce col testo: una proporzione fissa faceva
     sporgere il pannello di 110px sopra il banner, misurato a 390. */
  .banner-largo{aspect-ratio:auto;min-height:0}
  .banner-t .bt-testo{position:relative;margin:180px 16px 16px}
}

/* LO STESSO CONCETTO OVUNQUE — 15/09/2026.
   Misurato col browser, testo reso trasparente per leggere solo lo sfondo:
   banner della home 3,1:1 e riquadro promo dello shop 2,28:1, contro i 4,5:1
   che servono. Una sfumatura dipende da quanto e chiara la foto sotto; un
   pannello no. Stesso trattamento per banner, riquadri e tessere del mosaico. */
.tile .tile-testo{background:var(--verde-scuro)}
.cat.cat-promo .cat-testo{background:rgba(8,22,38,.88);backdrop-filter:blur(3px);
  border-radius:var(--r-md);margin:14px;padding:16px}

/* SETTORI — 15/09/2026. Sei schede in quattro colonne lasciavano una riga
   spaiata da due. Tre colonne fanno due righe piene. Stessa forma gia vista
   oggi nei filtri e nella mappa: il numero di colonne va scelto sui pezzi
   che ci sono, non sullo spazio disponibile. */
.figlie{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
@media(max-width:1000px){.figlie{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:620px){.figlie{grid-template-columns:1fr;gap:16px}}
.figlia img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}

/* GRIGLIE SENZA BUCHI — 15/09/2026. Due cose insieme, perche' una sola non
   basta: (1) ogni griglia chiude con una scheda d'invito vera, (2) l'ultima
   riga si allarga per riempire lo spazio, cosi' il buco non torna quando
   cambia il numero di elementi o la larghezza dello schermo. */
.figlie,.griglia-art{display:flex;flex-wrap:wrap;align-items:stretch}
.figlie > *,.griglia-art > *{flex:1 1 300px;min-width:0}
.figlie{gap:24px}
@media(max-width:1000px){.figlie > *,.griglia-art > *{flex:1 1 260px}}
@media(max-width:620px){.figlie > *,.griglia-art > *{flex:1 1 100%}}
.invito{display:flex;flex-direction:column;justify-content:center;
  border-radius:var(--r-md);padding:28px 26px;text-decoration:none;
  background:var(--notte);color:#fff;border:1px solid var(--notte)}
.invito-contatti{background:var(--verde-scuro);border-color:var(--verde-scuro)}
.inv-tit{display:block;font-size:20px;font-weight:700;line-height:1.25;margin:0 0 10px}
.inv-sub{display:block;font-size:14.5px;line-height:1.6;color:rgba(255,255,255,.86);
  margin:0 0 18px}
.inv-cta{display:inline-block;align-self:flex-start;background:#fff;color:var(--notte);
  padding:13px 24px;border-radius:var(--r-sm);font-weight:650;font-size:15px}
.invito:hover .inv-cta{background:var(--verde-tenue)}
.portata .pt-schede{display:flex;flex-wrap:wrap;align-items:stretch;gap:26px}
.portata .pt-schede > *{flex:1 1 290px;min-width:0}
@media(max-width:620px){.portata .pt-schede > *{flex:1 1 100%}}

/* PIEDE, COLONNA DELLA MARCA — 15/09/2026. Restava a 108px contro i 205
   delle altre quattro: un vuoto sotto la frase. Un blocco compatto che porta
   al catalogo, coi numeri contati e non scritti a mano.
   NON recensioni: sullo staging ce ne sono 1.480 ma con 17 testi diversi e
   nessun utente vero. Sono dati di prova, non clienti. */
.piede-promo{margin-top:18px;padding:16px 18px;border-radius:var(--r-md);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.piede-promo b{display:block;color:#fff;font-size:14.5px;margin:0 0 6px}
.piede-promo span{display:block;font-size:13px;line-height:1.5;color:#B7E0CC;margin:0 0 12px}
.piede-promo a{display:inline-block;background:var(--verde);color:#fff;
  padding:8px 15px;border-radius:7px;font-size:13.5px;font-weight:650;text-decoration:none}
.piede-promo a:hover{background:#fff;color:var(--notte)}
.piede-promo{margin-top:14px;padding:13px 15px}
.piede-promo b{font-size:14px;margin:0 0 4px}
.piede-promo span{font-size:12.5px;margin:0 0 10px}
.piede-promo a{padding:7px 13px;font-size:13px}
.piede-marca p{margin:12px 0 0;font-size:13px;max-width:32ch}
.piede-promo{margin-top:12px;padding:12px 14px}
.piede-promo span{margin:0 0 8px;line-height:1.45}

/* SOGLIE DEL PIEDE, RIMESSE IN FONDO — 15/09/2026.
   La riga .piede .piede-griglia che ho aggiunto piu su scavalcava le soglie
   scritte prima, a parita di peso ma piu in basso nel foglio: a 390px le
   colonne erano larghe 71, 44, 44 e 44 pixel. Undicesima volta oggi della
   stessa forma, e questa l'ho causata io scrivendo in coda. */
@media(max-width:1100px){
  .piede .piede-griglia{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
  .piede .piede-marca{grid-column:1/-1}}
@media(max-width:700px){
  .piede .piede-griglia{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}}
@media(max-width:430px){
  .piede .piede-griglia{grid-template-columns:1fr;gap:22px}}

/* MACROCATEGORIE — 15/09/2026. Composizione misurata sulla pagina viva:
   due colonne da 640 con 20 di gomito, pannello di testo su fondo
   fotografico da un lato e pila di immagini dall'altro, lati alternati. */
.macrocat{max-width:1140px;margin:0 auto;padding:0 20px 60px}
.mc-banda{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:0 0 20px;
  align-items:stretch}
.mc-destra .mc-pannello{order:2}
.mc-destra .mc-pila{order:1}
.mc-pannello{position:relative;border-radius:var(--r-lg);overflow:hidden;
  background:var(--notte) center/cover no-repeat;min-height:420px;display:flex}
.mc-vela{position:absolute;inset:0;background:linear-gradient(to top,
  rgba(8,22,38,.94) 0%,rgba(8,22,38,.80) 52%,rgba(8,22,38,.52) 100%)}
.mc-testo{position:relative;z-index:2;align-self:flex-end;padding:34px 32px;color:#fff}
.mc-testo h2{margin:0 0 12px;font-size:30px;line-height:1.15;color:#fff}
.mc-testo p{margin:0 0 18px;font-size:15.5px;line-height:1.65;
  color:rgba(255,255,255,.92);max-width:44ch}
.mc-azioni{display:flex;flex-wrap:wrap;gap:10px;margin:0!important}
.mc-btn,.mc-btn2{display:inline-block;padding:13px 24px;border-radius:var(--r-sm);
  font-weight:650;font-size:15px;text-decoration:none}
.mc-btn{background:var(--verde);color:#fff}
.mc-btn:hover{background:#fff;color:var(--notte)}
.mc-btn2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55)}
.mc-btn2:hover{background:#fff;color:var(--notte)}
.mc-pila{display:flex;flex-direction:column;gap:20px;min-width:0}
.mc-grande{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;flex:1 1 auto}
.mc-grande img{width:100%;height:100%;min-height:220px;object-fit:cover;display:block}
.mc-grande figcaption{position:absolute;left:0;right:0;bottom:0;padding:44px 20px 18px;
  color:#fff;font-size:15px;line-height:1.4;font-weight:600;
  background:linear-gradient(to top,rgba(8,22,38,.92),rgba(8,22,38,0))}
.mc-tessere{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.mc-tessera{position:relative;margin:0;border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:1/1;background:var(--sabbia)}
.mc-tessera img{width:100%;height:100%;object-fit:cover;display:block}
.mc-tessera figcaption{position:absolute;left:0;right:0;bottom:0;padding:38px 14px 14px;
  color:#fff;font-size:13px;line-height:1.4;
  background:linear-gradient(to top,rgba(8,22,38,.93),rgba(8,22,38,.55) 60%,rgba(8,22,38,0))}
@media(max-width:900px){
  .mc-banda{grid-template-columns:1fr}
  .mc-destra .mc-pannello,.mc-destra .mc-pila{order:0}
  .mc-pannello{min-height:340px}
  .mc-testo{padding:26px 22px}
  .mc-testo h2{font-size:24px}}
@media(max-width:480px){.mc-tessere{grid-template-columns:1fr}}

/* VETRINA — 15/09/2026, seconda passata. I prodotti sono scontornati su fondo
   chiaro: ritagliarli a riempimento li mangia. Ora l'immagine sta intera,
   alta al massimo quanto il riquadro, e dietro la STESSA immagine ingrandita
   e sfocata riempie lo sfondo. Un solo file scaricato, non due. */
.vt-slide .vt-foto{position:relative;overflow:hidden;background:#fff;
  display:flex;align-items:center;justify-content:center}
.vt-slide .vt-sfondo{position:absolute;inset:-6%;z-index:0;
  background-size:cover;background-position:center;
  filter:blur(26px) saturate(1.15) brightness(.92);transform:scale(1.12)}
.vt-slide .vt-foto img{position:relative;z-index:1;width:auto;height:auto;
  max-width:82%;max-height:82%;object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(8,22,38,.28))}
.vt-testo{background:linear-gradient(to top,rgba(8,22,38,.94) 0%,
  rgba(8,22,38,.80) 40%,rgba(8,22,38,.30) 75%,rgba(8,22,38,0) 100%)}
.vt-slide .vt-foto img{max-height:74%;margin-bottom:8%}
@media(max-width:860px){.vt-slide .vt-foto img{max-width:76%;max-height:66%}}
/* L'altezza la decide il riquadro, non il file: con max-height il browser
   sceglieva dal srcset il file piu piccolo, e il prodotto restava a 195px. */
.vt-slide .vt-foto img{height:74%;width:auto;max-width:86%;max-height:none}
@media(max-width:860px){.vt-slide .vt-foto img{height:64%;max-width:80%}}
/* La fascia 21/7 era troppo bassa: il prodotto ci stava alto 271 su 1.100 di
   larghezza e si perdeva. 12/5 alza il riquadro e il prodotto respira. */
.vt-fascia .vt-slide .vt-foto{aspect-ratio:12/5}
.vt-fascia .vt-slide .vt-foto img{height:80%}
@media(max-width:860px){.vt-fascia .vt-slide .vt-foto{aspect-ratio:4/3}}

/* VETRINA, terza passata — 15/09/2026. Il prodotto galleggiava in mezzo col
   suo rettangolo bianco e il testo gli finiva sopra. Ora si appoggia in basso
   a destra, il bianco della confezione diventa un piedistallo arrotondato
   sopra e squadrato sotto, e il testo ha la sua meta a sinistra. */
.vt-slide .vt-foto{align-items:flex-end;justify-content:flex-end;
  padding:0 7% 0 0}
.vt-slide .vt-foto img{height:88%;max-width:46%;margin:0;
  border-radius:14px 14px 0 0;filter:none;
  box-shadow:0 -10px 34px rgba(8,22,38,.30),0 0 0 1px rgba(255,255,255,.35)}
.vt-testo{max-width:56%;background:linear-gradient(100deg,
  rgba(8,22,38,.92) 0%,rgba(8,22,38,.84) 55%,rgba(8,22,38,.40) 85%,rgba(8,22,38,0) 100%)}
@media(max-width:860px){
  /* da stretto non si affiancano: il prodotto sta sopra e si appoggia sulla
     fascia del testo, che prende tutta la larghezza. Misurato: a 768 e a 390
     il testo finiva sopra l'immagine. */
  .vt-slide .vt-foto{justify-content:center;align-items:flex-end;padding:0}
  .vt-slide .vt-foto img{max-width:58%;height:62%;margin-bottom:30%;
    border-radius:var(--r-md)}
  .vt-testo{max-width:100%;background:linear-gradient(to top,
    rgba(8,22,38,.95) 0%,rgba(8,22,38,.88) 60%,rgba(8,22,38,.30) 90%,rgba(8,22,38,0) 100%)}
}

/* Da stretto: prodotto in alto, testo in basso, senza toccarsi. Misurato che
   a 390 il blocco di testo era piu alto della diapositiva (partiva a -38). */
@media(max-width:860px){
  .vt-slide .vt-foto{align-items:flex-start;padding:16px 0 0}
  .vt-slide .vt-foto img{height:42%;max-width:56%;margin:0;border-radius:var(--r-md)}
}
@media(max-width:600px){
  .vt-fascia .vt-slide .vt-foto,.ordine-vetrina .vt-slide .vt-foto{aspect-ratio:3/4}
  .vt-slide .vt-foto img{height:38%;max-width:62%}
  .vt-reparto{display:none}
  .vt-testo h3{font-size:17px}
  .vt-testo{padding:44px 14px 14px}
  .vt-prezzo{font-size:13.5px;margin-bottom:10px}
}

/* Le soglie devono pesare quanto la regola larga, altrimenti non vincono:
   .vt-fascia .vt-slide .vt-foto img batteva .vt-slide .vt-foto img anche
   dentro una media query, perche le media query non aggiungono peso. */
@media(max-width:860px){
  .vt-fascia .vt-slide .vt-foto img,
  .ordine-vetrina .vt-slide .vt-foto img{height:42%;max-width:56%;margin:0}
}
@media(max-width:600px){
  .vt-fascia .vt-slide .vt-foto img,
  .ordine-vetrina .vt-slide .vt-foto img{height:36%;max-width:62%}
}

/* VETRINA, incastonatura — 15/09/2026. Il prodotto sborda di poco sopra e
   sotto (110% dell'altezza, cioe 5% per parte) e il riquadro lo taglia.
   I due tagli sono sfumati con una maschera, cosi non si vede il bordo netto. */
.vt-fascia .vt-slide .vt-foto,.ordine-vetrina .vt-slide .vt-foto{
  align-items:center;justify-content:flex-end;padding:0 6% 0 0}
.vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
  height:110%;max-width:44%;margin:0;border-radius:0;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 93%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 93%,transparent 100%);
  box-shadow:none;filter:drop-shadow(0 14px 30px rgba(8,22,38,.34))}
@media(max-width:860px){
  .vt-fascia .vt-slide .vt-foto,.ordine-vetrina .vt-slide .vt-foto{
    align-items:flex-start;justify-content:center;padding:18px 0 0}
  .vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
    height:44%;max-width:56%;
    -webkit-mask-image:none;mask-image:none;border-radius:var(--r-md)}
}
@media(max-width:600px){
  .vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
    height:36%;max-width:62%}
}

/* TESSERE DEL CATALOGO — 15/09/2026. Avevano nome e conteggio e basta:
   niente che invogliasse ad aprirle. Ora la descrizione del reparto, tagliata
   a tre righe coi puntini, e un invito in fondo. */
.cat .cat-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;margin:6px 0 0;font-size:13.5px;line-height:1.5;
  color:rgba(255,255,255,.88)}
.cat .cat-n{display:block;margin:8px 0 0;font-size:12.5px;font-weight:600;
  color:rgba(255,255,255,.7)}
.cat .cat-vai{display:block;margin:10px 0 0;font-size:13.5px;font-weight:650;color:#fff}
.cat:hover .cat-vai{text-decoration:none}

/* TESSERE DEL CATALOGO, colori — 15/09/2026. Avevo scritto bianco dando per
   scontato un pannello scuro: il pannello e crema, rgb(255,253,220), e il
   bianco dava 1,03 : 1. Misurato, non guardato. I nuovi colori sul crema:
   descrizione 6,87 : 1, conteggio 5,46 : 1, invito 6,39 : 1. */
.cat:not(.cat-promo) .cat-desc{color:rgb(74,90,106)}
.cat:not(.cat-promo) .cat-n{color:rgb(90,105,120)}
.cat:not(.cat-promo) .cat-vai{color:var(--verde-scuro)}

/* VETRINA, quarta passata — 15/09/2026. Le foto prodotto sono scontornate su
   BIANCO: sfocarle dava una poltiglia e mostrarle intere lasciava il rettangolo
   bianco. Ora fondo chiaro e prodotto in moltiplicazione: il bianco moltiplicato
   per il fondo DA il fondo, quindi sparisce e resta solo il prodotto.
   Non e un effetto, e aritmetica: 255 x sfondo = sfondo. */
.vt-fascia .vt-slide .vt-foto,.ordine-vetrina .vt-slide .vt-foto{
  background:linear-gradient(115deg,#EDF2F6 0%,#F7F4EC 45%,#FFFDF2 100%)}
.vt-slide .vt-sfondo{display:none}
.vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
  mix-blend-mode:multiply;-webkit-mask-image:none;mask-image:none;
  filter:none;box-shadow:none;height:104%;max-width:42%}
/* Col fondo chiaro il testo bianco non si legge piu: torna un pannello scuro
   a sinistra, come nel banner della consegna. */
.vt-testo{position:absolute;left:0;bottom:0;right:auto;max-width:none;width:auto;
  margin:26px;padding:22px 24px;border-radius:var(--r-md);
  background:rgba(8,22,38,.90);backdrop-filter:blur(2px)}
.vt-testo h3{max-width:22ch}
.vt-prezzo .listino{color:rgba(255,255,255,.7)}
@media(max-width:860px){
  .vt-testo{left:0;right:0;margin:14px;padding:16px 16px 18px}
  .vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
    height:44%;max-width:56%}
}
/* Il bianco delle confezioni e ~240, non 255: moltiplicato lasciava un
   rettangolo di 11 livelli piu scuro. Un filo di luminosita lo porta a filo. */
.vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
  filter:brightness(1.07) contrast(1.03)}
@media(max-width:600px){
  /* a 390 il pannello del testo arrivava sopra il prodotto: misurato. */
  .vt-fascia .vt-slide .vt-foto,.ordine-vetrina .vt-slide .vt-foto{
    align-items:flex-start;padding:14px 0 0}
  .vt-fascia .vt-slide .vt-foto img,.ordine-vetrina .vt-slide .vt-foto img{
    height:34%;max-width:58%}
}

/* COMANDI DELLA VETRINA — 15/09/2026. Le frecce erano a meta altezza sui due
   fianchi: quella di sinistra cadeva sopra il pannello del testo e ne copriva
   il titolo. Ora stanno tutte in alto a sinistra, dove il pannello (in basso)
   e il prodotto (a destra) non arrivano. */
.vetrina .vt-frec{top:16px;margin-top:0;left:auto;right:auto;width:38px;height:38px;
  background:rgba(8,22,38,.82)}
.vetrina .vt-frec::after{border-color:#fff}
.vetrina .vt-prec{left:16px}
.vetrina .vt-succ{left:60px}
.vetrina .vt-frec:hover{background:var(--verde)}
.vetrina .vt-punti{top:27px;bottom:auto;left:110px;right:auto}
.vetrina .vt-punto{background:rgba(8,22,38,.30)}
.vetrina .vt-punto.on{background:var(--verde)}
@media(max-width:600px){
  /* i comandi prendono una riga loro in cima e il prodotto scende sotto:
     misurato che a 390 i punti cadevano sopra il prodotto. */
  .vt-fascia .vt-slide .vt-foto,.ordine-vetrina .vt-slide .vt-foto{padding:56px 0 0}
  .vetrina .vt-frec{top:12px;width:34px;height:34px}
  .vetrina .vt-prec{left:12px}
  .vetrina .vt-succ{left:52px}
  .vetrina .vt-punti{top:21px;left:98px}
}

/* VETRINA DELLA HOME — 15/09/2026. Misurato: quel riquadro e largo 468px
   dentro una finestra da 1440, mentre la fascia del negozio ne misura 1100.
   Avevo tarato tutto sulla larghezza della FINESTRA, quindi alla home toccava
   la disposizione affiancata in uno spazio che non la regge: il pannello era
   largo 416 su 468 e copriva il prodotto. Qui si impila sempre. */
.ordine-vetrina .vt-slide .vt-foto{align-items:flex-start;justify-content:center;
  padding:52px 0 0}
.ordine-vetrina .vt-slide .vt-foto img{height:40%;max-width:60%;margin:0}
.ordine-vetrina .vt-testo{left:0;right:0;max-width:none;width:auto;
  margin:12px;padding:16px 16px 18px}
.ordine-vetrina .vt-testo h3{font-size:18px;max-width:none}
/* 351px di altezza non bastano per comandi, prodotto e pannello: il pannello
   ne occupa da solo 190. Il riquadro della home diventa quadrato. */
.ordine-vetrina .vt-slide .vt-foto{aspect-ratio:1/1}
@media(max-width:600px){
  /* a 390 il quadrato della home e 335x335: non basta. Diventa verticale. */
  .ordine-vetrina .vt-slide .vt-foto{aspect-ratio:3/4;padding:52px 0 0}
  .ordine-vetrina .vt-slide .vt-foto img{height:30%;max-width:58%}
}

/* FRECCE A COMPARSA — 15/09/2026. Di norma non si vedono: compaiono quando
   il dito o il mouse sono sulla vetrina, o dopo un tocco, e tornano a sparire
   quando si clicca fuori. I punti restano sempre, cosi si sa sempre a che
   diapositiva si e. */
.vetrina .vt-frec{opacity:0;pointer-events:none;
  transition:opacity .28s ease,background .2s ease}
.vetrina:hover .vt-frec,
.vetrina:focus-within .vt-frec,
.vetrina.vt-sveglia .vt-frec{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){.vetrina .vt-frec{transition:none}}

/* SUGGERIMENTI DELLA RICERCA — 15/09/2026. Il menu vive dentro la fascia blu
   scura e NON dichiarava il colore del testo: ereditava il bianco e il nome
   del prodotto spariva sul fondo chiaro. Stessa forma dei campi di ricerca
   corretti ieri. Qui ogni pezzo dichiara il proprio colore. */
.ac{color:var(--notte)}
.ac .it .n{color:var(--notte)}
.ac .it .m{color:var(--grigio)}
.ac .it .p{color:var(--notte)}
.ac .it .p small{color:var(--grigio)}
.ac .it mark{background:var(--verde-tenue);color:var(--verde-scuro);
  padding:0 2px;border-radius:3px;font-weight:700}
.ac .grp{color:var(--grigio)}
.ac .vuoto{color:var(--grigio)}
.ac .it{align-items:flex-start;gap:12px}
.ac .it .t{min-width:0;flex:1 1 auto}
.ac .it .n{margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac .it .m{line-height:1.4}
.ac .it .p{align-self:center;text-align:right}

/* BANNER, LATO DESTRO — 15/09/2026. Restava vuoto: la fotografia da sola non
   riempie 1.140px. Tre numeri, tutti contati dal catalogo tranne l'anno. */
.banner-t{display:flex;align-items:center;justify-content:space-between}
.banner-t .bt-dati{position:relative;z-index:2;display:flex;flex-direction:column;
  gap:14px;margin:30px;padding:22px 26px;border-radius:var(--r-md);
  background:rgba(8,22,38,.78);backdrop-filter:blur(3px);color:#fff;text-align:right}
.banner-t .bt-dati > span{display:flex;flex-direction:column;align-items:flex-end;
  font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.72);line-height:1.2}
.banner-t .bt-dati b{font-size:30px;letter-spacing:-.02em;color:#fff;
  text-transform:none;line-height:1.05}
@media(max-width:860px){.banner-t .bt-dati{display:none}}
@media(max-width:860px){
  /* il display:flex del banner tolgo, altrimenti il pannello non e piu
     a tutta larghezza: misurato 258px di vuoto a destra a 768. */
  .banner-t{display:block}
}

/* FRECCE, TERZA POSIZIONE — 15/09/2026. In alto a sinistra non convincono.
   Tornano ai fianchi a meta altezza, com'erano, ma stavolta il pannello del
   testo si ritira di 64px da ogni lato: prima ci finivano sopra perche il
   pannello arrivava fino al bordo. I punti scendono in basso al centro. */
.vetrina .vt-frec{top:50%;margin-top:-22px;width:44px;height:44px}
.vetrina .vt-prec{left:14px}
.vetrina .vt-succ{left:auto;right:14px}
.vetrina .vt-punti{top:auto;bottom:12px;left:50%;right:auto;transform:translateX(-50%)}
.vt-testo{margin-left:72px;margin-right:72px}
.ordine-vetrina .vt-testo{margin-left:68px;margin-right:68px}
/* i punti stanno sotto il pannello, non sopra: il pannello si alza di 34px. */
.vt-testo{margin-bottom:38px}
.ordine-vetrina .vt-testo{margin-bottom:34px}
.vetrina .vt-punti{bottom:14px}
/* i prodotti dentro la pila sono scontornati su bianco: fondo chiaro e
   moltiplicazione, come nella vetrina. */
.mc-grande a,.mc-tessera a{display:block;width:100%;height:100%;
  background:linear-gradient(115deg,#EDF2F6,#FFFDF2)}
.mc-grande a img,.mc-tessera a img{width:100%;height:100%;object-fit:contain;
  padding:10%;mix-blend-mode:multiply;filter:brightness(1.07)}

/* MODULI — 15/09/2026. L'asterisco rosso era scritto come `label span`, e il
   testo del consenso sta dentro uno span: diventava rosso tutto, senza che
   niente fosse sbagliato. Regola scritta per una cosa, applicata a un'altra.
   Via gli asterischi: una riga dice cosa serve, e il rosso resta solo per
   gli errori veri, dopo che si e provato a mandare. */
.aiuto-form label span{color:inherit}
.aiuto-form label b{display:block;font-weight:650;font-size:13px;margin:0 0 5px;
  color:var(--notte);letter-spacing:.01em}
.aiuto-nota{margin:0 0 14px;font-size:13px;color:var(--grigio)}
.aiuto-consenso{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;
  line-height:1.5;color:var(--grigio)}
.aiuto-consenso a{color:var(--verde-scuro);font-weight:650}
/* Il rosso solo dopo un tentativo di invio, su ciò che manca davvero. */
.aiuto-form.provato input:invalid{border-color:#D01532;background:#FFF5F6}
.aiuto-form.provato input:invalid + span,
.aiuto-form.provato .aiuto-consenso input:invalid ~ span{color:#8A0D20}
.aiuto-form input:focus{outline:2px solid var(--verde);outline-offset:1px}
.aiuto-form .aiuto-esito{margin:12px 0 0;font-size:13.5px}
.aiuto-form .aiuto-esito.ko{color:#8A0D20}
.aiuto-form .aiuto-esito.ok{color:var(--verde-scuro)}

/* FRECCE, CENTRAGGIO — 15/09/2026. Il segno era un angolo fatto con due bordi
   ruotato di 45 gradi: il suo baricentro NON coincide con quello della scatola,
   e i margini a mano sbagliavano di 2px. Misurato fotografando il bottone e
   calcolando il baricentro dei pixel chiari. Qui la scatola si centra da sola
   e la correzione ottica e un numero misurato, non indovinato. */
.vetrina .vt-frec::after{margin:0;left:50%;top:50%;width:10px;height:10px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;border-radius:1px}
.vetrina .vt-prec::after{transform:translate(-50%,-50%) rotate(135deg)}
.vetrina .vt-succ::after{transform:translate(-50%,-50%) rotate(-45deg)}
/* correzione ottica misurata: il baricentro del segno cadeva 2,1px a sinistra
   e 0,8px in basso nella precedente, 1,5 e 0,8 nella successiva. */
.vetrina .vt-prec::after{
  transform:translate(calc(-50% + 2px), calc(-50% - 1px)) rotate(135deg)}
.vetrina .vt-succ::after{
  transform:translate(calc(-50% + 2px), calc(-50% - 1px)) rotate(-45deg)}
/* correzione presa dal baricentro misurato DENTRO il cerchio: prima il mio
   strumento contava anche gli angoli fuori e la misura non si muoveva mai. */
.vetrina .vt-prec::after{
  transform:translate(calc(-50% + 3px), calc(-50% + 1px)) rotate(135deg)}
.vetrina .vt-succ::after{
  transform:translate(calc(-50% - 3px), calc(-50% + 1px)) rotate(-45deg)}

/* FRECCE DEI CAROSELLI — 15/09/2026. Erano i caratteri « e »: misurato che
   il glifo della precedente cade 15px SOTTO il centro del bottone, perche la
   posizione di un carattere la decide il font, non noi. Sostituiti con la
   stessa forma disegnata della vetrina, centrata su misura. */
.car-freccia{font-size:0;line-height:0;position:absolute;display:block}
.car-freccia::after{content:"";position:absolute;left:50%;top:50%;
  width:10px;height:10px;border-right:2px solid var(--notte);
  border-bottom:2px solid var(--notte);border-radius:1px}
.car-freccia[data-dir="-1"]::after{
  transform:translate(calc(-50% + 3px), calc(-50% + 1px)) rotate(135deg)}
.car-freccia[data-dir="1"]::after{
  transform:translate(calc(-50% - 3px), calc(-50% + 1px)) rotate(-45deg)}

/* SCHEDA PRODOTTO NELLA GRIGLIA — 15/09/2026. Le altezze ballavano di 20px
   (545, 551, 537, 531) perche titolo e marchio vanno a capo a piacere.
   Ora ogni pezzo ha il suo spazio riservato: due righe per il titolo, una per
   il marchio. Le schede si allineano anche quando i testi sono diversi. */
ul.products li.product{display:flex;flex-direction:column}
ul.products li.product .marca{min-height:16px;overflow:hidden;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:2.6em;line-height:1.3}
ul.products li.product .price{margin-top:auto}
/* SCHELETRO — 15/09/2026. Le foto sono pigre: finche non arrivano il riquadro
   resta vuoto e la pagina sembra rotta. Un fondo che pulsa dice "sta
   arrivando", e sparisce da solo quando l'immagine copre il riquadro. */
ul.products li.product a.woocommerce-LoopProduct-link{
  background:linear-gradient(100deg,#F1F4F7 30%,#F8FAFB 50%,#F1F4F7 70%)
    0 0/300% 100%;animation:cedis-scheletro 1.4s ease-in-out infinite}
ul.products li.product img{background:#fff}
@keyframes cedis-scheletro{0%{background-position:100% 0}100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){
  ul.products li.product a.woocommerce-LoopProduct-link{animation:none}}
/* misurato: l'unico pezzo che cambiava altezza era il collo, 18 contro 24,
   perche quando manca esce una versione vuota piu bassa. */
ul.products li.product .collo{min-height:24px;display:block}

/* IL RIQUADRO DEL PIEDE E TUTTO UN COLLEGAMENTO — 15/09/2026.
   Prima il bersaglio era solo la scritta in fondo: adesso si clicca ovunque.
   Tolto il bottone interno e tolto il margine sotto la frase, che serviva
   solo a fargli spazio. */
.piede .piede-promo{display:block;text-decoration:none;cursor:pointer;
  transition:background .2s ease,border-color .2s ease}
.piede .piede-promo span{margin:0}
.piede .piede-promo:hover{background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28)}
.piede .piede-promo:hover b{color:#fff}
.piede .piede-promo:focus-visible{outline:2px solid var(--verde);outline-offset:2px}

/* LA LENTE — 15/09/2026. La foto del prodotto apriva il file .jpg nudo.
   Ora si apre dentro la pagina, con le frecce se c'e una galleria. */
.lente{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;
  justify-content:center;background:rgba(6,16,28,.92);opacity:0;
  transition:opacity .22s ease;padding:56px 24px}
.lente.on{opacity:1}
.lente img{max-width:min(1100px,92vw);max-height:86vh;width:auto;height:auto;
  border-radius:var(--r-md);background:#fff;display:block;
  box-shadow:0 30px 80px rgba(0,0,0,.5)}
.lente-chiudi{position:absolute;top:18px;right:20px;width:42px;height:42px;
  border:0;border-radius:50%;background:rgba(255,255,255,.14);cursor:pointer}
.lente-chiudi::before,.lente-chiudi::after{content:"";position:absolute;
  left:12px;top:20px;width:18px;height:2px;background:#fff}
.lente-chiudi::before{transform:rotate(45deg)}
.lente-chiudi::after{transform:rotate(-45deg)}
.lente-frec{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;
  border:0;border-radius:50%;background:rgba(255,255,255,.16);cursor:pointer}
.lente-prec{left:18px}
.lente-succ{right:18px}
.lente-frec:hover,.lente-chiudi:hover{background:rgba(255,255,255,.3)}
.lente-frec::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;border-radius:1px}
.lente-prec::after{transform:translate(calc(-50% + 3px), calc(-50% + 1px)) rotate(135deg)}
.lente-succ::after{transform:translate(calc(-50% - 3px), calc(-50% + 1px)) rotate(-45deg)}
.lente-cont{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
  color:rgba(255,255,255,.85);font-size:13.5px;letter-spacing:.06em}
.woocommerce-product-gallery a[href]{cursor:zoom-in;display:block}
@media(max-width:600px){.lente{padding:52px 12px}
  .lente-frec{width:40px;height:40px;margin-top:-20px}
  .lente-prec{left:8px}.lente-succ{right:8px}}
@media(prefers-reduced-motion:reduce){.lente{transition:none}}

/* I TRE PASSI — 15/09/2026, su richiesta: margine interno uguale su tutti i
   lati. Toglie anche l'eccezione dell'ultimo, che aveva il destro a zero. */
.prepiede .pp-passi li{padding:15px}
.prepiede .pp-passi li:last-child{padding:15px}

/* MARCHI NELLA FINESTRA FILTRI — 15/09/2026. Erano nome e numero nudi, mentre
   la pagina /marchi/ mostra il logo davanti. Stesso disegno nei due posti:
   logo, nome, conteggio. */
.filtri-lato .f-marchi li{margin:0 0 2px}
.filtri-lato .f-marchi a{display:flex;align-items:center;gap:10px;
  padding:7px 10px;border-radius:8px;justify-content:flex-start}
.filtri-lato .f-marchi img,.filtri-lato .f-marchi .f-nologo{
  flex:none;width:34px;height:34px;object-fit:contain;background:#fff;
  border:1px solid var(--linea);border-radius:6px;padding:3px}
.filtri-lato .f-marchi .f-nologo{display:flex;align-items:center;
  justify-content:center;font-weight:700;color:var(--grigio);font-size:14px;padding:0}
.filtri-lato .f-marchi .f-mk-testo{display:flex;flex-direction:column;min-width:0;
  line-height:1.25}
.filtri-lato .f-marchi .f-mk-testo b{font-weight:650;font-size:14px;color:var(--notte);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filtri-lato .f-marchi .f-mk-testo em{font-style:normal;font-size:12px;color:var(--grigio)}
.filtri-lato .f-marchi a.on{background:var(--verde)}
.filtri-lato .f-marchi a.on .f-mk-testo b{color:#fff}
.filtri-lato .f-marchi a.on .f-mk-testo em{color:rgba(255,255,255,.8)}
.filtri-lato.finestra ul.f-marchi{display:grid;
  grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:4px 16px;max-height:none}
/* col logo ogni riga e alta 48 invece di 26: senza tetto il blocco Marchio
   arrivava a 1.176px e il corpo scorreva di 1.289. */
.filtri-lato.finestra ul.f-marchi{max-height:320px;overflow-y:auto;padding-right:8px}

/* DUE COLONNE PER LE PAGINE DI TESTO — 15/09/2026. Il testo resta stretto per
   leggibilita, ma i 570px a destra non restano bianchi: ci va una scheda coi
   dati veri del catalogo, contati. */
.due-colonne{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;
  align-items:start;padding-bottom:20px}
.due-colonne .dc-testo > section{padding:0}
.lato-dati{position:sticky;top:96px;border:1px solid var(--linea);border-radius:var(--r-lg);
  padding:22px 24px;background:var(--sabbia)}
.lato-dati h2{margin:0 0 14px;font-size:13px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--verde)}
.lato-dati dl{margin:0 0 18px}
.lato-dati dt{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--grigio);font-weight:700;margin:0 0 2px}
.lato-dati dd{margin:0 0 12px;font-size:14.5px;line-height:1.45;color:var(--notte)}
.lato-dati dd:last-of-type{margin-bottom:0}
.lato-btn,.lato-btn2{display:block;text-align:center;padding:13px 24px;
  border-radius:var(--r-sm);font-weight:650;font-size:15px;text-decoration:none}
.lato-btn{background:var(--verde);color:#fff;margin:0 0 8px}
.lato-btn:hover{background:var(--verde-scuro)}
.lato-btn2{background:#fff;color:var(--notte);border:1px solid var(--linea)}
.lato-btn2:hover{border-color:var(--verde);color:var(--verde)}
@media(max-width:900px){.due-colonne{grid-template-columns:1fr;gap:28px}
  .lato-dati{position:static}}

/* SCHEDE DELLE PAGINE PORTATE — 15/09/2026, terza passata.
   Due difetti misurati su /azienda/: in una griglia da 4 schede l'ultima
   veniva larga 1.100 contro 349 delle altre (il flex la allargava), e ogni
   collegamento diventava un bottone verde pieno. Sul sito vivo quegli stessi
   blocchi hanno un collegamento sottile con la freccia, in fondo alla scheda.
   Una scheda resta larga una colonna, sempre. */
.portata .pt-schede{display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:26px;align-items:stretch}
.portata .pt-schede > *{flex:none;min-width:0;max-width:none}
/* il collegamento: testo verde con la freccia, in fondo, come sul vivo. */
.portata .pt-scheda ul{list-style:none;margin:auto 18px 0;padding:14px 0 16px;
  border-top:1px solid var(--linea)}
.portata .pt-scheda ul li{margin:0}
.portata .pt-scheda ul a{display:flex;align-items:center;justify-content:space-between;
  gap:10px;background:none;color:var(--verde-scuro);padding:0;border-radius:0;
  font-weight:650;font-size:14.5px;text-decoration:none}
.portata .pt-scheda ul a::after{content:"\2197";font-size:16px;line-height:1}
.portata .pt-scheda ul a:hover{color:var(--notte);text-decoration:none;background:none}
/* una scheda sola in una griglia sembra un frammento: diventa una fascia
   orizzontale, foto a sinistra e testo a destra. */
.portata .pt-schede > .pt-scheda:only-child{grid-column:1/-1;
  display:grid;grid-template-columns:340px minmax(0,1fr);align-items:stretch}
.portata .pt-schede > .pt-scheda:only-child .pt-foto,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-foto{aspect-ratio:auto;height:100%}
.portata .pt-schede > .pt-scheda:only-child h3{margin-top:24px}
.portata .pt-schede > .pt-scheda:only-child ul{margin-left:18px;margin-right:18px}
@media(max-width:700px){
  .portata .pt-schede > .pt-scheda:only-child{grid-template-columns:1fr}
  .portata .pt-schede > .pt-scheda:only-child .pt-foto{aspect-ratio:4/3}}
/* Con tre colonne, una scheda che resta sola sull'ultima riga lasciava 751px
   di buco: diventa una fascia orizzontale come la scheda singola. Vale solo
   dove le colonne sono davvero tre, cioe sopra i 1000px. */
@media(min-width:1000px){
  .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child{grid-column:1/-1;
    display:grid;grid-template-columns:340px minmax(0,1fr);align-items:stretch}
  .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-foto{
    aspect-ratio:auto;height:100%}
  .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child h3{margin-top:24px}
}
/* Se restano DUE schede sull'ultima riga, si dividono lo spazio invece di
   lasciare 375px vuoti: una colonna e mezza ciascuna. */
@media(min-width:1000px){
  .portata .pt-schede > .pt-scheda:nth-child(3n+1):nth-last-child(2),
  .portata .pt-schede > .pt-scheda:nth-child(3n+2):last-child{grid-column:span 3}
  .portata .pt-schede{grid-template-columns:repeat(6,minmax(0,1fr))}
  .portata .pt-schede > .pt-scheda{grid-column:span 2}
  .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child{grid-column:1/-1}
}

/* BARRA FILTRI, LARGHEZZA — 15/09/2026. La regola di base diceva solo
   display:grid, senza dire alla colonna di stare dentro il contenitore.
   Finche i marchi erano testo nudo bastava; da quando hanno il logo il
   contenuto minimo e cresciuto e la colonna si e allargata a 265,9px dentro
   uno spazio da 230, andando ADDOSSO alla griglia dei prodotti: misurato
   -4px di stacco, cioe sovrapposizione. Causato da me con i loghi. */
.catalogo-griglia > .filtri-lato:not(.finestra){grid-template-columns:minmax(0,1fr)}
.filtri-lato:not(.finestra) .f-marchi a{min-width:0}
.filtri-lato:not(.finestra) .f-marchi img,
.filtri-lato:not(.finestra) .f-marchi .f-nologo{width:28px;height:28px}
/* le schede prodotto stavano a 14px l'una dall'altra: stretto. */
.catalogo-griglia ul.products{gap:22px}

/* MARCHI, ALLINEAMENTO — 15/09/2026. Misurato: il logo finiva a 46px e il
   testo cominciava a 132, con 86px di vuoto in mezzo, perche una regola
   precedente impone justify-content:space-between e vinceva sulla mia.
   Qui il testo sta attaccato al logo, allineato a sinistra. */
.filtri-lato .f-blocco .f-marchi a,
.filtri-lato.finestra .f-blocco .f-marchi a{justify-content:flex-start;text-align:left}
.filtri-lato .f-blocco .f-marchi .f-mk-testo{flex:1 1 auto;align-items:flex-start;
  text-align:left}

/* RIGA SOPRA LA FOTO DEL BANNER — 15/09/2026. La fotografia da sola non dice
   niente. La frase non e nuova: e la stessa gia pubblicata al passo 3 di
   /come-si-ordina/. Sopra ha una sfumatura scura sua, perche il contrasto
   non puo dipendere da quanto e chiara la foto in quel punto. */
.banner-t{position:relative}
.banner-t::before{content:"";position:absolute;left:0;right:0;top:0;height:170px;
  background:linear-gradient(180deg,rgba(6,16,28,.72),rgba(6,16,28,0));z-index:1;
  pointer-events:none}
.banner-t .bt-alto{position:absolute;top:26px;left:30px;right:30px;z-index:2;
  color:#fff;font-size:20px;font-weight:650;letter-spacing:-.01em;line-height:1.3;
  text-shadow:0 1px 14px rgba(0,0,0,.45)}
@media(max-width:860px){.banner-t .bt-alto{font-size:16px;top:18px;left:18px;right:18px}}
/* misurato: con la sola sfumatura il contrasto peggiore era 1,26:1 dove la
   foto e chiara. La riga prende un fondo proprio, cosi il contrasto e lo
   stesso ovunque e non dipende da che foto ci sta sotto. */
.banner-t .bt-alto{right:auto;display:inline-block;width:auto;max-width:calc(100% - 60px);
  background:rgba(8,22,38,.86);padding:9px 16px;border-radius:var(--r-md);
  backdrop-filter:blur(3px);text-shadow:none}
/* la sfocatura dietro rendeva il fondo trasparente in resa: tolta, il fondo
   e un colore pieno e il contrasto e lo stesso ovunque. */
.banner-t .bt-alto{backdrop-filter:none;background:rgba(8,22,38,.9)}

/* SCHEDA SOLA — 15/09/2026, correzione di una regola mia di un'ora fa.
   Avevo trasformato la scheda sola in una fascia a tutta larghezza. Su
   /per-chi/horeca/ le schede sole sono QUATTRO di fila: quattro fasce da
   1100x642 una dietro l'altra, misurate. Un gruppo di uno non e un gruppo:
   torna a essere un blocco di testo con la foto a fianco, senza cornice,
   dentro il discorso invece che sopra. */
.portata .pt-schede > .pt-scheda:only-child,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child{
  border:0;background:none;border-radius:0;
  grid-template-columns:560px minmax(0,1fr);gap:40px;align-items:center}
.portata .pt-schede > .pt-scheda:only-child .pt-foto,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-foto{
  aspect-ratio:auto;height:100%;border-radius:var(--r-md);overflow:hidden}
.portata .pt-schede > .pt-scheda:only-child h3,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child h3{
  margin:0 0 10px;padding:0;font-size:24px}
.portata .pt-schede > .pt-scheda:only-child > *:not(.pt-foto),
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child > *:not(.pt-foto){
  padding-left:0;padding-right:0}
.portata .pt-schede > .pt-scheda:only-child ul,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child ul{
  margin:10px 0 0;border-top:0;padding:0}
/* una scheda sola SENZA foto non e una scheda: e un titolo col suo testo.
   Misurato un caso alto 33px che conteneva solo un titolo incorniciato. */
.portata .pt-schede:has(> .pt-scheda:only-child:not(:has(.pt-foto))){display:block}
.portata .pt-schede > .pt-scheda:only-child:not(:has(.pt-foto)){
  display:block;padding:0;border:0;background:none}

/* PAGINE DI REPARTO — 15/09/2026. Marchi del reparto col logo, poi i suoi
   prodotti con la scheda del catalogo. Stesso disegno di /marchi/, non uno
   nuovo: gli stessi dati devono avere lo stesso aspetto ovunque. */
.rep-blocco{margin:0 0 40px}
.rep-tit{display:flex;align-items:baseline;gap:10px;margin:36px 0 18px;
  font-size:26px;letter-spacing:-.01em}
.rep-tit span{font-size:14px;font-weight:600;color:var(--grigio);
  background:var(--sabbia);border-radius:var(--r-pill);padding:3px 11px}
.rep-marchi{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 20px}
.rep-tutti{display:inline-block;margin:18px 0 0;font-weight:650;
  color:var(--verde-scuro);text-decoration:none}
.rep-tutti:hover{text-decoration:none}

/* ===== SCALA DELLA SPAZIATURA — 15/09/2026 =====
   Misurato sulla home: gli stacchi fra le sezioni erano 0, 0, 0, 8, 0, 0.
   Nessun ritmo: i blocchi si toccavano. E il margine laterale era 20px
   identico a 390, 768 e 1440, cioe la stessa aria su un telefono e su uno
   schermo largo. Qui una scala sola, che cresce con la larghezza. */
:root{
  --sp-sezione:clamp(38px, 4.4vw, 76px);
  --sp-lato:clamp(16px, 2.2vw, 28px);
}
main > .wrap + .wrap,
main > .wrap + section,
main > section + .wrap,
main > section + section{margin-top:var(--sp-sezione)}
/* il primo stacco mancava: il blocco d'apertura e un div, non una section. */
main > * + .wrap,
main > * + section{margin-top:var(--sp-sezione)}
/* margine laterale che cresce con lo schermo invece di restare 20px fisso. */
.wrap{padding-left:var(--sp-lato);padding-right:var(--sp-lato)}
/* un .wrap dentro un altro .wrap prende il margine laterale due volte:
   misurato, la vetrina cominciava a 179 e i prodotti sotto a 151. */
.wrap .wrap{padding-left:0;padding-right:0}

/* SCHEDA PRODOTTO, LARGHEZZA — 15/09/2026. Misurato: a 390 il documento era
   largo 829px e la pagina si vedeva rimpicciolita. Colpa dei prodotti
   correlati, che usano colonne FISSE da 250px per quattro, e di un blocco
   dentro site-main, contenitore di WooCommerce che il tema non veste.
   Le colonne diventano fluide e i contenitori non superano la finestra. */
.single-product ul.products.columns-4,
.single-product ul.products{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-width:100%}
.site-main,.content-area,.single-product .related,.single-product .upsells{
  max-width:100%;min-width:0;overflow-x:hidden}
/* restavano colonne miste 150/150/250/250: le implicite le decideva una
   regola dei caroselli con grid-auto-columns fisso a 250px. */
.single-product ul.products{grid-auto-columns:minmax(150px,1fr);
  grid-auto-flow:row;overflow-x:visible}

/* LA STORIA DEL MARCHIO NELL'ELENCO — 15/09/2026. Dieci marchi su 75 hanno
   una pagina di presentazione. Nell'elenco si raggiunge con un secondo
   collegamento, piccolo, sotto il nome: il primo resta quello ai prodotti. */
.mk-voce{position:relative}
.mk-storia{display:inline-block;margin:2px 0 0 60px;font-size:12px;
  font-weight:650;color:var(--verde-scuro);text-decoration:none;
  border-bottom:1px solid currentColor;line-height:1.3}
.mk-storia:hover{color:var(--notte)}
.filtri-lato .mk-storia{display:none}

/* PRODOTTI CORRELATI — 15/09/2026, correzione di una regola mia di poco fa.
   Per far stare la pagina nella finestra avevo messo colonne da minimo
   150px: a 1440 la griglia ne creava SEI da 170px per quattro schede, e le
   schede uscivano schiacciate. Con auto-fit le colonne vuote spariscono e
   le quattro si dividono lo spazio; il minimo a 45% tiene due colonne sul
   telefono, come nel catalogo. */
.single-product ul.products,
.single-product ul.products.columns-4{
  grid-template-columns:repeat(auto-fit,minmax(min(220px,45%),1fr))}

/* I NUMERI DIRETTI SULLA FOTO — 15/09/2026. Erano dentro un riquadro scuro
   che sembrava un secondo pannello incollato. Ora stanno sulla fotografia,
   in riga, con una sfumatura larga sotto invece di una scatola: la sfumatura
   non si vede come bordo, ma garantisce il contrasto anche dove la foto e
   chiara. Il contrasto e misurato sui pixel, non dato per buono. */
.banner-t::after{content:"";position:absolute;left:0;right:0;bottom:0;height:190px;
  background:linear-gradient(0deg,rgba(6,16,28,.78),rgba(6,16,28,0));
  z-index:1;pointer-events:none}
.banner-t .bt-dati{position:absolute;right:30px;bottom:26px;left:auto;top:auto;
  z-index:2;flex-direction:row;align-items:flex-end;gap:34px;
  background:none;backdrop-filter:none;border-radius:0;padding:0;margin:0}
.banner-t .bt-dati > span{align-items:flex-start;text-align:left;
  text-shadow:0 1px 12px rgba(0,0,0,.55)}
.banner-t .bt-dati b{font-size:38px;line-height:1;letter-spacing:-.02em;
  text-shadow:0 2px 16px rgba(0,0,0,.55)}
@media(max-width:1000px){.banner-t .bt-dati{gap:22px;right:22px;bottom:20px}
  .banner-t .bt-dati b{font-size:30px}}
/* misurato: con la sola sfumatura dal basso il contrasto peggiore era
   2,22:1 dove la foto e chiara. Se ne aggiunge una da destra, larga e senza
   bordi: resta una sfumatura, non una scatola. */
.banner-t::after{
  background:linear-gradient(0deg,rgba(6,16,28,.82),rgba(6,16,28,0)),
             linear-gradient(270deg,rgba(6,16,28,.8),rgba(6,16,28,0) 62%);
  height:230px}

/* BANDE RIEMPITE COI PRODOTTI — 15/09/2026, correzione di una cosa mia.
   Gastronomia e Pesce, che prendono le foto dei loro prodotti invece delle
   fotografie del cliente, venivano alte 967px contro 530-651 delle altre:
   la foto grande usciva a 657 perche non aveva un rapporto imposto.
   Qui prende lo stesso rapporto delle altre bande. */
.mc-grande:has(> a){height:auto}
.mc-grande:has(> a) a{aspect-ratio:16/10;height:auto;display:block}
.mc-tessera:has(> a) a{aspect-ratio:1/1;height:auto;display:block}
/* Sul vivo la banda Condimenti ha le tessere SOPRA e la foto grande sotto.
   Misurato dalle coordinate: tessere y=2778, grande y=3107. Non e
   un'eccezione scritta nel codice: e una colonna del file dei dati. */
.mc-banda[data-ordine="tessere-prima"] .mc-grande{order:2}
.mc-banda[data-ordine="tessere-prima"] .mc-tessere{order:1}

/* HERO — 15/09/2026. Misurato: margine sopra 48 e sotto 56, cioe non
   centrato; fondo piatto. Ora il margine e lo stesso e usa la scala della
   spaziatura, e il fondo ha una profondita leggera che non tocca il
   contrasto del testo (bianco su blu notte). */
.ordine{padding-block:var(--sp-sezione);
  background:radial-gradient(120% 90% at 78% 12%, #0C5535 0%, transparent 60%),
             linear-gradient(180deg, #014C2E 0%, #012A1A 100%)}
.ordine .wrap{align-items:center}

/* APPROFONDIMENTI — 15/09/2026. Indice dei 154 articoli per categoria. */
.ap-gruppo{margin:0 0 44px}
.ap-tit{display:flex;align-items:baseline;gap:10px;margin:0 0 18px;font-size:24px}
.ap-tit span{font-size:13px;font-weight:600;color:var(--grigio);
  background:var(--sabbia);border-radius:var(--r-pill);padding:3px 10px}
.ap-tutti{margin-left:auto;font-size:14px;font-weight:650;
  color:var(--verde-scuro);text-decoration:none}
.ap-tutti:hover{text-decoration:none}
.ap-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:22px}
.ap-scheda{display:flex;flex-direction:column;border:1px solid var(--linea);
  border-radius:var(--r-md);overflow:hidden;text-decoration:none;background:#fff;
  transition:border-color .2s ease,transform .2s ease}
.ap-scheda:hover{border-color:var(--verde);transform:translateY(-2px)}
.ap-foto{display:block;position:relative;aspect-ratio:16/10;background:var(--sabbia);overflow:hidden}
.ap-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ap-testo{display:block;padding:14px 16px 16px}
.ap-testo b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;font-size:16px;line-height:1.3;color:var(--notte);margin:0 0 6px}
.ap-testo em{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;
  overflow:hidden;font-style:normal;font-size:13.5px;line-height:1.5;
  color:var(--grigio)}
/* Lo sticky vive dentro il suo contenitore: se la colonna e alta quanto la
   scheda, non ha spazio in cui restare. Misurato: dopo 700px di scorrimento
   il blocchetto era a -342, cioe uscito. La colonna si allunga quanto la riga. */
.due-colonne{align-items:stretch}
.due-colonne .dc-lato{align-self:stretch}

/* ===== BLOCCHI DELLE PAGINE MARCHIO — 15/09/2026 =====
   Misure prese dal vivo: testata a tutta larghezza, logo 300px centrato,
   schede del tris 407px, mezze fasce 720px, promo a tutta larghezza. */
.bl-testata{margin:0 0 var(--sp-sezione)}
.bl-testata-foto{position:relative;min-height:250px;display:flex;
  align-items:center;justify-content:center;background-size:cover;
  background-position:center;padding:40px 20px}
.bl-testata-foto::before{content:"";position:absolute;inset:0;
  background:rgba(6,16,28,.18)}
.bl-logo{position:relative;z-index:1;width:300px;max-width:72vw;height:auto;
  filter:drop-shadow(0 6px 24px rgba(0,0,0,.28))}
.bl-testata-testo{max-width:900px;margin:44px auto 0;padding:0 24px;text-align:center}
.bl-testata-testo p{font-size:21px;line-height:1.6;color:var(--notte);margin:0}
.bl-titolo{max-width:1180px;margin:0 auto var(--sp-sezione);padding:0 var(--sp-lato);
  font-size:30px;letter-spacing:-.01em;line-height:1.25}
.bl-tris{max-width:1180px;margin:0 auto var(--sp-sezione);padding:0 var(--sp-lato);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));
  gap:34px;align-items:stretch}
.bl-scheda{display:flex;flex-direction:column}
.bl-scheda-foto{display:block;aspect-ratio:16/9;border-radius:var(--r-sm);overflow:hidden;
  background:var(--sabbia);margin:0 0 18px}
.bl-scheda-foto img{width:100%;height:100%;object-fit:cover;display:block}
.bl-scheda h3{margin:0 0 10px;font-size:19px;line-height:1.3;color:var(--notte)}
.bl-scheda p{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--grigio)}
.bl-scheda-vai{margin-top:auto;display:flex;align-items:center;
  justify-content:space-between;gap:12px;padding:14px 0 0;
  border-top:1px solid var(--linea);color:var(--verde-scuro);
  font-weight:650;font-size:15px;text-decoration:none}
.bl-scheda-vai:hover{color:var(--notte)}
.bl-scheda-vai span{font-size:17px;line-height:1}
.bl-fasce{display:grid;grid-template-columns:1fr 1fr;margin:0 0 var(--sp-sezione)}
.bl-fascia{position:relative;min-height:360px;display:flex;align-items:flex-start;
  background-size:cover;background-position:center bottom;padding:44px 40px}
.bl-fascia-corpo{position:relative;z-index:1;max-width:640px}
.bl-fascia p{margin:0 0 22px;font-size:17px;line-height:1.55}
.bl-t-scuro,.bl-t-scuro p{color:var(--notte)}
.bl-t-chiaro,.bl-t-chiaro p{color:#fff}
.bl-btn-contorno{display:inline-block;padding:12px 26px;border-radius:4px;
  border:1px solid currentColor;font-weight:650;font-size:14px;
  letter-spacing:.08em;text-transform:uppercase;text-decoration:none;
  color:inherit;transition:background .2s ease}
.bl-t-scuro .bl-btn-contorno:hover{background:rgba(0,0,0,.08)}
.bl-t-chiaro .bl-btn-contorno:hover{background:rgba(255,255,255,.16)}
.bl-promo{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;
  margin:0 0 var(--sp-sezione);padding:44px 48px;color:#fff;overflow:hidden}
.bl-promo h2{margin:0 0 10px;font-size:40px;letter-spacing:-.02em;color:#fff}
.bl-promo p{margin:0 0 24px;font-size:17px;color:rgba(255,255,255,.9)}
.bl-promo .bl-btn-contorno{color:#fff}
.bl-promo .bl-btn-contorno:hover{background:rgba(255,255,255,.16)}
.bl-promo-foto img{display:block;max-width:420px;width:100%;height:auto}
.bl-chiusura{position:relative;min-height:380px;display:flex;align-items:center;
  background-size:cover;background-position:center;margin:0 0 var(--sp-sezione);
  padding:48px 44px}
.bl-chiusura::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(6,16,28,.8),rgba(6,16,28,.15))}
.bl-chiusura-corpo{position:relative;z-index:1;max-width:520px;color:#fff}
.bl-chiusura h2{margin:0 0 22px;font-size:30px;line-height:1.25;color:#fff}
.bl-chiusura .bl-btn-contorno{color:#fff}
@media(max-width:860px){
  .bl-fasce{grid-template-columns:1fr}
  .bl-promo{grid-template-columns:1fr;padding:32px 22px}
  .bl-promo h2{font-size:28px}
  .bl-fascia{min-height:280px;padding:32px 22px}
  .bl-chiusura{padding:36px 22px;min-height:300px}
}

/* PIENA LARGHEZZA CONTRO CASSA — 15/09/2026. Misurato sul vivo: le due mezze
   fasce stanno a x=0 e x=720, larghe 720 ciascuna su 1440, cioe da bordo a
   bordo. La testata idem. Titolo (x=80 w=1280), tris (x=80..1360), promo
   (x=70 w=1300) e chiusura stanno invece in una cassa.
   Questa e la tecnica per uscire da un contenitore centrato senza sfondare
   il documento: si toglie meta della differenza fra finestra e contenitore. */
.bl-piena{width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.bl-testata,.bl-fasce{width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.bl-testata{margin-top:0}
/* il titolo usciva largo 820 contro i 1100 di tris, promo e chiusura:
   una regola di larghezza di lettura lo stringeva. In cassa stanno tutti
   alla stessa larghezza, altrimenti i bordi non si allineano. */
.bl-titolo{max-width:none;width:100%}
.bl-tris,.bl-promo,.bl-chiusura,.bl-titolo{margin-left:auto;margin-right:auto}
/* .portata > h2 impone 820px di larghezza di lettura: giusto per i testi
   portati dal vivo, sbagliato per il titolo di un blocco, che deve
   allinearsi a tris, promo e chiusura. */
.portata > h2.bl-titolo{max-width:none}
/* CHIUSURA — 15/09/2026. Misurato: sul vivo la fotografia sta a x=100 larga
   580, col testo accanto. Io la usavo come sfondo a 1100 su un file da 879:
   rapporto 0,80, cioe stirata e sgranata. Qui la foto occupa la sua meta e
   il testo l'altra, come sul vivo. */
.bl-chiusura{background-size:52% auto;background-position:left center;
  background-repeat:no-repeat;background-color:var(--notte);
  justify-content:flex-end;padding-left:56%}
.bl-chiusura::before{background:linear-gradient(90deg,
  rgba(6,16,28,0) 0%,rgba(6,16,28,.2) 48%,rgba(6,16,28,.55) 56%)}
@media(max-width:860px){
  .bl-chiusura{background-size:cover;background-position:center;padding-left:22px}
  .bl-chiusura::before{background:linear-gradient(90deg,rgba(6,16,28,.8),rgba(6,16,28,.3))}
}

/* LA STORIA, SULLA STESSA RIGA — 15/09/2026. Misurato: le voci andavano da
   67 a 130px di altezza, e le dieci col collegamento alla storia erano le
   piu alte, spezzando le righe della griglia. Ora il secondo collegamento
   sta a destra sulla stessa riga: tutte le voci hanno la stessa altezza. */
.mk-voce{display:flex;align-items:stretch;gap:10px}
.mk-voce > a:first-child{flex:1 1 auto;min-width:0}
.mk-storia{flex:none;margin:0;align-self:center;padding:7px 12px;
  border:1px solid var(--linea);border-bottom-color:var(--linea);
  border-radius:8px;font-size:12.5px;white-space:nowrap;
  color:var(--verde-scuro);background:#fff}
.mk-storia:hover{border-color:var(--verde);color:var(--verde-scuro);
  background:var(--verde-tenue)}

/* BRICIOLE — 15/09/2026. C'erano solo sulle pagine di WooCommerce. Stesso
   aspetto, cosi il percorso si legge uguale ovunque. Da stretto scorrono in
   orizzontale invece di andare a capo: su un telefono un percorso lungo su
   tre righe mangia mezzo schermo. */
.briciole{font-size:13.5px;color:var(--grigio);padding:14px 0}
.briciole .wrap{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;
  overflow-x:auto;scrollbar-width:none}
.briciole .wrap::-webkit-scrollbar{display:none}
.briciole a{color:var(--grigio);text-decoration:none;white-space:nowrap}
.briciole a:hover{color:var(--verde-scuro);text-decoration:none}
.briciole span{color:var(--notte);font-weight:600;white-space:nowrap}
.briciole i{font-style:normal;color:var(--linea);flex:none}
/* Il banner promo del vivo e un'immagine gia composta: verde a sinistra e
   prodotto a destra, 1280x300. Quando c'e lo sfondo il testo sta nella meta
   sinistra e non serve la colonna della foto. */
.bl-promo-sfondo{grid-template-columns:minmax(0,52%) 1fr;min-height:300px;
  align-items:center}
.bl-promo-sfondo .bl-promo-foto{display:none}
@media(max-width:860px){
  .bl-promo-sfondo{grid-template-columns:1fr;min-height:0;
    background-position:right center}
}
/* Su /azienda/ le briciole partivano a 191 invece di 151: erano dentro il
   contenitore delle pagine portate, che ha un suo margine. Fuori da li. */
.portata > .briciole{margin-left:calc(0px - var(--sp-lato));
  margin-right:calc(0px - var(--sp-lato))}
.portata > .briciole .wrap{padding-left:var(--sp-lato);padding-right:var(--sp-lato)}
/* meglio: le briciole escono dal contenitore come i blocchi a piena
   larghezza, e il loro .wrap le ricentra. Cosi partono allo stesso pixel
   del contenuto, qualunque sia il contenitore che le ospita. */
.portata > .briciole{width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
/* 100vw comprende la barra di scorrimento: a 390 le briciole partivano a 9
   invece di 16. Niente vw: si esce dal contenitore con un margine negativo
   pari al suo margine interno, che e lo stesso valore della scala. */
.portata > .briciole{width:auto;max-width:none;
  margin-left:calc(0px - var(--sp-lato));margin-right:calc(0px - var(--sp-lato))}

/* IMMAGINI DENTRO I PARAGRAFI — 15/09/2026. Misurato: nove immagini su
   quattro pagine stanno dentro un <p>, quindi larghe 820 (la larghezza di
   lettura) invece dei 1100 del contenuto, con <br> e collegamenti nudi
   attaccati sopra. Un paragrafo che contiene un'immagine non e un paragrafo:
   qui torna largo quanto il contenuto e l'immagine prende il suo spazio. */
.portata > p:has(img){max-width:none;display:flex;flex-direction:column;
  align-items:flex-start;gap:14px;margin:22px 0 26px}
.portata > p:has(img) br{display:none}
.portata > p:has(img) img{width:100%;height:auto;border-radius:var(--r-md);display:block}
.portata > p:has(img) > a:has(img){display:block;width:100%}
/* i collegamenti di testo che accompagnano quelle immagini erano scritte
   nude seguite da un <br>: diventano un bottone, come nel resto del sito. */
.portata > p:has(img) > a:not(:has(img)){display:inline-block;order:2;
  padding:11px 22px;border-radius:var(--r-sm);background:var(--verde);color:#fff;
  font-weight:650;font-size:14.5px;text-decoration:none}
.portata > p:has(img) > a:not(:has(img)):hover{background:var(--verde-scuro)}
/* a 360 un collegamento usciva di 17px: i bottoni non devono mai essere
   piu larghi del loro spazio, e il testo va a capo invece di sfondare. */
.portata a,.portata > p:has(img) > a:not(:has(img)){max-width:100%;
  overflow-wrap:anywhere}

/* ===== FINESTRA FILTRI A DUE COLONNE — 15/09/2026 =====
   Misurato prima: una colonna sola che scorreva 511px, e per arrivare al
   Collo si passava per 150 marchi. Ora elenco a sinistra, sezione aperta a
   destra: si arriva a qualunque filtro con un colpo, senza scorrere. */
.filtri-lato.finestra .f-corpo{display:grid;
  grid-template-columns:248px minmax(0,1fr);gap:0;align-items:stretch;
  padding:0;max-height:min(72vh,640px)}
.f-sezioni{display:flex;flex-direction:column;gap:2px;padding:18px 12px;
  border-right:1px solid var(--linea);background:var(--sabbia);
  overflow-y:auto}
.f-sez{display:flex;align-items:center;justify-content:space-between;gap:10px;
  width:100%;padding:11px 14px;border:0;border-radius:var(--r-sm);background:none;
  font-size:14.5px;font-weight:600;color:var(--notte);text-align:left;
  cursor:pointer;font-family:inherit}
.f-sez:hover{background:rgba(0,41,80,.06)}
.f-sez.on{background:#fff;box-shadow:0 1px 3px rgba(0,41,80,.12)}
.f-sez i{font-style:normal;font-size:12px;font-weight:600;color:var(--grigio);
  background:#fff;border:1px solid var(--linea);border-radius:var(--r-pill);padding:2px 9px}
.f-sez.on i{background:var(--verde-tenue);border-color:transparent;
  color:var(--verde-scuro)}
/* a destra si vede solo la sezione scelta, con tutto il suo spazio. */
.filtri-lato.finestra .f-corpo .f-blocco{display:none;padding:22px 26px;
  overflow-y:auto;max-height:none}
.filtri-lato.finestra .f-corpo .f-blocco.vista{display:block}
.filtri-lato.finestra .f-corpo .f-blocco h3,
.filtri-lato.finestra .f-corpo .f-blocco h4{margin:0 0 16px;font-size:19px}
.filtri-lato.finestra ul.f-marchi{max-height:none;overflow:visible;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
/* scorre il pannello di destra, non tutta la finestra: cosi l'elenco delle
   sezioni resta sempre visibile. Misurato: sul Marchio scorrevano 895px. */
.filtri-lato.finestra .f-corpo{overflow:hidden}
.filtri-lato.finestra .f-corpo .f-blocco.vista{min-height:0;max-height:100%}
.f-sezioni{min-height:0}
/* la riga della griglia si dimensionava sul contenuto, quindi il tetto non
   mordeva: qui l'altezza e dichiarata e la riga non puo crescere. */
.filtri-lato.finestra .f-corpo{height:min(72vh,640px);max-height:none;
  grid-template-rows:minmax(0,1fr)}
/* Da stretto le due colonne non ci stanno: l'elenco torna una fila di
   linguette in alto e il pannello sotto, a tutta larghezza. */
@media(max-width:820px){
  .filtri-lato.finestra .f-corpo{grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);height:min(78vh,620px)}
  .f-sezioni{flex-direction:row;overflow-x:auto;border-right:0;
    border-bottom:1px solid var(--linea);padding:12px;gap:6px;
    scrollbar-width:none}
  .f-sezioni::-webkit-scrollbar{display:none}
  .f-sez{width:auto;flex:none;white-space:nowrap;padding:9px 14px}
  .filtri-lato.finestra .f-corpo .f-blocco{padding:18px}
}
/* a 390 il pannello usciva dallo schermo: la griglia dei marchi chiedeva
   230px per colonna piu il margine interno. Da stretto una colonna sola. */
@media(max-width:820px){
  .filtri-lato.finestra .f-corpo .f-blocco{min-width:0;max-width:100%}
  .filtri-lato.finestra ul.f-marchi{grid-template-columns:1fr}
  .f-sez{padding:8px 12px;font-size:13.5px}
  .f-sez i{padding:1px 7px;font-size:11.5px}
}
/* Misurato a 390: la finestra era larga 597 e usciva dallo schermo. La
   larghezza si dichiara qui una volta, e non supera mai la finestra. */
.filtri-lato.finestra{width:min(1120px, calc(100vw - 32px));max-width:none}
@media(max-width:820px){
  .filtri-lato.finestra{width:100%;max-width:100%;left:0;right:0;
    translate:none;transform:none;top:auto;bottom:0}
}
/* correzione della riga sopra: avevo tolto anche il centraggio e la finestra
   si e spostata a destra. Qui si tocca SOLO la larghezza. */
@media(max-width:820px){
  .filtri-lato.finestra{width:100vw;max-width:100vw;left:0;right:0;
    translate:none;transform:none;top:auto;bottom:0;border-radius:18px 18px 0 0}
}
@media(min-width:821px){
  .filtri-lato.finestra{width:min(1120px, calc(100vw - 32px));
    left:50%;top:50%;translate:-50% -50%}
}
/* Il colpevole era `.catalogo-griglia > .filtri-lato.finestra` (peso 0,3,0),
   piu forte delle mie (0,2,0): per questo left:0 non mordeva e la finestra
   restava a meta schermo. Qui si usa la stessa forza. */
@media(max-width:820px){
  .catalogo-griglia > .filtri-lato.finestra{width:100vw;max-width:100vw;
    left:0;right:0;translate:none;top:auto;bottom:0;
    border-radius:18px 18px 0 0}
}
@media(min-width:821px){
  .catalogo-griglia > .filtri-lato.finestra{
    width:min(1120px, calc(100vw - 32px));left:50%;top:50%;translate:-50% -50%}
}
/* a 390 il pannello usciva di 207px: l'albero dei reparti e le sue liste
   non avevano min-width:0, quindi imponevano la loro larghezza minima. */
@media(max-width:820px){
  .filtri-lato.finestra .f-corpo,
  .filtri-lato.finestra .f-blocco,
  .filtri-lato.finestra .f-albero,
  .filtri-lato.finestra .f-blocco ul,
  .filtri-lato.finestra .f-blocco li{min-width:0;max-width:100%}
  .filtri-lato.finestra .f-albero{grid-template-columns:1fr}
}
/* sesto tentativo sullo stesso pezzo: serve il peso di
   `.catalogo-griglia > .filtri-lato.finestra`, come per la posizione. */
@media(max-width:820px){
  .catalogo-griglia > .filtri-lato.finestra .f-corpo,
  .catalogo-griglia > .filtri-lato.finestra .f-blocco,
  .catalogo-griglia > .filtri-lato.finestra .f-albero,
  .catalogo-griglia > .filtri-lato.finestra .f-blocco ul,
  .catalogo-griglia > .filtri-lato.finestra .f-blocco li{
    min-width:0;max-width:100%}
  .catalogo-griglia > .filtri-lato.finestra .f-albero{
    grid-template-columns:minmax(0,1fr)}
}
/* La colonna grigia si fermava a 280 in una finestra da 640: non arrivava
   in fondo e sembrava staccata. Con lo stesso peso delle altre regole. */
.catalogo-griglia > .filtri-lato.finestra .f-corpo{align-items:stretch}
.catalogo-griglia > .filtri-lato.finestra .f-sezioni{height:100%;
  align-self:stretch}
.catalogo-griglia > .filtri-lato.finestra .f-blocco.vista{height:100%}

/* ===== BANNER ADATTA - 16/09/2026. Mai tagliare l'immagine di un banner:
   object-fit:contain sempre. Lo spazio vuoto attorno si riempie con una
   sfumatura presa dai bordi veri della foto (vedi mu-plugins/050),
   non un colore a caso: sembra che la foto sfumi nel suo contenitore,
   verticale o orizzontale che sia, su ogni misura di schermo. */
.banner-adatta{position:relative;display:block;width:100%;height:100%;
  overflow:hidden;background:var(--bg-t,#F2F1EF)}
.banner-adatta::before{content:"";position:absolute;inset:0;
  background:
    linear-gradient(to bottom,var(--bg-t) 0%,transparent 22%),
    linear-gradient(to top,var(--bg-b) 0%,transparent 22%),
    linear-gradient(to right,var(--bg-l) 0%,transparent 22%),
    linear-gradient(to left,var(--bg-r) 0%,transparent 22%)}
.banner-adatta img{position:relative;z-index:1;display:block;
  width:100%;height:100%;object-fit:contain}

/* H1 fuori dal sistema (16/09): home (nessuna regola, prendeva il default
   del browser) e scheda prodotto (il plugin non lo collegava al token). */
.ordine-testo h1{font-size:var(--t-3xl);font-weight:800;letter-spacing:-.035em;line-height:1.08;margin:0 0 12px}

/* ===== BLOCCHI AD APP - 16/09/2026. Il trasformatore the_content ora
   raggruppa anche H1 e H2 di sezione, non solo gli H3. Vale su tutte
   le 33 pagine che usano _cedis_portata. */
.portata{max-width:none;padding:0}
.pt-banner{background:var(--verde-scuro) url(pattern-cedis.png?v=1789583483) repeat;color:#fff;padding:var(--s8) max(var(--sp-lato),calc((100% - 1180px)/2));
  display:flex;flex-direction:column;gap:14px;margin-bottom:0}
.pt-banner h1{color:#fff;margin:0;max-width:none}
.pt-banner h2{color:#B7E0CC;font-size:20px;font-weight:600;margin:0;
  max-width:36ch;letter-spacing:0}
.pt-intro{margin:var(--s7) 0;padding:0 max(var(--sp-lato),calc((100% - 1180px)/2))}
.pt-intro p{font-size:22px;line-height:1.55;color:var(--grigio);margin:0;font-weight:500;max-width:70ch}
.pt-sezione{padding:var(--s8) max(var(--sp-lato),calc((100% - 1180px)/2))}
.pt-sezione:nth-of-type(odd){background:var(--sabbia)}
.pt-sezione:nth-of-type(even){background:#fff}
.pt-sezione > h2{margin:0 0 var(--s6);font-size:28px;font-weight:800;
  letter-spacing:-.02em;max-width:none}
.pt-sezione:last-of-type{
  background:
    linear-gradient(to bottom, rgba(1,107,65,0) 0%, rgba(1,107,65,1) 72%),
    url(pattern-cedis-30.png?v=1789583483) repeat,
    var(--verde-scuro);
  color:#fff}
.pt-sezione:last-of-type h2{color:#fff}
.pt-sezione:last-of-type > .pt-cta-testo a{color:#fff;text-decoration:none}
.pt-sezione:last-of-type > .pt-foto{background:none;margin-top:24px;position:relative;z-index:5;margin-bottom:calc(-1 * var(--s8) - 24px)}
.pt-sezione:last-of-type > .pt-foto img{max-height:none;object-fit:contain}

.pt-cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.pt-cta-testo a{color:#fff;font-weight:600}
.pt-cta-testo figure{margin:14px 0 0;border-radius:var(--r-md);overflow:hidden}
.pt-cta-link{background:#fff;color:var(--notte);border-radius:var(--r-md);
  padding:24px 28px;display:flex;flex-direction:column}
.pt-cta-link p{font-weight:700;font-size:15px;margin:0 0 10px}
.pt-cta-link ul{list-style:none;margin:0;padding:0;display:flex;
  flex-direction:column;font-size:14px}
.pt-cta-link li{border-bottom:1px solid var(--linea)}
.pt-cta-link ul:last-of-type li:last-child{border-bottom:0}
.pt-cta-link a{color:var(--notte);text-decoration:none;display:flex;
  align-items:center;justify-content:space-between;gap:10px;padding:8px 0}
.pt-cta-link a::after{content:"↗";font-size:15px;color:var(--grigio)}
.pt-cta-link a:hover{color:var(--verde)}
@media(max-width:760px){.pt-cta-grid{grid-template-columns:1fr}}

/* Logo PNG vero (16/09), sostituisce il testo. La small "DAL 1995" era */
/* parte del vecchio logo testuale: non esiste piu' nel markup. */
.logo-img img{display:block;height:44px;width:auto}
@media(max-width:600px){.logo-img img{height:36px}}

/* FASCIA ORIZZONTALE (scheda sola/resto di 3) - 16/09: la griglia a due
   colonne non forzava titolo+testo nella colonna 2, il testo andava sotto
   la foto invece che sotto il titolo. La foto ora copre tutte le righe,
   tutto il resto forzato in colonna 2. */
.portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo{
  display:flex;flex-direction:column;justify-content:center}

.pt-cta-loghi{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.pt-cta-loghi a{display:block;width:150px;height:100px;background:#fff;
  border-radius:var(--r-sm);overflow:hidden}
.pt-cta-loghi img{width:100%;height:100%;object-fit:cover;display:block}

/* Bottone vero nella fascia orizzontale (16/09): il link normale delle
   card e' una riga larga con freccia, pensato per una card stretta - qui
   diventava una barra piena al passaggio del mouse. Torna un bottone
   compatto, sempre visibile, non solo sull'hover. */
.portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo p,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo p{
  margin-left:0;margin-right:0}
.portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul{
  border-top:0;margin-top:14px;padding:0}
.portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul a,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a{
  display:inline-block;width:auto;padding:13px 24px;border-radius:var(--r-sm);
  background:var(--verde);color:#fff;font-weight:650;font-size:15px}
.portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul a::after,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a::after{content:none}
.portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul a:hover,
.portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a:hover{
  background:var(--verde-scuro);color:#fff}

.logo-img-bianco{filter:brightness(0) invert(1);height:38px;width:auto}

/* Link semplici senza bottone: freccina al posto della sottolineatura (16/09) */
.piede a::after,.aiuto-consenso a::after{content:" \2192";
  display:inline-block;margin-left:2px}

/* TABLET, 2 COLONNE (16/09): la griglia fluida da' 2 colonne fra 620 e
   999px. Con un numero dispari di card l'ultima resta sola con un buco
   a fianco (segnalato da Luca su schermo verticale/tablet). Stessa idea
   gia' usata per il desktop a 3 colonne: colonne esplicite, l'ultima
   dispari diventa larga tutta la riga. */
@media(min-width:620px) and (max-width:999px){
  .portata .pt-schede{grid-template-columns:repeat(2,minmax(0,1fr))}
  .portata .pt-schede > .pt-scheda:nth-child(2n+1):last-child{grid-column:1/-1}
}

/* SEGNAPOSTO FOTO MANCANTE (16/09): quando una card non ha ancora la sua
   foto vera, si mette il pattern al posto di un'immagine a caso o di uno
   spazio vuoto. Luca ripassera' con la foto giusta in seguito. */
.pt-foto-segnaposto{background:var(--verde-scuro) url(pattern-cedis.png) repeat !important;min-height:280px}

/* FOTO GRANDE CON SOVRAPPOSTA TESTO (16/09): per i banner fotografici
   full-width dentro una sezione - mai una foto nuda, sempre titolo,
   frase e bottone sopra, in basso a sinistra su un velo scuro. */
.pt-foto-banner{position:relative;border-radius:var(--r-lg);overflow:hidden;margin:24px 0}
.pt-foto-banner img{width:100%;height:auto;display:block;max-height:520px;object-fit:cover}
.pt-foto-banner-testo{position:absolute;left:0;bottom:0;right:0;padding:40px 32px 32px;
  background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0));color:#fff}
.pt-foto-banner-testo h3{color:#fff;font-size:28px;font-weight:800;margin:0 0 10px;max-width:560px}
.pt-foto-banner-testo p{color:#fff;opacity:.92;margin:0 0 18px;max-width:560px}

/* Card bianche dentro la chiusura verde: senza questa regola il testo
   resterebbe bianco su bianco (eredita color:#fff dalla sezione). */
.pt-sezione:last-of-type .pt-scheda{color:var(--notte)}

/* TESTA.FOTO A BANNER CONTENUTO (17/09): prima andava bordo a bordo senza
   contenitore ne' raggio - due rettangoli scollegati. Ora e' un unico
   banner, largo come l'header, con angoli arrotondati su tutto l'insieme. */
.testa.foto,.pagina .testa.foto{
  max-width:1180px;margin-left:auto;margin-right:auto;
  margin-top:24px;border-radius:var(--r-lg)}
@media(max-width:1180px){
  .testa.foto,.pagina .testa.foto{margin-left:var(--sp-lato);margin-right:var(--sp-lato)}
}

/* BOTTONE .bt-cta STANDALONE (17/09): prima esisteva solo dentro .banner-t,
   ma la classe viene usata anche fuori (card, sezioni normali) - qui la
   versione di base cosi' funziona ovunque, senza serve il contenitore. */
a.bt-cta{display:inline-block;background:var(--verde);color:#fff;
  padding:13px 24px;border-radius:var(--r-sm);font-weight:650;font-size:15px;
  text-decoration:none}
a.bt-cta:hover{background:var(--verde-scuro)}

/* MOSAICO MARCHI (17/09): testo a sinistra (tutta l'altezza), a destra
   una foto grande sopra e due tessere piccole sotto - come sul vecchio
   sito. Riusa i colori del sistema .mosaico gia' esistente (mai usato). */
.mosaico-marchi{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;
  grid-template-rows:auto auto;gap:16px;margin:24px 0}
.mosaico-marchi .mm-testo{grid-column:1/3;grid-row:1/3;background:var(--crema);
  border-radius:var(--r-lg);padding:40px;display:flex;flex-direction:column;
  justify-content:center}
.mosaico-marchi .mm-testo p{margin:0 0 24px;line-height:1.6;font-size:16px;max-width:44ch}
.mosaico-marchi .mm-foto{grid-column:3/5;grid-row:1;border-radius:var(--r-lg);
  overflow:hidden;position:relative;min-height:340px}
.mosaico-marchi .mm-foto img{width:100%;height:100%;object-fit:cover;display:block}
.mosaico-marchi .mm-foto .mm-foto-testo{position:absolute;left:0;bottom:0;
  right:0;padding:24px 22px;background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0));
  color:#fff}
.mosaico-marchi .mm-foto .mm-foto-testo a{color:#fff;font-weight:650;text-decoration:none}
.mosaico-marchi .mm-tile{grid-column:span 1;grid-row:2;border-radius:var(--r-lg);
  overflow:hidden;background:var(--sabbia);display:flex;flex-direction:column}
.mosaico-marchi .mm-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mosaico-marchi .mm-tile p{margin:0;padding:14px 16px;font-size:14px;line-height:1.4;
  color:var(--notte);background:#fff}
@media(max-width:900px){
  .mosaico-marchi{grid-template-columns:1fr 1fr}
  .mosaico-marchi .mm-testo{grid-column:1/3;grid-row:1}
  .mosaico-marchi .mm-foto{grid-column:1/3;grid-row:2}
  .mosaico-marchi .mm-tile{grid-column:span 1;grid-row:3}
}

/* La card "resto" (fascia orizzontale, senza sfondo bianco) dentro la
   chiusura verde deve avere testo bianco, non il grigio normale delle
   card - altrimenti si legge male, quasi invisibile sul verde. */
.pt-sezione:last-of-type .pt-schede > .pt-scheda:nth-child(3n+1):last-child,
.pt-sezione:last-of-type .pt-schede > .pt-scheda:only-child{color:#fff}
.pt-sezione:last-of-type .pt-schede > .pt-scheda:nth-child(3n+1):last-child p,
.pt-sezione:last-of-type .pt-schede > .pt-scheda:only-child p{color:rgba(255,255,255,.86)}
.pt-sezione:last-of-type .pt-schede > .pt-scheda:nth-child(3n+1):last-child a,
.pt-sezione:last-of-type .pt-schede > .pt-scheda:only-child a{color:#fff}

/* SLIDER TESTIMONIANZE (17/09): un vero slider con frecce e pallini,
   niente wall of text. */
.pt-slider{position:relative;max-width:none;margin:24px 0}
.pt-slider-finestra{overflow:hidden;border-radius:var(--r-lg);position:relative}
.pt-slider-finestra.sfuma-entrambi{-webkit-mask-image:linear-gradient(to right, transparent 0, rgba(0,0,0,.5) 32px, #000 72px, #000 calc(100% - 72px), rgba(0,0,0,.5) calc(100% - 32px), transparent 100%);mask-image:linear-gradient(to right, transparent 0, rgba(0,0,0,.5) 32px, #000 72px, #000 calc(100% - 72px), rgba(0,0,0,.5) calc(100% - 32px), transparent 100%)}
.pt-slider-finestra.sfuma-destra{-webkit-mask-image:linear-gradient(to right, #000 calc(100% - 72px), rgba(0,0,0,.5) calc(100% - 32px), transparent 100%);mask-image:linear-gradient(to right, #000 calc(100% - 72px), rgba(0,0,0,.5) calc(100% - 32px), transparent 100%)}
.pt-slider-finestra.sfuma-sinistra{-webkit-mask-image:linear-gradient(to right, transparent 0, rgba(0,0,0,.5) 32px, #000 72px);mask-image:linear-gradient(to right, transparent 0, rgba(0,0,0,.5) 32px, #000 72px)}
.pt-slider-pista{display:flex;transition:transform .4s ease;gap:20px}
.pt-slider-slide{flex:0 0 calc((100% - 40px)/3);background:#F1EFE9;border-radius:var(--r-lg);
  padding:28px;box-sizing:border-box;border:1px solid var(--linea)}
.pt-slider-slide p{color:var(--notte);font-size:17px;line-height:1.6;margin:0 0 20px}
.pt-slider-slide h4{color:var(--notte);font-size:16px;font-weight:700;margin:0 0 2px}
.pt-slider-slide span{color:var(--grigio);font-size:14px}
.pt-slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;
  border-radius:50%;background:#fff;border:1px solid var(--linea);cursor:pointer;font-size:19px;
  color:var(--notte);display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.12);z-index:5;transition:background .2s,transform .2s,box-shadow .2s}
.pt-slider-prev{left:-22px}
.pt-slider-next{right:-22px}
.pt-slider-btn:hover{background:var(--verde);color:#fff;border-color:var(--verde);
  box-shadow:0 6px 18px rgba(0,0,0,.18);transform:translateY(-50%) scale(1.06)}
.pt-slider-btn:disabled{opacity:.35;cursor:default;pointer-events:none}
.pt-slider-pallini{display:none}
.pt-slider-pallino{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);
  border:0;cursor:pointer;padding:0}
.pt-slider-pallino.attivo{background:#fff}
@media(min-width:621px) and (max-width:1000px){
  .pt-slider-slide{flex:0 0 calc((100% - 20px)/2)}
}
@media(max-width:620px){
  .pt-slider{max-width:100%}
  .pt-slider-btn{width:34px;height:34px;font-size:15px}
  .pt-slider-prev{left:4px}
  .pt-slider-next{right:4px}
  .pt-slider-slide{padding:24px;flex:0 0 100%}
}

/* SEZIONE "STACCATA" DALLA CHIUSURA (17/09): a volte una sezione finisce
   per essere l'ultima del DOM (es. le testimonianze) ma non deve avere il
   trattamento verde/pattern della chiusura vera - resta una sezione
   normale, chiara, con testo scuro. */
.pt-sezione.pt-non-chiusura{background:var(--sabbia) !important;color:var(--notte) !important}
.pt-sezione.pt-non-chiusura h2{color:var(--notte) !important}
.pt-sezione.pt-non-chiusura .pt-scheda,
.pt-sezione.pt-non-chiusura .pt-slider-slide{color:var(--notte)}

/* RAPPRESENTANTI CEDIS (17/09): 4 persone, 4 colonne - una riga sola,
   niente resto/fascia. Solo su questa pagina. */
@media(min-width:1000px){
  .page-id-18255 .portata .pt-schede{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .page-id-18255 .portata .pt-schede > .pt-scheda{
    grid-column:span 1!important;display:block!important;
    border:1px solid var(--linea)!important;background:#fff!important;
    border-radius:var(--r-md)!important;overflow:hidden!important}
  .page-id-18255 .portata .pt-schede > .pt-scheda .pt-foto{
    aspect-ratio:2/3!important;height:auto!important;border-radius:0!important;
    background:#fff!important}
  .page-id-18255 .portata .pt-schede > .pt-scheda .pt-foto img{
    object-fit:contain!important}
  .page-id-18255 .portata .pt-schede > .pt-scheda h3{
    margin:18px 18px 8px!important;padding:0!important;font-size:18px!important}
  .page-id-18255 .portata .pt-schede > .pt-scheda p{
    margin:0 18px 14px!important;padding:0!important}
}


/* MAPPA RAPPRESENTANTI - popup doppio (17/09): il contenitore bianco
   nativo di Google Maps e' piu' alto del contenuto verde del widget,
   lasciando uno spazio bianco visibile sopra la scheda. Tolto lo sfondo
   nativo, resta solo la scheda vera del widget. */
.gm-style-iw.gm-style-iw-c,
.gm-style-iw-t::after{background:transparent!important;box-shadow:none!important}

/* MAPPA RAPPRESENTANTI - contenitore (17/09): staccata dal paragrafo
   sopra, con angoli arrotondati e ombra leggera sotto. */
.elfsight-widget-google-maps{
  margin-top:32px;border-radius:var(--r-lg);overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.1)}

/* Stessa correzione proporzioni anche sotto i 1000px (mobile/tablet). */
.page-id-18255 .portata .pt-schede > .pt-scheda .pt-foto{
  aspect-ratio:2/3!important;background:#fff!important}
.page-id-18255 .portata .pt-schede > .pt-scheda .pt-foto img{
  object-fit:contain!important}

/* MOSAICO SEMPLICE (17/09): foto grande quadrata a sinistra, due tessere
   orizzontali impilate a destra - per i banner grossi senza bisogno del
   blocco di testo separato (quello e' gia' nell'H2 sopra). */
.mosaico-foto{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;
  gap:16px;margin:24px 0}
.mosaico-foto .mf-principale{grid-column:1;grid-row:1/3;border-radius:var(--r-lg);
  overflow:hidden;position:relative;min-height:460px}
.mosaico-foto .mf-principale img{width:100%;height:100%;object-fit:cover;display:block}
.mosaico-foto .mf-principale .mf-testo{position:absolute;left:0;bottom:0;right:0;
  padding:28px;background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0));color:#fff}
.mosaico-foto .mf-principale .mf-testo p{margin:0 0 16px;font-size:16px}
.mosaico-foto .mf-tile{border-radius:var(--r-lg);overflow:hidden;background:var(--verde-scuro)
  url(pattern-cedis.png) repeat;min-height:222px}
.mosaico-foto .mf-tile:nth-child(2){grid-column:2;grid-row:1}
.mosaico-foto .mf-tile:nth-child(3){grid-column:2;grid-row:2}
.mosaico-foto .mf-tile img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){
  .mosaico-foto{grid-template-columns:1fr;grid-template-rows:auto}
  .mosaico-foto .mf-principale{grid-column:1;grid-row:auto;min-height:320px}
  .mosaico-foto .mf-tile{grid-column:1!important;grid-row:auto!important;min-height:180px}
}

/* PIEDE - riga legale non deve mai andare a capo su desktop (17/09):
   era troppo vicina al limite di larghezza, bastava poco per spezzarsi. */
@media(min-width:900px){
  .piede-riga .wrap{flex-wrap:nowrap;gap:16px}
  .piede-riga p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .piede-riga .legali{flex:none;white-space:nowrap}
  .piede-riga .legali a{margin-left:0}
}

/* Freccia del bannerino catalogo (17/09): prima andava a capo da sola
   perche' si attaccava a tutto il link (blocco), non al testo. Ora
   attaccata alla fine della frase, non si stacca mai. */
.piede a.piede-promo::after{content:none}
.piede-promo span::after{content:" \2192";display:inline;margin-left:2px}

/* PIEDE - paragrafo descrizione stessa larghezza del bannerino sotto
   (17/09): prima era limitato a 32ch, molto piu' stretto della colonna. */
.piede .piede-marca p{max-width:none}

/* CALIBRAZIONE TESTA.FOTO (17/09): il cappello ereditava 19px da
   ".testa p" (piu' specifica di ".cappello" da sola) invece dei 12px
   giusti da etichetta piccola - sembrava un titolo, non un'etichetta.
   Titolo H1 troppo stretto (18ch) andava a capo in modo scomposto. */
.testa.foto p.cappello,.pagina .testa.foto p.cappello{
  font-size:12px;letter-spacing:.16em;margin:0 0 10px}
.testa.foto h1,.pagina .testa.foto h1{max-width:22ch;font-size:40px}

/* .pt-foto-banner senza foto vera (17/09): pattern al posto dell'immagine
   mancante, cosi' il testo sopra resta leggibile. */
.pt-foto-banner.pt-foto-banner-segnaposto{
  background:var(--verde-scuro) url(pattern-cedis.png) repeat;min-height:280px}
.pt-intro p+.pt-schede{margin-top:var(--s7)}

/* CHI SIAMO - testo a piena larghezza (17/09): i paragrafi p.gu erano
   limitati a 62ch, lasciando meta' della sezione vuota. Qui il testo
   puo' usare tutto lo spazio, con un font leggermente piu' grande. */
.page-id-18185 p.gu{max-width:none;font-size:18px;line-height:1.6}

/* Pillole consorzi migliorate (17/09): sfondo tenue invece di bianco
   piatto, un po' piu' di respiro, leggera ombra al passaggio del mouse. */
.consorzi{gap:10px;margin-top:22px}
.consorzi span{padding:8px 18px;font-size:14.5px;background:var(--sabbia);
  transition:background .2s,transform .2s}
.consorzi span:hover{background:#fff;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.08)}

/* RITRATTO AD chi-siamo (17/09): la foto sporge sopra e sotto la fascia
   verde, partendo dalla sezione gialla sotto fino a sovrapporsi con la
   sezione bianca sopra. Segnaposto finche' non arriva la foto vera. */
.pagina .fascia-ritratto{overflow:visible}
.pagina .fascia-ritratto .wrap{position:relative}
.ritratto-ad{position:absolute;right:0;top:-118px;bottom:-72px;width:320px;
  margin:0;border-radius:var(--r-lg);overflow:hidden;z-index:5;
  box-shadow:0 14px 34px rgba(0,0,0,.22)}
@media(max-width:900px){
  .ritratto-ad{width:240px;right:16px;top:-72px;bottom:-64px}
}
.figlie{display:flex;align-items:stretch}
.figlia{display:flex;flex-direction:column;height:100%}
.invito-contatti{height:100%;display:flex;flex-direction:column}

/* Titolo chiusura rappresentanti-cedis (17/09): "Chiedi al tuo
   rappresentante di fiducia" andava a capo per pochi pixel - font
   leggermente ridotto solo qui per stare su una riga sola. */
.page-id-18255 .pt-cta-testo h2{font-size:25px;white-space:nowrap}

/* SEZIONE TESTO+FOTO (17/09): per le sezioni con solo testo che
   lasciavano meta' pagina vuota - testo a sinistra un po' piu' largo,
   foto (o segnaposto) a destra. */
.pt-testo-foto{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;
  align-items:center;margin:8px 0}
.pt-testo-foto .tf-testo p{font-size:17px;line-height:1.65;max-width:none}
.pt-testo-foto .tf-foto{border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:4/3;background:var(--verde-scuro) url(pattern-cedis.png) repeat}
.pt-testo-foto .tf-foto img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.pt-testo-foto{grid-template-columns:1fr}}
body.page-id-18238 .pagina h2{max-width:none}
body.page-id-18238 p.gu{max-width:none}

/* Banner con foto meno ritagliata (17/09): "Rinnova il tuo negozio",
   la foto naturale e' 1.56:1 ma il contenitore la forzava a 2.27:1,
   tagliando troppo. Qui una proporzione piu' vicina all'originale. */
.pt-foto-banner.pt-foto-banner-basso{aspect-ratio:16/9;height:auto}
.pt-foto-banner.pt-foto-banner-basso img{height:100%;max-height:none}
.aiuto-testo,.aiuto-form{border-radius:var(--r-lg);overflow:hidden}
/* 21/09/2026 ag.72: tolta body.page-id-18189 .stretta{max-width:920px} - */
/* allargava pulsanti e domande a 920px lasciando la testata a 760px, */
/* sfasando il bordo sinistro. Ora tutto .stretta segue lo standard 760. */
.faq2 h2{margin:0 0 20px;padding-bottom:12px;border-bottom:1px solid var(--linea)}

/* MOSAICO TESTO (17/09): come mosaico-foto ma il quadrato principale e
   le tessere sono testo, non foto - quadrato grande a sfondo pattern
   con titolo+testo+bottone, due tessere bianche a fianco con card. */
.mosaico-testo{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;
  gap:16px;margin:24px 0}
.mosaico-testo .mt-principale{grid-column:1;grid-row:1/3;border-radius:var(--r-lg);
  background:var(--verde-scuro) url(pattern-cedis.png) repeat;color:#fff;
  padding:36px;display:flex;flex-direction:column;justify-content:center;min-height:460px}
.mosaico-testo .mt-principale h2{color:#fff;margin:0 0 14px}
.mosaico-testo .mt-principale p{margin:0 0 20px;font-size:16px;line-height:1.6}
.mosaico-testo .mt-tile{border-radius:var(--r-lg);background:#fff;border:1px solid var(--linea);
  padding:26px}
.mosaico-testo .mt-tile:nth-child(2){grid-column:2;grid-row:1}
.mosaico-testo .mt-tile:nth-child(3){grid-column:2;grid-row:2}
.mosaico-testo .mt-tile h3{margin:0 0 8px;font-size:19px}
.mosaico-testo .mt-tile p{margin:0;font-size:15px;line-height:1.55;color:var(--grigio)}
@media(max-width:900px){
  .mosaico-testo{grid-template-columns:1fr;grid-template-rows:auto}
  .mosaico-testo .mt-principale{grid-column:1;grid-row:auto;min-height:0}
  .mosaico-testo .mt-tile{grid-column:1!important;grid-row:auto!important}
}

/* VIDEO CATERING - prova solo su horeca (17/09): video da Pexels per
   la sezione "Servizi per il Catering", angoli arrotondati come le foto. */
.pt-video-banner{margin:24px 0;border-radius:var(--r-lg);overflow:hidden;position:relative}
.pt-video-banner video{width:100%;height:auto;display:block;max-height:520px;
  object-fit:cover}

/* SEZIONE 6/6 (17/09): sinistra un quadrato grande, destra sopra un
   banner orizzontale e sotto due quadratini affiancati. */
.sezione-66{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:24px 0}
.sezione-66 .s66-quadrato{border-radius:var(--r-lg);
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0) 55%),
    var(--verde-scuro) url(pattern-cedis.png) repeat;
  color:#fff;padding:36px;display:flex;
  flex-direction:column;justify-content:flex-end;aspect-ratio:1/1;height:auto}
.sezione-66 .s66-quadrato h3{color:#fff;margin:0 0 10px;font-size:20px}
.sezione-66 .s66-quadrato p{margin:0 0 16px;font-size:15px;line-height:1.5}
.sezione-66 .s66-destra{display:grid;grid-template-rows:1fr 1fr;gap:16px}
.sezione-66 .s66-banner{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:0}
.sezione-66 .s66-banner img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}
.sezione-66 .s66-banner-testo{position:absolute;left:0;bottom:0;right:0;padding:32px;
  background:linear-gradient(to top, rgba(0,0,0,.7), rgba(0,0,0,0));color:#fff;z-index:2}
.sezione-66 .s66-banner-testo h3{color:#fff;margin:0 0 10px;font-size:20px}
.sezione-66 .s66-banner-testo p{margin:0 0 16px;font-size:15px;line-height:1.5}
.sezione-66 .s66-due-quad{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.sezione-66 .s66-quad-piccolo{border-radius:var(--r-lg);background:#fff;
  border:1px solid var(--linea);padding:22px;aspect-ratio:1/1;height:auto;
  display:flex;flex-direction:column;justify-content:flex-end;box-sizing:border-box}
.sezione-66 .s66-quad-piccolo h3{margin:0 0 8px;font-size:17px}
.sezione-66 .s66-quad-piccolo p{margin:0;font-size:14px;line-height:1.5;color:var(--grigio)}
@media(max-width:900px){
  .sezione-66{grid-template-columns:1fr}
  .sezione-66 .s66-due-quad{grid-template-columns:1fr}
}

/* Variante sezione-66 con solo 2 elementi (quadrato+banner, niente
   quadratini sotto) - il banner riempie tutta l'altezza a destra. */
.sezione-66 .s66-destra > .s66-banner:only-child{grid-row:1/3;min-height:100%}

/* Testo sovrapposto al video, in basso, gradiente dal basso (17/09). */
.pt-video-testo{position:absolute;left:0;bottom:0;right:0;padding:32px;
  background:linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,0) 70%);
  color:#fff}
.pt-video-testo h3{color:#fff;margin:0 0 8px;font-size:22px}
.pt-video-testo p{margin:0 0 16px;font-size:15px;max-width:52ch}

/* Variante s66-banner senza foto vera - stesso pattern verde delle
   altre schede segnaposto, in attesa della foto vera. */
.sezione-66 .s66-banner.s66-banner-segnaposto{background:var(--verde-scuro) url(pattern-cedis.png) repeat}

/* PAGINE LEGALI (21/09/2026, ag.72) - testo generato da LANGA Tools PRO */
.pagina .legale { padding-bottom:var(--s8) }
.pagina .legale h2,.pagina .legale h3 { margin:32px 0 10px;max-width:none }
.pagina .legale p,.pagina .legale li { font-size:16px;line-height:1.7;color:var(--grigio) }
.pagina .legale a { color:var(--verde-scuro);overflow-wrap:anywhere }
.pagina .legale table { display:block;overflow-x:auto;max-width:100% }
.pagina .legale td,.pagina .legale th { padding:8px 10px;border-bottom:1px solid var(--linea);text-align:left }

/* FASCIA INVITO sotto le schede (21/09/2026, ag.72) - cedis_portata_fascia() */
.portata .pt-fascia { display:grid;grid-template-columns:minmax(0,1fr) auto;
  column-gap:40px;row-gap:6px;align-items:center;margin:var(--s6) 0 0;
  padding:32px 36px;border-radius:var(--r-md);color:#fff;
  background:var(--verde-scuro) url(pattern-cedis-30.png) repeat }
.portata .pt-fascia p { margin:0;grid-column:1;max-width:62ch }
.portata .pt-fascia .pf-titolo a { color:#fff;text-decoration:none;font-size:24px;
  font-weight:800;letter-spacing:-.02em;line-height:1.2 }
.portata .pt-fascia .pf-testo { color:rgba(255,255,255,.88);font-size:16px;line-height:1.6 }
.portata .pt-fascia .pf-azione { grid-column:2;grid-row:1 / span 2 }
.portata .pt-fascia .pf-azione a { display:inline-block;background:#fff;
  color:var(--verde-scuro);font-weight:700;font-size:15.5px;padding:14px 28px;
  border-radius:var(--r-sm);text-decoration:none;white-space:nowrap }
.portata .pt-fascia .pf-azione a:hover { background:var(--sabbia) }
@media (max-width:760px) {
  .portata .pt-fascia { grid-template-columns:1fr;padding:26px 22px;row-gap:10px }
  .portata .pt-fascia .pf-azione { grid-column:1;grid-row:auto;margin-top:6px }
  .portata .pt-fascia .pf-azione a { display:block;text-align:center }
}

/* FLUENT FORMS - 21/09/2026 ag.72. Il plugin arriva col suo CSS di
   default (bottone blu, upload nero, input a 13-14px): qui si riporta
   al linguaggio del tema, stessi valori dei moduli WooCommerce. */
.fluentform{margin:8px 0 0}
.fluentform .ff-el-group{margin-bottom:20px}
.fluentform label{display:block;font-weight:600;font-size:13.5px;
  color:var(--notte);margin-bottom:6px}
.fluentform .ff-el-form-control{border:1.5px solid var(--linea)!important;
  border-radius:var(--r-sm)!important;padding:12px!important;
  outline:none;font:inherit;font-size:16px!important;width:100%;
  background:#fff;color:var(--notte);margin-bottom:0!important;
  box-shadow:none!important}
.fluentform select.ff-el-form-control{appearance:auto}
.fluentform .ff-el-form-control:focus{border-color:var(--verde)!important}
.fluentform .ff-el-form-control::placeholder{color:#8A97A3;opacity:1}
.fluentform .ff-t-container.ff-column-container{display:grid;
  grid-template-columns:1fr 1fr;gap:20px;margin-bottom:0}
.fluentform .ff-t-cell{flex-basis:auto!important}
@media(max-width:640px){
  .fluentform .ff-t-container.ff-column-container{grid-template-columns:1fr}
}
.fluentform .ff_upload_btn.ff-btn{background:#fff;border:1.5px solid var(--linea)!important;
  color:var(--notte);border-radius:var(--r-sm);padding:12px 20px;
  font-weight:600;font-size:15px;transition:border-color .15s,color .15s}
.fluentform .ff_upload_btn.ff-btn:hover{background:#fff;
  border-color:var(--verde)!important;color:var(--verde)}
.fluentform .ff-el-form-check-label{display:flex;align-items:flex-start;
  gap:10px;font-size:14.5px;color:var(--grigio);cursor:pointer}
.fluentform .ff_tc_checkbox input{margin-top:3px;accent-color:var(--verde);
  width:16px;height:16px;flex:none}
.fluentform .ff_t_c p{margin:0}
.fluentform .ff_t_c a{color:var(--verde-scuro);font-weight:600}
.fluentform .ff-btn-submit{visibility:visible!important;
  background:var(--verde)!important;border:none!important;color:#fff!important;
  border-radius:var(--r-sm)!important;padding:14px 32px!important;
  font-weight:650!important;font-size:15.5px!important;width:100%;cursor:pointer}
.fluentform .ff-btn-submit:hover{background:var(--verde-scuro)!important}
.fluentform .ff_submit_btn_wrapper{margin-top:4px}
.fluentform .iti{width:100%}
.fluentform .iti input.ff-el-form-control{padding-left:56px!important}
.fluentform .iti__selected-flag{background:transparent;
  border-radius:var(--r-sm) 0 0 var(--r-sm)}
.pt-sezione .fluentform_wrapper_11,.r6-form .fluentform_wrapper_12{display:block;background:#fff;
  border:1px solid var(--linea);border-radius:var(--r-md);
  padding:32px 36px;margin:8px 0 0}
@media(max-width:640px){
  .pt-sezione .fluentform_wrapper_11{padding:24px 20px}
}

/* VANTAGGI - banner con icona (21/09/2026 ag.72). Erano schede con una
   figura segnaposto (pattern verde vuoto): tolte le figure, qui il
   linguaggio esistente di .carta con un'icona al posto del .seg. */
.vantaggi-grid{display:grid;
  grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}
@media(max-width:900px){.vantaggi-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.vantaggi-grid{grid-template-columns:1fr}}
.vantaggio{border:1px solid var(--linea);border-radius:var(--r-md);
  padding:28px 26px;background:#fff}
.vantaggio .vg-ic{width:46px;height:46px;border-radius:50%;
  background:var(--verde-tenue);display:grid;place-items:center;margin:0 0 16px}
.vantaggio .vg-ic svg{width:22px;height:22px;stroke:var(--verde);fill:none;
  stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.vantaggio h3{margin:0 0 8px;font-size:17px}
.vantaggio p{margin:0;color:var(--grigio);font-size:15px;line-height:1.55}

/* VANTAGGI - sezione composta (21/09/2026 ag.72). Erano quattro h2
   slegati uno sotto l'altro: un titolo+intro, poi tre elementi appaiati. */
.vantaggi-comp{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;margin:32px 0 0}
.vc-foto{position:relative;border-radius:var(--r-md);overflow:hidden;
  aspect-ratio:4/5;background:var(--sabbia)}
.vc-foto img{width:100%;height:100%;object-fit:cover;display:block}
.vc-testo{position:absolute;left:0;right:0;bottom:0;padding:24px 20px;
  background:linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,0));color:#fff}
.vc-testo p{margin:0 0 10px;font-weight:600;font-size:15.5px}
.vc-testo a{color:#fff;font-weight:700;text-decoration:none;font-size:14.5px}
.vc-testo a:hover{text-decoration:underline}

/* RICHIEDI FORNITURA 6/6 (21/09/2026 ag.72): testo a sinistra, form a
   destra, stesso schema di .due-colonne gia' usato altrove sul sito. */
.richiedi-6-6{display:grid;grid-template-columns:1fr 1fr;gap:48px;
  align-items:start;margin:32px 0 0}
.r6-testo h2{margin:0 0 14px}
.r6-testo p{margin:0 0 18px;color:var(--grigio)}
@media(max-width:900px){
  .richiedi-6-6{grid-template-columns:1fr;gap:28px}
}
.fluentform .ff-btn-next,.fluentform .ff-btn-prev{border-radius:var(--r-sm)!important;
  font-weight:650!important;font-size:15.5px!important;padding:12px 26px!important;
  border:none!important;cursor:pointer}
.fluentform .ff-btn-next{background:var(--verde)!important;color:#fff!important}
.fluentform .ff-btn-next:hover{background:var(--verde-scuro)!important}
.fluentform .ff-btn-prev{background:#fff!important;color:var(--notte)!important;
  border:1.5px solid var(--linea)!important}
.fluentform .ff-btn-prev:hover{border-color:var(--verde)!important;color:var(--verde)!important}
.fluentform .step-nav{display:flex;justify-content:space-between;margin-top:8px}

/* VANTAGGI - ricomposizione (21/09/2026 ag.72): quadrato a sinistra,
   a destra due colonne piu' strette, sotto un banner a tutta larghezza. */
.vc-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0 0;align-items:start}
.vc-destra{display:flex;flex-direction:column;gap:20px}
.vc-quadro{aspect-ratio:1/1}
.vc-due{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.vc-due .vc-foto{aspect-ratio:auto;height:100%}
.vc-banner{background:var(--sabbia);border-radius:var(--r-md);
  padding:32px 36px}
.vc-banner h2{margin:0 0 10px}
.vc-banner p{margin:0 0 16px;color:var(--grigio);max-width:64ch}
@media(max-width:900px){
  .vc-top{grid-template-columns:1fr}
  .vc-quadro{aspect-ratio:16/10}
}
@media(max-width:560px){
  .vc-due{grid-template-columns:1fr}
}

/* VANTAGGI - allineamento e leggibilita' (21/09/2026 ag.72, Luca con schermata):
   colonne che finiscono alla stessa riga; testo foto bianco (una regola sui p
   lo rendeva grigio); card sprechi senza icona, testo in basso; banner ricalibrato. */
.vc-top{align-items:stretch}
.vc-destra .vc-due{flex:1 1 auto}
.vc-foto .vc-testo p{color:#fff}
.vc-due .vantaggio{display:flex;flex-direction:column;justify-content:flex-end}
.vc-due .vantaggio .vg-ic{display:none}
.vc-banner{padding:28px 32px}
.vc-banner h2{font-size:clamp(20px,1.7vw,25px);line-height:1.25}
.vc-banner p{font-size:16.5px;line-height:1.55}
@media(min-width:901px){.vc-top .vc-quadro{aspect-ratio:auto}.vc-top .vc-quadro img{position:absolute;inset:0}}

/* RICHIEDI FORNITURA - banner e form compatto (21/09/2026 ag.72, Luca con
   schermata): testo in banner sabbia alto quanto il form; scelte a pastiglie in
   griglia; azienda/referente e email/citta a coppie; spazi ridotti. */
.richiedi-6-6{align-items:stretch;gap:24px}
.r6-testo{background:var(--sabbia);border-radius:var(--r-md);padding:36px;display:flex;flex-direction:column}
.r6-testo h2{font-size:clamp(22px,1.8vw,28px);line-height:1.2;margin:0 0 12px}
.r6-testo p{font-size:16.5px;line-height:1.6;margin:0 0 16px}
.r6-testo p:last-child{margin:auto 0 0;padding-top:8px}
.r6-form{display:flex;flex-direction:column}
.r6-form .fluentform_wrapper_12{flex:1;margin:0;padding:28px 30px}
.fluentform_wrapper_12 .ff-el-group{margin-bottom:14px}
.fluentform_wrapper_12 label{font-size:13px;margin-bottom:5px}
.fluentform_wrapper_12 .ff-el-form-control{padding:10px 12px!important;font-size:15px!important}
.fluentform_wrapper_12 .ff-el-input--content:has(>.ff-el-form-check:not(.ff-el-tc)){display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc){margin:0}
.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label{border:1.5px solid var(--linea);border-radius:var(--r-sm);padding:8px 11px;align-items:center;gap:8px;font-size:14px;color:var(--notte);margin:0;font-weight:500;background:#fff;transition:border-color .15s,background .15s}
.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label:hover{border-color:var(--verde)}
.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label:has(input:checked){border-color:var(--verde);background:#EDF6F1;color:var(--verde-scuro)}
.fluentform_wrapper_12 .ff-el-form-check-input{accent-color:var(--verde);margin:0;width:16px;height:16px;flex:none}
.fluentform_wrapper_12 .fluentform-step.active{display:grid!important;grid-template-columns:1fr 1fr;column-gap:14px}
.fluentform_wrapper_12 .fluentform-step>*{grid-column:1/-1}
.fluentform_wrapper_12 .fluentform-step>.ff-el-group:has(#ff_12_azienda,#ff_12_referente,#ff_12_email,#ff_12_citta){grid-column:auto}
@media(max-width:560px){.r6-testo{padding:26px 22px}.r6-form .fluentform_wrapper_12{padding:22px 18px}.fluentform_wrapper_12 .fluentform-step.active{grid-template-columns:1fr}}
@media(max-width:560px){.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label{font-size:13.5px;padding:8px 9px;gap:7px}}

/* RICHIEDI FORNITURA - testi piu grandi (21/09/2026 ag.72, Luca). */
.r6-testo h2{font-size:clamp(24px,2.1vw,31px)}
.r6-testo p{font-size:18.5px}
.fluentform_wrapper_12 label{font-size:15px}
.fluentform_wrapper_12 .ff-el-form-control{font-size:16.5px!important}
.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label{font-size:15.5px}
.fluentform_wrapper_12 .ff-el-input--content:has(>.ff-el-form-check:not(.ff-el-tc)){grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
@media(max-width:560px){.r6-testo p{font-size:17px}.fluentform_wrapper_12 .ff-el-form-check:not(.ff-el-tc) .ff-el-form-check-label{font-size:14.5px}.fluentform_wrapper_12 .ff-el-input--content:has(>.ff-el-form-check:not(.ff-el-tc)){grid-template-columns:1fr 1fr}}

/* VANTAGGI - testo del quadrato piu grande (21/09/2026 ag.72, Luca). */
.vc-quadro .vc-testo{padding:40px 36px 34px}
.vc-quadro .vc-testo p{font-size:clamp(24px,2.3vw,34px);line-height:1.15;font-weight:700;margin:0 0 14px;max-width:16ch}
.vc-quadro .vc-testo a{font-size:17px}
@media(max-width:560px){.vc-quadro .vc-testo{padding:24px 20px 20px}.vc-quadro .vc-testo p{font-size:22px}.vc-quadro .vc-testo a{font-size:15.5px}}

/* VANTAGGI - banner Affidati con i font delle card sopra; quadrato almeno quadrato (21/09/2026 ag.72, Luca). */
.vc-banner{padding:26px 28px}
.vc-banner h2{font-size:17px;line-height:1.3;margin:0 0 8px}
.vc-banner p{font-size:15px;line-height:1.55;margin:0 0 14px}
@media(min-width:901px){.vc-top .vc-quadro::before{content:"";display:block;padding-top:100%}}

/* VANTAGGI - titoli su una riga (21/09/2026 ag.72, Luca): il titolo del banner
   era fermato a 22ch da .pagina h2; la frase della card azzurra fa da titolo. */
.vc-banner h2{max-width:none}
.vc-due .vc-foto .vc-testo p{font-size:17px;font-weight:700;line-height:1.3;margin:0 0 8px}

/* LAVORA CON NOI - form candidatura 6/6 col banner (21/09/2026 ag.72, Luca). Lo styler del plugin azzerava il padding. */
.r6-form .fluentform_wrapper_11.ffs_custom_wrap{display:block;flex:1;margin:0;padding:28px 30px;background:#fff;border:1px solid var(--linea);border-radius:var(--r-md)}
.r6-form .fluentform_wrapper_11 .ff-el-group{margin-bottom:14px}
.r6-form .fluentform_wrapper_11 .ff-t-container.ff-column-container{gap:14px}
@media(max-width:560px){.r6-form .fluentform_wrapper_11.ffs_custom_wrap{padding:22px 18px}}

/* BANNER DIVISO - foto a sinistra, titolo testo e CTA a destra (21/09/2026 ag.72, Luca, Sostenibilita). */
.banner-split{display:grid;grid-template-columns:5fr 7fr;margin:40px 0 0;border-radius:var(--r-md);overflow:hidden;background:var(--sabbia)}
.banner-split .bs-foto{position:relative;min-height:300px}
.banner-split .bs-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:0 50%;display:block}
.banner-split .bs-testo{padding:44px 48px;display:flex;flex-direction:column;justify-content:center}
.banner-split h2{margin:0 0 12px;max-width:none}
.banner-split p{margin:0 0 20px;color:var(--grigio);font-size:17px;line-height:1.6;max-width:52ch}
.banner-split p:last-child{margin:0}
@media(max-width:760px){.banner-split{grid-template-columns:1fr}.banner-split .bs-foto{min-height:0;aspect-ratio:16/9}.banner-split .bs-testo{padding:26px 22px}}

/* BANNER DIVISO - fondo bianco e bordo come le schede: la sezione e gia sabbia (21/09/2026 ag.72, Luca). */
.banner-split{background:#fff;border:1px solid var(--linea)}

/* BANNER DIVISO - dopo una griglia di schede, stesso gap delle schede (21/09/2026 ag.72, Luca). */
.pt-schede:has(+ .banner-split){margin-bottom:0}
.pt-schede + .banner-split{margin-top:26px}

/* RITRATTO AD chi-siamo - piu respiro fra le card sopra e il ritratto, +40px (21/09/2026 ag.72, Luca). */
.pagina .fascia.fascia-ritratto{margin-top:104px}
@media(max-width:980px){.pagina .fascia.fascia-ritratto{margin-top:84px}}

/* TAMPONE contatti (18188): tre segnaposto al posto delle foto delle pagine figlie, Luca "poi ci ripassiamo" (21/09/2026 ag.72).
   Scadenza 21/10/2026, proprietario webdev_chat_a2; si toglie quando arrivano le tre immagini vere. */

/* LAVORA CON NOI - testo a sinistra con tre passi, upload a zona, card bianca su sezione sabbia (21/09/2026 ag.72, Luca). */
.candidatura .r6-testo{background:#fff;border:1px solid var(--linea)}
.candidatura .r6-testo p{font-size:17px}
.passi-cand{list-style:none;margin:4px 0 26px;padding:0;display:grid;gap:16px;counter-reset:pc}
.passi-cand li{counter-increment:pc;display:grid;grid-template-columns:34px 1fr;column-gap:14px;row-gap:2px}
.passi-cand li::before{content:counter(pc);grid-row:1/3;width:34px;height:34px;border-radius:50%;background:var(--verde);color:#fff;font-weight:700;font-size:15px;display:grid;place-items:center}
.passi-cand b{font-size:16.5px;color:var(--notte);line-height:1.3}
.passi-cand span{color:var(--grigio);font-size:15.5px;line-height:1.5}
.r6-form .fluentform_wrapper_11 .ff_upload_btn.ff-btn{display:block;width:100%;text-align:center;border:1.5px dashed #BFC7C1!important;padding:18px!important;background:var(--sabbia)!important;color:var(--notte)!important}
.r6-form .fluentform_wrapper_11 .ff_upload_btn.ff-btn:hover{border-color:var(--verde)!important;color:var(--verde)!important}
.r6-form .fluentform_wrapper_11 textarea.ff-el-form-control{min-height:96px}
@media(max-width:640px){.r6-form .fluentform_wrapper_11 .ff-t-container.ff-column-container{row-gap:0}}

/* MODULO AIUTO - variante Piani: campi di testo e tendine come email/telefono (21/09/2026 ag.72, Luca). */
.aiuto-form input[type=text],.aiuto-form select{border:1.5px solid var(--linea);border-radius:8px;padding:12px 14px;font-size:15px;background:#fff;color:var(--notte);font-family:inherit;width:100%}
.aiuto-form select:focus{outline:none;border-color:var(--verde)}
.aiuto-form select:invalid{color:#8A97A3}
.aiuto-campi .largo{grid-column:1/-1}
/* MODULO AIUTO - i campi non escono piu dalla card a 1024: colonne minmax(0,1fr) (21/09/2026 ag.72). */
.aiuto-campi{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.aiuto-form select,.aiuto-form input{min-width:0}
@media(max-width:800px){.aiuto-campi{grid-template-columns:minmax(0,1fr)}}

/* FAQ - testata con respiro e colonna unica: .faq2 aveva 20px di lato fissi
   contro --sp-lato della testata, 8px di scarto a 1440 (21/09/2026 ag.72, Luca). */
body .pagina .faq2.wrap.stretta{padding-left:var(--sp-lato);padding-right:var(--sp-lato)}
.page-id-18189 .testa .cappello{margin:0 0 14px;line-height:1.4}
.page-id-18189 .testa h1{margin:0 0 18px}
.page-id-18189 .testa{padding-bottom:0}
.page-id-18189 .faq-indice{margin:28px auto 56px;gap:10px}
.page-id-18189 .faq-indice br{display:none}

/* SUPPORTO ORDINI - form ticket (Fluent Forms 13) accanto ai tre passi (21/09/2026 ag.72, Luca). */
.r6-form .fluentform_wrapper_13{display:block;flex:1;margin:0;padding:28px 30px;background:#fff;border:1px solid var(--linea);border-radius:var(--r-md)}
.r6-form .fluentform_wrapper_13 .ff-el-group{margin-bottom:14px}
.r6-form .fluentform_wrapper_13 .ff-t-container.ff-column-container{gap:14px}
.r6-form .fluentform_wrapper_13 .ff_upload_btn.ff-btn{display:block;width:100%;text-align:center;border:1.5px dashed #BFC7C1!important;padding:18px!important;background:var(--sabbia)!important;color:var(--notte)!important}
.r6-form .fluentform_wrapper_13 .ff_upload_btn.ff-btn:hover{border-color:var(--verde)!important;color:var(--verde)!important}
@media(max-width:640px){.r6-form .fluentform_wrapper_13 .ff-t-container.ff-column-container{row-gap:0}}
@media(max-width:560px){.r6-form .fluentform_wrapper_13{padding:22px 18px}}
.richiedi-6-6.ticket{align-items:start}
.ticket .r6-testo{position:sticky;top:110px}
@media(max-width:900px){.ticket .r6-testo{position:static}}

/* FAQ - titoli di sezione a tutta colonna: .pagina h2 li fermava a 22ch (21/09/2026 ag.72, Luca). */
.pagina .faq2 h2{max-width:none}

/* IN EVIDENZA - un solo banner per pagina di corredo su crema #FFFDDC, per staccare
   dove i riquadri bianchi/sabbia sono tanti. Si mette a mano nel contenuto con la
   classe in-evidenza (21/09/2026 ag.72, Luca). */
.in-evidenza,.banner-split.in-evidenza,.candidatura .r6-testo.in-evidenza{background:var(--crema)}

/* PLACEHOLDER - uno stile solo su tutto il sito: sottile e grigio (21/09/2026 ag.72, Luca).
   !important perche lo styler di Fluent Forms li scrive inline con un altro colore. */
input::placeholder,textarea::placeholder{font-weight:400!important;color:#8A97A3!important;opacity:1!important}
.aiuto-form input,.aiuto-form select,.aiuto-form textarea{font-weight:400}

/* AIUTO - sei vie rapide e "descrivi il problema" (21/09/2026 ag.72, Luca). */
.aiuto-vie{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 0}
.aiuto-vie br{display:none}
.aiuto-vie .av{display:flex;flex-direction:column;gap:6px;padding:22px 24px;background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);text-decoration:none;color:var(--notte);transition:border-color .15s,box-shadow .15s}
.aiuto-vie .av:hover{border-color:var(--verde);box-shadow:0 8px 22px rgba(1,76,46,.08)}
.aiuto-vie .av b{font-size:17px;font-weight:700;line-height:1.3}
.aiuto-vie .av b::after{content:" \2192";color:var(--verde)}
.aiuto-vie .av span{color:var(--grigio);font-size:15px;line-height:1.5}
@media(max-width:900px){.aiuto-vie{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.aiuto-vie{grid-template-columns:minmax(0,1fr)}}
.trova{margin:32px 0 0;padding:28px 30px;background:var(--crema);border-radius:var(--r-md)}
.trova label{display:flex;flex-direction:column;gap:4px;margin:0 0 14px}
.trova label b{font-size:20px;font-weight:700;color:var(--notte)}
.trova label span{color:var(--grigio);font-size:15px}
.trova-riga{display:flex;gap:10px}
.trova-riga input{flex:1;min-width:0;border:1.5px solid var(--linea);border-radius:8px;padding:13px 14px;font:inherit;font-size:16px;background:#fff;color:var(--notte)}
.trova-riga input:focus{outline:none;border-color:var(--verde)}
.trova-riga button{background:var(--verde);color:#fff;border:0;border-radius:8px;padding:0 22px;font-weight:700;font-size:15px;cursor:pointer}
.trova-riga button:hover{background:var(--notte-90)}
.trova-esiti{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.trova-esiti:empty{display:none}
.trova-esiti a{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#fff;border:1px solid var(--linea);border-radius:8px;text-decoration:none;color:var(--notte)}
.trova-esiti a:hover{border-color:var(--verde)}
.trova-esiti b{font-size:16px}
.trova-esiti span{color:var(--grigio);font-size:14.5px}
.trova-niente{padding:12px 16px;background:#fff;border-radius:8px;display:flex;flex-direction:column;gap:4px}
.trova-niente a{color:var(--verde-scuro);font-weight:600}
.aiuto-mappa{margin:18px 0 0;color:var(--grigio)}
@media(max-width:560px){.trova{padding:22px 18px}.trova-riga{flex-direction:column}.trova-riga button{padding:13px}}

/* MARCHI SELEZIONATI (/azienda/) - due file di loghi a caso dal catalogo, una verso sinistra
   e una verso destra; ferme per chi riduce le animazioni. Sostituisce la tessera che ruotava
   (21/09/2026 ag.72, Luca). */
.mosaico-marchi .loghi-scorrono{margin:0 -40px 32px;display:grid;gap:12px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.loghi-scorrono .ls-pista{display:flex;gap:12px;padding-right:12px;width:max-content;animation:ls-sx 48s linear infinite}
.loghi-scorrono .ls-dx .ls-pista{animation-name:ls-dx}
.loghi-scorrono .ls-copia{display:contents}
.loghi-scorrono a{flex:none;width:118px;height:70px;padding:10px 12px;background:#fff;border-radius:var(--r-md);display:grid;place-items:center;box-shadow:0 2px 8px rgba(1,76,46,.07)}
.loghi-scorrono img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.loghi-scorrono:hover .ls-pista{animation-play-state:paused}
@keyframes ls-sx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes ls-dx{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.loghi-scorrono .ls-pista{animation:none}}
@media(max-width:560px){.loghi-scorrono a{width:96px;height:58px}}


/* TITOLO SOPRA LE CARD DELLE PAGINE FIGLIE (meta _cedis_figlie_titolo/_sotto) - 21/09/2026 ag.72, Luca */
.figlie-testa{margin:0 0 28px}
.pagina .figlie-testa h2{margin:0 0 10px;max-width:none}
.figlie-testa p{margin:0;color:var(--grigio);font-size:17px;line-height:1.55;max-width:62ch}

/* CARD VERDE "Non trovi quello che cerchi?" alta quanto le card accanto: height:100% su un flex-wrap non si risolveva (21/09/2026 ag.72, Luca). */
.figlie > .invito-contatti{height:auto;align-self:stretch}

/* COLONNA UNICA: il contenuto parte dove partono logo e briciole. La portata usava
   (100% - 1180px)/2 senza il lato della .wrap (28px fuori a sinistra); .pagina section
   dava 20px invece di --sp-lato (8px fuori). 21/09/2026 ag.72, Luca */
.pt-banner{padding-left:max(var(--sp-lato),calc((100% - 1180px)/2 + var(--sp-lato)));padding-right:max(var(--sp-lato),calc((100% - 1180px)/2 + var(--sp-lato)))}
.pt-intro{padding:0 max(var(--sp-lato),calc((100% - 1180px)/2 + var(--sp-lato)))}
.pt-sezione{padding-left:max(var(--sp-lato),calc((100% - 1180px)/2 + var(--sp-lato)));padding-right:max(var(--sp-lato),calc((100% - 1180px)/2 + var(--sp-lato)))}
.pagina section.wrap{padding-left:var(--sp-lato);padding-right:var(--sp-lato)}

/* LOGHI A TUTTO RIQUADRO 3:2 con raggio, senza fondo bianco; bordo alle due card foto+testo
   di Marchi selezionati (21/09/2026 ag.72, Luca). 73 loghi su 74 sono 3:2; l unico quadrato
   (valfrutta1-1.jpg) ha il contenuto dentro il ritaglio. */
.loghi-scorrono a{position:relative;width:120px;height:auto;aspect-ratio:3/2;padding:0;background:transparent;border-radius:var(--r-md);overflow:hidden}
.loghi-scorrono img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.mosaico-marchi .mm-tile{border:1px solid var(--linea)}
@media(max-width:560px){.loghi-scorrono a{width:96px;height:auto}}

/* CARD DELLE PAGINE FIGLIE nelle pagine portata: stesso respiro delle altre sezioni (--s8),
   prima 20px e attaccate alla chiusura verde (21/09/2026 ag.72, Luca). */
.pagina .portata > section.wrap:has(.figlie){padding-top:var(--s8);padding-bottom:var(--s8)}

/* RITRATTO AD chi-siamo: bordo destro sul bordo del contenuto (logo, carrello), non su quello
   della .wrap che ha il lato in piu (21/09/2026 ag.72, Luca). */
.ritratto-ad{right:var(--sp-lato)}

/* TESTATE CON FOTO piu larghe del contenuto (1320 contro 1124), perche vengono prima di
   tutto il resto; dove lo schermo non basta restano larghe quanto il contenuto (21/09/2026 ag.72, Luca). */
.testa.foto,.pagina .testa.foto{max-width:1320px}

/* AIUTO - "nessuna pagina": titolo con la frase cercata, esempi cliccabili, due pulsanti veri
   al posto dei link che prendevano lo stile a scheda (21/09/2026 ag.72, Luca). */
.trova-esiti .trova-niente{padding:18px 20px;background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);display:flex;flex-direction:column;gap:10px}
.trova-niente .tn-tit{font-size:16px;color:var(--notte)}
.trova-niente .tn-sub{color:var(--grigio);font-size:14.5px}
.trova-niente .tn-prove{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 4px}
.trova-niente .tn-prova{border:1.5px solid var(--linea);background:var(--sabbia);border-radius:999px;padding:7px 14px;font:inherit;font-size:14px;color:var(--notte);cursor:pointer}
.trova-niente .tn-prova:hover{border-color:var(--verde);color:var(--verde-scuro)}
.trova-niente .tn-azioni{display:flex;flex-wrap:wrap;gap:10px}
.trova-esiti .trova-niente a.tn-btn{display:inline-flex;align-items:center;flex-direction:row;padding:11px 18px;border:1.5px solid var(--verde);border-radius:8px;background:#fff;color:var(--verde-scuro);font-weight:700;font-size:14.5px;text-decoration:none}
.trova-esiti .trova-niente a.tn-primario{background:var(--verde);color:#fff}
.trova-esiti .trova-niente a.tn-btn:hover{background:var(--notte-90);border-color:var(--notte-90);color:#fff}
.aiuto-mappa{margin-top:24px}

/* AIUTO - riga "mappa del sito": era 22px e attaccata al riquadro (il margin-top perdeva
   contro le regole dei paragrafi); ora piu piccola, staccata, link visibile (21/09/2026 ag.72, Luca). */
.pagina .aiuto-mappa{margin:0;padding-top:28px;font-size:15px;color:var(--grigio)}
.pagina .aiuto-mappa a{color:var(--verde-scuro);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.pagina .aiuto-mappa a:hover{color:var(--verde)}

/* FINESTRA (dialog.finestra) - richiesta account da Contatti, form 14; codice primo ordine
   nel secondo riquadro (21/09/2026 ag.72, Luca). */
dialog.finestra{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 48px);padding:32px 34px;border:0;border-radius:var(--r-md);box-shadow:0 24px 60px rgba(1,51,34,.28);overflow:auto;color:var(--notte)}
dialog.finestra::backdrop{background:rgba(1,51,34,.55)}
dialog.finestra h2{margin:0 0 6px;font-size:24px;padding-right:44px}
dialog.finestra .fin-sotto{margin:0 0 20px;color:var(--grigio);font-size:15.5px;line-height:1.55}
dialog.finestra .fin-chiudi{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:50%;background:var(--sabbia);font-size:22px;line-height:1;cursor:pointer;color:var(--notte)}
dialog.finestra .fin-chiudi:hover{background:var(--linea)}
dialog.finestra .ff-el-group{margin-bottom:14px}
dialog.finestra .ff-t-container.ff-column-container{gap:14px}
@media(max-width:640px){dialog.finestra .ff-t-container.ff-column-container{row-gap:0}}
@media(max-width:560px){dialog.finestra{padding:24px 18px}}
.via .via-codice{margin:2px 0 4px;padding:8px 12px;background:var(--crema);border:1px dashed var(--giallo);border-radius:8px;font-size:14.5px;color:var(--notte)}
.via-codice code,dialog.finestra .fin-codice code{font-family:inherit;font-weight:800;letter-spacing:.06em;color:var(--verde-scuro)}
dialog.finestra .fin-codice{margin:-8px 0 20px;padding:10px 14px;background:var(--crema);border-radius:8px;font-size:15px}

/* CONTATTI - le tre strade occupano tutta la riga: auto-fit con 230px faceva 4 colonne
   a 1440 e lasciava un buco a destra (21/09/2026 ag.72, Luca). */
.vie{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.vie{grid-template-columns:minmax(0,1fr)}}

/* PASSI (Lavora con noi, Supporto ordini) - linea del tempo: cerchio con bordo, "PASSO n"
   sopra il titolo, filo che collega i passi (21/09/2026 ag.72, Luca). */
.passi-cand{gap:0;margin:8px 0 28px}
.passi-cand li{position:relative;grid-template-columns:40px 1fr;column-gap:16px;row-gap:4px;padding:0 0 26px}
.passi-cand li:last-child{padding-bottom:0}
.passi-cand li::before{width:40px;height:40px;background:#fff;color:var(--verde-scuro);border:2px solid var(--verde);box-sizing:border-box;font-size:15px;font-weight:800;position:relative;z-index:1}
.passi-cand li:not(:last-child)::after{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:var(--verde-20)}
.passi-cand b{font-size:17px;line-height:1.3;padding-top:1px}
.passi-cand b::before{content:"Passo " counter(pc);display:block;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);margin-bottom:3px}
.passi-cand span{font-size:15.5px;line-height:1.6;color:var(--grigio)}

/* SEZIONI ALTERNE: giallino tenue al posto del grigio sabbia (21/09/2026 ag.72, Luca).
   --crema-tenue = --crema (#FFFDDC) a meta verso il bianco. La chiusura verde resta: :not(:last-of-type). */
:root{--crema-tenue:#FFFEEE}
.pt-sezione:nth-of-type(odd):not(:last-of-type),section.sabbia{background:var(--crema-tenue)}
.pt-sezione.pt-non-chiusura{background:var(--crema-tenue) !important}

/* CARD DELLE PAGINE FIGLIE: respiro sotto anche fuori dalle pagine portata (Contatti), prima 20px
   e la card verde attaccata al prepiede. .wrap doppio per battere ".pagina section.wrap + section.wrap"
   (21/09/2026 ag.72, Luca). */
.pagina section.wrap.wrap:has(> .figlie){padding-bottom:var(--s8)}

/* CONTATTI - secondo riquadro giallo, codice sconto in evidenza (21/09/2026 ag.72, Luca). */
.via.via-promo{background:var(--crema);border-color:#EFDF9A}
.via.via-promo .via-codice{margin:4px 0 14px;padding:12px 14px;background:#fff;border:2px dashed var(--giallo);border-radius:var(--r-md);font-size:15px;color:var(--notte);box-shadow:0 6px 16px rgba(232,178,31,.18)}
.via.via-promo .via-codice code{display:inline-block;margin-top:6px;padding:4px 10px;background:var(--verde);color:#fff;border-radius:6px;font-size:15px;letter-spacing:.1em}
.via.via-promo p{color:var(--notte)}

/* COME SI ORDINA - respiro in alto: titolo su una riga, spazio sotto l intro, tra i passi e tra
   le sezioni (prima 8px, 24px e 0px: "Cosa vuol dire collo" attaccato al passo 3) - 21/09/2026 ag.72, Luca */
.page-id-18224 .testa h1{max-width:none}
.page-id-18224 .due-colonne{margin-top:var(--s6)}
.page-id-18224 .dc-testo > section + section{margin-top:var(--s8)}
.page-id-18224 .dc-testo > section h2{margin-top:0}
.page-id-18224 .passo + .passo{margin-top:6px}

/* GUIDE (Come si ordina, Approfondimenti): blocco allineato alla colonna, "Tutti ->" in fondo
   a destra (21/09/2026 ag.72, Luca). */
.pagina section.ap-gruppo{padding-left:0;padding-right:0}
.pagina .ap-tit{max-width:none}
.ap-tit .ap-tutti{margin-left:auto;font-size:15px}

/* COME SI ORDINA - passi come bannerini uno sotto l altro; "collo" in fascia a tutta larghezza;
   guide fuori dalla colonna, allineate (21/09/2026 ag.72, Luca). */
.page-id-18224 .passi{display:grid;gap:14px}
.page-id-18224 .pagina .passo{margin:0;padding:20px 22px;background:#fff;border:1px solid var(--linea);border-radius:var(--r-md);align-items:center;box-shadow:0 2px 10px rgba(1,76,46,.04)}
.page-id-18224 .pagina .passo + .passo{margin-top:0}
.page-id-18224 .pagina .passo h3{margin:0}
.page-id-18224 .cso-collo{margin:var(--s8) 0 0;padding:var(--s8) 0;background:var(--crema-tenue)}
.page-id-18224 .cso-collo h2{margin:0 0 12px;max-width:none}
.page-id-18224 .cso-collo p.gu{margin:0;max-width:none;font-size:17px;line-height:1.65}
.page-id-18224 .cso-guide{padding-top:var(--s8)}
.page-id-18224 .pagina .cso-guide > section.cso-oltre{padding:0}

/* BANNER LUNGHI (pt-foto-banner): piu alti (360, 320 su telefono: a 390 erano 80px), titolo e
   testo piu grandi; titolo di sezione e intro piu vicini, 10px (21/09/2026 ag.72, Luca). */
.pt-foto-banner:not(.pt-foto-banner-basso){min-height:360px}
.pt-foto-banner:not(.pt-foto-banner-basso) img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;object-position:left center}
.pt-foto-banner-testo{padding:56px 40px 40px}
.pt-foto-banner-testo h3{font-size:clamp(24px,2.6vw,34px);line-height:1.15;margin:0 0 10px;max-width:24ch}
.pt-foto-banner-testo p{font-size:clamp(16px,1.4vw,18.5px);line-height:1.5;margin:0 0 20px;opacity:.95}
.portata .pt-sezione > h2:has(+ p){margin-bottom:10px}
.portata .pt-sezione > h2 + p{margin-top:0}
@media(max-width:560px){.pt-foto-banner:not(.pt-foto-banner-basso){min-height:320px}.pt-foto-banner-testo{padding:40px 22px 24px}}

/* LOGHI CHE SCORRONO - senza sfumatura ai lati (21/09/2026 ag.72, Luca). */
.mosaico-marchi .loghi-scorrono{-webkit-mask-image:none;mask-image:none}

/* Sottotitolo sopra le card figlie a tutta larghezza (21/09/2026 ag.72, Luca). */
.figlie-testa p{max-width:none}

/* SERVIZI come la pagina vecchia: tre pulsanti rapidi sotto l intro; "Brand trattati" come
   banner verde con l illustrazione (21/09/2026 ag.72, Luca). */
.portata .pt-rapidi{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.portata .pt-rapidi a{display:inline-flex;align-items:center;padding:10px 18px;border:1.5px solid var(--verde);border-radius:999px;background:#fff;color:var(--verde-scuro);font-weight:700;font-size:15px;text-decoration:none}
.portata .pt-rapidi a:hover{background:var(--verde);color:#fff}
.pt-brand-banner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:32px;margin:var(--s7) 0 0;padding:28px 40px 28px 28px;background:var(--verde-scuro);border-radius:var(--r-lg);color:#fff}
.pt-brand-banner img{width:100%;height:auto;display:block;border-radius:var(--r-md);background:#fff}
.pt-brand-banner h3{color:#fff;font-size:clamp(24px,2.6vw,34px);margin:0 0 10px}
.pt-brand-banner p{color:rgba(255,255,255,.9);font-size:clamp(16px,1.4vw,18.5px);line-height:1.5;margin:0 0 20px}
.pt-brand-banner p:last-child{margin:0}
@media(max-width:760px){.pt-brand-banner{grid-template-columns:1fr;padding:20px}}

/* COME SI ORDINA - "collo" di nuovo nella colonna, riquadro giallo sotto il passo 3; guide sotto;
   "In breve" segue lo scorrimento (21/09/2026 ag.72, Luca). */
.page-id-18224 .dc-testo > section.cso-collo{margin-top:var(--s7);padding:28px 32px;background:var(--crema);border:1px solid #EFDF9A;border-radius:var(--r-lg)}
.page-id-18224 .dc-testo > section.cso-collo p.gu{font-size:16.5px}
.page-id-18224 .dc-testo > section.cso-oltre{margin-top:var(--s8)}
@media(max-width:560px){.page-id-18224 .dc-testo > section.cso-collo{padding:22px 20px}}

/* FAQ - domande a sinistra, indice degli argomenti a destra che segue e segna dove sei; banner
   finale largo quanto il contenuto dell header; testata allineata (21/09/2026 ag.72, Luca). */
.faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.faq-layout .faq2{max-width:none;margin:0 0 40px}
.faq-lato{position:sticky;top:96px;display:grid;gap:12px}
.faq-indice-lato{padding:20px;border:1px solid var(--linea);border-radius:var(--r-lg);background:var(--crema-tenue);display:grid;gap:4px}
.faq-indice-lato .fl-tit{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--verde)}
.faq-indice-lato a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:8px;color:var(--notte);font-weight:600;font-size:15px;text-decoration:none}
.faq-indice-lato a span{min-width:24px;padding:2px 7px;border-radius:999px;background:#fff;border:1px solid var(--linea);font-size:12px;text-align:center;color:var(--grigio)}
.faq-indice-lato a:hover,.faq-indice-lato a.attivo{background:#fff;color:var(--verde-scuro);box-shadow:0 2px 8px rgba(1,76,46,.06)}
.faq-indice-lato a.attivo span{background:var(--verde);border-color:var(--verde);color:#fff}
.faq-lato .fl-aiuto{padding:0 4px;font-weight:700;font-size:15px;color:var(--verde-scuro)}
.faq-aiuto.wrap{box-sizing:border-box;width:calc(100% - 2*var(--sp-lato));max-width:calc(1180px - 2*var(--sp-lato));margin-left:auto;margin-right:auto;padding:30px 32px}
@media(min-width:901px){.faq-indice{display:none}}
@media(max-width:900px){.faq-layout{grid-template-columns:1fr}.faq-lato{display:none}}
.page-id-18189 .wrap.testa.stretta{max-width:1180px}

/* COME SI ORDINA - passi larghi quanto il riquadro "collo" (erano fermati a 64ch) - 21/09/2026 ag.72, Luca */
.page-id-18224 .pagina .passi{max-width:none}

/* CHI SIAMO - titoli senza a capo storti, sezioni con respiro e fasce alterne; TESTATE CON FOTO
   sotto 900px: il testo finiva in una colonna di 40px (h1 largo 0) - 21/09/2026 ag.72, Luca */
.page-id-18185 .testa.foto h1{max-width:none}
.page-id-18185 .pagina h2{max-width:none}
.page-id-18185 .pagina > section.wrap.wrap{padding-top:var(--s8);padding-bottom:var(--s8)}
.page-id-18185 .pagina > section.wrap.wrap:first-of-type{padding-top:var(--s7);padding-bottom:var(--s7)}
.page-id-18185 .pagina > section.wrap:nth-of-type(odd):not(:first-of-type){background:var(--crema-tenue);box-shadow:0 0 0 100vmax var(--crema-tenue);clip-path:inset(0 -100vmax)}
.page-id-18185 .pagina > section.wrap > p.gu{max-width:70ch;margin:10px 0 var(--s6)}
.page-id-18185 .fascia-ritratto h2{max-width:22ch}
.page-id-18185 .pagina h1,.page-id-18185 .pagina h2,.page-id-18185 .pagina h3{text-wrap:balance}
@media(max-width:900px){.testa.foto > :not(.wrap),.pagina .testa.foto > :not(.wrap){grid-column:1;grid-row:2}.testa.foto > .wrap,.pagina .testa.foto > .wrap{grid-column:1;grid-row:1}}

/* BLOG - argomenti a pillola (quello attivo pieno), griglia che si adatta, paginazione,
   intestazione "Dal blog" in home (21/09/2026 ag.72, Luca). */
.blog-argomenti{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 auto var(--s6)}
.blog-argomenti .ba-tit{font-weight:700;color:var(--grigio);font-size:14px;margin-right:4px}
.blog-argomenti a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1.5px solid var(--linea);border-radius:999px;background:#fff;color:var(--notte);font-weight:600;font-size:15px;text-decoration:none}
.blog-argomenti a span{padding:1px 8px;border-radius:999px;background:var(--sabbia);font-size:12.5px;color:var(--grigio)}
.blog-argomenti a:hover{border-color:var(--verde);color:var(--verde-scuro)}
.blog-argomenti a[aria-current]{background:var(--verde);border-color:var(--verde);color:#fff}
.blog-argomenti a[aria-current] span{background:rgba(255,255,255,.2);color:#fff}
.blog-lista .ap-griglia,.blog-home .ap-griglia{grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));min-width:0}
.blog-lista{padding-bottom:var(--s8)}
.blog-lista .nav-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--s6)}
.blog-lista .page-numbers{padding:8px 14px;border:1px solid var(--linea);border-radius:8px;text-decoration:none;color:var(--notte);font-weight:600}
.blog-lista .page-numbers.current{background:var(--verde);border-color:var(--verde);color:#fff}
.blog-ultimi-testa{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:var(--s5)}
.blog-ultimi-testa .ap-tutti{font-weight:700;color:var(--verde-scuro)}

/* SCHEDE ARTICOLI - mai buchi: le schede dell ultima riga si allargano a riempirla
   (21/09/2026 ag.72, Luca). */
.ap-griglia,.blog-lista .ap-griglia,.blog-home .ap-griglia{display:flex;flex-wrap:wrap;gap:22px}
.ap-griglia > .ap-scheda{flex:1 1 240px;min-width:0}
.page-id-18606 .testa h1{max-width:none}

/* FOOTER - Approfondimenti a destra nella fascia dei consorzi (21/09/2026 ag.72, Luca). */
.piede-consorzi .piede-blog{margin-left:auto;color:#fff;font-weight:700;font-size:15px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);padding-bottom:1px}
.piede-consorzi .piede-blog:hover{border-bottom-color:#fff}
@media(max-width:640px){.piede-consorzi .piede-blog{margin-left:0}}

/* SCHEDE ARTICOLI - sommario sempre 3 righe piene, titolo 2 righe di spazio (21/09/2026 ag.72, Luca). */
.ap-testo em{-webkit-line-clamp:3;line-clamp:3;min-height:calc(3 * 1lh);max-height:calc(3 * 1lh)}
.ap-testo b{min-height:calc(2 * 1lh)}

/* FAQ - indice: attivo verde pieno, hover solo colore (prima identici); titoli di argomento
   grandi senza linea; sezioni 40px sopra (21/09/2026 ag.72, Luca). */
.faq-indice-lato a:hover{background:transparent;box-shadow:none;color:var(--verde)}
.faq-indice-lato a.attivo,.faq-indice-lato a.attivo:hover{background:var(--verde);color:#fff;box-shadow:none}
.faq-indice-lato a.attivo span{background:#fff;border-color:#fff;color:var(--verde-scuro)}
.page-id-18189 .faq2 h2{border-bottom:0;padding-bottom:0;margin:0 0 18px;font-size:clamp(22px,2.2vw,28px);letter-spacing:0;text-transform:none;color:var(--notte)}
.page-id-18189 .pagina section.faq2{padding:40px 0 0 0}

/* FAQ - banner finale largo quanto la colonna delle domande (21/09/2026 ag.72, Luca). */
.faq-colonna .faq-aiuto{width:auto;max-width:none;margin:40px 0 60px;box-sizing:border-box}

/* NUMERI DI TELEFONO mai spezzati a capo, in tutto il sito (21/09/2026 ag.72, Luca). */
a[href^="tel:"]{white-space:nowrap}

/* BANNER "Non trovi quello che cerchi?" col pattern CEDIS (21/09/2026 ag.72, Luca). */
.invito-contatti{background:var(--verde-scuro) url(pattern-cedis.png) repeat}

/* SCHEDE CON LINK "Leggi..." in fondo, allineati (Chi siamo, principi) - 21/09/2026 ag.72, Luca */
.pagina .tre .carta{display:flex;flex-direction:column}
.pagina .carta p:has(> .carta-link){margin:auto 0 0;padding-top:16px}
.pagina .carta p:empty{display:none}
.pagina .carta .carta-link{font-weight:700;font-size:15px;color:var(--verde-scuro);text-decoration:none}
.pagina .carta .carta-link:hover{color:var(--verde);text-decoration:underline;text-underline-offset:3px}

/* PULSANTI RAPIDI (Chi siamo, Servizi): sempre su una riga, che scorre di lato sugli schermi stretti;
   spazio fra i paragrafi dell intro (21/09/2026 ag.72, Luca). */
.portata .pt-intro p + p{margin-top:14px}
.portata .pt-intro p.pt-rapidi{max-width:none;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:8px;margin-top:26px;padding-bottom:2px}
.portata .pt-intro p.pt-rapidi::-webkit-scrollbar{display:none}
.portata .pt-rapidi a{flex:none;padding:8px 15px;font-size:14px}

/* CARD DELLE PAGINE FIGLIE: descrizione sempre 2 righe (spazio fisso, mai di piu) - 21/09/2026 ag.72, Luca */
.figlia em{-webkit-line-clamp:2;line-clamp:2;min-height:calc(2 * 1lh);max-height:calc(2 * 1lh)}

/* BANNER DIVISO VERDE (Sostenibilita): fondo verde, testi bianchi, pulsante bianco (21/09/2026 ag.72, Luca). */
.banner-split.banner-verde{background:var(--verde-scuro);border:0}
.banner-split.banner-verde h2{color:#fff}
.banner-split.banner-verde p{color:rgba(255,255,255,.9)}
.banner-split.banner-verde .bt-cta{background:#fff;color:var(--verde-scuro)}
.banner-split.banner-verde .bt-cta:hover{background:var(--verde-tenue);color:var(--verde-scuro)}

/* STACCO CENTRALE: titolo e sottotitolo centrati fra due blocchi (Sostenibilita) - 21/09/2026 ag.72, Luca */
.stacco-centro{text-align:center;max-width:720px;margin:var(--s8) auto var(--s6)}
.stacco-centro .sc-tit{margin:0 0 10px;font-size:clamp(24px,2.6vw,34px);font-weight:800;line-height:1.2;color:var(--notte);text-wrap:balance}
.stacco-centro .sc-sotto{margin:0 auto;max-width:60ch;font-size:17px;line-height:1.6;color:var(--grigio);text-wrap:balance}
.stacco-centro + .banner-split{margin-top:0}

/* SOSTENIBILITA - banner finale in due quadrati 6/6: foto e riquadro verde col pattern, testo centrato
   (21/09/2026 ag.72, Luca). */
.banner-split.banner-verde{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:transparent;overflow:visible}
.banner-split.banner-verde .bs-foto{aspect-ratio:1/1;min-height:0;border-radius:var(--r-md);overflow:hidden}
.banner-split.banner-verde .bs-testo{aspect-ratio:1/1;background:var(--verde-scuro) url(pattern-cedis.png) repeat;border-radius:var(--r-md);align-items:center;text-align:center;justify-content:center;padding:48px}
.banner-split.banner-verde p{margin-left:auto;margin-right:auto}
@media(max-width:760px){.banner-split.banner-verde{grid-template-columns:1fr}.banner-split.banner-verde .bs-foto{aspect-ratio:16/10}.banner-split.banner-verde .bs-testo{aspect-ratio:auto;padding:40px 24px}}
@media(min-width:761px) and (max-width:900px){.banner-split.banner-verde .bs-foto,.banner-split.banner-verde .bs-testo{aspect-ratio:auto}.banner-split.banner-verde .bs-foto{min-height:340px}.banner-split.banner-verde .bs-testo{padding:36px 28px}}

/* SOSTENIBILITA - titolo del riquadro verde su 2 righe anche su tablet stretto (21/09/2026 ag.72) */
@media(min-width:761px) and (max-width:900px){.banner-split.banner-verde h2{font-size:22px}}

/* VANTAGGI - riquadro del form grigio #F6F5F2, sezione bianca (21/09/2026 ag.72, Luca). */
.page-id-18268 .r6-form .fluentform{background:var(--sabbia)}

/* APPROFONDIMENTI - testo introduttivo piu largo (21/09/2026 ag.72, Luca). */
.page-id-18606 .testa p:not(.cappello){max-width:78ch}

/* PAGINE PER CHI - frase iniziale piu grande; spazio uguale sopra e sotto alle schede (21/09/2026 ag.72, Luca). */
.parent-pageid-18199 .portata .pt-intro > p{font-size:clamp(20px,1.8vw,25px);line-height:1.5}
.parent-pageid-18199 .portata .pt-sezione > .pt-schede:last-child{margin-bottom:0}
.parent-pageid-18199 .portata .pt-sezione > h2 + p a{color:var(--verde-scuro);font-weight:700}

/* Banner invito: titoli e testi piu grandi (20/10/2026 ag.52, Luca) */
.invito .inv-tit{font-size:clamp(28px,2.6vw,38px)!important;line-height:1.15!important;letter-spacing:-.01em}
.invito .inv-sub{font-size:18px!important;line-height:1.6!important;max-width:52ch}
.invito .inv-btn,.invito .btn{font-size:17px!important;padding:16px 28px!important}
.invito{gap:20px}

/* Link: niente sottolineature nette; solo testi corrente con filetto sottile e tenue (20/10/2026 ag.52, Luca) */
a,a:hover,a:focus{text-decoration:none!important}
.hm-tile span,.hm-tile:hover span,.hm-tile *{text-decoration:none!important}
.pagina .aiuto-mappa a,.pagina .carta .carta-link:hover,.vc-testo a:hover{text-decoration:none!important}
.pagina p a:not([class]),.vc-testo a:not([class]),.entry-content p a:not([class]){text-decoration:underline!important;text-decoration-thickness:1px!important;text-underline-offset:4px!important;text-decoration-color:rgba(0,107,63,.35)!important}
.pagina p a:not([class]):hover,.vc-testo a:not([class]):hover,.entry-content p a:not([class]):hover{text-decoration-color:currentColor!important}
.hm-tile em,.hm-tile .go,.hm-tile span:last-child{transition:transform .2s}.hm-tile:hover span:last-child{transform:translateX(4px)}
.invito .inv-tit{font-size:clamp(24px,2.1vw,32px)!important;text-wrap:balance}.invito .inv-sub{font-size:17px!important;max-width:none!important;text-wrap:pretty}

/* grain: base texture under pattern on solid green blocks */
:root{--grain:url(/wp-content/themes/cedis/assets/bg-noise.png)}
body .hm-nota{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important}
body .mm-aside{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro)!important}
body .invito{background:var(--grain) repeat,var(--notte)!important}
body .invito-contatti{background:var(--grain) repeat,var(--verde-scuro)!important}
body .hs .hm-quick{background:var(--grain) repeat,rgba(2,38,25,.82)!important}

/* buttons: one radius, no arrows */
body .hm-b1,body .hm-b2,body .hm-b3,body .hm-b4,body .nav-shop-btn,body .top .mm-cta,body .inv-cta,body .invito .btn,body .pf-b1,body .pf-b2,body a.btn,body button.btn{border-radius:var(--r-md)!important}
body .nav-shop-btn span{display:none!important}

/* invito contatti: banner dettagliato */
body .invito-contatti{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro)!important;justify-content:center;gap:0}
.invito-contatti .inv-k{display:block;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9FE3C0}
.invito-contatti .inv-tit{margin:0 0 14px;font-size:clamp(24px,2.1vw,32px)}
.invito-contatti .inv-sub{margin:0 0 14px}
.invito-contatti .inv-pt{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:10px}
.invito-contatti .inv-pt li{position:relative;padding-left:30px;color:#fff;font-size:16px;font-weight:600}
.invito-contatti .inv-pt li:before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:rgba(159,227,192,.2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239FE3C0' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/12px no-repeat}
.invito-contatti .inv-btns{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.invito-contatti .inv-cta{text-decoration:none}
.invito-contatti .inv-cta2{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.invito-contatti .inv-meta{display:block;font-size:13.5px;color:rgba(255,255,255,.78)}

/* small green banners: grain base, logo C stays */
body .hm-cc a.sc{background-image:var(--grain);background-repeat:repeat;background-color:var(--notte)!important}
body .invito-contatti .inv-cta{background:#fff!important;color:var(--notte)!important;border:1px solid #fff;transition:background .15s,border-color .15s,transform .15s}
body .invito-contatti .inv-cta:hover{background:#EAF7F0!important;color:var(--notte)!important;transform:translateY(-1px)}
body .invito-contatti .inv-cta.inv-cta2{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.55)}
body .invito-contatti .inv-cta.inv-cta2:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:#fff}

/* hero slides: grain under the photo, on the solid green side */
body .hs-s.sp{background:var(--grain) repeat,linear-gradient(120deg,#012a1a,#013d26)!important}

/* hero slides: grain as blended overlay over the whole slide (no seam, no greying) */
body .hs-s.sp{background:linear-gradient(120deg,#012a1a,#013d26)!important}
body .hs-s:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:var(--grain) repeat;mix-blend-mode:overlay;opacity:.9}

/* video series: bigger cards, more weight */
body .hm-vg{gap:22px}
body .hm-vc{flex:0 0 min(560px,88%)!important;border-radius:var(--r-lg)}
body .hm-vc .th i{width:72px;height:72px;margin:-36px}
body .hm-vc .th i:before{left:28px;top:22px;border-width:14px;border-left-width:22px}
body .hm-vc .bd{padding:24px 28px 30px}
body .hm-vc em{font-size:12.5px}
body .hm-vc b{font-size:21px;margin-top:10px}
@media(max-width:700px){body .hm-vc b{font-size:18px}body .hm-vc .bd{padding:20px 22px 24px}}
body #hmvp{left:calc(var(--vl,0px) - 23px)!important}
body #hmvn{right:calc(var(--vl,0px) - 23px)!important}
/* hero: no seam between solid side and photo, softer grain */
body .hs-s.sp{background:#013422!important}
body .hs-s.sp:before{background:linear-gradient(90deg,#013422 0,rgba(1,52,34,0) 30%)!important}
body .hs-s:after{opacity:.3!important}
/* video slider arrows: centered on the thumbnail, bigger */
body .hm-vw>button{top:min(160px,28vw)!important;width:58px!important;height:58px!important;background-size:26px!important}
/* product sliders: true full bleed, pure CSS (scrollbar-aware), no gap on the right */
body .hm-vet{width:calc(100vw - var(--sbw,0px))!important;max-width:none!important;margin-left:calc(50% - (100vw - var(--sbw,0px))/2)!important}
body .hm-vet iframe{display:block;width:100%!important;max-width:none!important}
/* brand marquee: no edge fades */
body .hm-logos.hm-mq{-webkit-mask-image:none!important;mask-image:none!important}
/* hero quick panel: same green and grain as the slide */
body .hs .hm-quick{position:relative;background:#013422!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:rgba(255,255,255,.14)!important}
body .hs .hm-quick:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--grain) repeat;mix-blend-mode:overlay;opacity:.3}
/* hero: visible grain on the solid green side only, fading out before the photo */
body .hs-s:after{mix-blend-mode:normal!important;opacity:.6!important;-webkit-mask-image:linear-gradient(90deg,#000 0,#000 36%,transparent 62%);mask-image:linear-gradient(90deg,#000 0,#000 36%,transparent 62%)}
/* hero: eased, longer fade so there is no visible joint between solid green and photo */
body .hs-s.sp .hm-hero-bg{width:66%!important}
body .hs-s.sp:before{width:66%!important;background:linear-gradient(90deg,#013422 0,rgba(1,52,34,.97) 5%,rgba(1,52,34,.9) 13%,rgba(1,52,34,.74) 24%,rgba(1,52,34,.54) 37%,rgba(1,52,34,.33) 51%,rgba(1,52,34,.15) 66%,rgba(1,52,34,.05) 82%,rgba(1,52,34,0) 100%)!important}
body .hs-s:after{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 30%,transparent 70%)!important;mask-image:linear-gradient(90deg,#000 0,#000 30%,transparent 70%)!important}
/* Chi siamo photo: group photo, natural look */
body .hm-chi-img:before{background-position:50% 35%!important;filter:contrast(1.04) saturate(1.05)!important}
/* header: Supporto sits right next to the Shop button */
@media(min-width:1200px){body .top .nav{position:relative}body .top .nav ul>li[data-mm="contatti"]{position:absolute;right:0;top:50%;transform:translateY(-50%)}body .top .nav ul{padding-right:110px}}
/* video cards: play moves next to the text, thumbnail stays clean */
body .hm-vc .th i{display:none!important}
body .hm-vc .bd{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:18px;align-items:center}
body .hm-vc .bd:before{content:"";grid-row:1/span 3;grid-column:1;width:56px;height:56px;border-radius:50%;background:var(--verde) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") 55% 50%/26px no-repeat;transition:transform .15s,background-color .15s}
body .hm-vc:hover .bd:before{transform:scale(1.08);background-color:var(--verde-scuro)}
body .hm-vc .bd>*{grid-column:2}
/* video cards: calm hover, nothing moves */
body .hm-vc,body .hm-vc:hover{transform:none!important}
body .hm-vc:hover .bd:before{transform:none!important}
/* video cards: bigger play */
body .hm-vc .bd{grid-template-columns:76px minmax(0,1fr);column-gap:22px}
body .hm-vc .bd:before{width:76px;height:76px;background-size:34px}
body .hm-vc .bd{grid-template-columns:68px minmax(0,1fr);column-gap:20px}
body .hm-vc .bd:before{width:68px;height:68px;background-size:46px}
/* header nav: soft highlight instead of underline */
body .top .nav>ul>li>a::before,body .top .nav>ul>li>a::after{display:none!important;content:none!important}
body .top .nav>ul>li>a{padding:8px 12px;margin:0 -12px;border-radius:var(--r-md);transition:background-color .15s,color .15s}
body .top .nav>ul>li:hover>a,body .top .nav>ul>li>a[aria-expanded=true],body .top .nav>ul>li.current-menu-item>a,body .top .nav>ul>li.current-page-ancestor>a{background:rgba(2,139,85,.10);color:var(--verde)}
/* notice bar stays sharp under the mega menu veil */
body .barra-alta{position:relative;z-index:60}
/* Supporto: highlight same height as the Shop button */
@media(min-width:1200px){body .top .nav>ul>li[data-mm="contatti"]>a{min-height:42px;padding:0 18px;margin:0;display:inline-flex;align-items:center;border-radius:var(--r-md)}}
/* header: icons on Supporto and Shop B2B */
body .top .nav>ul>li[data-mm="contatti"]>a{gap:8px}
body .top .nav>ul>li[data-mm="contatti"]>a::before,body .nav-shop-btn::before{content:""!important;display:inline-block!important;flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--ic) center/contain no-repeat;mask:var(--ic) center/contain no-repeat}
body .top .nav>ul>li[data-mm="contatti"]>a{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z'/%3E%3C/svg%3E")}
body .nav-shop-btn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8zM9 8a3 3 0 0 1 6 0'/%3E%3C/svg%3E")}
/* hero slider arrows: same size and chevron as the video series */
body .hm-sl-p,body .hm-sl-n{width:58px!important;height:58px!important;font-size:0!important;background-color:#fff;background-repeat:no-repeat!important;background-position:center!important;background-size:26px!important;top:50%!important;transform:translateY(-50%)}
body .hm-sl-p{left:-29px!important}
body .hm-sl-n{right:-29px!important}
body .hm-sl-p{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23013322' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 5l-7 7 7 7'/%3E%3C/svg%3E")!important}
body .hm-sl-n{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23013322' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")!important}
/* icons always visible: neutralize the old underline pseudo-element states */
body .top .nav>ul>li[data-mm="contatti"]>a::before,body .nav-shop-btn::before{position:static!important;inset:auto!important;transform:none!important;opacity:1!important;margin:0!important;height:18px!important;width:18px!important;transition:none!important}
/* Shop B2B: proper shopping cart icon */
body .nav-shop-btn{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h2.7l2.3 11.2a1.6 1.6 0 0 0 1.6 1.3h8.5a1.6 1.6 0 0 0 1.6-1.2l1.4-6.3H6.1'/%3E%3Ccircle cx='10' cy='20' r='1.3'/%3E%3Ccircle cx='17' cy='20' r='1.3'/%3E%3C/svg%3E")}
body .nav-shop-btn::before{width:20px!important;height:20px!important}
/* slider arrows: hover must not move them */
body .hm-sl-p,body .hm-sl-n,body .hm-sl-p:hover,body .hm-sl-n:hover,body .hm-sl-p:active,body .hm-sl-n:active,body .hm-sl-p:focus,body .hm-sl-n:focus,body .hm-vw>button,body .hm-vw>button:hover,body .hm-vw>button:active{transform:translateY(-50%)!important;transition:background-color .15s,box-shadow .15s!important}
/* hero slider: the one large-radius exception */
body .hs,body .hs-vp,body .hs-s{border-radius:32px}
@media(max-width:700px){body .hs,body .hs-vp,body .hs-s{border-radius:24px}}
/* less air under product sliders */
body .hm-sab:has(.hm-vet){padding-bottom:32px!important}
/* home: same title-to-cards gap everywhere (matches the video series) */
body .hm .hm-testa+section.wrap,body .hm .hm-testa+section{padding-top:0!important;margin-top:0!important}
body .hm .hm-testa+section.wrap .figlie{margin-top:0!important}
/* Shop B2B: bold text, no icon; Supporto closer to it */
body .nav-shop-btn::before{display:none!important;content:none!important}
body .nav-shop-btn{font-weight:800!important;letter-spacing:.01em}
@media(min-width:1200px){body .top .nav>ul>li[data-mm="contatti"]{right:-30px}}
@media(min-width:1200px){body .top .nav>ul>li[data-mm="contatti"]{right:-8px}}
@media(min-width:1200px){body .top .nav>ul>li[data-mm="contatti"]{right:6px}}
@media(min-width:1200px){body .top .nav>ul>li[data-mm="contatti"]{right:-3px}}
@media(min-width:1200px){body .top .nav>ul>li[data-mm="contatti"]{right:-14px}body .top .nav>ul>li[data-mm="contatti"]>a{padding:0 12px}}
/* header: every menu pill and the Shop button share height and radius */
body .top .nav>ul>li>a,body .top .nav>ul>li[data-mm="contatti"]>a{min-height:42px;display:inline-flex;align-items:center;border-radius:var(--r-md)!important}
body .nav-shop-btn{min-height:42px;border-radius:var(--r-md)!important}
/* icon tiles: always circles, one size per context, text aligned to them */
body .mm-ico,body .hm-ico{border-radius:50%!important}
body .mm-card .mm-ico{width:44px;height:44px}
body .mm-grid.c3 .mm-ico{width:48px;height:48px}
body .mm-grh{gap:14px}
body .mm-grh .mm-ico{width:40px;height:40px}
body .mm-gr>a{padding-left:54px}
/* icon inside circle: always half the circle, so the padding is the same everywhere */
body .mm-ico svg,body .hm-ico svg{width:50%!important;height:50%!important;display:block}
/* header menu: bigger labels */
@media(min-width:1200px){body .top .nav>ul>li>a,body .nav-shop-btn{font-size:16px}body .top .nav>ul{gap:26px}}

/* reparti home: card piu alte */
body .hm-tile{min-height:480px}
@media(max-width:900px){body .hm-tile{min-height:360px}}

/* settori home: fiato sotto = fiato sopra */
body .hm:has(.figlie){padding-bottom:76px!important;margin-bottom:0!important}
body .hm:has(.figlie) .wrap,body .hm:has(.figlie) .figlie{padding-bottom:0!important;margin-bottom:0!important}

/* footer: meno gap tra card contatto e illustrazione */
body .pf-illu{padding-top:0!important;margin-top:-24px!important}
@media(max-width:900px){body .pf-illu{padding-top:0!important;margin-top:0!important}}

/* slide Marchi: carte brand in cascata */
body .hs-s.sp:has(.hs-br){background:radial-gradient(ellipse 60% 70% at 76% 50%,#0E5638 0,#013422 70%)!important}
body .hs-s.sp:has(.hs-br):before{display:none!important}
.hs-br{position:absolute;right:0;top:0;bottom:0;width:58%;perspective:1400px;pointer-events:none;z-index:1}
.hs-bc{position:absolute;left:calc(var(--c)*27% + var(--r)*5% + 4%);top:calc(var(--r)*28% + 9%);width:30%;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;padding:6%;box-sizing:border-box;background:#fff;border-radius:var(--r-lg,16px);box-shadow:0 18px 40px rgba(0,12,6,.35),0 2px 6px rgba(0,12,6,.2);opacity:0;transform-origin:50% 0;transform:rotate(var(--t)) translateY(-26px) rotateX(-85deg)}
.hs-bc img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.hs-s.on .hs-bc{animation:hsbc 15s cubic-bezier(.2,.8,.2,1) calc(var(--i)*.55s) infinite backwards}
@keyframes hsbc{0%{opacity:0;transform:rotate(var(--t)) translateY(-26px) rotateX(-85deg)}5%{opacity:1}9%{opacity:1;transform:rotate(var(--t)) translateY(4px) rotateX(10deg)}12%,80%{opacity:1;transform:rotate(var(--t)) translateY(0) rotateX(0)}90%,100%{opacity:0;transform:rotate(var(--t)) translateY(18px) rotateX(0) scale(.96)}}
@media(max-width:900px){.hs-br{width:100%;opacity:.22}}
@media(prefers-reduced-motion:reduce){.hs-bc{opacity:1;transform:rotate(var(--t))}.hs-s.on .hs-bc{animation:none}}
/* brand cards: fiato sopra/sotto e loghi piu grandi */
body .hs-br{top:84px;bottom:84px;right:40px;width:56%}
body .hs-bc{height:31%;width:30%;aspect-ratio:auto;top:calc(var(--r)*34.5%);padding:3%}
body .hs-bc img{width:86%;height:74%;max-width:none;max-height:none;object-fit:contain}
@media(max-width:900px){body .hs-br{top:40px;bottom:40px;right:0;width:100%}}
/* brand cards: loghi piu grandi e ingresso piu rapido */
body .hs-bc{overflow:hidden}
body .hs-bc img{transform:scale(1.75)}
body .hs-bc[data-bg] img{transform:scale(2.5)}
body .hs-s.on .hs-bc{animation:hsbc2 14s cubic-bezier(.2,.9,.25,1.1) calc(var(--i)*.2s) infinite backwards}
@keyframes hsbc2{0%{opacity:0;transform:rotate(var(--t)) translateY(-22px) rotateX(-85deg)}2.5%{opacity:1}4.2%{opacity:1;transform:rotate(var(--t)) translateY(3px) rotateX(8deg)}5.5%,82%{opacity:1;transform:rotate(var(--t)) translateY(0) rotateX(0)}92%,100%{opacity:0;transform:rotate(var(--t)) translateY(16px) rotateX(0) scale(.96)}}
/* brand cards: mosaico pieno senza buchi, ritmo medio */
body .hs-br{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:14px;align-items:stretch}
body .hs-bc{position:relative;left:auto;top:auto;width:auto;height:auto;padding:0}
body .hs-bc img{width:80%;height:70%}
body .hs-s.on .hs-bc{animation:hsbc3 15s cubic-bezier(.2,.9,.25,1.05) calc(var(--i)*.32s) infinite backwards}
@keyframes hsbc3{0%{opacity:0;transform:translateY(-22px) rotateX(-85deg)}3%{opacity:1}6%{opacity:1;transform:translateY(3px) rotateX(8deg)}8%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(14px) scale(.97)}}
/* brand cards: loghi interi, spazi giusti */
body .hs-br{top:60px;bottom:76px;right:100px;width:50%;gap:14px}
body .hs-bc img{width:70%;height:62%;transform:scale(1.15)}
body .hs-bc[data-bg] img{width:86%;height:74%;transform:scale(2.2)}
@media(max-width:900px){body .hs-br{top:40px;bottom:40px;right:0;width:100%}}
/* brand cards: mosaico misto (bento) */
body .hs-br{grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);width:56%;right:90px;gap:14px}
body .hs-bc:nth-child(1){grid-column:1/span 2;grid-row:1}
body .hs-bc:nth-child(2){grid-column:3;grid-row:1/span 2}
body .hs-bc:nth-child(3){grid-column:4;grid-row:1}
body .hs-bc:nth-child(4){grid-column:1;grid-row:2}
body .hs-bc:nth-child(5){grid-column:2;grid-row:2}
body .hs-bc:nth-child(6){grid-column:4;grid-row:2}
body .hs-bc:nth-child(7){grid-column:1/span 2;grid-row:3}
body .hs-bc:nth-child(8){grid-column:3;grid-row:3}
body .hs-bc:nth-child(9){grid-column:4;grid-row:3}
@media(max-width:900px){body .hs-br{width:100%;right:0}}
/* brand cards: carte sul tavolo */
body .hs-br{display:block;top:60px;bottom:76px;right:100px;width:56%}
body .hs-bc{position:absolute;left:var(--x);top:var(--y);width:26%;height:auto;aspect-ratio:16/10;grid-column:auto!important;grid-row:auto!important;--t:0deg;z-index:calc(var(--i) + 1);transform:rotate(var(--t));transform-origin:50% 50%}
body .hs-bc:nth-child(1){--x:2%;--y:2%;--t:-7deg}
body .hs-bc:nth-child(2){--x:24%;--y:6%;--t:5deg}
body .hs-bc:nth-child(3){--x:47%;--y:0%;--t:-4deg}
body .hs-bc:nth-child(4){--x:70%;--y:8%;--t:8deg}
body .hs-bc:nth-child(5){--x:10%;--y:33%;--t:6deg}
body .hs-bc:nth-child(6){--x:36%;--y:30%;--t:-8deg}
body .hs-bc:nth-child(7){--x:60%;--y:35%;--t:4deg}
body .hs-bc:nth-child(8){--x:20%;--y:64%;--t:-5deg}
body .hs-bc:nth-child(9){--x:48%;--y:63%;--t:7deg}
body .hs-s.on .hs-bc{animation:hsdeal 16s cubic-bezier(.2,.8,.25,1) calc(var(--i)*.38s) infinite backwards}
@keyframes hsdeal{0%{opacity:0;transform:translate(90%,-120%) rotate(calc(var(--t) + 38deg)) scale(1.1)}5%{opacity:1}9%{opacity:1;transform:translate(0,2%) rotate(calc(var(--t) - 3deg))}11%,84%{opacity:1;transform:rotate(var(--t))}93%,100%{opacity:0;transform:translateY(14px) rotate(var(--t)) scale(.96)}}
/* brand cards: tavolo fitto, senza buchi */
body .hs-br{width:58%;right:80px}
body .hs-bc{width:29%}
body .hs-bc:nth-child(1){--x:0%;--y:0%;--t:-6deg}
body .hs-bc:nth-child(2){--x:23.5%;--y:2%;--t:4deg}
body .hs-bc:nth-child(3){--x:47%;--y:0%;--t:-3deg}
body .hs-bc:nth-child(4){--x:70.5%;--y:3%;--t:7deg}
body .hs-bc:nth-child(5){--x:11%;--y:29%;--t:5deg}
body .hs-bc:nth-child(6){--x:35%;--y:31%;--t:-7deg}
body .hs-bc:nth-child(7){--x:59%;--y:29%;--t:3deg}
body .hs-bc:nth-child(8){--x:23%;--y:58%;--t:-4deg}
body .hs-bc:nth-child(9){--x:47.5%;--y:57%;--t:6deg}
/* brand cards: piu piccole e lontane dal testo */
body .hs-br{width:52%;right:90px}
body .hs-bc{width:28%}
body .hs-bc:nth-child(1){--x:0%;--y:1%;--t:-5deg}
body .hs-bc:nth-child(2){--x:24%;--y:3%;--t:4deg}
body .hs-bc:nth-child(3){--x:48%;--y:0%;--t:-3deg}
body .hs-bc:nth-child(4){--x:72%;--y:3%;--t:6deg}
body .hs-bc:nth-child(5){--x:12%;--y:31%;--t:4deg}
body .hs-bc:nth-child(6){--x:36%;--y:32%;--t:-6deg}
body .hs-bc:nth-child(7){--x:60%;--y:30%;--t:3deg}
body .hs-bc:nth-child(8){--x:24%;--y:62%;--t:-4deg}
body .hs-bc:nth-child(9){--x:48%;--y:61%;--t:5deg}
/* brand cards: inclinazioni diverse */
body .hs-bc:nth-child(1){--t:-9deg}
body .hs-bc:nth-child(2){--t:6deg}
body .hs-bc:nth-child(3){--t:-3deg}
body .hs-bc:nth-child(4){--t:10deg}
body .hs-bc:nth-child(5){--t:5deg}
body .hs-bc:nth-child(6){--t:-8deg}
body .hs-bc:nth-child(7){--t:2deg}
body .hs-bc:nth-child(8){--t:-5deg}
body .hs-bc:nth-child(9){--t:8deg}
/* brand cards: atterrano gia inclinate e restano ferme */
body .hs-bc:nth-child(1){--rot:-9deg}
body .hs-bc:nth-child(2){--rot:6deg}
body .hs-bc:nth-child(3){--rot:-3deg}
body .hs-bc:nth-child(4){--rot:10deg}
body .hs-bc:nth-child(5){--rot:5deg}
body .hs-bc:nth-child(6){--rot:-8deg}
body .hs-bc:nth-child(7){--rot:2deg}
body .hs-bc:nth-child(8){--rot:-5deg}
body .hs-bc:nth-child(9){--rot:8deg}
body .hs-bc{transform:rotate(var(--rot))}
body .hs-s.on .hs-bc{animation:hsdeal2 16s cubic-bezier(.16,.84,.3,1) calc(var(--i)*.38s) infinite backwards}
@keyframes hsdeal2{0%{opacity:0;transform:translate(90%,-120%) rotate(calc(var(--rot) + 30deg)) scale(1.08)}4%{opacity:1}9%,84%{opacity:1;transform:translate(0,0) rotate(var(--rot)) scale(1)}93%,100%{opacity:0;transform:translateY(14px) rotate(var(--rot)) scale(.97)}}
/* mega menu: card reparto con foto */
body .mm-card.mm-ph{position:relative;overflow:hidden;background-size:cover;background-position:center;border-color:transparent;color:#fff}
body .mm-card.mm-ph:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(1,34,22,.12) 0,rgba(1,34,22,.18) 38%,rgba(1,34,22,.9) 100%);transition:opacity .2s}
body .mm-card.mm-ph>*{position:relative;z-index:1}
body .mm-card.mm-ph b,body .mm-card.mm-ph em{color:#fff}
body .mm-card.mm-ph em{opacity:.88}
body .mm-card.mm-ph .mm-ico{background:rgba(255,255,255,.92);color:var(--verde-scuro)}
body .mm-card.mm-ph:hover{border-color:transparent;transform:none}
body .mm-card.mm-ph:hover:before{opacity:.85}
/* mega marchi: elenco completo */
body .mm-marchi .mm-tutti{grid-column:1/-1}
body .mm-tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 20px;max-height:300px;overflow:auto;padding:4px 2px 4px 0}
body .mm-tl a{padding:7px 0;font-size:14px;border-bottom:1px solid var(--linea);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* mega reparti: la foto non sparisce ne si muove in hover */
body .mm-card.mm-ph,body .mm-card.mm-ph:hover,body .mm-card.mm-ph:focus-visible{background:var(--ph) center/cover no-repeat!important;transform:none!important;box-shadow:none!important;border-color:transparent!important}
body .mm-card.mm-ph:hover:before{opacity:1}
/* mega marchi: nastro dei marchi minori */
body .mm-mq{grid-column:1/-1;margin-top:6px}
body .mm-mqh{display:block;margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--verde)}
body .mm-mqv{overflow:hidden}
body .mm-mqt{display:flex;gap:10px;width:max-content;animation:mmq 90s linear infinite}
body .mm-mqt span{flex:0 0 auto;padding:9px 18px;border:1px solid var(--linea);border-radius:var(--r-pill,999px);background:#fff;color:var(--notte);font-size:14px;font-weight:500;white-space:nowrap}
@keyframes mmq{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){body .mm-mqt{animation:none;flex-wrap:wrap;width:auto}}
/* mega: fondo con semplice link */
body .mm-fin a{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important;color:var(--verde)!important;font-weight:700;font-size:15px;text-decoration:none!important}
body .mm-fin a:hover{background:none!important;color:var(--verde-scuro)!important;transform:none!important}

body .mm-fin a{font-weight:700!important;font-size:15px!important;letter-spacing:0!important}
body .mm-fin a span{font-size:inherit;font-weight:inherit;color:inherit}
/* mega marchi: Marchiati CEDIS in evidenza */
body .mm-gr.mm-hl{position:relative;background:var(--grain),linear-gradient(160deg,#1F7A52,#0E5638);border-color:transparent;color:#fff;overflow:hidden}
body .mm-gr.mm-hl .mm-grh{border-bottom-color:rgba(255,255,255,.22)}
body .mm-gr.mm-hl b,body .mm-gr.mm-hl a{color:#fff}
body .mm-gr.mm-hl a{border-bottom-color:rgba(255,255,255,.22)}
body .mm-gr.mm-hl .mm-ico{background:rgba(255,255,255,.95);color:var(--verde-scuro)}
body .mm-gr.mm-hl a:hover{color:#fff;opacity:.85}
/* mega marchi: Marchiati CEDIS evidenza leggera */
body .mm-gr.mm-hl{background:var(--verde-10)!important;border:1.5px solid var(--verde)!important;color:var(--notte)}
body .mm-gr.mm-hl .mm-grh{border-bottom-color:rgba(1,52,34,.14)}
body .mm-gr.mm-hl b{color:var(--verde-scuro)}
body .mm-gr.mm-hl a{color:var(--notte);border-bottom-color:rgba(1,52,34,.12)}
body .mm-gr.mm-hl a:hover{color:var(--verde);opacity:1}
body .mm-gr.mm-hl .mm-ico{background:var(--verde);color:#fff}
/* loghi marchi: sempre dentro la card con margine */
body .hm-mq .hm-logo:not(.bg){padding:26px 36px!important}
body .hm-mq .hm-logo:not(.bg) img{width:100%;height:100%;object-fit:contain;border-radius:0}

/* mega marchi: sfumatura bianca ai lati del nastro */
body .mm-mqv{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}

/* mega: spazi uguali tra tutti gli elementi */
body .mm-in{gap:16px!important;padding:32px 0!important}
body .mm-grid,body .mm-marchi{gap:16px!important}

/* home slider: frecce centrate sulla slide */
body #hmsl .hm-sl-p,body #hmsl .hm-sl-n{top:300px!important}
/* carte slide marchi: logo sempre intero con fiato */
body .hs-bc:not([data-bg]) img{transform:none!important;width:100%!important;height:100%!important;object-fit:contain!important;max-width:none!important;max-height:none!important}
body .hs-bc:not([data-bg]){padding:9% 12%!important;box-sizing:border-box;overflow:hidden}
/* carte slide marchi: logo ancorato alla carta */
body .hs-bc:not([data-bg]){padding:0!important}
body .hs-bc:not([data-bg]) img{position:absolute!important;left:12%!important;top:11%!important;width:76%!important;height:78%!important;object-fit:contain!important;transform:none!important}
/* carte slide marchi: sovrapposizione solo sui bordi, loghi mai coperti */
body .hs-br{width:56%;right:90px}
body .hs-bc{width:31%}
body .hs-bc:nth-child(1){--x:0%;--y:0%}
body .hs-bc:nth-child(2){--x:34.5%;--y:2%}
body .hs-bc:nth-child(3){--x:69%;--y:0%}
body .hs-bc:nth-child(4){--x:2%;--y:31.5%}
body .hs-bc:nth-child(5){--x:35%;--y:33%}
body .hs-bc:nth-child(6){--x:67%;--y:31%}
body .hs-bc:nth-child(7){--x:0%;--y:63%}
body .hs-bc:nth-child(8){--x:33.5%;--y:62%}
body .hs-bc:nth-child(9){--x:68%;--y:64%}
/* carte slide marchi: proporzioni e posizioni definitive */
body .hs-br{top:60px;bottom:70px;width:56%;right:90px}
body .hs-bc{width:31%;aspect-ratio:16/9}
body .hs-bc img,body .hs-bc[data-bg] img{transform:none}
body .hs-bc:nth-child(1){--y:0%}
body .hs-bc:nth-child(2){--y:2%}
body .hs-bc:nth-child(3){--y:0%}
body .hs-bc:nth-child(4){--y:32.5%}
body .hs-bc:nth-child(5){--y:33.5%}
body .hs-bc:nth-child(6){--y:31.5%}
body .hs-bc:nth-child(7){--y:65%}
body .hs-bc:nth-child(8){--y:64%}
body .hs-bc:nth-child(9){--y:66.5%}
/* carte slide marchi: posizioni come la versione scelta (4 + 3 + 2 sfalsate) */
body .hs-br{top:60px;bottom:76px;width:52%;right:90px}
body .hs-bc{width:28%;aspect-ratio:16/10}
body .hs-bc:nth-child(1){--x:0%;--y:1%}
body .hs-bc:nth-child(2){--x:24%;--y:3%}
body .hs-bc:nth-child(3){--x:48%;--y:0%}
body .hs-bc:nth-child(4){--x:72%;--y:3%}
body .hs-bc:nth-child(5){--x:12%;--y:31%}
body .hs-bc:nth-child(6){--x:36%;--y:32%}
body .hs-bc:nth-child(7){--x:60%;--y:30%}
body .hs-bc:nth-child(8){--x:24%;--y:62%}
body .hs-bc:nth-child(9){--x:48%;--y:61%}
/* mega prodotti: striscia verso tutti i reparti */
body .mm-grid:has(.mm-all){grid-auto-rows:auto;grid-template-rows:1fr auto}
body .mm-all{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 20px;border-radius:var(--r-md);background:var(--verde-10);color:var(--notte);text-decoration:none;font-size:14px;border:1px solid transparent}
body .mm-all b{font-weight:700;margin-right:6px;color:var(--verde-scuro)}
body .mm-all .mm-allc{flex:none;color:var(--verde);font-weight:700;font-size:15px}
body .mm-all:hover{border-color:var(--verde)}
body .mm-allc span{display:inline-block;margin-left:8px}
/* loghi marchi home: ombra hover col colore del brand, mai tagliata */
body .hm-mq-t{padding:24px 0 52px!important}
body .hm-logos.hm-mq{margin-top:-16px;margin-bottom:-36px}
body .hm-mq .hm-logo:hover{border-color:var(--sh,var(--verde));box-shadow:0 20px 36px -12px color-mix(in srgb,var(--sh,#028B55) 70%,transparent)!important;transform:translateY(-3px)}
/* Marchiati CEDIS: bollino con la C */
body .mm-gr.mm-hl .mm-ico{background:var(--verde) url(/wp-content/themes/cedis/assets/cedis-c.png) center/56% no-repeat!important}
body .mm-gr.mm-hl .mm-ico svg{display:none}
/* consegne slide: green fade ends before the first person (overlay is right-aligned, 66% wide) */
body .hs-s.sp:has(.hm-hero-bg[style*="trasportatori"]):before{background:linear-gradient(90deg,#013422 0,rgba(1,52,34,.94) 8%,rgba(1,52,34,.78) 16%,rgba(1,52,34,.42) 23%,rgba(1,52,34,.14) 29%,rgba(1,52,34,0) 34%)!important}
/* landing marchio */
.bl{padding:24px 0 var(--s7,72px)}
.bl-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:460px;border-radius:var(--r-lg);overflow:hidden;background:#013422 url(/wp-content/themes/cedis/assets/pattern-cedis.png) center/cover;color:#fff;isolation:isolate}
.bl-hero:before,.bl-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain) repeat;opacity:.5;pointer-events:none}
.bl-hero-t{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:18px}
.bl-eye{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7fe0ad;text-decoration:none}
.bl-hero h1{margin:0;font-size:clamp(40px,5vw,64px);line-height:1.04;color:#fff}
.bl-hero p{margin:0;max-width:520px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.88)}
.bl-hero-f{position:relative;background:center/cover no-repeat}
.bl-hero-f:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#013422 0,rgba(1,52,34,.55) 18%,rgba(1,52,34,0) 42%)}
.bl-logo{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:var(--r-md);background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.bl-logo img{max-width:80%;max-height:80%;object-fit:contain}
.bl-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.bl-b1,.bl-b2{display:inline-flex;align-items:center;padding:14px 24px;border-radius:var(--r-md);font-weight:600;font-size:15px;text-decoration:none!important;line-height:1}
.bl-b1{background:#fff;color:#013422!important}
.bl-b2{border:1px solid rgba(255,255,255,.55);color:#fff!important}
.bl-fatti{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:16px 0 0}
.bl-fatti div{display:flex;flex-direction:column;gap:6px;padding:24px 28px;border-radius:var(--r-lg);background:var(--verde-10)}
.bl-fatti strong{font-size:30px;line-height:1.1;color:var(--verde-scuro)}
.bl-fatti span{font-size:15px;color:var(--notte)}
.bl-sec{margin-top:72px}
.bl-sec h2,.bl-storia h2,.bl-cta h2{margin:0 0 28px;font-size:clamp(28px,3.2vw,40px);line-height:1.12}
.bl-gamma{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.bl-card{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.bl-card-f{aspect-ratio:16/10;background:center/cover no-repeat}
.bl-card h3{margin:20px 24px 8px;font-size:20px}
.bl-card p{margin:0 24px 24px;font-size:15px;line-height:1.55;color:var(--notte)}
.bl-storia{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center;margin-top:72px}
.bl-storia-f{aspect-ratio:4/3;border-radius:var(--r-lg);background:center/cover no-repeat}
.bl-storia-t p{margin:0 0 16px;font-size:17px;line-height:1.6}
.bl-link{display:inline-block;margin-top:8px;font-weight:700;color:var(--verde-scuro);text-decoration:none}
.bl-cta{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:72px;padding:48px;border-radius:var(--r-lg);background:#013422 url(/wp-content/themes/cedis/assets/pattern-cedis.png) center/cover;color:#fff}
.bl-cta h2{color:#fff;margin:0 0 10px}
.bl-cta p{margin:0;color:rgba(255,255,255,.85)}
.bl-cta .bl-btns{margin:0;flex-shrink:0}
@media(max-width:900px){.bl-hero,.bl-storia{grid-template-columns:1fr}.bl-hero-f{min-height:260px}.bl-hero-f:before{background:linear-gradient(180deg,#013422 0,rgba(1,52,34,0) 40%)}.bl-hero-t{padding:36px 24px}.bl-fatti,.bl-gamma{grid-template-columns:1fr}.bl-cta{flex-direction:column;align-items:flex-start;padding:32px 24px}.bl-storia{gap:24px}}
.bl-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:72px}
.bl-duo-c{position:relative;display:flex;min-height:440px;border-radius:var(--r-lg);overflow:hidden;background:center/cover no-repeat;color:#fff;isolation:isolate}
.bl-duo-c:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(1,34,22,.82) 0,rgba(1,34,22,.5) 38%,rgba(1,34,22,.05) 75%)}
.bl-duo-c>div{padding:36px 36px 0;display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:560px}
.bl-duo-c p{margin:0;font-size:18px;line-height:1.55;color:#fff}
@media(max-width:900px){.bl-duo{grid-template-columns:1fr}.bl-duo-c{min-height:380px}.bl-duo-c>div{padding:28px 24px 0}}
/* landing marchio: colori del brand (--bc) */
.bl-brand .bl-hero{background:var(--bc)}
.bl-brand .bl-hero:before{display:none}
.bl-brand .bl-hero-f:before{background:linear-gradient(90deg,var(--bc) 0,color-mix(in srgb,var(--bc) 50%,transparent) 18%,transparent 42%)}
.bl-brand .bl-eye{color:rgba(255,255,255,.85)}
.bl-brand .bl-b1{color:color-mix(in srgb,var(--bc) 82%,#000)!important}
.bl-brand .bl-fatti div{background:color-mix(in srgb,var(--bc) 9%,#fff)}
.bl-brand .bl-fatti strong,.bl-brand .bl-sec h2,.bl-brand .bl-card h3{color:color-mix(in srgb,var(--bc) 82%,#000)}
.bl-brand .bl-fatti span,.bl-brand .bl-card p{color:#2b3330}
.bl-brand .bl-duo-c:before{background:linear-gradient(180deg,color-mix(in srgb,var(--bc) 55%,#000) 0,color-mix(in srgb,var(--bc) 35%,transparent) 42%,transparent 78%)}
.bl-fm{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin-top:72px;padding:40px;border-radius:var(--r-lg);background:#013422 url(/wp-content/themes/cedis/assets/pattern-cedis.png) center/cover;color:#fff}
.bl-fm-l span{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7fe0ad}
.bl-fm-l h2{color:#fff;margin:12px 0 14px;font-size:clamp(28px,3.2vw,40px);line-height:1.1}
.bl-fm-l p{margin:0 0 24px;color:rgba(255,255,255,.88);font-size:17px;line-height:1.55}
.bl-fm .pf-form{margin:0}
.bl-brand .bl-fm{background:var(--bc)}
.bl-brand .bl-fm-l span{color:rgba(255,255,255,.85)}
.bl-brand .pf-form h3{color:color-mix(in srgb,var(--bc) 82%,#000)}
.bl-brand .pf-form .ff-btn-submit{background:var(--bc)}
.bl-brand .pf-form .ff-btn-submit:hover{background:color-mix(in srgb,var(--bc) 82%,#000)}
.bl-brand .pf-form .ff-el-form-control:focus{border-color:var(--bc);box-shadow:0 0 0 3px color-mix(in srgb,var(--bc) 18%,transparent)}
@media(max-width:900px){.bl-fm{grid-template-columns:1fr;padding:24px}}
.bl-hero-f.nofoto{display:flex;align-items:center;justify-content:center;background:#fff}
.bl-hero-f.nofoto:before{display:none}
.bl-hero-f.nofoto .bl-logo{position:static;width:min(260px,70%);height:auto;aspect-ratio:1;box-shadow:none;background:#fff}
.bl-brand .bl-hero-f.nofoto{background:color-mix(in srgb,var(--bc) 78%,#000)}
@media(max-width:900px){.bl .bl-gamma,.bl .bl-fatti{grid-template-columns:1fr!important}}
/* landing marchio: sezioni a filo, senza padding ereditato dal tema */
body .bl section.bl-hero,body .bl section.bl-fatti,body .bl section.bl-duo,body .bl section.bl-sec{padding:0!important;margin-left:0!important;margin-right:0!important;max-width:none!important}
body .bl section.bl-fm{padding:40px!important;margin-left:0!important;margin-right:0!important;max-width:none!important}
@media(max-width:900px){body .bl section.bl-fm{padding:24px!important}}
body .bl section.bl-sec,body .bl section.bl-duo,body .bl section.bl-fm{margin-top:56px!important}
body .bl section.bl-fatti{margin-top:16px!important}
.bl-sub{margin:-12px 0 24px;font-size:17px;color:#4b5b53}
.bl-sec h2,.bl-storia h2{max-width:none!important}
.bl-cat{display:inline-block;margin-top:24px;font-size:16px;color:color-mix(in srgb,var(--bc,#016B41) 82%,#000)}
.bl-ar{margin-left:8px}
/* modulo richiesta nelle landing marchio */
.bl-form{background:#fff;color:var(--notte);border-radius:var(--r-lg);padding:32px}
.bl-form h3{margin:0 0 6px;font-size:24px;color:color-mix(in srgb,var(--bc,#028B55) 82%,#000)}
.bl-form>p{margin:0 0 18px;font-size:15px;color:#4b5b53}
.bl-form fieldset{display:block!important;border:0;margin:0;padding:0;min-width:0}
.bl-form .ff-t-container{display:flex!important;gap:12px}
.bl-form .ff-t-cell{flex:1 1 0!important;min-width:0;padding:0!important}
.bl-form .ff-el-group{margin-bottom:14px!important}
body .bl-form .ff-el-input--label{display:block!important;position:static!important;width:auto!important;height:auto!important;clip:auto!important;margin:0 0 6px!important}
.bl-form .ff-el-input--label label{font-size:14px;font-weight:600;color:var(--notte)}
.bl-form .ff-el-form-control{width:100%;min-height:46px;padding:11px 14px;border:1px solid #cfd8d3;border-radius:var(--r-md);font-size:15px;background:#fff;box-sizing:border-box}
.bl-form textarea.ff-el-form-control{min-height:96px}
.bl-form .iti{width:100%}
body .bl-form .ff-btn-submit{width:100%;min-height:50px;border:0;border-radius:var(--r-md);background:var(--bc,#028B55)!important;color:#fff!important;font-weight:700;font-size:16px;cursor:pointer}
body .bl-form .ff-btn-submit:hover{background:color-mix(in srgb,var(--bc,#028B55) 82%,#000)!important}
.bl-form .ff-el-form-control:focus{border-color:var(--bc,#028B55);box-shadow:0 0 0 3px color-mix(in srgb,var(--bc,#028B55) 18%,transparent)}
@media(max-width:640px){.bl-form .ff-t-container{flex-direction:column;gap:0}}
/* landing marchio: fascia dietro il PNG pre-footer bianca (come la sezione sopra) */
body.page-template-page-landing-marchio-php .pf-illu{background:linear-gradient(#fff calc(100% - 200px),transparent 0)!important}
@media(max-width:900px){body.page-template-page-landing-marchio-php .pf-illu{background:linear-gradient(#fff calc(100% - 90px),transparent 0)!important}}
body.page-template-page-landing-marchio-php .pf-illu{padding-top:80px!important}
@media(max-width:900px){body.page-template-page-landing-marchio-php .pf-illu{padding-top:48px!important}}
.bl-fm-logo{display:inline-flex;align-items:center;justify-content:center;height:64px;padding:0 20px;margin-bottom:20px;background:#fff;border-radius:var(--r-md)}
.bl-fm-logo img{display:block;max-height:40px;width:auto;max-width:160px}
body .bl-fm-l h2{margin:0 0 14px}
.bl-fm-l p.bl-fm-s{margin:0 0 24px;font-size:16px;color:rgba(255,255,255,.75)}
.bl-h1l{margin:0 0 4px!important;line-height:1!important}
.bl-h1logo{display:inline-flex;align-items:center;justify-content:center;height:96px;padding:0 30px;background:#fff;border-radius:var(--r-md);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.bl-h1logo img{display:block;max-height:60px;max-width:260px;width:auto;height:auto}
@media(max-width:900px){.bl-h1logo{height:72px;padding:0 22px}.bl-h1logo img{max-height:44px}}
body .bl-brand .bl-hero-f:not(.nofoto):before{background:linear-gradient(90deg,var(--bc) 0,color-mix(in srgb,var(--bc) 82%,transparent) 8%,color-mix(in srgb,var(--bc) 62%,transparent) 20%,color-mix(in srgb,var(--bc) 38%,transparent) 34%,color-mix(in srgb,var(--bc) 18%,transparent) 48%,color-mix(in srgb,var(--bc) 6%,transparent) 62%,transparent 76%)!important}
.bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-input--content{display:flex;flex-wrap:wrap;gap:8px}
.bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-form-check{margin:0!important}
.bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-form-check label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 14px;border:1px solid #cfd8d3;border-radius:999px;font-size:14px;cursor:pointer}
.bl-form .ff-el-group:has(input[name^="categorie"]) input{margin:0}
body .bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-input--content{flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;--fl:0px;--fr:44px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%)}
.bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-input--content::-webkit-scrollbar{display:none}
.bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-form-check{flex:0 0 auto}
.bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-form-check label{white-space:nowrap}
body .bl-brand .bl-form{--bd:color-mix(in srgb,var(--bc) 62%,#000);--bl:color-mix(in srgb,var(--bc) 28%,#fff);color:var(--bd)}
body .bl-brand .bl-form .ff-el-input--label label,body .bl-brand .bl-form .ff-el-form-check label,body .bl-brand .bl-form .ff_t_c,body .bl-brand .bl-form .ff-el-tc label,body .bl-brand .bl-form a{color:var(--bd)!important}
body .bl-brand .bl-form h3{color:var(--bd)}
body .bl-brand .bl-form .ff-el-form-control,body .bl-brand .bl-form .ff-el-group:has(input[name^="categorie"]) .ff-el-form-check label{border-color:var(--bl)!important;color:var(--bd)}
body .bl-brand .bl-form .ff-el-form-control::placeholder{color:color-mix(in srgb,var(--bc) 40%,#fff)}
body .bl-brand .bl-form input[type=checkbox]{accent-color:var(--bc)}
body .bl-brand .bl-form .ff-el-form-check label:has(input:checked){background:color-mix(in srgb,var(--bc) 10%,#fff)!important;border-color:var(--bc)!important}
.bl-h1logo.p{height:auto;padding:0;background:none!important;box-shadow:none;border-radius:0}
.bl-h1logo.p img{max-height:96px;max-width:340px}
.bl-h1logo:not(.p){box-shadow:none}
.bl-sec iframe[id^=cvt]{width:calc(100% + 44px)!important;max-width:none!important;margin:0 -22px!important}
@media(max-width:700px){.bl-sec iframe[id^=cvt]{width:100%!important;margin:0!important}}
/* selettore telefono: stesso stile dello Shop, su tutti i moduli */
.fluentform .iti{width:100%;--iti-border-color:#dfe8e2;--iti-arrow-color:var(--verde);--iti-dialcode-color:#5b6f64;--iti-hover-color:#eef7f1;--iti-arrow-padding:8px;--iti-spacer-horizontal:12px}
.iti__dropdown-content{border-radius:12px!important;border:1px solid #dfe8e2!important;box-shadow:0 12px 30px rgba(10,77,46,.14)!important;overflow:hidden;width:min(360px,calc(100vw - 48px))}
.iti__search-input{border:0!important;border-bottom:1px solid #dfe8e2!important;border-radius:0!important;box-shadow:none!important;padding:12px 14px!important;font-size:15px}
.iti__country{padding:9px 14px}
.iti__country.iti__highlight{background:#e7f5ed}
.iti__country-container{padding:6px}
.iti__selected-country{border-radius:12px 0 0 12px}
body .bl-brand .iti{--iti-border-color:color-mix(in srgb,var(--bc) 28%,#fff);--iti-arrow-color:var(--bc);--iti-dialcode-color:color-mix(in srgb,var(--bc) 60%,#000);--iti-hover-color:color-mix(in srgb,var(--bc) 8%,#fff)}
body .bl-brand .iti__dropdown-content{border-color:color-mix(in srgb,var(--bc) 28%,#fff)!important;box-shadow:0 12px 30px color-mix(in srgb,var(--bc) 22%,transparent)!important;color:color-mix(in srgb,var(--bc) 62%,#000)}
body .bl-brand .iti__search-input{border-bottom-color:color-mix(in srgb,var(--bc) 28%,#fff)!important;color:color-mix(in srgb,var(--bc) 62%,#000)}
body .bl-brand .iti__country.iti__highlight{background:color-mix(in srgb,var(--bc) 10%,#fff)}
body .bl-brand .iti__search-input:focus{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--bc) 18%,transparent)!important}
body .bl-brand .bl-hero-f:not(.nofoto):before{background:linear-gradient(90deg,color-mix(in srgb,var(--bc) 100%,transparent) 0%,color-mix(in srgb,var(--bc) 97%,transparent) 6%,color-mix(in srgb,var(--bc) 90%,transparent) 12%,color-mix(in srgb,var(--bc) 80%,transparent) 20%,color-mix(in srgb,var(--bc) 68%,transparent) 28%,color-mix(in srgb,var(--bc) 55%,transparent) 36%,color-mix(in srgb,var(--bc) 42%,transparent) 44%,color-mix(in srgb,var(--bc) 31%,transparent) 52%,color-mix(in srgb,var(--bc) 21%,transparent) 60%,color-mix(in srgb,var(--bc) 13%,transparent) 68%,color-mix(in srgb,var(--bc) 7%,transparent) 76%,color-mix(in srgb,var(--bc) 3%,transparent) 84%,color-mix(in srgb,var(--bc) 0%,transparent) 92%)!important}
.bl-h1logo.p img{max-height:64px!important;max-width:240px!important}
/* telefono: allineamento fine allo Shop */
body .fluentform .iti input.ff-el-form-control{padding-left:88px!important}
body .fluentform .iti__selected-country,body .fluentform .iti__selected-country-primary{background:transparent!important}
body .fluentform .iti__country-container{padding:0}
body .fluentform .iti__selected-country-primary{padding:0 10px 0 14px}
.iti__dropdown-content .iti__country-list{padding:6px}
.iti__country{padding:11px 12px;border-radius:8px;gap:12px}
.iti__country-name{margin-right:auto!important}
.iti__dial-code{color:#5b6f64!important;font-weight:500}
.iti__search-input{display:block;width:calc(100% - 20px)!important;margin:10px!important;border:1px solid #dfe8e2!important;border-radius:12px!important;padding:12px 14px!important;box-shadow:none!important}
.iti__search-input:focus{outline:0;border-color:var(--verde)!important;box-shadow:0 0 0 3px rgba(2,139,85,.14)!important}
body .bl-brand .iti__search-input{border:1px solid color-mix(in srgb,var(--bc) 28%,#fff)!important}
body .bl-brand .iti__search-input:focus{border-color:var(--bc)!important}
body .bl-brand .iti__dial-code{color:color-mix(in srgb,var(--bc) 60%,#000)!important}
body .bl-brand .bl-hero-f:not(.nofoto):before{background:linear-gradient(90deg,color-mix(in srgb,var(--bc) 100%,transparent) 0%,color-mix(in srgb,var(--bc) 90%,transparent) 5%,color-mix(in srgb,var(--bc) 76%,transparent) 12%,color-mix(in srgb,var(--bc) 58%,transparent) 20%,color-mix(in srgb,var(--bc) 42%,transparent) 28%,color-mix(in srgb,var(--bc) 28%,transparent) 36%,color-mix(in srgb,var(--bc) 17%,transparent) 44%,color-mix(in srgb,var(--bc) 9%,transparent) 52%,color-mix(in srgb,var(--bc) 4%,transparent) 60%,color-mix(in srgb,var(--bc) 0%,transparent) 68%)!important}
body .bl-brand .bl-hero-f:not(.nofoto):before{background:linear-gradient(90deg,color-mix(in srgb,var(--bc) 100%,transparent) 0%,color-mix(in srgb,var(--bc) 99%,transparent) 6%,color-mix(in srgb,var(--bc) 94%,transparent) 13%,color-mix(in srgb,var(--bc) 88%,transparent) 19%,color-mix(in srgb,var(--bc) 80%,transparent) 26%,color-mix(in srgb,var(--bc) 71%,transparent) 32%,color-mix(in srgb,var(--bc) 61%,transparent) 39%,color-mix(in srgb,var(--bc) 50%,transparent) 45%,color-mix(in srgb,var(--bc) 39%,transparent) 51%,color-mix(in srgb,var(--bc) 29%,transparent) 58%,color-mix(in srgb,var(--bc) 20%,transparent) 64%,color-mix(in srgb,var(--bc) 12%,transparent) 71%,color-mix(in srgb,var(--bc) 6%,transparent) 77%,color-mix(in srgb,var(--bc) 1%,transparent) 84%,color-mix(in srgb,var(--bc) 0%,transparent) 90%)!important}
@media(min-width:901px){.bl-hero-t{position:relative;z-index:2}.bl-brand .bl-hero-f:not(.nofoto){margin-left:-220px}}
.iti__country-list{scrollbar-width:thin;scrollbar-color:#b7d3c2 transparent}
.iti__country-list::-webkit-scrollbar{width:4px}
.iti__country-list::-webkit-scrollbar-button{display:none;height:0}
.iti__country-list::-webkit-scrollbar-track{background:transparent}
.iti__country-list::-webkit-scrollbar-thumb{background:#b7d3c2;border-radius:4px}
body .bl-brand .iti__country-list{scrollbar-color:color-mix(in srgb,var(--bc) 40%,#fff) transparent}
body .bl-brand .iti__country-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--bc) 40%,#fff)}
body .bl-brand .bl-duo-c:before{background:linear-gradient(180deg,rgba(0,0,0,.78) 0,rgba(0,0,0,.55) 30%,rgba(0,0,0,.22) 60%,rgba(0,0,0,0) 85%)}
.bl-fm-l>p{margin:0 0 28px}
.bl-st{list-style:none;margin:0 0 28px;padding:0;counter-reset:st}
.bl-st li{position:relative;counter-increment:st;display:flex;flex-direction:column;gap:2px;padding:0 0 22px 60px}
.bl-st li:last-child{padding-bottom:0}
.bl-st li:before{content:counter(st);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--bc,#016B41);font-weight:800;font-size:18px}
.bl-st li:not(:last-child):after{content:"";position:absolute;left:21.5px;top:48px;bottom:4px;width:1px;background:rgba(255,255,255,.4)}
.bl-st b{font-size:18px;line-height:1.3;color:#fff;padding-top:2px}
.bl-st span{font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.82)}
body .bl-fm-l .bl-st b{display:block;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.3;letter-spacing:0;text-transform:none;color:#fff}
body .bl-fm-l .bl-st span{display:block;font-size:15.5px;font-weight:400;line-height:1.5;letter-spacing:0;text-transform:none;color:rgba(255,255,255,.82);text-wrap:pretty;max-width:42ch}
body .bl-form .ff-btn-submit:focus,body .bl-form .ff-btn-submit:focus-visible,body .bl-form .ff-btn-submit:active,body .bl-form .ff-btn-submit:disabled,body .bl-form .ff-btn-submit[disabled]{background:var(--bc,#028B55)!important;background-image:none!important;color:#fff!important;opacity:1}
body .bl-form .ff-btn-submit:hover:not(:disabled){background:color-mix(in srgb,var(--bc,#028B55) 82%,#000)!important}
body .bl-form .ff-btn-submit:focus-visible{outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--bc,#028B55) 28%,transparent)}
body .bl-form .ff-btn-submit:disabled{opacity:.7;cursor:progress}
body .bl-fm-l .bl-fm-k{display:block;margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7)}
body .bl-fm-l h2{font-size:clamp(30px,3vw,40px);font-weight:800;line-height:1.12;margin:0 0 16px}
body .bl-fm-l>p{font-size:17px;line-height:1.55;color:rgba(255,255,255,.82);margin:0 0 28px;max-width:46ch}
body .bl-st{display:grid;gap:12px;margin:0 0 28px}
body .bl-st li{padding:18px 20px 18px 80px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-md);box-shadow:0 8px 20px rgba(0,0,0,.12)}
body .bl-st li:last-child{padding-bottom:18px}
body .bl-st li:before{left:20px;top:18px}
body .bl-st li:after{display:none!important}
body .bl-fm-l .bl-st b{font-size:19px;font-weight:700;line-height:1.3;margin-bottom:4px}
body .bl-fm-l .bl-st span{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.7)}
body .bl-fm-l .bl-fm-lk{display:inline-flex;align-items:center;font-size:16px;font-weight:700;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:2px}
body .bl-fm-l .bl-fm-lk:hover{border-bottom-color:#fff}
body .bl-fm-l .bl-fm-lk .bl-ar{margin-left:8px}
body .bl-fm-l .bl-fm-lk{border-bottom:0;padding:0;margin:0}
body .bl-fm-l .bl-fm-lk:hover{text-decoration:none;opacity:.85}
.ar-u{display:inline-block;margin-left:8px}
body .bl-fm-l .bl-fm-k{color:color-mix(in srgb,#fff 68%,var(--bc,#016B41))}
body .bl-fm-l>p{font-size:16px;color:color-mix(in srgb,#fff 86%,var(--bc,#016B41))}
body .bl-st li{background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.06));border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 12px 26px rgba(0,16,56,.26)}
body .bl-st li:before{box-shadow:0 4px 10px rgba(0,16,56,.28)}
body .bl-fm-l .bl-st b{font-size:19px;color:#fff;letter-spacing:-.005em}
body .bl-fm-l .bl-st span{font-size:13.5px;line-height:1.5;color:color-mix(in srgb,#fff 76%,var(--bc,#016B41))}
body .bl-fm-l .bl-fm-lk{color:color-mix(in srgb,#fff 92%,var(--bc,#016B41))}
.piede-promo .pp-t>span{white-space:nowrap}
.ar-u{white-space:nowrap}
body .bl-fm-l .bl-st span{text-wrap:balance}
body .piede .piede-promo .pp-t>span{display:block!important;white-space:nowrap}
body .piede .piede-promo .pp-t>span .ar-u{display:inline!important;margin-left:8px;position:static!important;float:none!important}
@media(min-width:901px){body .bl-fm{align-items:stretch}
body .bl-fm-l{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
body .bl-fm-l .bl-st{margin-bottom:28px}
body .bl-fm-l .bl-fm-lk{margin-top:auto}}
body .bl-fatti div{gap:8px}
body .bl-fatti strong{font-size:28px}
body .bl-brand .bl-fatti span,body .bl-fatti span{font-size:18px;font-weight:600;line-height:1.35;color:color-mix(in srgb,var(--bc,#016B41) 45%,#000)}
@media(min-width:901px){body .bl-fm-l{justify-content:flex-end}
body .bl-fm-l .bl-fm-lk{margin-top:0}}
@media(min-width:901px){body .bl-fatti span{white-space:nowrap}}
@media(min-width:901px){body .bl-fatti span{white-space:normal;text-wrap:balance}body .bl-fatti span.un{white-space:nowrap}}
@media(min-width:901px){body .bl section.bl-duo{margin-left:calc(-1 * clamp(0px,(100vw - 100% - 48px)/2,68px))!important;margin-right:calc(-1 * clamp(0px,(100vw - 100% - 48px)/2,68px))!important}}
body .bl-fm-l h2 .bl-ln{display:block}
.bl-sec iframe[id^=cvt]{width:calc(100% + 60px)!important;margin:0 -30px!important}
@media(max-width:700px){.bl-sec iframe[id^=cvt]{width:100%!important;margin:0!important}}
body.page-template-page-landing-marchio-php{overflow-x:clip}
@media(min-width:901px){body .bl section.bl-duo{margin-left:calc(-1 * clamp(0px,(100vw - 100% - 48px)/2,124px))!important;margin-right:calc(-1 * clamp(0px,(100vw - 100% - 48px)/2,124px))!important}}
/* hero landing marchio: a tutta larghezza come le slide della home */
@media(min-width:901px){
body .bl section.bl-hero{margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:100vw;border-radius:0;min-height:520px}
body .bl .bl-hero-t{padding-left:max(24px,calc((100vw - 1124px)/2))!important;padding-right:48px}}
/* hero landing marchio: stesse misure dello slider della home (largo come lui, con angoli e ombra) */
@media(min-width:901px){
body .bl section.bl-hero{width:min(calc(100vw - 64px),1680px)!important;margin-left:calc(50% - min(calc(100vw - 64px),1680px)/2)!important;margin-right:0!important;margin-top:24px!important;border-radius:32px;min-height:600px;box-shadow:0 30px 60px -34px color-mix(in srgb,var(--bc,#013322) 70%,#000)}
body .bl .bl-hero-t{padding-left:max(40px,calc((min(100vw - 64px,1680px) - 1124px)/2))!important}}
body .bl-fm-l h2 .bl-ln{display:block;font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:none;color:inherit;margin:0}
@media(min-width:901px){body .bl section.bl-fm{margin-left:calc(-1 * clamp(0px,(100vw - 100% - 48px)/2,124px))!important;margin-right:calc(-1 * clamp(0px,(100vw - 100% - 48px)/2,124px))!important}}
body .bl section.bl-hero{box-shadow:none!important}
@media(min-width:901px){
body .bl .bl-hero-t{gap:26px}
body .bl .bl-hero p{font-size:21px;line-height:1.55;max-width:660px}
body .bl .bl-hero .bl-h1logo.p img{max-height:88px!important;max-width:330px!important}
body .bl .bl-hero .bl-btns{gap:16px;margin-top:10px}
body .bl .bl-hero .bl-b1,body .bl .bl-hero .bl-b2{padding:20px 34px;font-size:18px;border-radius:14px}}
@media(min-width:901px){body .bl section.bl-hero{margin-top:0!important}}
@media(min-width:901px){
body .bl .bl-hero-t{gap:24px}
body .bl .bl-hero p{font-size:19px;line-height:1.55;max-width:620px}
body .bl .bl-hero .bl-btns{gap:14px}
body .bl .bl-hero .bl-b1,body .bl .bl-hero .bl-b2{padding:17px 28px;font-size:16.5px;border-radius:13px}}
@media(min-width:901px){body .bl section.bl-fatti{margin-top:-56px!important;position:relative;z-index:3}
body .bl section.bl-fatti div{box-shadow:0 18px 36px -18px color-mix(in srgb,var(--bc,#013322) 55%,#000)}}
body .bl section.bl-fatti div{box-shadow:none!important}
@media(min-width:901px){body .bl section.bl-sec:has(.bl-gamma){margin-top:104px!important}
body .bl section.bl-sec:has(.bl-gamma)+section.bl-duo{margin-top:104px!important}}
@media(max-width:900px){body .bl section.bl-sec:has(.bl-gamma){margin-top:72px!important}
body .bl section.bl-sec:has(.bl-gamma)+section.bl-duo{margin-top:72px!important}}
@media(min-width:901px){body .bl section.bl-sec#prodotti{margin-top:104px!important}}
@media(max-width:900px){body .bl section.bl-sec#prodotti{margin-top:72px!important}}
@media(min-width:901px){body .bl section.bl-fm{margin-top:84px!important}}
@media(max-width:900px){body .bl section.bl-fm{margin-top:64px!important}}
@media(min-width:901px){body .bl section.bl-fatti{margin-top:-36px!important}}
@media(min-width:901px){body .bl section.bl-fatti{margin-top:-26px!important}}
body .bl-brand .bl-hero-f:not(.nofoto):before{background:linear-gradient(90deg,color-mix(in srgb,var(--bc) 100%,transparent) 0%,color-mix(in srgb,var(--bc) 99%,transparent) 5%,color-mix(in srgb,var(--bc) 94%,transparent) 10%,color-mix(in srgb,var(--bc) 88%,transparent) 15%,color-mix(in srgb,var(--bc) 80%,transparent) 21%,color-mix(in srgb,var(--bc) 71%,transparent) 26%,color-mix(in srgb,var(--bc) 61%,transparent) 31%,color-mix(in srgb,var(--bc) 50%,transparent) 36%,color-mix(in srgb,var(--bc) 39%,transparent) 41%,color-mix(in srgb,var(--bc) 29%,transparent) 46%,color-mix(in srgb,var(--bc) 20%,transparent) 51%,color-mix(in srgb,var(--bc) 12%,transparent) 57%,color-mix(in srgb,var(--bc) 6%,transparent) 62%,color-mix(in srgb,var(--bc) 1%,transparent) 67%,color-mix(in srgb,var(--bc) 0%,transparent) 72%)!important}

body #prodotti .bl-sub{margin-bottom:6px!important}

/* landing marchio: variante per colori chiari (es. giallo) */
body .bl-light .bl-hero-t h1,body .bl-light .bl-hero-t p,body .bl-light .bl-eye{color:#2a2000!important}
body .bl-light .bl-hero .bl-b1{background:#2a2000!important;color:#fff!important}
body .bl-light .bl-hero .bl-b2{background:transparent!important;border-color:#2a2000!important;color:#2a2000!important}
body .bl-light .bl-fatti strong,body .bl-light .bl-sec h2,body .bl-light .bl-card h3,body .bl-light .pf-form h3{color:color-mix(in srgb,var(--bc) 48%,#000)}
body .bl-light .bl-fm-l h2,body .bl-light .bl-fm-l p,body .bl-light .bl-fm-l .bl-st b,body .bl-light .bl-fm-l .bl-fm-lk{color:#2a2000!important}
body .bl-light .bl-fm-l .bl-fm-k,body .bl-light .bl-fm-l .bl-st span{color:rgba(42,32,0,.78)!important}
body .bl-light .bl-st li{background:rgba(255,255,255,.4);border-color:rgba(42,32,0,.14);box-shadow:0 10px 22px rgba(90,60,0,.14)}
body .bl-light .bl-st li:before{color:#2a2000;box-shadow:0 4px 10px rgba(90,60,0,.2)}
body .bl-light .pf-form .ff-btn-submit{color:#2a2000!important}
body .bl-light .pf-form .ff-btn-submit:hover{background:#2a2000!important;color:#fff!important}
body .bl-card-f.pk{background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;background-color:#f4f2ee}

/* landing marchio: card con video (play + embed inline) */
body .bl-card-f[data-yt]{position:relative;cursor:pointer}
body .bl-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .2s}
body .bl-play:after{content:"";position:absolute;left:25px;top:20px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent var(--bc,#016B41)}
body .bl-card-f[data-yt]:hover .bl-play{transform:scale(1.08)}
body .bl-card-f.on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body .bl-card-f.on{position:relative;background-image:none!important}
body .bl-card-f.on iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
body .bl .bl-hero .bl-h1logo.p img{max-height:120px!important;max-width:360px!important}
@media(max-width:900px){body .bl .bl-hero .bl-h1logo.p img{max-height:80px!important;max-width:260px!important}}

/* landing marchio: marchio + altri prodotti della categoria */
.bl-sp{display:flex;gap:28px;align-items:flex-start}
.bl-sp-a{flex:0 0 calc(25% - 14px);min-width:0}
.bl-sp-b{flex:1;min-width:0;border-left:1px solid var(--linea,#e2e6e3);padding-left:28px}
.bl-sp-k{display:block;margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--bc,#016B41) 82%,#000)}
body .bl-sec .bl-sp iframe[id^=cvt]{width:100%!important;margin:0!important}
@media(max-width:900px){.bl-sp{flex-direction:column;gap:20px}.bl-sp-a{flex:none;width:100%}.bl-sp-b{border-left:0;padding-left:0;width:100%}}
body .bl-card-f.ld:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:4px solid rgba(255,255,255,.35);border-top-color:#fff;animation:blspin .8s linear infinite;z-index:2;pointer-events:none}
body .bl-card-f.ld{background-color:#0b0b0b}
@keyframes blspin{to{transform:rotate(360deg)}}
body .bl-card-f.on .bl-play{display:none}
body .bl-gamma.bl-vid .bl-card-f{aspect-ratio:16/9}
body .bl-light .bl-ar,body .bl-light .bl-ar *{color:#2a2000!important;fill:currentColor;opacity:1!important}
body .bl-light .bl-form{--bd:#2a2000;--bl:rgba(42,32,0,.38)}
body .bl-light .bl-form .ff-el-input--label label,body .bl-light .bl-form .ff-el-form-check label,body .bl-light .bl-form .ff_t_c,body .bl-light .bl-form a{color:#2a2000!important;opacity:1!important}
body .bl-light .bl-form .ff-el-form-control{color:#2a2000!important;border-color:rgba(42,32,0,.38)!important}
body .bl-light .bl-form .ff-el-form-control::placeholder{color:rgba(42,32,0,.62)!important;opacity:1}
body .bl-light .bl-form h3,body .bl-light .bl-form p{color:#2a2000!important}
body .bl-light .bl-form .iti__arrow{border-top-color:#2a2000!important;border-bottom-color:#2a2000!important;opacity:1!important}
body .bl-light .bl-form .iti__selected-dial-code,body .bl-light .bl-form .iti__country-name,body .bl-light .bl-form .iti__dial-code{color:#2a2000!important}
body .bl-light .bl-form .iti__search-input,body .bl-light .bl-form .iti__search-input::placeholder{color:#2a2000!important;opacity:1}
body .bl-light .bl-form .iti__search-input::placeholder{color:rgba(42,32,0,.62)!important}
body .bl-light .iti__dropdown-content{color:#2a2000!important;border-color:rgba(42,32,0,.35)!important;background:#fff!important}
body .bl-light .iti__dropdown-content *{color:#2a2000!important}
body .bl-light .iti__search-input{color:#2a2000!important;border:1px solid rgba(42,32,0,.4)!important;background:#fff!important}
body .bl-light .iti__search-input::placeholder{color:rgba(42,32,0,.62)!important;opacity:1}
body .bl-light .iti__country.iti__highlight,body .bl-light .iti__country:hover{background:#fbefa8!important}
body .bl-light .iti__arrow{border-top-color:#2a2000!important;opacity:1!important}
body .bl-light .iti__selected-dial-code{color:#2a2000!important}
body .bl-light .bl-st li{background:rgba(255,251,235,.72)!important;border-color:rgba(60,45,0,.14)!important;box-shadow:0 10px 22px rgba(70,50,0,.16)}
body .bl-light .bl-fm-l .bl-st b{color:#241b00!important}
body .bl-light .bl-fm-l .bl-st span{color:#4a3c0a!important}
body .bl-light .bl-fm-l p{color:#33280a!important}
body .bl-light .bl-fm-l .bl-fm-k{color:#4a3c0a!important}
body .bl-light .bl-fm-l h2{color:#1f1700!important}
body .bl-brand.bl-light .bl-hero-f:not(.nofoto):before{background:linear-gradient(115deg,var(--bc) 0,var(--bc) 34%,color-mix(in srgb,var(--bc) 94%,transparent) 42%,color-mix(in srgb,var(--bc) 78%,transparent) 50%,color-mix(in srgb,var(--bc) 55%,transparent) 58%,color-mix(in srgb,var(--bc) 30%,transparent) 66%,color-mix(in srgb,var(--bc) 12%,transparent) 74%,transparent 84%)}
body .bl-brand.bl-light .bl-hero-f:not(.nofoto):before{background:linear-gradient(128deg,var(--bc) 0,var(--bc) 38%,color-mix(in srgb,var(--bc) 95%,transparent) 44%,color-mix(in srgb,var(--bc) 84%,transparent) 51%,color-mix(in srgb,var(--bc) 68%,transparent) 58%,color-mix(in srgb,var(--bc) 50%,transparent) 65%,color-mix(in srgb,var(--bc) 33%,transparent) 72%,color-mix(in srgb,var(--bc) 18%,transparent) 79%,color-mix(in srgb,var(--bc) 7%,transparent) 87%,transparent 96%)}
@media(min-width:901px){body .bl-brand.bl-light .bl-hero-f:not(.nofoto){margin-left:-440px}}
body .bl-brand.bl-light .bl-hero-f:not(.nofoto):before{background:linear-gradient(125deg,var(--bc) 0,var(--bc) 31%,color-mix(in srgb,var(--bc) 95%,transparent) 38%,color-mix(in srgb,var(--bc) 84%,transparent) 46%,color-mix(in srgb,var(--bc) 68%,transparent) 54%,color-mix(in srgb,var(--bc) 50%,transparent) 62%,color-mix(in srgb,var(--bc) 33%,transparent) 70%,color-mix(in srgb,var(--bc) 18%,transparent) 78%,color-mix(in srgb,var(--bc) 7%,transparent) 87%,transparent 97%)}
@media(min-width:901px){body .bl section.bl-fm{column-gap:clamp(56px,6vw,104px)!important}}
@media(min-width:901px){body .bl section.bl-fm{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}
body .bl section.bl-fm>*{min-width:0}
body .bl section.bl-fm .bl-form{max-width:100%;box-sizing:border-box}
@media(min-width:901px){body .bl section.bl-fm{grid-template-columns:minmax(420px,.76fr) minmax(0,1.24fr)!important}}
@media(min-width:901px){body .bl-brand .bl-hero-f:not(.nofoto){margin-left:-440px}}
body .bl-brand .bl-hero-f:not(.nofoto):before{background:linear-gradient(142deg,var(--bc) 0,var(--bc) 31%,color-mix(in srgb,var(--bc) 95%,transparent) 38%,color-mix(in srgb,var(--bc) 84%,transparent) 46%,color-mix(in srgb,var(--bc) 68%,transparent) 54%,color-mix(in srgb,var(--bc) 50%,transparent) 62%,color-mix(in srgb,var(--bc) 33%,transparent) 70%,color-mix(in srgb,var(--bc) 18%,transparent) 78%,color-mix(in srgb,var(--bc) 7%,transparent) 87%,transparent 97%)}
/* tutto il sito: mai una parola sola sull'ultima riga */
body p,body li,body dd,body blockquote,body figcaption,body .bl-sub,body .bl-card p,body .bl-st span{text-wrap:pretty}
body h1,body h2,body h3,body h4{text-wrap:balance}
@media(max-width:900px){body .bl-brand .bl-hero-f:not(.nofoto):before,body .bl-brand.bl-light .bl-hero-f:not(.nofoto):before,body .bl-hero-f:before{display:none!important;background:none!important}}
body.page-id-19057 .bl-card:nth-child(-n+3) .bl-card-f{background-color:#FEDC01!important}
body .mm-gr.mm-hl .mm-ico{background:var(--verde) url(/wp-content/themes/cedis/assets/cedis-c-rot.png) center/56% no-repeat!important}
body .mm-mqv{padding:3px 0 6px;margin:-3px 0 -6px}
/* pagina Marchi a sezioni */
body .mk2-sez{padding-top:56px}
body .mk2-sh{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-bottom:22px}
body .mk2-sh h2{margin:0;flex:0 0 100%}
body .mk2-sh p{margin:0;color:var(--notte);opacity:.8;max-width:60ch}
body .mk2-all{font-weight:700;color:var(--verde);margin-left:auto;text-decoration:none}
body .mk2-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
body .mk2-c{display:flex;flex-direction:column;border:1px solid var(--linea);border-radius:16px;overflow:hidden;background:#fff;text-decoration:none;color:var(--notte);transition:transform .2s,box-shadow .2s}
body .mk2-c:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.1)}
body .mk2-l{display:flex;align-items:center;justify-content:center;height:130px;padding:20px}
body .mk2-l img{max-height:80px;max-width:80%;width:auto;object-fit:contain}
body .mk2-l b{color:#fff;font-size:22px}
body .mk2-t{display:flex;flex-direction:column;gap:6px;padding:16px 18px 20px}
body .mk2-t b{font-size:18px}
body .mk2-t em{font-style:normal;font-size:14px;line-height:1.5;opacity:.8}
body .mk2-ban{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:64px;margin-bottom:64px;padding:36px 40px;border-radius:24px;background:var(--verde);color:#fff}
body .mk2-ban h2{margin:0 0 6px;color:#fff}
body .mk2-ban p{margin:0;opacity:.9}
body .mk2-btn{background:#fff;color:var(--verde-scuro);font-weight:700;padding:14px 26px;border-radius:999px;text-decoration:none}
/* banner marchio CEDIS */
body .bl-own{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:56px 0;padding:34px 40px;border-radius:24px;background:var(--bc,#028B55);color:#fff}
body .bl-own-c{flex:0 0 72px;height:72px;border-radius:50%;background:#fff url(/wp-content/themes/cedis/assets/cedis-c-rot.png) center/56% no-repeat;filter:invert(0)}
body .bl-own div{flex:1 1 320px}
body .bl-own h2{margin:0 0 6px;color:#fff}
body .bl-own p{margin:0;color:#fff;opacity:.92;max-width:60ch}
body .bl-own-b{background:#fff;color:var(--bc,#028B55);font-weight:700;padding:14px 26px;border-radius:999px;text-decoration:none}
@media(max-width:700px){body .bl-own{padding:26px 22px}}
body .bl-own{position:relative;overflow:hidden;background:var(--grain),linear-gradient(160deg,#1F7A52,#0E5638)!important}
body .bl-own-c{box-shadow:0 0 0 2px rgba(255,255,255,.55)}
body .bl-own-b{color:#0E5638!important}
body .bl-own{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important;border-radius:var(--r-lg,20px);padding:30px 36px}
/* bollino C a intermittenza */
body .bl-own-c{position:relative;background:#028B55;animation:blOwnBg 1.8s step-end infinite}
body .bl-own-c:after{content:"";position:absolute;inset:0;background:#fff;-webkit-mask:url(/wp-content/themes/cedis/assets/cedis-c-rot.png) center/56% no-repeat;mask:url(/wp-content/themes/cedis/assets/cedis-c-rot.png) center/56% no-repeat;animation:blOwnC 1.8s step-end infinite}
@keyframes blOwnBg{0%{background-color:#028B55}33.3%{background-color:#0b0b0b}66.6%{background-color:#fff}}
@keyframes blOwnC{0%{background:#fff;transform:rotate(0)}33.3%{background:#fff;transform:rotate(-28deg)}66.6%{background:#028B55;transform:rotate(30deg)}}
@media(prefers-reduced-motion:reduce){body .bl-own-c,body .bl-own-c:after{animation:none}}
body .bl-own-c{background:var(--ob,#028B55);animation:none!important}
body .bl-own-c:after{background:var(--oc,#fff);transform:rotate(var(--or,0deg));animation:none!important}
/* pagina Marchi: banner per categoria e per marchio */
body .mk3-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
body .mk3-nav a{padding:10px 20px;border:1px solid var(--linea);border-radius:999px;background:#fff;color:var(--notte);font-weight:600;text-decoration:none}
body .mk3-nav a:hover{border-color:var(--verde);color:var(--verde)}
body .mk3-sez{padding-top:56px;scroll-margin-top:90px}
body .mk3-cat{display:grid;grid-template-columns:1fr 1fr;min-height:340px;border-radius:var(--r-lg,20px);overflow:hidden;background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f);color:#fff}
body .mk3-cat.inv .mk3-ct{order:2}
body .mk3-ct{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:44px}
body .mk3-k{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
body .mk3-ct h2{margin:0;color:#fff}
body .mk3-ct p{margin:0;opacity:.92;max-width:48ch}
body .mk3-ci{background:center/cover no-repeat;min-height:240px}
body .mk3-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
body .mk3-b{position:relative;isolation:isolate;display:flex;align-items:center;min-height:230px;border-radius:var(--r-lg,20px);overflow:hidden;background:var(--bc) center right/cover no-repeat;color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}
body .mk3-b:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.14)}
body .mk3-b:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,var(--bc) 0,var(--bc) 40%,color-mix(in srgb,var(--bc) 78%,transparent) 54%,color-mix(in srgb,var(--bc) 35%,transparent) 72%,transparent 92%)}
body .mk3-bt{display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:56%;padding:30px 32px}
body .mk3-bt img{max-height:54px;max-width:170px;width:auto;object-fit:contain}
body .mk3-bt b{font-size:26px;line-height:1.1}
body .mk3-bt em{font-style:normal;font-size:15px;line-height:1.45;opacity:.95}
body .mk3-bt i{font-style:normal;font-weight:700;font-size:15px;border-bottom:2px solid currentColor}
body .mk3-b.lt{color:#2a2000}
@media(max-width:900px){body .mk3-cat{grid-template-columns:1fr}body .mk3-cat.inv .mk3-ct{order:0}body .mk3-g{grid-template-columns:1fr}body .mk3-bt{max-width:100%}body .mk3-b:before{background:linear-gradient(180deg,var(--bc) 0,var(--bc) 55%,transparent 100%)}body .mk3-b{align-items:flex-start;min-height:280px}}
body .mk3-nav button{padding:10px 20px;border:1px solid var(--linea);border-radius:999px;background:#fff;color:var(--notte);font:inherit;font-weight:600;cursor:pointer}
body .mk3-nav button:hover{border-color:var(--verde);color:var(--verde)}
body .mk3-nav button.on{background:var(--verde);border-color:var(--verde);color:#fff}
body .mk3-sez[hidden]{display:none!important}
body .mk3-cat.noimg{grid-template-columns:1fr;min-height:0}
body .mk3-tl{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px;margin-top:18px}
body .mk3-t{display:flex;flex-direction:column;align-items:center;gap:10px;padding:22px;border:1px solid var(--linea);border-radius:var(--r-lg,20px);background:#fff;color:var(--notte);font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s}
body .mk3-t:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(0,0,0,.1)}
body .mk3-t img{width:100%;max-width:200px;aspect-ratio:1;object-fit:contain}

/* ===== /marchi/ vetrina banner per categoria (w72 21/10/2026) ===== */
body .mk3-fine{padding-top:56px}
body .mk3-fine .mk2-ban{margin:0}
body .vt{display:grid;gap:18px;margin-top:18px}
body .vt-r{display:grid;gap:18px}
body .vt-full{grid-template-columns:minmax(0,1fr)}
body .vt-duo{grid-template-columns:repeat(2,minmax(0,1fr))}
body .vt-tris{grid-template-columns:repeat(3,minmax(0,1fr))}
body .vt-mos,body .vt-mosdx{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(250px,auto))}
body .vt-mos .big{grid-row:1/3}
body .vt-mosdx{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
body .vt-mosdx .big{grid-column:2;grid-row:1/3}
body .vt-mosdx .sm:nth-child(2){grid-column:1;grid-row:1}
body .vt-mosdx .sm:nth-child(3){grid-column:1;grid-row:2}
body .vt-b{--vb:var(--verde-scuro,#016B41);position:relative;isolation:isolate;display:flex;overflow:hidden;min-height:250px;border-radius:var(--r-lg,20px);background:var(--vb);color:#fff;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease}
body .vt-b.wide{min-height:300px}
body .vt-b.big{min-height:518px}
body .vt-b:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(1,51,34,.16)}
body .vt-i{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
body .vt-b:hover .vt-i{transform:scale(1.04)}
body .vt-b:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
body .vt-t{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:30px 34px;max-width:100%}
body .vt-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
body .vt-h{font-size:22px;line-height:1.2;font-weight:700;letter-spacing:-.01em}
body .vt-p{font-size:15px;line-height:1.5;opacity:.92;max-width:44ch}
body .vt-c{margin-top:6px;font-style:normal;font-weight:700;font-size:14.5px;border-bottom:2px solid currentColor;padding-bottom:1px}
body .vt-b.wide .vt-h,body .vt-b.big .vt-h{font-size:30px}
/* lato del testo */
body .vt-b.sx,body .vt-b.dx{align-items:center}
body .vt-b.sx .vt-t,body .vt-b.dx .vt-t{max-width:min(50%,470px)}
body .vt-b.dx{justify-content:flex-end}
body .vt-b.basso{align-items:flex-end}
body .vt-b.sx:before{background:linear-gradient(90deg,rgba(1,40,26,.86) 0,rgba(1,40,26,.6) 38%,rgba(1,40,26,0) 68%)}
body .vt-b.dx:before{background:linear-gradient(270deg,rgba(1,40,26,.86) 0,rgba(1,40,26,.6) 38%,rgba(1,40,26,0) 68%)}
body .vt-b.basso:before{background:linear-gradient(0deg,rgba(1,40,26,.9) 0,rgba(1,40,26,.55) 42%,rgba(1,40,26,0) 72%)}
/* foto chiara: testo scuro sul vuoto della foto */
body .vt-b.chiaro{color:var(--notte,#014C2E)}
body .vt-b.chiaro.sx:before{background:linear-gradient(90deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 55%)}
body .vt-b.chiaro.dx:before{background:linear-gradient(270deg,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 55%)}
body .vt-b.chiaro.basso:before{background:none}
body .vt-b.chiaro .vt-k{color:var(--verde,#028B55);opacity:1}
/* pannello: testo su riquadro pieno sopra la foto */
body .vt-b.pan{align-items:flex-end}
body .vt-b.pan:before{background:none}
body .vt-b.pan .vt-t{margin:18px;max-width:min(calc(100% - 36px),420px);border-radius:14px;background:rgba(255,255,255,.95);color:var(--notte,#014C2E);padding:20px 24px;box-shadow:0 8px 24px rgba(0,0,0,.12)}
body .vt-b.pan .vt-k{color:var(--verde,#028B55);opacity:1}
/* prodotto scontornato su fondo tinto */
body .vt-b.fit{background:var(--vb);color:var(--notte,#014C2E);align-items:flex-end}
body .vt-b.fit:before{background:none}
body .vt-b.fit .vt-i{inset:20px 20px 96px;width:calc(100% - 40px);height:calc(100% - 116px);object-fit:contain;mix-blend-mode:multiply}
body .vt-b.fit .vt-t{padding:0 26px 24px}
body .vt-b.fit .vt-k{color:var(--verde,#028B55);opacity:1}
body .vt-b.fit.sx .vt-i{inset:28px 28px 28px 46%;width:calc(54% - 28px);height:calc(100% - 56px)}
body .vt-b.fit.sx{align-items:center}
body .vt-b.fit.sx .vt-t{padding:30px 34px}
body .vt-b.big.fit:not(.sx) .vt-i{inset:30px 30px 130px;width:calc(100% - 60px);height:calc(100% - 160px)}
/* banner a tinta unita, senza foto */
body .vt-b.solo{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#016B41);align-items:flex-end}
body .vt-b.solo .vt-h{font-size:24px}
/* loghi dei marchi */
body .vt-loghi{margin-top:18px;padding:24px 26px;border:1px solid var(--linea);border-radius:var(--r-lg,20px);background:#fff}
body .vt-lt{display:block;margin-bottom:14px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde,#028B55)}
body .vt-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
body .vt-lg a{display:flex;align-items:center;justify-content:center;height:76px;padding:8px;border-radius:12px;background:#fff;border:1px solid transparent;transition:border-color .2s,box-shadow .2s}
body .vt-lg a:hover{border-color:var(--linea);box-shadow:0 6px 16px rgba(0,0,0,.07)}
body .vt-lg img{max-width:100%;max-height:58px;width:auto;object-fit:contain}
@media(max-width:1000px){body .vt-tris{grid-template-columns:repeat(2,minmax(0,1fr))}body .vt-tris .vt-b:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:760px){
 body .vt-duo,body .vt-tris,body .vt-mos,body .vt-mosdx{grid-template-columns:minmax(0,1fr);grid-template-rows:none}
 body .vt-mos .big,body .vt-mosdx .big,body .vt-mosdx .sm:nth-child(2),body .vt-mosdx .sm:nth-child(3){grid-column:auto;grid-row:auto}
 body .vt-b,body .vt-b.wide,body .vt-b.big{min-height:300px}
 body .vt-b.sx,body .vt-b.dx{align-items:flex-end;justify-content:flex-start}
 body .vt-b.sx .vt-t,body .vt-b.dx .vt-t{max-width:100%}
 body .vt-b.sx:before,body .vt-b.dx:before{background:linear-gradient(0deg,rgba(1,40,26,.9) 0,rgba(1,40,26,.55) 45%,rgba(1,40,26,0) 75%)}
 body .vt-b.chiaro.sx:before,body .vt-b.chiaro.dx:before,body .vt-b.chiaro.basso:before{background:none}
 body .vt-b.chiaro:not(.fit) .vt-t{margin:14px;border-radius:14px;background:rgba(255,255,255,.93);padding:18px 20px}
 body .vt-b.fit.sx{align-items:flex-end}
 body .vt-b.fit.sx .vt-i{inset:20px 20px 150px;width:calc(100% - 40px);height:calc(100% - 170px)}
 body .vt-b.fit.sx .vt-t{padding:0 22px 22px;margin:0;background:none}
 body .vt-b.wide .vt-h,body .vt-b.big .vt-h{font-size:24px}
 body .vt-t{padding:22px 22px}
}
/* ===== /marchi/: mosaico per categoria + due banner finali (w72 21/10/2026) ===== */
body .mz{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:repeat(2,minmax(250px,auto));gap:18px;margin-top:18px}
body .mz-t{position:relative;isolation:isolate;display:flex;align-items:flex-end;overflow:hidden;min-height:250px;border-radius:var(--r-lg,20px);background:var(--verde-scuro,#016B41);color:#fff;text-decoration:none;transition:transform .25s,box-shadow .25s}
body .mz-t:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(1,51,34,.16)}
body .mz-t>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s}
body .mz-t:hover>img{transform:scale(1.04)}
body .mz-t:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(1,30,20,.88) 0,rgba(1,30,20,.45) 55%,rgba(1,30,20,.05) 100%)}
body .mz-x{display:flex;flex-direction:column;align-items:flex-start;gap:10px;width:100%;padding:26px 28px}
body .mz-h{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.01em}
body .mz-w .mz-h{font-size:22px;max-width:30ch}
body .mz-p{font-size:15px;line-height:1.45;font-weight:500;max-width:46ch}
body .mz-c{font-style:normal;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:10px 20px;border-radius:999px;background:#fff;color:var(--notte,#014C2E)}
body .mz-g{grid-column:1;grid-row:1/3;min-height:518px}
body .mz-w{grid-column:2/4;grid-row:1}
body .mz-q1{grid-column:2;grid-row:2}
body .mz-q2{grid-column:3;grid-row:2}
body .mz-dx{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr)}
body .mz-dx .mz-g{grid-column:3}
body .mz-dx .mz-w{grid-column:1/3}
body .mz-dx .mz-q1{grid-column:1}
body .mz-dx .mz-q2{grid-column:2}
body .mz-duo{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(300px,auto))}
body .mz-duo .mz-g{grid-column:1;grid-row:1;min-height:300px}
body .mz-duo .mz-w{grid-column:2;grid-row:1}
body .mz-duo .mz-q1{grid-column:1;grid-row:2}
body .mz-duo .mz-q2{grid-column:2;grid-row:2}
body .mz-tre{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(280px,auto) minmax(300px,auto)}
body .mz-tre .mz-w{grid-column:1/4;grid-row:1}
body .mz-tre .mz-g{grid-column:1;grid-row:2;min-height:300px}
body .mz-tre .mz-q1{grid-column:2;grid-row:2}
body .mz-tre .mz-q2{grid-column:3;grid-row:2}
body .mz-orizz{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(300px,auto))}
body .mz-orizz .mz-g,body .mz-orizz .mz-w{grid-column:1;min-height:300px}
body .mz-orizz .mz-g{grid-row:1}
body .mz-orizz .mz-w{grid-row:2}
body .mz-fine{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
body .mz-f{display:flex;align-items:center;gap:18px;padding:22px 26px;border-radius:var(--r-lg,20px);text-decoration:none;transition:transform .2s,box-shadow .2s}
body .mz-f:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(1,51,34,.12)}
body .mz-f1{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--verde-scuro,#016B41);color:#fff}
body .mz-f2{background:#fff;border:1px solid var(--linea);color:var(--notte,#014C2E)}
body .mz-ft{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
body .mz-ft b{font-size:19px;line-height:1.25}
body .mz-ft em{font-style:normal;font-size:14.5px;opacity:.85}
body .mz-f>i{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;color:var(--verde,#028B55);font-style:normal;font-size:20px}
body .mz-f2>i{background:var(--verde,#028B55);color:#fff}
body .vt-fl{display:flex;flex:0 0 auto}
body .vt-fl img{width:46px;height:46px;margin-left:-10px;padding:5px;border-radius:50%;background:#fff;border:1px solid var(--linea);object-fit:contain}
body .vt-fl img:first-child{margin-left:0}
@media(max-width:900px){
 body .mz{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}
 body .mz .mz-g,body .mz .mz-w{grid-column:1/-1!important;grid-row:auto!important;min-height:300px}
 body .mz .mz-q{grid-column:auto!important;grid-row:auto!important}
 body .mz-fine{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){body .mz{grid-template-columns:minmax(0,1fr)}}
body .pagina.mk3 .mk3-fine{padding-top:56px;padding-bottom:96px}@media(max-width:760px){body .pagina.mk3 .mk3-fine{padding-bottom:64px}}
body .mz-f1.foto{background:linear-gradient(90deg,rgba(1,30,20,.88) 0,rgba(1,30,20,.55) 60%,rgba(1,30,20,.25) 100%),var(--mzf) center/cover no-repeat}
body .mz-w .mz-h{max-width:none;font-size:clamp(19px,1.9vw,24px);text-wrap:balance}body .mz-h,body .mz-p{text-wrap:balance;overflow-wrap:normal;hyphens:manual}body .mz-w .mz-x{max-width:min(100%,640px)}
body .pagina.mk3 section.mk3-fine{padding-top:56px!important;padding-bottom:96px!important}
body .mz-f1:not(.foto){background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important}
body .pagina.mk3{padding-bottom:96px}
body .mz-f1,body .mz-f1.foto,body .mz-f1:not(.foto){background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important;color:#fff}
body .mz-f1 .mz-ft{display:block}
body .mz-f1 .mz-ft b,body .mz-f1 .mz-ft em{display:inline;font-size:15.5px;line-height:1.5;opacity:1}
body .mz-f1 .mz-ft em{color:#d3eadf}
body .mz-f1 .mz-ft b:after{content:". "}
body .mz-f1>i.mz-btn{width:auto;height:auto;padding:14px 22px;border-radius:12px;background:#fff;color:var(--notte,#014C2E);font-size:14.5px;font-weight:700;white-space:nowrap}
body.page-id-18222 .pf-illu,body.page-template-page-marchi-php .pf-illu{background:transparent!important}
body .mz-f2{flex-wrap:wrap;row-gap:14px}
body .mz-f2 .mz-ft{order:1;flex:1 1 220px}
body .mz-f2>i{order:2}
body .mz-f2 .vt-fl{order:3;flex:0 0 100%;flex-wrap:wrap;gap:8px}
body .mz-f2 .vt-fl img{width:44px;height:44px;margin:0;padding:6px}
body .mz-sx{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
body .mz-dx{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr)}
body .mz-sx .mz-g,body .mz-dx .mz-g{aspect-ratio:1/1;min-height:0}
body .mz-sx .mz-w{grid-column:2/4}
@media(max-width:900px){body .mz .mz-g{aspect-ratio:auto!important;min-height:300px!important}}
@media(max-width:900px){body .mz-sx,body .mz-dx{grid-template-columns:repeat(2,minmax(0,1fr))}body .mz-sx .mz-w,body .mz-dx .mz-w{grid-column:1/-1}}
@media(max-width:560px){body .mz-sx,body .mz-dx{grid-template-columns:minmax(0,1fr)}}
body .mz-f2 .vt-fl{gap:4px}body .mz-f2 .vt-fl img{width:52px;height:52px;padding:0;margin:0;border-radius:50%;object-fit:contain;border:1px solid rgba(1,51,34,.12)}
body .mz-f2 .vt-fl{gap:0;flex-wrap:nowrap}body .mz-f2 .vt-fl img{border:2px solid #fff;box-shadow:0 0 0 1px rgba(1,51,34,.12);box-sizing:border-box}body .mz-f2 .vt-fl img+img{margin-left:-12px}
body .mz-f1{padding:28px 30px;gap:20px}
body .mz-f1 .mz-ft{display:flex;flex-direction:column;gap:6px}
body .mz-f1 .mz-k{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7FE0B0}
body .mz-f1 .mz-ft b,body .mz-f1 .mz-ft em{display:block;opacity:1}
body .mz-f1 .mz-ft b{font-size:22px;line-height:1.2;color:#fff}
body .mz-f1 .mz-ft b:after{content:none}
body .mz-f1 .mz-ft em{font-size:15px;line-height:1.45;color:#d3eadf}
body .mz-f1>i.mz-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;font-size:15px}
@media(max-width:560px){body .mz-f1{flex-wrap:wrap}}
body .mz-f1{align-items:flex-end}
body .mz-c{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.6);border-radius:8px;padding:10px 18px;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;transition:background .2s,border-color .2s}body .mz-t:hover .mz-c{background:rgba(255,255,255,.14);border-color:#fff}
body .mz-f1>i.mz-btn{height:50px;box-sizing:border-box;padding:0 24px;font-size:14.5px;line-height:1;border-radius:12px}
body .mz-f2{position:relative}body .mz-f2>i{position:absolute;right:24px;bottom:22px}
body .mz-t:hover,body .mz-f:hover,body .vt-b:hover{transform:none;box-shadow:none}
body .mz-t:hover>img,body .vt-b:hover .vt-i{transform:none}
body .mz-t:before,body .vt-b:before{transition:opacity .2s}
body .mz-t:hover:before,body .vt-b:hover:before{opacity:.92}
body .mz-t:hover .mz-c{background:transparent;border-color:rgba(255,255,255,.6)}
body .mz-c,body .mz-btn,body .mz-f>i,body .vt-c{transition:transform .2s}
body .mz-t:hover .mz-c,body .mz-f:hover .mz-btn,body .mz-f:hover>i,body .vt-b:hover .vt-c{transform:translateX(4px)}
body .mz-c,body .mz-t:hover .mz-c{background:none;border:0;padding:0;border-radius:0;font-size:14px;font-weight:700;color:#fff;letter-spacing:0;text-transform:none}body .mz-c:after{content:"\2197";margin-left:6px;font-style:normal}
body .mz-q .mz-x{transition:transform .2s}body .mz-q:hover .mz-x{transform:translateX(4px)}
body .mz-q:hover .mz-x{transform:none}body .mz-q:hover:before{opacity:.75}
body .mz-f:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(1,51,34,.12)}body .mz-f:hover .mz-btn,body .mz-f:hover>i{transform:none}
body .mz-f:hover{transform:none;box-shadow:none}
body .mz-f2:hover{box-shadow:0 10px 26px rgba(1,51,34,.12)}
body .mz-f2>i{transition:background .2s}
body .mz-f2:hover>i{background:var(--verde-scuro,#014C2E)}
body .mz-f1>i.mz-btn{transition:transform .2s,box-shadow .2s}
body .mz-f1>i.mz-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.22)}
body .mz-f1:hover>i.mz-btn{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.22)}
body .mz-f2>i{background-color:#028B55;transition:background-color .25s ease!important;transform:none!important}body .mz-f2:hover>i{background-color:#016B41}
body .mz-div{display:flex;align-items:center;gap:16px;margin:56px 0 6px}
body .mk3-sez:first-of-type .mz-div{margin-top:0}
body .mz-dn{font-size:14px;font-weight:800;letter-spacing:.14em;color:var(--verde,#028B55)}
body .mz-div h2{margin:0;font-size:clamp(26px,2.6vw,34px);line-height:1.1;color:var(--notte,#014C2E)}
body .mz-dl{flex:1;height:1px;background:var(--linea,#E2E1DC)}
body .mk3-solo .mz-div{display:none}
@media(max-width:760px){body .mz-div{margin-top:40px}}
body .mk3-navw{position:relative;margin-top:18px}
body .mk3-nav{flex-wrap:nowrap;margin-top:0;padding:2px 0;overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
body .mk3-nav::-webkit-scrollbar{display:none}
body .mk3-nav button{flex:0 0 auto;white-space:nowrap}
body .mk3-nav.dr{cursor:grabbing;user-select:none}
body .mk3-navw:before,body .mk3-navw:after{content:"";position:absolute;top:0;bottom:0;width:64px;z-index:2;pointer-events:none;opacity:0;transition:opacity .2s}
body .mk3-navw:before{left:0;background:linear-gradient(90deg,#fff 15%,rgba(255,255,255,0))}
body .mk3-navw:after{right:0;background:linear-gradient(270deg,#fff 15%,rgba(255,255,255,0))}
body .mk3-navw.sl:before,body .mk3-navw.sr:after{opacity:1}
body .mz-fit{background:var(--mzb,#EAF1F6)}
body .mz-fit>img{object-fit:contain;inset:18px 18px 118px;width:calc(100% - 36px);height:calc(100% - 136px);mix-blend-mode:multiply}
body .mz-fit:before{display:none}
body .mz-fit .mz-h,body .mz-fit .mz-p{color:var(--notte,#014C2E)}
body .mz-fit .mz-c{color:var(--verde,#028B55)}
body .mz-w.mz-fit>img{inset:14px 14px 14px 54%;width:calc(46% - 28px);height:calc(100% - 28px)}
body .mz-w.mz-fit .mz-x{max-width:54%;align-self:center}
body .mz-g.mz-fit>img{inset:24px 24px 190px;width:calc(100% - 48px);height:calc(100% - 214px)}
body .mz-t.mz-fit:hover:before{opacity:0}
@media(max-width:900px){body .mz-w.mz-fit>img{inset:14px 14px 130px;width:calc(100% - 28px);height:calc(100% - 144px)}body .mz-w.mz-fit .mz-x{max-width:100%;align-self:flex-end}}
body .mz-w.mz-fit:has(>img+img)>img{inset:auto;top:16px;bottom:16px;left:50%;width:24%;height:calc(100% - 32px);mix-blend-mode:normal}
body .mz-w.mz-fit:has(>img+img)>img+img{left:75%}
@media(max-width:900px){body .mz-w.mz-fit:has(>img+img)>img{inset:auto;top:14px;bottom:auto;left:6%;width:42%;height:calc(100% - 150px)}body .mz-w.mz-fit:has(>img+img)>img+img{left:52%}}
body .mz-fit[style*="gradient"]{background:var(--mzb)}
body .mz-fit[style*="gradient"]>img{mix-blend-mode:normal;filter:drop-shadow(0 8px 14px rgba(80,10,5,.28))}
body .mz-fit[style*="gradient"] .mz-p,body .mz-fit[style*="gradient"] .mz-h{color:#fff}
body .mz-q2.mz-fit[style*="F3F6F9"]>img{inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;filter:none}
body .mz-q2.mz-fit[style*="F3F6F9"] .mz-x{display:none}
body .mz-q1.mz-fit[style*="gradient"]>img{inset:50px 18px 84px;width:calc(100% - 36px);height:calc(100% - 134px);object-position:center bottom}
body .mz-q1.mz-fit[style*="gradient"] .mz-x{align-items:center;text-align:center;justify-content:flex-end;padding-bottom:48px}
body .mz-q1.mz-fit[style*="gradient"] .mz-p{text-align:center}
body .mz-w.mz-fit[style*="FFF23A"] .mz-h,body .mz-w.mz-fit[style*="FFF23A"] .mz-c{color:#111}
body .mz-w.mz-fit[style*="FFF23A"]:has(>img+img)>img{left:47%;width:22%;top:14px;bottom:14px;height:calc(100% - 28px);transform:rotate(-8deg);filter:drop-shadow(0 6px 10px rgba(60,50,0,.25))}
body .mz-w.mz-fit[style*="FFF23A"]:has(>img+img)>img+img{left:64%;width:33%;top:22%;bottom:auto;height:56%;transform:rotate(9deg)}
@media(max-width:900px){body .mz-w.mz-fit[style*="FFF23A"]:has(>img+img)>img{left:8%;width:38%;top:14px;height:calc(100% - 150px)}
body .mz-w.mz-fit[style*="FFF23A"]:has(>img+img)>img+img{left:50%;width:44%;top:14px;height:calc(100% - 150px)}}
body .mz-w.mz-fit[style*="FFF23A"]:hover .mz-c{transform:none}
body .mz-w.mz-fit[style*="FFF23A"]:hover:has(>img+img)>img{transform:rotate(-8deg)}
body .mz-w.mz-fit[style*="FFF23A"]:hover:has(>img+img)>img+img{transform:rotate(9deg)}
body .mz-w.mz-fit[style*="FFF23A"] .mz-c{display:none}
body .mz-w.mz-fit[style*="FFF23A"] .mz-h{font-size:clamp(26px,3.1vw,42px);line-height:1.08;font-weight:800;letter-spacing:-.02em;text-wrap:balance}
body .mz-w.mz-fit[style*="FFF23A"] .mz-h{font-size:clamp(21px,1.85vw,27px);line-height:1.12;text-wrap:wrap}
body .mz-q2.mz-fit[style*="F3F6F9"]>img{object-fit:cover}
body .mz-q2.mz-fit[style*="F3F6F9"]>img{object-fit:cover!important;inset:0!important;width:100%!important;height:100%!important}
body .mz-w.mz-fit[style*="FEDC01"]>img{inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
body .mz-w.mz-fit[style*="FEDC01"] .mz-x{display:none}
body .mz-q1.mz-fit[style*="FEDC01"]>img{inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
body .mz-q1.mz-fit[style*="FEDC01"] .mz-x{display:none}
body .mz-t.mz-top{align-items:flex-start}
body .mz-t.mz-top:before{background:linear-gradient(180deg,rgba(1,30,20,.82) 0,rgba(1,30,20,.45) 45%,rgba(1,30,20,0) 80%)}
body .mz-fine.mz-solo{grid-template-columns:minmax(0,1fr)}
body .mz-fine.mz-solo .mz-f2{display:none}
body .mz-q2.mz-fit[style*="EBD8CA"]{background:#EBD8CA}
body .mz-q2.mz-fit[style*="EBD8CA"]>img{inset:12%;width:76%;height:76%;object-fit:contain;mix-blend-mode:normal}
body .mz-q2.mz-fit[style*="EBD8CA"] .mz-x{display:none}
body .mz-q2.mz-fit[style*="EBD8CA"]>img{inset:0;width:100%;height:100%;object-fit:cover}
body .mz-q1.mz-fit[style*="CAB3A3"]>img{inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
body .mz-q1.mz-fit[style*="CAB3A3"] .mz-x{display:none}
body .mz-q1.mz-fit[style*="CAB3A3"]>img{object-fit:cover!important}
body .mz-w.mz-fit[style*="E9ECEA"]{background:#E9ECEA}
body .mz-w.mz-fit[style*="E9ECEA"]>img{inset:0;width:100%;height:100%;object-fit:contain;object-position:right bottom;mix-blend-mode:multiply;transform:scale(1.14);transform-origin:right bottom}
body .mz-w.mz-fit[style*="E9ECEA"] .mz-x{align-self:center}
body .mz-w.mz-fit[style*="E9ECEA"]:hover>img{transform:scale(1.14)}
body .mz-w.mz-fit .mz-c,body .mz-w.mz-fit:hover .mz-c{color:var(--verde,#028B55)}
body .mz-w.mz-fit:hover .mz-h,body .mz-w.mz-fit:hover .mz-p{color:var(--notte,#014C2E)}
body .mz-w.mz-fit[style*="FFF23A"] .mz-h,body .mz-w.mz-fit[style*="FFF23A"]:hover .mz-h{color:#111}
body .mz-w.mz-fit[style*="E9ECEA"] .mz-c{display:none}
body .mz-t.mz-up>img{inset:0 0 118px;width:100%;height:calc(100% - 118px);object-position:center 76%}
body #condimenti .mz-q2.mz-top:before,body #condimenti .mz-q2.mz-top:hover:before{background:linear-gradient(180deg,rgba(150,22,36,.96) 0,rgba(150,22,36,.6) 42%,rgba(150,22,36,0) 78%);opacity:1;transition:none}
body #condimenti .mz-q2.mz-top,body #condimenti .mz-q2.mz-top:hover,body #condimenti .mz-q2.mz-top .mz-x,body #condimenti .mz-q2.mz-top:hover .mz-x,body #condimenti .mz-q2.mz-top:hover>img{transform:none;box-shadow:none;transition:none}
body .mz-w.mz-fit[style*="E9ECEA"] .mz-h{font-size:clamp(25px,2.2vw,32px);line-height:1.08;font-weight:800;letter-spacing:-.02em}
body .mz-w.mz-fit[style*="E9ECEA"] .mz-h,body .mz-w.mz-fit[style*="E9ECEA"] .mz-p,body .mz-w.mz-fit[style*="E9ECEA"]:hover .mz-h,body .mz-w.mz-fit[style*="E9ECEA"]:hover .mz-p{color:#111}
body #pasta .mz-q2 .mz-x,body #pasta .mz-q2:before{display:none}
body #pasta .mz-q2{background:#DFF5FF}
body #pasta .mz-q2,body #pasta .mz-q2:hover{transform:none;box-shadow:none}
body #pasta .mz-q2>img,body #pasta .mz-q2:hover>img{object-fit:cover;transform:none;transition:none}
body #pasta .mz-w>img{object-position:center 30%}
body #pasta .mz-w{align-items:flex-start}
body #pasta .mz-w:before,body #pasta .mz-w:hover:before{background:linear-gradient(180deg,rgba(1,30,20,.85) 0,rgba(1,30,20,.5) 45%,rgba(1,30,20,0) 80%)}
body #pasta .mz-q1 .mz-x,body #pasta .mz-q1:before{display:none}
body #pasta .mz-q1,body #pasta .mz-q1:hover{transform:none;box-shadow:none}
body #pasta .mz-q1>img,body #pasta .mz-q1:hover>img{object-fit:cover;transform:none;transition:none}
body #pasta .mz-w>img{object-position:center 18%}
body #carne .mz-q2{align-items:flex-start}
body #carne .mz-q2:before,body #carne .mz-q2:hover:before{display:none}
body #carne .mz-q2 .mz-p,body #carne .mz-q2:hover .mz-p{color:#111}
body #carne .mz-q1 .mz-x{align-items:center;text-align:center}
body #carne .mz-q1 .mz-p{text-align:center;color:#2a2a28;font-weight:500}
body #carne .mz-g{align-items:flex-start}
body #carne .mz-g:before,body #carne .mz-g:hover:before{background:linear-gradient(180deg,rgba(1,30,20,.88) 0,rgba(1,30,20,.5) 40%,rgba(1,30,20,0) 75%)}
body #carne .mz-q1.mz-fit>img{inset:0;width:100%;height:100%;object-fit:cover;mix-blend-mode:normal}
body #carne .mz-q1 .mz-p,body #carne .mz-q2 .mz-p{font-size:13px;line-height:1.35;text-align:center;font-weight:500}
body #carne .mz-q1 .mz-x,body #carne .mz-q2 .mz-x{align-items:center;text-align:center;padding:16px 22px}
body #carne .mz-q1.mz-fit>img{inset:0 0 60px;height:calc(100% - 60px);object-position:center top}
body #latticini .mz-g{align-items:flex-start}
body #latticini .mz-g:before,body #latticini .mz-g:hover:before{background:linear-gradient(180deg,rgba(1,30,20,.88) 0,rgba(1,30,20,.5) 40%,rgba(1,30,20,0) 75%)}
body #latticini .mz-w{align-items:flex-start}
body #latticini .mz-w:before,body #latticini .mz-w:hover:before{background:linear-gradient(180deg,rgba(1,30,20,.85) 0,rgba(1,30,20,.5) 45%,rgba(1,30,20,0) 80%)}
body #latticini .mz-q1:before,body #latticini .mz-q2:before,body #latticini .mz-q1:hover:before,body #latticini .mz-q2:hover:before{display:none}
body #latticini .mz-q1 .mz-x,body #latticini .mz-q2 .mz-x{align-items:center;text-align:center;padding:22px 26px}
body #latticini .mz-q1 .mz-p,body #latticini .mz-q2 .mz-p{font-size:15px;line-height:1.4;font-weight:500;text-align:center;color:#fff}
body #latticini .mz-q2{align-items:flex-start}
body #latticini .mz-q1{background:#054C99}
body #latticini .mz-g>img,body #latticini .mz-g:hover>img{transform:scale(1.5);transform-origin:58% 96%;transition:none}

/* ===== Pagina di reparto (rp) ===== */
.rp{--rg:72px;overflow:hidden}
.rp *{scrollbar-width:none}.rp *::-webkit-scrollbar{display:none}
.rp img{display:block}
.rp-hero{position:relative;margin:0 auto;max-width:1320px;padding:0 24px}
.rp-hi{position:absolute;inset:0 24px;width:calc(100% - 48px);height:100%;object-fit:cover;border-radius:28px}
.rp-ht{position:relative;padding:120px 56px 40px;color:#fff;max-width:760px;text-shadow:0 2px 18px #0006}
.rp-ht h1{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:0 0 16px;color:#fff}
.rp-ht p{font-size:18px;line-height:1.5;margin:0 0 24px;color:#fff}
.rp-btn{display:inline-block;background:#028B55;color:#fff;padding:14px 26px;border-radius:999px;font-weight:700;text-decoration:none;text-shadow:none}
.rp-bans{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:20px 56px 48px}
.rp-ban{position:relative;display:block;height:120px;border-radius:18px;overflow:hidden;color:#fff;text-decoration:none}
.rp-ban img{width:100%;height:100%;object-fit:cover}
.rp-ban span{position:absolute;left:0;right:0;top:0;padding:14px 16px 36px;background:linear-gradient(#000a,#0000);font-weight:700;font-size:16px}
.rp-blk{display:flex;max-width:1272px;margin:var(--rg) auto 0;background:#F4F1EA;border-radius:28px;overflow:hidden;min-height:380px}
.rp-blk.sx{flex-direction:row-reverse}
.rp-car{flex:1;min-width:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory}
.rp-card{flex:0 0 220px;scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;color:#111;text-decoration:none;border-right:1px solid #ece7dc}
.rp-ci{display:flex;align-items:center;justify-content:center;aspect-ratio:1;padding:18px}
.rp-ci img{max-width:100%;max-height:100%;object-fit:contain}
.rp-card b{padding:0 16px 20px;font-size:15px;line-height:1.3;font-weight:600}
.rp-card:hover b{text-decoration:underline}
.rp-tile{position:relative;flex:0 0 36%;min-height:380px;overflow:hidden;display:flex;align-items:flex-end;color:#fff;text-decoration:none}
.rp-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rp-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(#0000 30%,#000b)}
.rp-shop{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1272px;margin:96px auto 72px;padding:34px 40px;background:#028B55;color:#fff;border-radius:28px;text-decoration:none;font-size:22px}
@media(max-width:800px){.rp-ht{padding:80px 24px 24px}.rp-bans{grid-template-columns:1fr;padding:16px 24px 32px}.rp-blk,.rp-blk.sx{flex-direction:column-reverse}.rp-tile{flex:none;min-height:240px}.rp-mos{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:200px}.rp-t.t0{grid-row:auto}.rp-shop{flex-direction:column;align-items:flex-start;margin:72px 16px}}
.rp-lg{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);max-width:62%;max-height:90px;object-fit:contain;z-index:2;background:#ffffffee;padding:12px 18px;border-radius:14px}
.rp-tile span{position:relative;z-index:2;padding:22px 24px;font-weight:700}
.rp-mos{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:200px 200px;gap:16px;max-width:1272px;margin:var(--rg) auto 0}
.rp-t{position:relative;display:flex;border-radius:22px;overflow:hidden;color:#fff;text-decoration:none;background:#1f3b2c}
.rp-t.t0{grid-row:1/3}
.rp-t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rp-t::after{content:"";position:absolute;inset:0;background:linear-gradient(#000a,#0000 55%)}
.rp-t.solo::after{display:none}
.rp-t span{position:relative;z-index:2;padding:20px 22px;display:flex;flex-direction:column;gap:8px;align-self:flex-start}
.rp-t b{font-size:16px;line-height:1.35}.rp-t.t0 b{font-size:22px}
.rp-t i{font-style:normal;font-weight:700;font-size:14px}
.rp-altri{max-width:1272px;margin:96px auto 0;padding:0 24px}
.rp-altri h2{font-size:clamp(26px,3vw,36px);margin:0 0 28px}
.rp-sl{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory}
.rp-al{flex:0 0 220px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 16px;border:1px solid #e3ded2;border-radius:22px;color:#111;text-decoration:none;text-align:center}
.rp-lc{width:110px;height:110px;border-radius:50%;background:#f4f1ea;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rp-lc img{max-width:78%;max-height:78%;object-fit:contain}
.rp-al i{font-style:normal;color:#028B55;font-weight:700;font-size:14px}
.rp-nav{display:flex;align-items:center;gap:10px;margin-top:22px}
.rp-pr{flex:1;height:3px;background:#e3ded2;border-radius:3px;overflow:hidden}.rp-pr i{display:block;height:100%;width:12%;background:#028B55}
.rp-nav button{width:44px;height:44px;border-radius:50%;border:1px solid #cfc9bb;background:#fff;font-size:18px;cursor:pointer}
.rp-shop{display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1272px;margin:96px auto 72px;padding:34px 40px;background:#028B55;color:#fff;border-radius:28px;text-decoration:none;font-size:22px}
@media(max-width:800px){.rp-ht{padding:80px 24px 24px}.rp-bans{grid-template-columns:1fr;padding:16px 24px 32px}.rp-blk,.rp-blk.sx{flex-direction:column-reverse}.rp-tile{flex:none;min-height:240px}.rp-mos{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:200px}.rp-t.t0{grid-row:auto}.rp-shop{flex-direction:column;align-items:flex-start;margin:72px 16px}}
.rp-lc{font-size:40px;font-weight:700;color:#8a8473}
.rp-car{display:block;overflow:hidden;background:#fff}.rp-car iframe{display:block;width:100%}
.rp{padding-top:40px}
.rp-ban{height:auto;background:none;border-radius:0;border-top:2px solid #fffc;padding-top:14px;text-shadow:0 2px 14px #0008}
.rp-ban img{display:none}
.rp-ban span{position:static;display:block;padding:0;background:none;font-size:20px}
.rp-ban span::after{content:"Scopri di più \2192";display:block;margin-top:6px;font-size:14px;font-weight:600}
.rp-ban:hover span{text-decoration:underline}
.rp-btn{display:inline-flex;align-items:center;padding:14px 24px;border-radius:var(--r-md);font-weight:600;font-size:15px;line-height:1;background:#028B55;color:#fff!important;text-decoration:none!important;text-shadow:none}.rp-btn:hover{background:#0E5638}
.rp-mos{grid-template-columns:2fr 1fr 1fr;grid-template-rows:none;grid-auto-rows:auto;align-items:start}
.rp-t.t0{grid-row:auto;aspect-ratio:2/1}.rp-t.t1,.rp-t.t2{aspect-ratio:1}
.rp-t.t1 b,.rp-t.t2 b{font-size:15px}
@media(max-width:800px){.rp-mos{grid-template-columns:1fr}.rp-t.t0{aspect-ratio:2/1}}
.rp-lc img{max-width:84%;max-height:84%}.rp-al i{color:#6b6657;font-weight:600}
body.page-template-page-reparto-php .pf-illu{background:transparent!important}
.rp-shop{background:url(/wp-content/themes/cedis/assets/bg-noise.png) repeat,#226B4B;font-size:16px;font-weight:400;padding:26px 28px 26px 32px;border-radius:22px;color:#e3f5ec}
.rp-shop p{margin:0;line-height:1.4}.rp-shop b{color:#fff}
.rp-sb{flex:none;display:inline-flex;align-items:center;padding:14px 24px;border-radius:var(--r-md);background:#fff;color:#013422!important;font-weight:600;font-size:15px;line-height:1;text-decoration:none!important}
.rp-sb:hover{background:#e3f5ec}
.rp-tile{flex-basis:28%}.rp-tile.nopill .rp-lg{background:none;padding:0;max-height:110px;filter:drop-shadow(0 2px 10px #0008)}
.rp-blk{background:#fff!important;padding:0!important;border:1px solid #e8e3d7;border-radius:28px;overflow:hidden;align-items:stretch}.rp-blk>*{margin:0!important}.rp-tile{border-radius:0}.rp-car{background:#fff}
.rp-hero{width:min(calc(100vw - 64px),1680px);max-width:none;padding:0;margin:0 auto;border-radius:32px;overflow:hidden;min-height:600px;display:flex;flex-direction:column;justify-content:flex-end}
.rp-hi{inset:0;width:100%;border-radius:0}
.rp-ht{padding:120px 0 40px max(56px,calc((100% - 1272px)/2 + 24px));max-width:none}
.rp-ht h1,.rp-ht p{max-width:760px}
.rp-bans{padding:20px max(56px,calc((100% - 1272px)/2 + 24px)) 48px}
@media(max-width:800px){.rp-hero{width:calc(100vw - 32px);min-height:0}.rp-ht{padding:80px 24px 24px}.rp-bans{padding:16px 24px 32px}}
.rp-car{padding:28px 28px 28px 28px;display:flex;align-items:center}
.rp-car iframe{flex:1;min-width:0}
.rp-blk{min-height:0}
.rp-shop{margin:44px auto 160px!important}
.rp-sl{--fl:0px;--fr:90px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%)}
.rp-tile{flex-basis:30%}
.rp-blk.dx .rp-car{padding-right:0}.rp-blk.sx .rp-car{padding-left:0}
.rp-car{align-items:flex-start;padding-top:28px;padding-bottom:28px}.rp-car iframe{margin-bottom:-40px}
.rp-car{align-items:flex-start}.rp-car iframe{margin-bottom:0!important}
.rp-car{padding-bottom:0!important}.rp-car iframe{margin-bottom:-26px!important}
.rp-car iframe{margin-bottom:-14px!important}
.rp-sl{-webkit-mask-image:none!important;mask-image:none!important}
.rp-blk .rp-car{padding-left:0!important;padding-right:0!important}
.rp-blk.dx .rp-car iframe{margin-right:-16px!important}.rp-blk.sx .rp-car iframe{margin-left:-16px!important}.rp-car{overflow:hidden}
.rp-blk .rp-car iframe{margin-left:0!important;margin-right:0!important}
.rp-car iframe{margin-bottom:16px!important}
.rp-blk .rp-car{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;padding:28px 0 0!important}
.rp-blk .rp-car iframe{flex:none;margin:0!important;width:100%}
.rp-ctl{display:flex;align-items:center;gap:10px;padding:14px 28px 26px}
.rp-cp{flex:1;height:3px;background:#e3ded2;border-radius:3px;overflow:hidden}.rp-cp i{display:block;height:100%;width:12%;background:#028B55}
.rp-ctl button{width:44px;height:44px;border-radius:50%;border:1px solid #cfc9bb;background:#fff;font-size:18px;cursor:pointer;color:#013422}
.rp-ctl button:hover{background:#f4f1ea}
.rp-ctl{display:none!important}.rp-blk .rp-car{padding:28px 0 22px!important}
.rp-blk.sx .rp-car iframe{width:calc(100% + 16px)!important;max-width:none!important}.rp-blk .rp-car{overflow:hidden}
.rp-sl,.rp-sl *{-webkit-user-select:none;user-select:none}
.rp-sl{scroll-snap-type:none!important}.rp-al{scroll-snap-align:none!important}
.rp-blk .rp-car{padding:16px 0 4px!important}
.rp-lg{background:none!important;padding:0!important;border-radius:0!important;max-height:110px;max-width:66%;filter:drop-shadow(0 2px 12px #0009)}
.rp-sl{--fl:0px;--fr:90px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%)!important}
.rp-sl{--fr:50px}
.rp-sl{-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.2) calc(var(--fl)*.25),rgba(0,0,0,.5) calc(var(--fl)*.5),rgba(0,0,0,.85) calc(var(--fl)*.75),#000 var(--fl),#000 calc(100% - var(--fr)),rgba(0,0,0,.85) calc(100% - var(--fr)*.75),rgba(0,0,0,.5) calc(100% - var(--fr)*.5),rgba(0,0,0,.2) calc(100% - var(--fr)*.25),transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.2) calc(var(--fl)*.25),rgba(0,0,0,.5) calc(var(--fl)*.5),rgba(0,0,0,.85) calc(var(--fl)*.75),#000 var(--fl),#000 calc(100% - var(--fr)),rgba(0,0,0,.85) calc(100% - var(--fr)*.75),rgba(0,0,0,.5) calc(100% - var(--fr)*.5),rgba(0,0,0,.2) calc(100% - var(--fr)*.25),transparent 100%)!important}
.rp-sl{--fr:90px}
.rp-v::after{display:none}.rp-v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.rp-hero{isolation:isolate}
.rp-hi{z-index:0}
.rp-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,24,14,.62) 0,rgba(0,24,14,.38) 45%,rgba(0,24,14,.08) 100%),linear-gradient(0deg,rgba(0,24,14,.5) 0,rgba(0,24,14,0) 55%)}
.rp-ht,.rp-bans{z-index:2}
.rp-v{background:#000}.rp-v iframe{inset:auto;top:0;left:50%;height:100%;width:178%;transform:translateX(-50%)}
.rp-mos{grid-template-columns:520px minmax(0,1fr)!important;grid-template-rows:252px 252px!important;align-items:stretch!important}
.rp-t.t0{grid-row:1/3!important;aspect-ratio:auto!important}
.rp-t.t1,.rp-t.t2{aspect-ratio:auto!important}
.rp-t.t1 img,.rp-t.t2 img{object-position:center 35%}
.rp-t.t1 b,.rp-t.t2 b{font-size:20px}
@media(max-width:900px){.rp-mos{grid-template-columns:1fr!important;grid-template-rows:none!important;grid-auto-rows:220px}.rp-t.t0{grid-row:auto!important;aspect-ratio:1!important}}
.rp{padding-bottom:140px}.rp-ah{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 28px}.rp-ah h2{margin:0!important}.rp-sl-lk{color:#028B55;font-weight:700;font-size:16px;text-decoration:none}.rp-sl-lk:hover{text-decoration:underline}
.rp-sl{--fr:130px;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.04) calc(var(--fl)*.12),rgba(0,0,0,.14) calc(var(--fl)*.3),rgba(0,0,0,.34) calc(var(--fl)*.5),rgba(0,0,0,.6) calc(var(--fl)*.7),rgba(0,0,0,.85) calc(var(--fl)*.88),#000 var(--fl),#000 calc(100% - var(--fr)),rgba(0,0,0,.85) calc(100% - var(--fr)*.88),rgba(0,0,0,.6) calc(100% - var(--fr)*.7),rgba(0,0,0,.34) calc(100% - var(--fr)*.5),rgba(0,0,0,.14) calc(100% - var(--fr)*.3),rgba(0,0,0,.04) calc(100% - var(--fr)*.12),transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.04) calc(var(--fl)*.12),rgba(0,0,0,.14) calc(var(--fl)*.3),rgba(0,0,0,.34) calc(var(--fl)*.5),rgba(0,0,0,.6) calc(var(--fl)*.7),rgba(0,0,0,.85) calc(var(--fl)*.88),#000 var(--fl),#000 calc(100% - var(--fr)),rgba(0,0,0,.85) calc(100% - var(--fr)*.88),rgba(0,0,0,.6) calc(100% - var(--fr)*.7),rgba(0,0,0,.34) calc(100% - var(--fr)*.5),rgba(0,0,0,.14) calc(100% - var(--fr)*.3),rgba(0,0,0,.04) calc(100% - var(--fr)*.12),transparent 100%)!important}
.rp-mk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;max-width:1272px;margin:var(--rg) auto 0}
.rp-mk a{position:relative;display:block;overflow:hidden;border-radius:22px;text-decoration:none;color:#fff}
.rp-mk img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rp-k0{aspect-ratio:1}
.rp-kr{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px}
.rp-k1{grid-column:1/3;background:#e3e0d3;color:#111!important}
.rp-kb{position:absolute;left:30px;bottom:30px;z-index:2;font-style:normal;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;padding:14px 22px;border:1px solid #fff;color:#fff}
.rp-k1 .rp-kb{position:static;display:inline-block;border-color:#111;color:#111;margin-top:18px}
.rp-kt{position:relative;z-index:2;display:block;padding:34px 40px;max-width:62%}
.rp-kt b{display:block;font-weight:400;font-size:17px;line-height:1.55}
.rp-kc{position:absolute;left:0;right:0;z-index:2;padding:26px 30px;text-align:center;font-size:17px;line-height:1.55}
.rp-k2 .rp-kc{bottom:0}.rp-k3 .rp-kc{top:0}
.rp-k2::after,.rp-k3::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.42)}
@media(max-width:900px){.rp-mk{grid-template-columns:1fr}.rp-kr{grid-template-rows:auto;grid-auto-rows:300px}.rp-kt{max-width:none}}
.rp-kb{display:inline-flex;align-items:center;padding:14px 24px!important;border:0!important;border-radius:var(--r-md);font-weight:600;font-size:15px;line-height:1;letter-spacing:0;text-transform:none;background:#fff;color:#013422!important}
.rp-k1 .rp-kb{background:#028B55;color:#fff!important}
.rp-k0:hover .rp-kb,.rp-k1:hover .rp-kb{filter:brightness(.94)}
.rp-kl{display:block;margin-top:12px;font-style:normal;font-weight:700;font-size:15px;color:#fff}
.rp-kc .rp-kl{margin-top:14px}
.rp-t .rp-kl{margin-top:10px}.rp-t .rp-sub{display:block;font-style:normal;font-size:14px;opacity:.92;margin-top:4px}
.rp-k2:hover .rp-kl,.rp-k3:hover .rp-kl,.rp-t:hover .rp-kl{text-decoration:underline}
.rp-k1 .rp-kl{color:#111;margin-top:16px}
.rp-mk .rp-k1{background:#fefaee}
.rp-mk .rp-k1 img{inset:auto 0 0 auto;width:auto;height:100%;max-width:none;object-fit:contain;transform:translateX(38%)}
.rp-mk .rp-k1{overflow:hidden}
.rp-kc,.rp-kt b{font-size:20px;line-height:1.35}
.rp-kc .rp-kl,.rp-kt .rp-kl{font-size:15px}
.rp-kt b,.rp-kc,.rp-t b,.rp-t .rp-sub,.rp-ht p,.rp-ban,.rp-ban b{text-wrap:balance}
.rp-kt{max-width:56%}
.rp-kc{text-wrap:balance;padding-left:36px;padding-right:36px}
.rp-kc,.rp-kt b{font-size:15px;line-height:1.45}
.rp-kc .rp-kl,.rp-kt .rp-kl{font-size:14px}
.rp-kt{max-width:52%}
.rp-mk .rp-k1 img{height:130%;transform:translateX(41%)}
.rp-kc{font-size:13px;line-height:1.45}
.rp-kc,.rp-kt b,.rp-t b,.rp-t.t1 b,.rp-t.t2 b,.rp-t .rp-sub{font-size:15px;line-height:1.4;font-weight:500;text-wrap:balance}
.rp-kc{padding:22px 26px}
.rp-t.t0 b{font-size:clamp(19px,1.9vw,24px);line-height:1.15;font-weight:700}
.rp-kl{font-size:14px;font-weight:700;letter-spacing:0;text-transform:none}
.rp-kt b{line-height:1.45}
.rp-kt b{font-size:clamp(18px,1.7vw,22px);line-height:1.3;font-weight:600}
.rp-k2::after{background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0) 58%)}
.rp-k3::after{background:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,0) 55%)}
.rp-ap{margin:10px 0 0!important;font-size:15px;line-height:1.45;font-weight:500;color:#4a5a6a;max-width:46ch}.rp-ah{align-items:flex-end}
.rp-t.t1 span,.rp-t.t2 span{width:100%;align-items:center;text-align:center;padding:22px 26px;gap:6px}
.rp-t.t1::after,.rp-t.t2::after{background:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,0) 55%)}
.rp-t.t0 span{align-self:flex-end;padding:0 0 30px 30px}
.rp-mk .rp-k1.rp-kf{background:#1b2a22;color:#fff!important}
.rp-mk .rp-k1.rp-kf img{inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transform:none}
.rp-k1.rp-kf::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.8),rgba(0,0,0,0) 65%)}
.rp-k1.rp-kf .rp-kt b,.rp-k1.rp-kf .rp-kl{color:#fff}
.rp-ap{max-width:none!important;text-wrap:wrap}.rp-ah{align-items:flex-end!important;flex-wrap:nowrap}.rp-ah .rp-sl-lk{line-height:1.45;font-size:15px;white-space:nowrap}
@media(max-width:800px){.rp-ah{flex-wrap:wrap}}
.rp-mk.inv .rp-k0{order:2}.rp-mk.inv .rp-kr{order:1}.rp-mk.inv .rp-k1{grid-row:2}.rp-mk.inv .rp-k2,.rp-mk.inv .rp-k3{grid-row:1}
@media(max-width:900px){.rp-mk.inv .rp-k0,.rp-mk.inv .rp-kr{order:0}}
@media(max-width:800px){.rp-sl{-webkit-mask-image:none!important;mask-image:none!important;margin:0 -24px;padding:0 24px 2px;scroll-padding-left:24px}.rp-al:last-child{margin-right:0}}
.rp-tile.nologo .rp-lg{display:none}
.rp-tile{justify-content:space-between}.rp-n{position:relative;z-index:2;align-self:flex-end;padding:22px 24px;font-style:normal;font-weight:500;font-size:13px;color:#fff;opacity:.9}
.rp-hv{position:absolute;z-index:0;top:50%;left:50%;width:max(100%,1500px);aspect-ratio:16/9;height:auto;border:0;transform:translate(-50%,-50%);pointer-events:none}
.rp-n b{font-weight:700}
.rp-hm{top:0;left:0;width:100%;height:100%;aspect-ratio:auto;transform:none;object-fit:cover}
.rp-n{display:inline-flex;align-items:center;gap:8px}
.rp-n::before{content:"";flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#2ee08a;box-shadow:0 0 0 0 rgba(46,224,138,.7);animation:rpPulse 1.8s ease-out infinite}
@keyframes rpPulse{0%{box-shadow:0 0 0 0 rgba(46,224,138,.7)}70%{box-shadow:0 0 0 9px rgba(46,224,138,0)}100%{box-shadow:0 0 0 0 rgba(46,224,138,0)}}
@media(prefers-reduced-motion:reduce){.rp-n::before{animation:none}}
.rp-tile{gap:8px}.rp-tile>span,.rp-n{white-space:nowrap}
.rp-tile>span{padding-right:0;font-size:15px}
.rp-n{padding:22px 20px 22px 0;font-size:12.5px;gap:6px}
.rp-n::before{width:8px;height:8px}
@media(max-width:420px){.rp-tile>span{padding-left:18px;font-size:14px}.rp-n{padding-right:14px;font-size:12px}}
.rp-tile>span{padding-top:18px;padding-bottom:18px;padding-left:20px}
.rp-n,.rp-n.rp-n{padding:18px 18px 18px 0}
@media(max-width:420px){.rp-tile>span{padding-left:18px}.rp-n,.rp-n.rp-n{padding:18px 18px 18px 0}}
.rp-ns::after{display:none}.rp-ns .rp-kc{text-shadow:0 1px 8px rgba(0,0,0,.75),0 0 2px rgba(0,0,0,.6)}
.rp-k3.rp-nb .rp-kc{top:auto;bottom:0}.rp-k2.rp-ns img{filter:brightness(1.3) contrast(1.05)}
.rp-al .rp-dn{display:inline-flex;align-items:center;justify-content:center;gap:7px}.rp-al .rp-dn::before{content:"";width:8px;height:8px;border-radius:50%;background:#1fbf75;animation:rpPulse2 1.8s ease-out infinite}
@keyframes rpPulse2{0%{box-shadow:0 0 0 0 rgba(31,191,117,.6)}70%{box-shadow:0 0 0 8px rgba(31,191,117,0)}100%{box-shadow:0 0 0 0 rgba(31,191,117,0)}}
@media(prefers-reduced-motion:reduce){.rp-al .rp-dn::before{animation:none}}
.rp-al .rp-dn{display:none!important}.rp-al{justify-content:center}
.rp-blk,.rp-mk,.rp-mos,.rp-altri{box-sizing:border-box;width:min(1272px,calc(100% - 48px));max-width:none;margin-left:auto;margin-right:auto}
.rp-altri{padding-left:0;padding-right:0}
.rp-lc.rp-lf img{max-width:none;max-height:none;width:100%;height:100%;object-fit:cover}
.rp-tile.chiaro::after{display:none}.rp-tile.chiaro,.rp-tile.chiaro>span,.rp-tile.chiaro .rp-n{color:#0b2e1f}.rp-tile.chiaro .rp-lg{filter:none}
.rp-tile.bianco .rp-lg{max-height:140px;max-width:78%;filter:brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.55))!important}
.rp-s-tino-paiolo .rp-lc.rp-lf img{width:74%;height:74%;object-fit:contain}
.rp-k0 img[src*="vpt-azienda"]{object-position:50% 100%}
.rp-k3 .rp-kg{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:34%;max-width:130px;height:auto;background:#fff;border-radius:14px;padding:8px 12px;object-fit:contain;z-index:2}
@media(max-width:900px){.rp-kr{grid-template-rows:300px 300px}}
.rp-k3:has(.rp-kg) .rp-kc{top:auto;bottom:0}.rp-k3:has(.rp-kg)::after{background:linear-gradient(to top,rgba(0,0,0,.82),rgba(0,0,0,0) 58%)}.rp-k3 .rp-kg{top:50%;transform:translate(-50%,-62%);width:38%;max-width:150px}
.rp-k3 .rp-kg{top:18px;transform:translateX(-50%);width:46%;max-width:180px;background:none;padding:0;border-radius:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.rp-k2:has(img[src*="vpt-yogurt"]) .rp-kc{top:0;bottom:auto}.rp-k2:has(img[src*="vpt-yogurt"])::after{background:linear-gradient(to bottom,rgba(0,0,0,.82),rgba(0,0,0,0) 58%)}
.rp-k2::after{background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0) 50%)}.rp-k3::after{background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,0) 50%)}.rp-k3:has(.rp-kg)::after{background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0) 50%)}.rp-k2:has(img[src*="vpt-yogurt"])::after{background:linear-gradient(to bottom,rgba(0,0,0,.6),rgba(0,0,0,0) 50%)}
.rp-k2::after,.rp-k2:has(img[src*="vpt-yogurt"])::after{background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,0) 55%)}.rp-k2:has(img[src*="vpt-yogurt"])::after{background:linear-gradient(to bottom,rgba(0,0,0,.75),rgba(0,0,0,0) 55%)}.rp-k3::after{background:linear-gradient(to bottom,rgba(0,0,0,.75),rgba(0,0,0,0) 55%)}.rp-k3:has(.rp-kg)::after{background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,0) 55%)}.rp-k2:has(img[src*="caseificio-di-cavola.jpg"])::after{display:none}
.rp-k3:has(.rp-kg)::after{background:rgba(0,47,99,.72)}
.rp-k3:has(.rp-kg){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.rp-k3:has(.rp-kg) .rp-kg{position:relative;top:auto;left:auto;transform:none;width:58%;max-width:230px}.rp-k3:has(.rp-kg) .rp-kc{position:relative;top:auto;bottom:auto;left:auto;right:auto;padding:0 28px;text-align:center}
.rp-s-cedis .rp-lc.rp-lf img{width:72%;height:72%;object-fit:contain}.rp-k3 .rp-kg{height:auto}
.rp-s-frascheri .rp-lc{background:#eaf5fd!important}
.rp-s-frascheri{background:#eaf5fd!important}.rp-s-frascheri .rp-lc{background:#eaf5fd!important}
.rp-s-frascheri{background:#fff!important}.rp-s-frascheri .rp-lc{background:#e3f1fc!important}.rp-s-frascheri .rp-lc img{mix-blend-mode:multiply}
.rp-mk{padding:0!important}
[class^="rp-"] a,[class*=" rp-"] a,a[class^="rp-"],a[class*=" rp-"],[class*="rp-"] *{text-decoration:none!important}a[class*="rp-"]:hover *,a[class*="rp-"]:hover{text-decoration:none!important}
.rp-fb{position:relative;display:block;box-sizing:border-box;width:min(1272px,calc(100% - 48px));margin:96px auto 0;height:300px;border-radius:28px;overflow:hidden;color:#fff}.rp-fb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rp-fb::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.72),rgba(0,0,0,.1) 70%)}
.rp-fbt{position:absolute;z-index:2;left:48px;top:50%;transform:translateY(-50%);max-width:520px;display:flex;flex-direction:column;gap:10px}.rp-fbt em{font-style:normal;font-weight:600;font-size:15px;opacity:.9}.rp-fbt b{font-size:40px;line-height:1.1}.rp-fbt i{font-style:normal;font-size:18px;line-height:1.4}.rp-fbt u{font-weight:700;font-size:16px;text-decoration:none}
@media(max-width:800px){.rp-fb{height:320px;margin-top:64px}.rp-fbt{left:24px;right:24px;max-width:none}.rp-fbt b{font-size:32px}}
.rp-fb{color:#111;border:1px solid #e8e3d7;background:#fff}.rp-fb::after{background:linear-gradient(to right,#fff 30%,rgba(255,255,255,.55) 62%,rgba(255,255,255,0))}.rp-fbt u{color:#028B55}.rp-fbt em{color:#028B55;opacity:1}.rp-fbt i{max-width:430px}
.rp-fbt em{font-style:italic}
.rp-fbt em{font-style:normal}.rp-fb .rp-fbm{position:static;inset:auto;width:46px;height:46px;border-radius:50%;object-fit:cover;margin-bottom:2px}
.rp-fb{display:flex;align-items:center;gap:40px;height:auto;min-height:340px;padding:40px 48px}.rp-fb>img{opacity:.55}.rp-fb::after{background:linear-gradient(to right,#fff 22%,rgba(255,255,255,.35))}.rp-fb .rp-fbt{position:relative;left:auto;top:auto;transform:none;flex:0 0 34%;max-width:none}.rp-fbc{position:relative;z-index:2;flex:1;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.rp-fbp{display:flex;flex-direction:column;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.12)}.rp-fb .rp-fbp img{position:static;inset:auto;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.rp-fbp b{font-size:15px;padding:12px 14px;text-align:center}
@media(max-width:900px){.rp-fb{flex-direction:column;align-items:stretch;padding:28px 24px;gap:24px}.rp-fb .rp-fbt{flex:none}.rp-fbc{grid-template-columns:1fr 1fr}}
.rp-fb>img{opacity:.14}
.rp-fb{background:#e6f3ec}.rp-fb>img{mix-blend-mode:multiply;opacity:.3}.rp-fb::after{background:linear-gradient(to right,#e6f3ec 22%,rgba(230,243,236,.35))}
.rp-fb{background:#E8E3D7}.rp-fb::after{background:linear-gradient(to right,#E8E3D7 22%,rgba(232,227,215,.35))}
.rp-fb{background:#F4F1EA}.rp-fb::after{background:linear-gradient(to right,#F4F1EA 22%,rgba(244,241,234,.35))}
.rp-fb{background:#FAF8F3}.rp-fb>img{opacity:.12}.rp-fb::after{background:linear-gradient(to right,#FAF8F3 22%,rgba(250,248,243,.35))}
.rp-ar{display:inline-block!important;position:static!important;margin-left:8px;font-style:normal;text-decoration:none;font-size:inherit;line-height:1}.rp-ban span::after{content:"Scopri di più\00a0\00a0\2197"}
.rp-tile .rp-ar,.rp-ar{padding:0!important;margin-left:8px;font-weight:inherit;z-index:auto}
.rp-tile.bianco .rp-lg[src*="coati"]{max-width:52%;max-height:80px}
.rp-tile .rp-lg[src*="logo-oberto-new"]{max-height:112px;width:auto}
.rp-ban span::after{content:none!important}.rp-ban .rp-bc{display:block;margin-top:6px;font-size:14px;font-weight:600;font-style:normal}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(150%,2200px);transform:translate(-50%,-60%)}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(118%,1750px);transform:translate(-50%,-56%)}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(125%,1900px);transform:translate(-50%,-58%)}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(135%,2050px);transform:translate(-50%,-62%)}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(125%,1900px);transform:translate(-50%,-40%)}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(150%,2300px);transform:translate(-50%,-47%)}
.rp-hv[src*="rYwOqYA9XRg"]{width:max(165%,2600px);transform:translate(-50%,-50%)}
.rp-k2:has(img[src*="brizio-cotechino"]) .rp-kc{top:0;bottom:auto}
.rp-k2:has(img[src*="brizio-cotechino"])::after{background:linear-gradient(to bottom,rgba(0,0,0,.42) 0,rgba(0,0,0,.24) 22%,rgba(0,0,0,.08) 42%,rgba(0,0,0,0) 62%)}
.rp-k3:has(img[src*="brizio-materin"]) .rp-kc{top:auto;bottom:0}
.rp-k3:has(img[src*="brizio-materin"])::after{background:linear-gradient(to top,rgba(0,0,0,.42) 0,rgba(0,0,0,.24) 22%,rgba(0,0,0,.08) 42%,rgba(0,0,0,0) 62%)}
.rp-k3:has(img[src*="oberto-rosa"])::after{background:none!important}
.rp-k3:has(img[src*="oberto-rosa"]) .rp-kg{filter:none;max-width:172px}
.rp-k3:has(img[src*="oberto-rosa"]) .rp-kc{display:none}.rp-k3:has(img[src*="oberto-rosa"]) .rp-kg{max-width:none;width:62%}
.rp-k0.rp-tg-on .rp-kb{bottom:76px}
.rp-tg{position:absolute;left:30px;bottom:34px;z-index:2;max-width:85%;font-size:14px;font-weight:500;line-height:1.2;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.55),0 2px 10px rgba(0,0,0,.4)}
.rp-k2:has(img[src*="brizio-cotechino"]),.rp-k3:has(img[src*="brizio-materin"]){background:#d6d6d6}
.rp-k2 img[src*="brizio-cotechino"],.rp-k3 img[src*="brizio-materin"]{mix-blend-mode:multiply}
.rp-tile:has(img[src*="Bottega_Levoni"])::after{background:linear-gradient(#0000 45%,#0008),rgba(190,22,34,.6)}
.rp-k2:has(img[src*="brizio-cotechino"]),.rp-k3:has(img[src*="brizio-materin"]){background:#ececec}
.rp-k2:has(img[src*="brizio-cotechino"])::after{background:linear-gradient(to bottom,rgba(0,0,0,.58) 0,rgba(0,0,0,.34) 24%,rgba(0,0,0,.12) 45%,rgba(0,0,0,0) 65%)}
.rp-k3:has(img[src*="brizio-materin"])::after{background:linear-gradient(to top,rgba(0,0,0,.58) 0,rgba(0,0,0,.34) 24%,rgba(0,0,0,.12) 45%,rgba(0,0,0,0) 65%)}
.rp-k2:has(img[src*="brizio-cotechino"]) .rp-kc,.rp-k3:has(img[src*="brizio-materin"]) .rp-kc{max-width:72%;left:0;right:0;margin:0 auto}
.rp-tile .rp-lg{top:50%!important}
.rp-k0.rp-tg-on::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.72) 0,rgba(0,0,0,.5) 75px,rgba(0,0,0,0) 150px)}
.rp-tg{bottom:32px;font-size:clamp(18px,1.55vw,22px);font-weight:600;max-width:88%;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.rp-k0.rp-tg-on .rp-kb{bottom:78px}
.rp-tile .rp-lg[src*="lorenzi"]{max-height:170px!important;max-width:80%!important;height:170px;width:auto}
.rp-tile.bianco .rp-lg[src*="coati"]{max-width:62%!important;max-height:96px!important}
.rp-tile .rp-lg[src*="lorenzi"]{max-height:150px!important;height:150px;max-width:70%!important;width:auto}
.rp-k3:has(img[src*="raspini_img"])::after{background:rgba(142,16,32,.84)}
.rp-k3:has(img[src*="raspini_img"]) .rp-kg{width:60%;max-width:200px}
.rp-k3:has(img[src*="raspini_img"]) .rp-kg{width:46%;max-width:150px}
.rp-altri.rp-fit .rp-nav{display:none}.rp-altri.rp-fit .rp-sl{-webkit-mask-image:none!important;mask-image:none!important}
.rp-altri.rp-fit .rp-al{flex:1 1 0!important;min-width:0}
.rp-altri{padding-left:0!important;padding-right:0!important}
.rp-fb{margin-top:72px!important}.rp-altri{margin-top:72px!important;padding-top:0!important}
.rp-tile .rp-lg[src*="vallebelbo-logo"]{max-height:150px!important;max-width:78%!important;filter:drop-shadow(0 2px 10px rgba(0,0,0,.55))}
.rp-s-life .rp-lc{background:#fffbe6!important}.rp-s-life .rp-lc.rp-lf img,.rp-s-life .rp-lc img{width:70%;height:70%;max-width:70%;max-height:70%;object-fit:contain}
.rp-tile .rp-lg[src*="cond-calve-logo"]{width:58%!important;max-width:58%!important;max-height:none!important;height:auto!important;filter:drop-shadow(0 2px 10px rgba(0,0,0,.25))}
.rp-tile .rp-lg[src*="cond-drogheria-logo"]{width:62%!important;max-width:62%!important;max-height:none!important;height:auto!important;filter:drop-shadow(0 2px 12px rgba(0,0,0,.6))}
.rp-s-anfosso .rp-lc img{max-width:96%;max-height:96%;transform:scale(1.12);filter:contrast(1.25)}
.rp-s-gailli .rp-lc img{max-width:96%;max-height:96%;transform:scale(1.2)}
.rp-k1:has(img[src*="mix_prodotti"]){background:#e6d9bd!important}
.rp-k1 img[src*="mix_prodotti"]{mix-blend-mode:multiply}
.rp-k3:has(img[src*="cond-pfanni-pure"]) .rp-kc{padding:22px 26px 0;font-size:15px;font-weight:500;line-height:1.35;text-wrap:balance;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.rp-k2:has(img[src*="cond-pfanni-logo"]) .rp-kc{padding:0 26px 22px;font-size:15px;font-weight:500;line-height:1.35;text-wrap:balance;text-shadow:0 2px 10px rgba(0,0,0,.45)}
.rp-k0:has(img[src*="cond-maizena"])::after{background:none!important}
.rp-k0:has(img[src*="cond-maizena"]) .rp-tg{color:#2b2600;text-shadow:none;white-space:normal;max-width:56%;bottom:28px;line-height:1.25}
.rp-k0:has(img[src*="cond-maizena"]).rp-tg-on .rp-kb{bottom:104px}
.rp-k0:has(img[src*="cond-maizena"]) .rp-tg{text-wrap:balance;max-width:50%}
.rp-s-mutti .rp-lc.rp-lf img{width:74%!important;height:74%!important;object-fit:contain!important;max-width:74%!important;max-height:74%!important}
.rp-k0:has(img[src*="cond-maizena"]) .rp-kb{transition:background .2s,color .2s}.rp-k0:has(img[src*="cond-maizena"]):hover .rp-kb{filter:none!important;background:#0b4a2f!important;color:#fff!important}
.rp-s-sagra .rp-lc img,.rp-s-gailli .rp-lc img,.rp-s-menu-srl .rp-lc img,.rp-s-cameo .rp-lc img,.rp-s-anfosso .rp-lc img{mix-blend-mode:multiply}
.rp-s-sagra .rp-lc{background:#f8dde1!important}
.rp-s-gailli .rp-lc{background:#fbe0e0!important}
.rp-s-menu-srl .rp-lc{background:#f9e3d6!important}
.rp-s-cameo .rp-lc{background:#fbe3e3!important}
.rp-s-anfosso .rp-lc{background:#e9e9ec!important}
.rp-s-mutti .rp-lc.rp-lf img{width:76%!important;height:auto!important;max-width:76%!important;max-height:none!important;object-fit:fill!important;margin:0!important}

.rp-s-mutti .rp-lc{position:relative}.rp-s-mutti .rp-lc.rp-lf img{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;aspect-ratio:3/2;width:76%!important}
.rp-s-mutti .rp-lc.rp-lf img{transform:translate(-50%,-43%)!important}
.rp-s-mutti .rp-lc{background:#E30713!important}
.rp-s-valfrutta .rp-lc{background:#d9ecd2!important}.rp-s-valfrutta .rp-lc img{max-width:84%;max-height:84%;transform:none}
.rp-k1:has(img[src*="pesce-auriga-2h"])::after{background:none!important}
.rp-k1:has(img[src*="pesce-auriga-2h"]) .rp-kc,.rp-k1:has(img[src*="pesce-auriga-2h"]) .rp-kl{color:#000!important;text-shadow:none}
.rp-s-agostino-recca .rp-lc{background:#efe3d0!important}
.rp-s-donzela .rp-lc{background:#fbdfe0!important}
.rp-s-agostino-recca .rp-lc img,.rp-s-donzela .rp-lc img{mix-blend-mode:multiply}
.rp-k1:has(img[src*="pesce-auriga-2h"]) *{color:#000!important;text-shadow:none!important}
.rp-k2:has(img[src*="pesce-auriga-conf"]) .rp-kc{padding:0 24px 22px;font-size:15px;font-weight:500;line-height:1.35;text-wrap:balance;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.rp-k3:has(img[src*="pesce-auriga-sez"]) .rp-kc{padding:22px 24px 0;font-size:15px;font-weight:500;line-height:1.35;text-wrap:balance;text-shadow:0 2px 10px rgba(0,0,0,.5)}
.rp-tile .rp-lg[src*="pesce-parodi-logo-w"]{filter:drop-shadow(0 0 3px rgba(0,0,0,.5)) drop-shadow(0 0 8px rgba(0,0,0,.4)) drop-shadow(0 0 18px rgba(0,0,0,.32)) drop-shadow(0 0 34px rgba(0,0,0,.24))!important}
.rp-gb{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:72px!important;padding:38px 44px;border-radius:20px;background:var(--verde,#0a8a4f);color:#fff!important;text-decoration:none;transition:filter .2s}
.rp-gb:hover{filter:brightness(.94)}
.rp-gbt{display:block;min-width:0}.rp-gbt b{display:block;font-size:clamp(22px,2.2vw,32px);font-weight:700;line-height:1.15;color:#fff}
.rp-gbt em{display:block;margin-top:8px;font-style:normal;font-size:16px;opacity:.92;color:#fff}
.rp-gbl{font-style:normal;font-weight:700;font-size:16px;white-space:nowrap;background:#fff;color:#014C2E;border-radius:999px;padding:14px 26px}
@media(max-width:700px){.rp-gb{flex-direction:column;align-items:flex-start;padding:28px 26px}}
.rp-gb{box-sizing:border-box;width:min(1272px,calc(100% - 32px));margin:72px auto 0!important;background:var(--grain) repeat,var(--verde,#028B55)!important}
.rp-gbw{width:min(1272px,calc(100% - 32px));margin:72px auto 0;display:grid;gap:16px}
.rp-gbw .rp-gb{width:auto;margin:0!important}
.rp-gbw.two{grid-template-columns:1fr 1fr}
.rp-gbw.two .rp-gb{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:28px;min-height:220px}
.rp-gc{position:relative;overflow:hidden;background:#222!important}
.rp-gc .rp-gcb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.rp-gc:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.25));z-index:1}
.rp-gc .rp-gcl{position:absolute;top:30px;right:36px;height:44px;width:auto;z-index:2}
.rp-gc .rp-gbt,.rp-gc .rp-gbl{position:relative;z-index:2}
@media(max-width:800px){.rp-gbw.two{grid-template-columns:1fr}}
.rp-gb .rp-gbl{display:inline-flex;align-items:center;gap:6px;padding:14px 24px;border-radius:var(--r-md);font-weight:600;font-size:15px;line-height:1;background:#fff;color:#013422}
.rp-gb:hover .rp-gbl{filter:brightness(.94)}
.rp-gc .rp-gcl{height:84px;top:28px;right:36px}
@media(max-width:800px){.rp-gc .rp-gcl{height:64px}}
body .rp-gb:not(.rp-gc){background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important}
.rp-k2 .rp-kl2{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:62%;max-width:240px;height:auto;z-index:2;filter:drop-shadow(0 2px 10px rgba(255,255,255,.55))}
.rp-k2:has(.rp-kl2){background:#FF6702!important}
.rp-k2:has(.rp-kl2)>img:not(.rp-kl2){display:none}
.rp-k2:has(.rp-kl2)::after{display:none}
.rp-k2 .rp-kl2{filter:none;width:70%;max-width:260px}
.rp-k2:has(.rp-kl2){background:#FFDDBF!important}
.rp-back{display:inline-flex;align-items:center;gap:8px;margin:0 0 22px;padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#fff!important;font-weight:600;font-size:14px;text-decoration:none;text-shadow:none;transition:background .2s}
.rp-back:hover{background:rgba(255,255,255,.28)}
.rp-cats{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;max-width:720px}
.rp-cats .rp-back{margin:0}
.rp-cat{padding:9px 16px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(6px);color:#fff!important;font-weight:600;font-size:14px;text-decoration:none;text-shadow:none;transition:background .2s}
.rp-cat:hover{background:rgba(255,255,255,.28)}
.rp-cat.on{background:#fff;color:#013422!important}
.rp-cats{width:max-content;max-width:calc(100vw - 112px)}
@media(min-width:700px){.testa h1.mk3-h1{white-space:nowrap;max-width:none}}
.testa h1.mk3-h1+p{max-width:none!important;width:100%}
body .pagina .testa:has(.mk3-h1){padding-top:28px;padding-bottom:0}
body .testa h1.mk3-h1{margin:0 0 6px}
body .testa h1.mk3-h1+p{font-size:17px;margin:0}
body .testa:has(.mk3-h1) .mk3-navw{margin-top:14px}
body .mk3-sez:first-of-type{padding-top:22px}
body .pagina .testa:has(.mk3-h1){padding-top:56px}
body .testa h1.mk3-h1{margin:0 0 14px}
body .testa h1.mk3-h1+p{font-size:18px}
body .testa:has(.mk3-h1) .mk3-navw{margin-top:24px}
body .mk3-sez:first-of-type{padding-top:44px}
body .mk3-sez .mz-div{margin-bottom:28px}
/* azienda: stile allineato alle pagine reparto */
body .pagina .testa.foto{max-width:1272px;width:calc(100% - 32px);margin:24px auto 0;border-radius:32px;overflow:hidden}
body .portata{max-width:1180px;padding:0 28px 72px}
body .portata .pt-banner{border-radius:32px;margin:24px 0 0;overflow:hidden}
body .portata .pt-scheda{border-radius:28px;display:flex;flex-direction:column;height:100%;overflow:hidden}
body .portata .pt-scheda .pt-scheda-testo{display:flex;flex-direction:column;flex:1}
body .portata .pt-scheda .pt-scheda-testo ul{margin-top:auto}
body .portata .pt-schede{align-items:stretch}
body .portata .pt-sezione{margin-top:72px;background:none;box-shadow:none;padding:0}
body .portata .pt-rapidi a{border-radius:999px}
body .portata .pt-banner,body .portata .pt-intro,body .portata .pt-sezione{padding-left:0;padding-right:0}
body .portata .pt-banner{padding:var(--s8) 56px}
body .portata .pt-sezione:nth-of-type(odd),body .portata .pt-sezione:nth-of-type(even){background:none}
body .portata .pt-sezione{padding-top:0;padding-bottom:0}
body .portata .pt-intro{margin:48px 0 0}
body .portata .pt-sezione:last-of-type{border-radius:28px;padding:48px 56px}
body .portata .pt-sezione:last-of-type:last-of-type{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important;color:#fff;margin-top:72px}
body .portata .pt-sezione:last-of-type h2,body .portata .pt-sezione:last-of-type p{color:#fff}
body .portata .pt-sezione + .pt-sezione{margin-top:72px}
/* card e invito: stessa altezza, stessi raggi delle pagine reparto */
body .figlie{align-items:stretch}
body .figlie .figlia{height:100%;align-self:stretch;display:flex;flex-direction:column;border-radius:28px;overflow:hidden}
body .figlie .figlia .testo{flex:1;display:flex;flex-direction:column}
body .figlie .figlia .vai{margin-top:auto}
body .figlie .invito{height:100%;align-self:stretch;border-radius:28px;box-sizing:border-box}
body .figlie .figlia,body .figlie .invito{height:auto}
body .figlie .figlia>img{flex:1 1 auto;min-height:200px;height:auto;aspect-ratio:auto;object-fit:cover}
body .figlie .figlia .testo{flex:0 0 auto}
/* pillole rapide: stesso linguaggio dei bottoni del sito */
body .portata .pt-rapidi{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0}
body .portata .pt-rapidi a{display:inline-flex;align-items:center;padding:11px 20px;border:0;border-radius:999px;background:#E8F3EC;color:#013422;font-weight:600;font-size:15px;text-decoration:none;box-shadow:none;transition:background .2s,color .2s}
body .portata .pt-rapidi a:hover{background:#028B55;color:#fff}
/* chiusura: testo+link a sinistra, modulo a destra, niente camion doppio */
body .portata .pt-sezione:last-of-type>.pt-foto,body .portata .pt-sezione:last-of-type .pt-cta-grid+img{display:none}
body .portata .pt-cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
body .portata .pt-cta-testo{grid-column:1;grid-row:1}
body .portata .pt-cta-link{grid-column:1;grid-row:2}
body .portata .pt-cta-form{grid-column:2;grid-row:1/span 2}
body .portata .pt-cta-form .aiuto-form{background:#fff;color:#013422;border-radius:28px;padding:32px}
@media(max-width:900px){body .portata .pt-cta-grid{grid-template-columns:1fr}body .portata .pt-cta-form,body .portata .pt-cta-link,body .portata .pt-cta-testo{grid-column:1;grid-row:auto}}
body .portata .pt-cta-form .aiuto-form :is(h3,p,span,label,b,em){color:#013422!important;text-shadow:none}
body .portata .pt-cta-form .aiuto-form :is(.aiuto-sub,.aiuto-nota){color:#4b5b53!important}
body .portata .pt-cta-form .aiuto-form a{color:#028B55!important}
body .portata .pt-cta-form .aiuto-form button{color:#fff}
body .portata .pt-rapidi a,body .portata .pt-rapidi a:hover{text-decoration:none!important;border-bottom:0!important;background-image:none!important;box-shadow:none!important}
body .portata .pt-rapidi a::after,body .portata .pt-rapidi a::before{content:none!important;display:none!important}
body .portata .pt-rapidi a{background-color:#E8F3EC}
body .portata .pt-rapidi a:hover{background-color:#028B55}
/* illustrazione prima del footer: nessun fondo grigio */
body .portata>.pt-foto,body .portata .pt-sezione~.pt-foto,body .portata .pt-sezione>.pt-foto{background:transparent!important}
body .portata>.pt-foto img,body .portata .pt-sezione~.pt-foto img{background:transparent!important}
/* chiusura: testo a sinistra, altri link a destra (il modulo e' nel footer) */
body .portata .pt-cta-testo{grid-column:1;grid-row:1}
body .portata .pt-cta-link{grid-column:2;grid-row:1}
body .portata .pt-cta-form{display:none}
@media(max-width:900px){body .portata .pt-cta-link{grid-column:1;grid-row:2}}
body .portata .pt-cta-link>p,body .portata .pt-cta-link p,body .portata .pt-cta-link h3{color:#013422!important;font-weight:700;font-size:18px;margin:0 0 6px}
body .portata .pt-scheda .pt-scheda-testo{padding:30px!important}body .portata .pt-scheda .pt-scheda-testo h3{margin:0 0 10px}body .portata .pt-scheda .pt-scheda-testo p{text-wrap:pretty;margin:0}
body .portata .pt-scheda .pt-scheda-testo ul{margin:auto 0 0!important;padding:12px 0 0!important}
body .portata .pt-scheda .pt-scheda-testo ul a{padding-left:0!important;padding-right:0!important}
body .portata .pt-scheda .pt-scheda-testo h3{margin-top:0}
body .portata .figlia .testo{padding:30px!important}
/* SCALA RAGGI: hero e grandi sezioni 32 | blocchi e banner larghi 24 | card 20 | bottoni/campi 12 | pill 999 */
:root{--rx-hero:32px;--rx-blocco:24px;--rx-card:20px}
body .pagina .testa.foto,body .portata .pt-banner{border-radius:var(--rx-hero)}
body .rp-blk,body .rp-hi,body .rp-shop,body .rp-fb,body .rp-gb,body .pt-foto-banner,body .mk3-cat,body .bl-own,body .vt-b{border-radius:var(--rx-blocco)}
body .portata .pt-scheda,body .figlie .figlia,body .figlie .invito,body .portata .pt-cta-form .aiuto-form,body .rp-t,body .rp-mk a,body .rp-al,body .mk3-b,body .mk3-t,body .mz-t,body .mz-f,body .vt-loghi{border-radius:var(--rx-card)}
body .rp-gb.rp-gc{border-radius:var(--rx-blocco)}
body:has(.portata) .pf-illu{background:transparent!important}
body .portata .pt-sezione:has(.pt-foto-banner) + .pt-sezione:last-of-type{margin-top:24px!important}
body .portata .pt-sezione:has(.pt-foto-banner) .pt-foto-banner{margin-bottom:0}
body .portata .pt-scheda .pt-scheda-testo p{margin-bottom:14px!important}
body .portata .pt-cta-grid{grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:48px;align-items:center}
body .portata .pt-cta-link{width:100%;max-width:400px;box-sizing:border-box;padding:24px 26px!important;justify-self:end}
@media(max-width:900px){body .portata .pt-cta-grid{grid-template-columns:1fr}body .portata .pt-cta-link{max-width:none;justify-self:stretch}}
body .portata .pt-scheda .pt-scheda-testo ul,body .portata .pt-scheda .pt-scheda-testo ul li{border:0!important}
body .portata .pt-scheda .pt-scheda-testo ul{padding-top:0!important}
body .portata .pt-scheda .pt-scheda-testo p{margin-bottom:12px!important}
body .portata .pt-sezione:last-of-type,body .portata .pt-foto-banner{border-radius:var(--rx-blocco)!important}
.fr{display:inline-block;margin-left:8px;font-style:normal}
body .portata .pt-scheda .pt-scheda-testo p{text-wrap:balance}
body .portata .pt-scheda .pt-scheda-testo ul{border-top:1px solid var(--linea)!important;margin:auto -30px 0!important;padding:18px 30px 0!important}
body .portata .pt-cta-testo a{color:#fff!important;font-weight:700;text-decoration:none!important;border-bottom:0!important}
body .portata .pt-scheda .pt-scheda-testo{padding:30px!important}
body .portata .pt-scheda .pt-scheda-testo h3{margin:0 0 10px!important}
body .portata .pt-scheda .pt-scheda-testo p{margin:0 0 30px!important}
body .portata .pt-scheda .pt-scheda-testo ul{padding:30px 30px 0!important;margin:auto -30px 0!important}
body .portata .pt-scheda .pt-scheda-testo ul li,body .portata .pt-scheda .pt-scheda-testo ul a{padding-top:0!important;padding-bottom:0!important;margin:0!important;line-height:1.3}
body .portata .pt-scheda .pt-scheda-testo{padding-bottom:0!important}
body .portata .pt-scheda .pt-scheda-testo ul{padding:16px 30px!important}
body .portata .pt-scheda .pt-scheda-testo ul{padding:16px 22px 16px 30px!important}
body .portata .pt-intro,body .portata .pt-intro p,body .portata .pt-sezione>p,body .portata .pt-sezione>h2,body .portata>p,body .portata>h2{max-width:none!important}
body .portata .pt-banner{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important}
.pt-foto-banner .pt-piani{position:absolute;right:32px;bottom:32px;display:flex;gap:12px;z-index:2}
.pt-foto-banner .pt-piano{display:flex;flex-direction:column;gap:6px;width:176px;box-sizing:border-box;padding:18px;border-radius:var(--rx-card,20px);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(6px);color:#fff;text-decoration:none!important}
.pt-foto-banner .pt-piano:hover{background:rgba(255,255,255,.2)}
.pt-foto-banner .pt-piano b{font-size:17px;font-weight:700;color:#fff}
.pt-foto-banner .pt-piano .pp-pr{font-size:24px;font-weight:800;line-height:1.1}
.pt-foto-banner .pt-piano .pp-pr small{font-size:13px;font-weight:500;margin-left:4px;opacity:.85}
.pt-foto-banner .pt-piano .pp-l{font-size:13px;line-height:1.45;opacity:.9}
@media(max-width:900px){.pt-foto-banner .pt-piani{position:static;padding:0 20px 20px;flex-direction:column;background:#013422}.pt-foto-banner .pt-piano{width:auto}}
@media(min-width:901px){body .pt-foto-banner .pt-foto-banner-testo{top:0;bottom:0;right:0;display:flex;flex-direction:column;align-items:flex-start;padding:32px!important;background:linear-gradient(180deg,rgba(0,35,22,.55) 0,rgba(0,35,22,0) 60%)!important}body .pt-foto-banner .pt-foto-banner-testo .bt-cta{margin-top:auto!important}body .pt-foto-banner .pt-foto-banner-testo h3{margin:0 0 8px}body .pt-foto-banner .pt-foto-banner-testo p{margin:0}}
@media(min-width:901px){body .portata .pt-sezione .pt-foto-banner .pt-foto-banner-testo a.bt-cta{margin:auto 0 0!important}}
@media(min-width:901px){body .portata .pt-foto-banner .pt-foto-banner-testo p:has(.bt-cta){margin:auto 0 0!important}}
@media(max-width:900px){body .portata .pt-foto-banner .pt-foto-banner-testo p:has(.bt-cta){margin:18px 0 0!important}}
@media(min-width:901px){body .portata .pt-foto-banner .pt-foto-banner-testo{background:linear-gradient(180deg,rgba(0,0,0,.62) 0,rgba(0,0,0,.28) 45%,rgba(0,0,0,.6) 100%)!important}}
body .portata .pt-foto-banner img{object-position:50% 40%}
@media(min-width:901px){body .portata .pt-foto-banner .pt-foto-banner-testo{background:linear-gradient(180deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.12) 45%,rgba(0,0,0,.5) 100%)!important}}
.pt-foto-banner .pt-nota{display:inline-block;margin-left:14px;font-size:13px;line-height:1.3;color:rgba(255,255,255,.85);vertical-align:middle}
@media(max-width:900px){.pt-foto-banner .pt-nota{display:block;margin:10px 0 0}}
body .pt-foto-banner .pt-nota{display:block!important;margin:0 0 10px!important}
body .portata .pt-sezione .pt-foto-banner{margin-top:48px!important}
body .portata .pt-sezione .pt-foto-banner{margin-top:72px!important}
@media(min-width:901px){body .pt-foto-banner .pt-nota{width:0!important;min-width:100%!important;line-height:1.35}}
body .pt-foto-banner .pt-nota{margin:10px 0 0!important}
body .portata .figlie .figlia .testo{padding:30px 30px 0!important;gap:0!important}
body .portata .figlie .figlia b{margin:0 0 10px}
body .portata .figlie .figlia em{margin:0 0 30px}
body .portata .figlie .figlia .vai{display:flex;align-items:center;justify-content:space-between;margin:auto -30px 0;padding:16px 22px 16px 30px;border-top:1px solid var(--linea);color:var(--verde-scuro,#006b3f);font-weight:700;font-size:14.5px}
body .pagina .testa.foto{max-width:1124px!important;width:calc(100% - 56px)!important}
body .pagina .testa.foto ~ section.wrap:has(.figlie){margin-top:72px!important;padding-top:0!important}
body .pagina .testa.foto ~ section.wrap:has(.figlie) .figlie-testa{margin-top:0}
body .figlie .figlia .testo{padding:30px 30px 0!important;gap:0!important}
body .figlie .figlia b{margin:0 0 10px}
body .figlie .figlia em{margin:0 0 30px}
body .figlie .figlia .vai{display:flex;align-items:center;justify-content:space-between;margin:auto -30px 0;padding:16px 22px 16px 30px;border-top:1px solid var(--linea);color:var(--verde-scuro,#006b3f);font-weight:700;font-size:14.5px}
body:has(.pagina) .pf-illu{background:transparent!important}
body .figlie .figlia em{text-wrap:balance;-webkit-line-clamp:4;min-height:0}
body .figlie .figlia em{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;max-height:none!important;text-wrap:balance}
body .figlia img,body .pt-scheda img{transition:none!important}
body .figlia:hover img,body .pt-scheda:hover img{transform:none!important}
body .figlia,body .pt-scheda{transition:border-color .2s,box-shadow .2s}
body .figlia:hover,body .pt-scheda:hover{transform:none!important;border-color:var(--verde,#028B55);box-shadow:0 10px 28px rgba(1,52,34,.12)}
body .figlia .vai,body .portata .pt-scheda .pt-scheda-testo ul{transition:border-color .2s}
body .figlia:hover .vai,body .portata .pt-scheda:hover .pt-scheda-testo ul{border-top-color:var(--verde,#028B55)!important}
body .portata .pt-scheda:not(:has(ul)):hover{border-color:var(--linea)!important;box-shadow:none!important}
body .portata .pt-scheda:not(:has(ul)) .pt-scheda-testo p{text-wrap:balance}
body .r6-testo{border:0!important;box-shadow:none!important;background:none!important;padding:0!important}
body .r6-testo .passi-cand{margin-bottom:0}

body .passi-cand{max-width:400px}
body .passi-cand b{font-size:15px}
body .passi-cand span{font-size:14px;line-height:1.5}
body .passi-cand li{grid-template-columns:34px 1fr;column-gap:14px}
body .passi-cand li::before{width:34px;height:34px;font-size:14px}
body .passi-cand li:not(:last-child)::after{left:16px;top:34px}
.pf-form>.aegis-badge{margin:14px 0 0!important;padding:0!important}

body .passi-cand{max-width:470px;margin-top:34px}
body .passi-cand b{font-size:16px}
body .passi-cand span{font-size:15px}
body .passi-cand li{grid-template-columns:38px 1fr}
body .passi-cand li::before{width:38px;height:38px;font-size:15px}
body .passi-cand li:not(:last-child)::after{left:18px;top:38px}

/* passi: versione pulita, senza etichetta "Passo n" (il numero e' gia' nel cerchio) */
body .passi-cand b::before{content:none;display:none}
body .passi-cand{max-width:440px;margin:20px 0 0}
body .passi-cand li{grid-template-columns:36px 1fr;column-gap:16px;row-gap:4px;padding:0 0 26px;align-items:start}
body .passi-cand li::before{width:36px;height:36px;font-size:14px;grid-row:1/3}
body .passi-cand li:not(:last-child)::after{left:17px;top:40px;bottom:4px}
body .passi-cand b{font-size:16px;line-height:36px;color:var(--notte)}
body .passi-cand span{font-size:14.5px;line-height:1.55;color:var(--grigio);text-wrap:pretty}

/* loghi produttori tondi, 7 casuali */
body .pt-cta-loghi{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
body .pt-cta-loghi a{width:64px;height:64px;border-radius:50%;padding:9px;box-sizing:border-box;overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center}
body .pt-cta-loghi img{width:100%;height:100%;object-fit:contain}

/* scheda singola foto+testo: come le altre schede */
body .portata .pt-schede > .pt-scheda:only-child{border:1px solid var(--linea);background:#fff;border-radius:var(--rx-card);overflow:hidden;gap:0;align-items:stretch;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
body .portata .pt-schede > .pt-scheda:only-child .pt-foto{border-radius:0;height:100%}
body .portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo{padding:30px 30px 0;display:flex;flex-direction:column;justify-content:center}
body .portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul{border-top:1px solid var(--linea)!important;margin:30px -30px 0!important;padding:16px 22px 16px 30px!important}
body .portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul a,body .portata .pt-schede > .pt-scheda:only-child .pt-scheda-testo ul a:hover{background:none;color:var(--verde-scuro);padding:0!important;font-weight:650;font-size:15px}
body .portata .pt-schede > .pt-scheda:only-child:hover{border-color:var(--verde);box-shadow:0 10px 30px rgba(1,52,34,.08)}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child{border:1px solid var(--linea);background:#fff;border-radius:var(--rx-card);overflow:hidden;gap:0;align-items:stretch;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-foto{border-radius:0;height:100%}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo{padding:30px 30px 0;display:flex;flex-direction:column;justify-content:center}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul{border-top:1px solid var(--linea)!important;margin:30px -30px 0!important;padding:16px 22px 16px 30px!important}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a,body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a:hover{background:none;color:var(--verde-scuro);padding:0!important;font-weight:650;font-size:15px}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child:hover{border-color:var(--verde);box-shadow:0 10px 30px rgba(1,52,34,.08)}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul{transition:border-color .2s}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child:hover .pt-scheda-testo ul{border-top-color:var(--verde)!important}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo p{text-wrap:pretty}
body .pt-cta-loghi a{padding:0;width:68px;height:68px}
body .pt-cta-loghi img{object-fit:contain;transform:scale(1.12)}
body .portata .pt-scheda-testo p{text-wrap:pretty}
body .portata .pt-intro>p{text-wrap:balance}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo p{font-size:19px;line-height:1.5;font-weight:500;text-wrap:balance}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo h3{font-size:26px;margin-bottom:14px}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo{justify-content:flex-start}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul{margin:auto -30px 0!important;padding:0 30px!important}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul li{margin:0!important;padding:0!important}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a,body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a:hover{display:flex!important;justify-content:space-between;align-items:center;width:100%;padding:22px 0!important;font-size:17px;line-height:1.2}
body .portata .pt-schede > .pt-scheda:nth-child(3n+1):last-child .pt-scheda-testo ul a .fr{margin-left:12px}

/* PIANI SU MISURA (Sostenibilita) */
.psm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:48px;align-items:center;margin:72px 0 0;padding:56px;border-radius:var(--rx-blocco);color:#fff;background:var(--verde-scuro) url(pattern-cedis.png) repeat}
.psm h2{color:#fff;font-size:clamp(28px,3vw,40px);line-height:1.12;margin:0 0 16px;text-align:left}
.psm p{color:rgba(255,255,255,.9);font-size:18px;line-height:1.5;margin:0 0 26px;max-width:46ch;text-align:left}
.psm p:last-child{margin-bottom:0}
.psm-punti{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.psm-punti li{display:flex;flex-direction:column;gap:4px;padding:18px 22px;border-radius:var(--rx-card);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22)}
.psm-punti b{font-size:17px;font-weight:700;color:#fff}
.psm-punti span{font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.85)}
@media(max-width:900px){.psm{grid-template-columns:1fr;padding:32px 24px;gap:28px}}
body .pt-cta-loghi img{transform:none!important}
.psm{display:flex;flex-direction:column;gap:28px;align-items:stretch}
.psm-testo p{max-width:60ch;margin:0}
.psm-piani{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.psm .pt-piano{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border-radius:var(--rx-card);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;text-decoration:none!important;transition:background .2s}
.psm .pt-piano:hover{background:rgba(255,255,255,.2)}
.psm .pt-piano b{font-size:18px;font-weight:700;color:#fff}
.psm .pt-piano .pp-pr{font-size:28px;font-weight:800;line-height:1.1}
.psm .pt-piano .pp-pr small{font-size:14px;font-weight:500;margin-left:4px;opacity:.85}
.psm .pt-piano .pp-l{font-size:14px;line-height:1.5;opacity:.9}
.psm-fondo{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.psm-fondo .pt-nota{font-size:13px;color:rgba(255,255,255,.75)}
@media(max-width:900px){.psm-piani{grid-template-columns:1fr}}
.psm-piani>br,.psm-piani>p,.psm-fondo>br,.psm-fondo>p:empty{display:none}

/* CALCOLATORE PIANI (Sostenibilita): come nello Shop */
.psm-calc{background:#f2f8f5;border-radius:var(--rx-card);padding:28px 30px;color:var(--notte);text-align:left}
.psm-calc h3{margin:0 0 18px;font-size:22px;color:#0b3d2e}
.pc-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:28px;align-items:start}
.pc-t{display:flex;align-items:center;gap:10px;font-size:15.5px;color:#0b3d2e;margin:0 0 12px}
.pc-t i{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--verde);color:#fff;font-style:normal;font-size:13px;font-weight:700}
.pc-ch{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 24px}
.pc-ch label{display:block;cursor:pointer}.pc-ch input{position:absolute;opacity:0;pointer-events:none}
.pc-ch span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:8px 12px;border:1px solid #cfe0d8;border-radius:12px;background:#fff;font-size:14.5px;line-height:1.25;transition:border-color .2s,background .2s}
.pc-ch label:hover span{border-color:var(--verde)}
.pc-ch input:checked+span{background:#0b3d2e;border-color:#0b3d2e;color:#fff;font-weight:650}
.pc-res{background:#fff;border-radius:var(--rx-card);padding:24px 26px}
.pc-h{margin:0 0 14px;font-size:20px;line-height:1.3;font-weight:600;color:#0b3d2e;text-align:left}
.pc-big{display:flex;flex-direction:column;margin:0 0 16px;text-align:left}.pc-big small{font-size:13px;color:#35564a}
.pc-big b{font-size:34px;line-height:1.1;color:var(--verde-scuro)}.pc-big i{font-style:normal;font-size:13px;color:#35564a}
.pc-card{position:relative;border:2px solid var(--verde);border-radius:var(--rx-card);padding:24px 22px 22px;margin:14px 0;text-align:left}
.pc-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--verde);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 12px;border-radius:999px;white-space:nowrap}
.pc-card h4{margin:0;font-size:19px;color:#0b3d2e}.pc-pr{margin:2px 0 14px;font-size:15px;color:#35564a}.pc-pr b{font-size:28px;color:#0b3d2e}
.pc-card ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px}
.pc-card li{position:relative;padding-left:18px;font-size:15px;line-height:1.4;color:#243b32}
.pc-card li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--verde)}
.pc-card .bt-cta{display:block;text-align:center}
.pc-es{display:block;font-size:12.5px;line-height:1.5;color:#5a7268;text-align:left}
@media(max-width:900px){.pc-in{grid-template-columns:1fr}.psm-calc{padding:22px 18px}}
.psm .psm-calc p{max-width:none;margin:0;text-align:left}
.psm .psm-calc .pc-h{color:#0b3d2e;font-size:20px;line-height:1.3;margin:0 0 14px}
.psm .psm-calc .pc-pr{color:#35564a;font-size:15px;margin:2px 0 14px}
.psm .psm-calc .pc-big{margin:0 0 16px}
/* piani su misura: titolo sul bianco, solo il calcolatore e' un blocco */
body .psm{background:none;padding:0;border-radius:0;color:var(--notte);gap:24px;margin-top:72px}
body .psm h2{color:#0b3d2e;margin:0 0 12px}
body .psm .psm-testo p{color:var(--grigio);font-size:18px;max-width:64ch}
body .portata .pt-sezione:has(.psm)+.pt-sezione:last-of-type{margin-top:24px!important}

/* VANTAGGI: scala dei raggi e tessera verde */
body .vc-foto,body .vc-banner,body .vc-due .vantaggio{border-radius:var(--rx-blocco)}
body .vantaggi-grid .vantaggio{border-radius:var(--rx-card);padding:30px}
body .vc-due .vantaggio{background:var(--verde-scuro) url(pattern-cedis.png) repeat;border:0;color:#fff;padding:28px;justify-content:flex-end}
body .vc-due .vantaggio h3{color:#fff;font-size:19px;margin:0 0 8px}
body .vc-due .vantaggio p{color:rgba(255,255,255,.88);font-size:15px}
body .vc-due .vantaggio .vg-ic{display:flex;margin:0 0 auto;background:rgba(255,255,255,.16)}
body .vc-due .vantaggio .vg-ic svg{stroke:#fff}
body .vantaggi-grid .vantaggio p,body .vc-banner p{text-wrap:pretty}
body .vantaggi-grid .vantaggio:hover{transform:none;box-shadow:none;border-color:var(--linea)}
body .pt-intro p,body .pagina>p:first-of-type{text-wrap:balance}
body .vantaggi-grid{margin-top:24px}
body .vantaggi-grid + .richiedi-6-6{margin-top:72px}
body .richiedi-6-6#fornitura .r6-form{border-radius:var(--rx-blocco)}
body .richiedi-6-6#fornitura .r6-testo h2{max-width:none}
body .pagina>p:first-of-type,body .pt-intro p{max-width:none}
/* icona orologio: solo bianca, senza tondo, lancette che girano */
body .vc-due .vantaggio .vg-ic{background:none;width:48px;height:48px;border-radius:0}
body .vc-due .vantaggio .vg-ic svg{width:48px;height:48px;stroke:#fff;stroke-width:1.5;stroke-linecap:round;fill:none}
body .vc-due .vantaggio .ck-m,body .vc-due .vantaggio .ck-h{transform-origin:12px 12px;animation:ck-gira 4s linear infinite}
body .vc-due .vantaggio .ck-h{animation-duration:48s}
@keyframes ck-gira{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body .vc-due .vantaggio .ck-m,body .vc-due .vantaggio .ck-h{animation:none}}
body .vc-due .vantaggio{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important}
body .vc-testo a,body .vc-testo a:hover,body .vc-testo a:not([class]),body .vc-testo a:not([class]):hover{text-decoration:none!important}
body .vc-foto .vc-testo{padding-top:90px;background:linear-gradient(to top,rgba(0,0,0,.88) 0,rgba(0,0,0,.6) 45%,rgba(0,0,0,0) 100%)}
body .vc-quadro .vc-testo{padding-top:140px}
body .richiedi-6-6#fornitura{column-gap:72px}
body .richiedi-6-6#fornitura .r6-testo{padding-right:0;max-width:480px}
body .richiedi-6-6#fornitura .r6-testo h2{font-size:clamp(24px,2.2vw,30px);line-height:1.15}
body .vc-top + .stacco-centro{margin:72px auto 28px}
body .vc-top + .stacco-centro .sc-tit{margin:0;color:#0b3d2e}
body .vc-top + .stacco-centro + .vantaggi-grid{margin-top:0}
/* Vantaggi: video di sfondo nel quadro grande, tessera sprechi azzurro frigo */
body .vc-quadro .vc-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
body .vc-quadro::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12);pointer-events:none}
body .vc-quadro .vc-testo{z-index:2}
@media(prefers-reduced-motion:reduce){body .vc-quadro .vc-video{display:none}}
body .vc-due .vantaggio{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,#1f77b9!important}
body .vc-quadro .vc-video{object-position:50% 40%}
/* tessera sprechi: azzurro piatto, orologio + fiocco di neve */
body .vc-due .vantaggio{background:#2b88cc!important}
body .vc-due .vantaggio .vg-ic{width:auto;display:flex;gap:16px;align-items:center}
body .vc-due .vantaggio .vg-ic .fr-ic{width:44px;height:44px;stroke:#fff;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;fill:none;transform-origin:50% 50%;animation:fr-gira 14s linear infinite,fr-pulsa 3.2s ease-in-out infinite}
@keyframes fr-gira{to{transform:rotate(360deg)}}
@keyframes fr-pulsa{0%,100%{opacity:1}50%{opacity:.55}}
@media(prefers-reduced-motion:reduce){body .vc-due .vantaggio .vg-ic .fr-ic{animation:none}}
body .vc-due .vantaggio .vg-ic{gap:20px;height:auto}
body .vc-due .vantaggio .vg-ic svg,body .vc-due .vantaggio .vg-ic .fr-ic{width:64px;height:64px;stroke-width:1.3}
/* Vantaggi: frase sotto il titolo del quadro video */
body .vc-quadro .vc-testo .vc-sub{font-size:clamp(15px,1.3vw,18px);font-weight:500;line-height:1.4;margin:0 0 16px;max-width:36ch;color:rgba(255,255,255,.92)}
/* mappa rappresentanti animata */
.vc-mappa{margin:36px 0 0;max-width:560px;border-radius:var(--rx-blocco);overflow:hidden;box-shadow:0 0 0 1px var(--linea)}
.vc-mappa svg{display:block;width:100%;height:auto}
.vc-mappa text{font:600 15px Manrope,system-ui,sans-serif;fill:#35564a;paint-order:stroke;stroke:#e6f4ec;stroke-width:4px;text-anchor:middle}
.vc-mappa .vm-s{font-size:12.5px;font-weight:500;fill:#6b8a7c}
.vm-hill{fill:#cfe8d9}.vm-river{fill:none;stroke:#bfe0f0;stroke-width:5;stroke-linecap:round}
.vm-road,.vm-road2{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;stroke-linejoin:round}
.vm-road2{stroke-width:3.5;stroke:#f3faf6}
.vm-pin path{fill:#e53935;stroke:#b71c1c;stroke-width:1}.vm-pin circle{fill:#fff}
.vm-area{fill:rgba(2,139,85,.16);stroke:none;opacity:0;transform-box:fill-box;transform-origin:center}
.vm-ring{fill:none;stroke:rgba(2,139,85,.55);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.vm-links path{fill:none;stroke:#028b55;stroke-width:2.5;stroke-dasharray:3 9;stroke-linecap:round;opacity:0}
.vm-road,.vm-river,.vm-road2{stroke-dasharray:var(--l,900);stroke-dashoffset:var(--l,900)}
.vm-pin{transform-box:fill-box;transform-origin:50% 100%;opacity:0}
.vc-mappa.on .vm-road,.vc-mappa.on .vm-river,.vc-mappa.on .vm-road2{animation:vm-draw 2.2s ease forwards}
.vc-mappa.on .vm-pin{animation:vm-drop .8s cubic-bezier(.3,1.6,.5,1) forwards;animation-delay:var(--d)}
.vc-mappa.on .vm-area{animation:vm-area 1.4s ease-out forwards;animation-delay:var(--d)}
.vc-mappa.on .vm-ring{animation:vm-ring 4.5s ease-out infinite;animation-delay:var(--d)}
.vc-mappa.on .vm-links path{animation:vm-link 1s ease 2.6s forwards,vm-march 1.6s linear 3.6s infinite}
@keyframes vm-draw{to{stroke-dashoffset:0}}
@keyframes vm-drop{0%{opacity:0;transform:translateY(-70px) scale(.6)}60%{opacity:1}100%{opacity:1;transform:none}}
@keyframes vm-area{from{opacity:0;transform:scale(.1)}to{opacity:1;transform:scale(1)}}
@keyframes vm-ring{0%{opacity:.9;transform:scale(.15)}80%,100%{opacity:0;transform:scale(1.15)}}
@keyframes vm-link{to{opacity:.9}}@keyframes vm-march{to{stroke-dashoffset:-24}}
@media (prefers-reduced-motion:reduce){.vc-mappa *{animation:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}}
body .vc-top + .stacco-centro{margin:56px auto 56px}
body .stacco-centro .sc-tit{display:flex;justify-content:center;align-items:baseline;gap:.28em;flex-wrap:wrap}
.sc-tit .sc-6{font-size:2.6em;line-height:.8;font-weight:800;letter-spacing:-.04em;color:#5fd09b}
.sc-tit .sc-a{font-weight:800;color:#0b3d2e}
.sc-tit .sc-b{font-style:normal;font-weight:400;letter-spacing:.01em;color:#4f7a6a}
.vc-mappa{background:#e3f0e8;box-shadow:0 0 0 1px var(--linea),0 18px 40px -22px rgba(11,61,46,.35)}
.vc-mappa .vm-hill{fill:#cfe6d9}
.vm-pin path{fill:#028b55;stroke:#016b41}
.vm-road{stroke:#fff;stroke-width:8}.vm-road2{stroke:#f6fbf8;stroke-width:4.5}
.vm-area{fill:rgba(2,139,85,.13)}
.vm-ring{stroke:rgba(2,139,85,.6);stroke-width:2.5}
.vm-links path{stroke:#028b55;stroke-width:2;stroke-dasharray:2 8}
.vc-mappa text{font-weight:700;font-size:16px;fill:#0b3d2e;stroke:#fff;stroke-width:5px}
.richiedi-6-6#fornitura{align-items:stretch}
.richiedi-6-6#fornitura .r6-testo{display:flex;flex-direction:column}
.richiedi-6-6#fornitura .vc-mappa{position:relative;flex:1;min-height:340px;margin-top:36px;max-width:none}
.richiedi-6-6#fornitura .vc-mappa svg{position:absolute;inset:0;width:100%;height:100%}
.vc-mappa .vm-road,.vc-mappa .vm-road2,.vc-mappa .vm-river{display:none}
body .stacco-centro .sc-tit:has(.sc-6){display:grid;grid-template-columns:auto auto;column-gap:.16em;justify-content:center;align-items:center;text-align:left;font-size:clamp(26px,2.6vw,34px)}
.sc-tit .sc-6{grid-row:1/3;font-size:3.5em;line-height:.8;font-weight:800;letter-spacing:-.06em;background:linear-gradient(160deg,#8fe5bd,#2fb77d 55%,#028b55);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.sc-tit .sc-a{align-self:end;font-size:1.25em;line-height:1.05;font-weight:800;letter-spacing:-.02em;color:#0b3d2e}
.sc-tit .sc-b{align-self:start;font-size:.52em;line-height:1.3;font-weight:600;font-style:normal;text-transform:uppercase;letter-spacing:.32em;color:#4f7a6a;margin-top:.5em;padding-top:.5em;border-top:2px solid #b9dccb}
body .vc-intro{margin:0 0 16px!important}body .pt-intro:has(.vc-intro) .vc-top{margin-top:32px}
body .vc-intro{margin:0 0 32px!important}
.sc-tit .sc-6{align-self:center;line-height:.9;margin-top:.1em}
.sc-tit .sc-a{line-height:1;padding-bottom:.3em}
.sc-tit .sc-b{margin-top:0;padding-top:.57em;line-height:1}
body .vc-top + .stacco-centro{margin:56px auto 72px}
.vc-mappa .bt-cta{position:absolute;right:16px;bottom:16px;z-index:3;box-shadow:0 8px 20px -6px rgba(0,60,40,.45)}
body .vc-intro{margin:0 0 52px!important}
body .richiedi-6-6#fornitura{margin-top:112px!important}
body .vc-top + .stacco-centro{margin:56px auto 36px}
.vc-mappa .vm-hill{display:none}
body .stacco-centro .sc-tit:has(.sc-6){display:grid;grid-template-columns:auto auto;column-gap:.14em;row-gap:.18em;justify-content:center;align-items:baseline;text-align:center;font-size:clamp(28px,3vw,40px)}
.sc-tit .sc-6{grid-row:1;grid-column:1;align-self:baseline;font-size:2.1em;line-height:.9;margin:0;font-weight:800;letter-spacing:-.05em}
.sc-tit .sc-a{grid-row:1;grid-column:2;align-self:baseline;font-size:1.15em;line-height:1;padding:0;font-weight:800;letter-spacing:-.025em}
.sc-tit .sc-b{grid-row:2;grid-column:1/3;justify-self:center;display:flex;align-items:center;gap:16px;border:0;margin:0;padding:0;text-transform:none;letter-spacing:.01em;font:italic 400 1.05em/1.2 Georgia,"Times New Roman",serif;color:#028b55}
.sc-tit .sc-b::before,.sc-tit .sc-b::after{content:"";width:56px;height:1px;background:#9fd3b9}
body .stacco-centro .sc-tit:has(.sc-6){display:flex;flex-wrap:nowrap;justify-content:center;align-items:baseline;gap:.22em;font-size:clamp(26px,2.8vw,38px);text-align:left}
.sc-tit .sc-6{font:italic 400 3em/.8 Georgia,"Times New Roman",serif;letter-spacing:-.02em;background:linear-gradient(170deg,#7fdcae,#028b55);-webkit-background-clip:text;background-clip:text;color:transparent;transform:none;padding:0 .04em 0 0;margin:0}
.sc-tit .sc-a{font-size:1em;font-weight:800;letter-spacing:-.02em;color:#0b3d2e;line-height:1.1;padding:0}
.sc-tit .sc-b{display:inline;font:600 1em/1.1 Manrope,system-ui,sans-serif;font-style:normal;letter-spacing:-.02em;color:#4f7a6a;margin:0;padding:0;border:0}
.sc-tit .sc-b::before,.sc-tit .sc-b::after{content:none}
.vm-t{opacity:0}.vm-t circle{fill:#fff;stroke:#028b55;stroke-width:2.5}
.vc-mappa .vm-s{font-size:13.5px;font-weight:600;fill:#35564a}
.vc-mappa.on .vm-t{animation:vm-fade .7s ease forwards;animation-delay:var(--d)}
@keyframes vm-fade{to{opacity:1}}
body .vc-quadro .vc-video{object-position:50% 72%}
body .sc-tit .sc-6,body .sc-tit .sc-a,body .sc-tit .sc-b{align-self:baseline;grid-row:auto;grid-column:auto;margin-top:0;transform:none}
body .sc-tit .sc-b{justify-self:auto;font-size:1em}
.vc-mappa .bt-cta{left:16px;top:16px;right:auto;bottom:auto}
body .stacco-centro .sc-tit:has(.sc-6){gap:.18em;align-items:center}
body .sc-tit .sc-6{align-self:center;font:800 1.9em/1 Manrope,system-ui,sans-serif;letter-spacing:-.04em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#55c995;padding:0;margin-top:-.04em}
body .sc-tit .sc-a,body .sc-tit .sc-b{align-self:center;font-weight:800;color:#0b3d2e;letter-spacing:-.025em}
.vc-mappa.on .vm-t{animation:vm-fade2 .7s ease forwards;animation-delay:var(--d)}
@keyframes vm-fade2{to{opacity:.5}}
.vm-t circle{stroke-width:2;stroke:#6fb596}
.vc-mappa .vm-t .vm-s{font-size:12.5px;font-weight:500;fill:#6b8a7c}
@media (prefers-reduced-motion:reduce){.vm-t{opacity:.5!important}}
body .stacco-centro .sc-tit:has(.sc-6){position:relative;display:block;text-align:center;padding:30px 0;font-size:clamp(28px,3.2vw,44px);line-height:1.08;isolation:isolate}
body .sc-tit .sc-6{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:-1;margin:0;padding:0;align-self:auto;font:800 7.2em/1 Manrope,system-ui,sans-serif;letter-spacing:0;color:#e6f6ee;background:none;-webkit-text-stroke:2px #9fd8bb;pointer-events:none}
body .sc-tit .sc-a,body .sc-tit .sc-b{display:block;align-self:auto;font-size:1em;line-height:1.08}
body .sc-tit .sc-a{font-weight:800;color:#0b3d2e}
body .sc-tit .sc-b{font-weight:500;color:#028b55;letter-spacing:-.02em}
body .stacco-centro .sc-tit:has(.sc-6){padding:18px 0}
body .sc-tit .sc-6{font-size:5.6em}
body .vc-top + .stacco-centro{margin:48px auto 28px}
body .stacco-centro .sc-tit:has(.sc-6){display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;column-gap:.25em;row-gap:0;padding:0;isolation:auto;font-size:clamp(24px,2.6vw,34px)}
body .sc-tit .sc-6{position:static;transform:none;z-index:auto;flex:0 0 100%;text-align:center;font:800 4.4em/.9 Manrope,system-ui,sans-serif;letter-spacing:-.04em;-webkit-text-stroke:0;background:linear-gradient(180deg,#8fe5bd 0%,#2fb77d 60%,#028b55 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.04em 0 .1em;margin:0}
body .sc-tit .sc-a,body .sc-tit .sc-b{display:inline;font-size:1em;line-height:1.2}
body .sc-tit .sc-6{font-size:5.8em}
body .sc-tit .sc-a,body .sc-tit .sc-b{font-size:1.2em}
body .vc-top + .stacco-centro{margin:48px auto 44px}
body .stacco-centro .sc-tit:has(.sc-6){display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:.12em;row-gap:0;justify-content:center;align-items:center;text-align:left;font-size:clamp(26px,2.8vw,38px)}
body .sc-tit .sc-6{grid-column:1;grid-row:1/3;flex:none;font-size:4.2em;line-height:.8;padding:.02em 0 .06em;text-align:left}
body .sc-tit .sc-a{grid-column:2;grid-row:1;align-self:end;display:block;font-size:1.3em;line-height:1.05;padding-bottom:.08em}
body .sc-tit .sc-b{grid-column:2;grid-row:2;align-self:start;display:block;font-size:1.3em;line-height:1.05;padding-top:.04em}
body .stacco-centro .sc-tit:has(.sc-6){column-gap:.5em}
body .sc-tit .sc-6{position:relative;font-size:4.3em;line-height:.78;padding:.05em 0 .09em}
body .sc-tit .sc-6::after{content:"";position:absolute;right:-.2em;top:14%;bottom:18%;width:2px;border-radius:2px;background:linear-gradient(180deg,#8fe5bd,#028b55)}
body .sc-tit .sc-a{font-size:1.4em;line-height:1;letter-spacing:-.03em;padding-bottom:.14em}
body .sc-tit .sc-b{font-size:1.4em;line-height:1;font-weight:400;letter-spacing:-.025em;color:#028b55;padding-top:.02em}
body .vc-quadro .vc-testo > p{margin-bottom:6px!important}body .vc-quadro .vc-testo > a{margin-top:0!important}
body .sc-tit .sc-6{position:static;line-height:1;padding:0 .1em 0 0;align-self:center;font-size:4em}
body .sc-tit .sc-6::after{content:none}
body .stacco-centro .sc-tit:has(.sc-6){column-gap:.3em}
body .sc-tit .sc-a,body .sc-tit .sc-b{padding-left:.4em;border-left:2px solid #8fd7b3}
body .sc-tit .sc-a{padding-bottom:.1em}
body .sc-tit .sc-a,body .sc-tit .sc-b{border-left:0;padding-left:0}body .stacco-centro .sc-tit:has(.sc-6){column-gap:.22em}
body .vc-quadro .vc-testo > p{margin-bottom:0!important;line-height:1.1!important}body .vc-quadro .vc-testo > a{display:inline-block;line-height:1.1;margin-top:2px!important}
body .sc-tit .sc-b{font-weight:800;letter-spacing:-.03em;color:#028b55}
body .sc-tit .sc-b{font-weight:600;letter-spacing:-.02em}body .sc-tit .sc-a{font-weight:800;letter-spacing:-.02em}body .sc-tit .sc-6{font-weight:700}
body .stacco-centro .sc-tit:has(.sc-6){font-size:clamp(28px,3.1vw,44px);column-gap:.3em}
body .sc-tit .sc-6{position:relative;font-size:5.4em;font-weight:800;line-height:.9;letter-spacing:-.05em;background:linear-gradient(165deg,#a4efc9 0%,#3cc387 45%,#016b41 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 18px rgba(2,139,85,.3));isolation:isolate;animation:six-in .9s cubic-bezier(.2,1.4,.4,1) both}
body .sc-tit .sc-6::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:1.05em;height:1.05em;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(143,229,189,.35),rgba(143,229,189,0) 70%)}
body .sc-tit .sc-a{font-size:1.15em;font-weight:800;letter-spacing:-.03em;animation:six-txt .7s .25s ease both}
body .sc-tit .sc-b{font-size:1.15em;font-weight:500;letter-spacing:-.025em;animation:six-txt .7s .4s ease both}
@keyframes six-in{from{opacity:0;transform:scale(.4) rotate(-12deg)}to{opacity:1;transform:none}}
@keyframes six-txt{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){body .sc-tit .sc-6,body .sc-tit .sc-a,body .sc-tit .sc-b{animation:none}}
body .sc-tit .sc-6{top:auto;left:auto;margin:0}
body .sc-tit.sc-pre:not(.on) .sc-6,body .sc-tit.sc-pre:not(.on) .sc-a,body .sc-tit.sc-pre:not(.on) .sc-b{animation:none;opacity:0}
body .sezione-66 .s66-quadrato{position:relative;overflow:hidden;isolation:isolate}
body .sezione-66 .s66-quadrato > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
body .sezione-66 .s66-quadrato::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,40,24,.92) 0,rgba(0,50,30,.62) 48%,rgba(0,50,30,.12) 100%)}
body .sezione-66 .s66-quad-piccolo{position:relative;overflow:hidden;isolation:isolate;border:0;background:#0b3d2e}
body .sezione-66 .s66-quad-piccolo > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
body .sezione-66 .s66-quad-piccolo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(0,35,22,.94) 0,rgba(0,45,28,.7) 55%,rgba(0,45,28,.15) 100%)}
body .sezione-66 .s66-quad-piccolo h3,body .sezione-66 .s66-quad-piccolo p{color:#fff}
body .sezione-66 .s66-quad-piccolo::before{background:linear-gradient(to top,rgba(0,35,22,.9) 0,rgba(0,45,28,.45) 38%,rgba(0,45,28,0) 68%)}
body .pagina p a:not([class]):has(.fr),body .pagina p a:not([class]):has(.fr):hover,body .portata p a:has(.fr),body .portata p a:has(.fr):hover{text-decoration:none!important}
/* bar page overlays */
body .sezione-66 .s66-quadrato::before{background:linear-gradient(to top,rgba(0,35,22,.9) 0,rgba(0,45,28,.5) 30%,rgba(0,45,28,0) 58%)}
body .sezione-66 .s66-banner-testo{background:linear-gradient(to top,rgba(0,35,22,.88) 0,rgba(0,45,28,.4) 45%,rgba(0,45,28,0) 100%)}
body .sezione-66 .s66-banner:has(img[src*="bartender"])::after{content:"";position:absolute;inset:0;background:rgba(0,30,18,.58);pointer-events:none}
body .sezione-66 .s66-banner:has(img[src*="bartender"]) .s66-banner-testo{z-index:2;background:none}
/* neutral black shadows */
body .sezione-66 .s66-quadrato::before{background:linear-gradient(to top,rgba(0,0,0,.82) 0,rgba(0,0,0,.42) 30%,rgba(0,0,0,0) 58%)}
body .sezione-66 .s66-quad-piccolo::before{background:linear-gradient(to top,rgba(0,0,0,.8) 0,rgba(0,0,0,.4) 38%,rgba(0,0,0,0) 68%)}
body .sezione-66 .s66-banner-testo{background:linear-gradient(to top,rgba(0,0,0,.78) 0,rgba(0,0,0,.35) 45%,rgba(0,0,0,0) 100%)}
body .sezione-66 .s66-banner:has(img[src*="bartender"])::after{background:rgba(0,0,0,.5)}
/* barman banner: dark green overlay */
body .sezione-66 .s66-banner:has(img[src*="bartender"])::after{background:rgba(0,48,30,.66)}
/* "Un fornitore che conosce il vostro ritmo": text lower */
body .sezione-66 .s66-quadrato:has(> img[src*="barista"]){padding-bottom:20px!important}
body .sezione-66 .s66-banner:has(img[src*="consegne-horeca"]) .s66-banner-testo{padding-bottom:20px!important}
body .portata p a[href="/come-si-ordina/"]{text-decoration:none!important}
body .sezione-66 .s66-quadrato{padding-bottom:20px!important}
body .sezione-66 .s66-banner-testo{padding-bottom:20px!important}
body .vc-foto .vc-testo{padding-bottom:20px!important}
body .vc-foto .vc-testo{padding-left:28px!important;padding-right:28px!important;padding-bottom:28px!important}
body .vc-quadro .vc-testo{padding-left:36px!important;padding-bottom:36px!important}
body .vc-banner{padding:32px!important}
body .vc-banner > :last-child,body .vc-banner a:last-child{margin-bottom:0!important}
body .vc-foto .vc-testo{padding-bottom:22px!important}
body .vc-foto .vc-testo a,body .vc-foto .vc-testo p:last-child{margin-bottom:0!important}
body .vc-foto .vc-testo a{display:inline-block;line-height:1.2}
body .vc-due .vantaggio{padding:28px 28px 22px!important}
body .vc-due .vantaggio p:last-child{margin-bottom:0!important}
/* pagina Per chi */
body .pc-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;margin-top:36px}
body .pc-c{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:400px;border-radius:var(--r-lg,20px);overflow:hidden;background:#0E5638 center/cover no-repeat;color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s}
body .pc-c:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
body .pc-c:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(1,40,26,.92) 0,rgba(1,40,26,.72) 38%,transparent 78%)}
body .pc-0,body .pc-3{grid-column:span 7}
body .pc-1,body .pc-2{grid-column:span 5}
body .pc-t{display:flex;flex-direction:column;gap:8px;padding:30px 34px;max-width:560px}
body .pc-t em{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
body .pc-t b{font-size:30px;line-height:1.1}
body .pc-t span{font-size:15px;line-height:1.5;opacity:.95}
body .pc-t i{margin-top:6px;font-style:normal;font-weight:700;border-bottom:2px solid #fff;align-self:flex-start}
@media(max-width:900px){body .pc-0,body .pc-1,body .pc-2,body .pc-3{grid-column:1/-1}body .pc-c{min-height:340px}}
body .pc-c .pc-t,body .pc-c .pc-t *{color:#fff!important}
body .pc-c .pc-t i{display:inline-block!important;width:auto!important;height:auto!important;min-width:0!important;background:none!important;border-radius:0!important;box-shadow:none!important;padding:0 0 2px!important;margin-top:6px;border-bottom:2px solid #fff;white-space:nowrap;align-self:flex-start}
body .pc-c .pc-t i:before,body .pc-c .pc-t i:after{content:none!important;display:none!important}
body .pc-c .pc-t span,body .pc-c .pc-t em,body .pc-c .pc-t b{display:block;background:none!important}
body .pc-c:before{background:linear-gradient(0deg,rgba(1,40,26,.94) 0,rgba(1,40,26,.8) 45%,rgba(1,40,26,.15) 85%)!important}
body .mk2-ban{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important;border-radius:var(--r-lg,20px)}
body .pc-c:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grain) repeat;mix-blend-mode:overlay;opacity:.35;pointer-events:none}
body .pc-c .pc-t{text-align:left;align-items:flex-start}
body .pc-c .pc-t span{font-size:17px}
/* Per chi: il 4 che si anima */
body .pc4{position:relative;display:flex;align-items:center;justify-content:center;min-height:380px;overflow:hidden;background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)}
body .pc4-c{display:block;height:230px;overflow:hidden;line-height:230px;font-size:230px;font-weight:800;color:#FFE98A;animation:pc4pulse 3.2s ease-in-out 2.6s infinite}
body .pc4-n{display:block;animation:pc4count 1.4s steps(3,end) .3s both}
body .pc4-n span{display:block;height:230px;line-height:230px;text-align:center;min-width:150px}
@keyframes pc4count{to{transform:translateY(-75%)}}
@keyframes pc4pulse{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.07) rotate(-3deg)}}
body .pc4-p{position:absolute;padding:9px 16px;border-radius:999px;background:#fff;color:var(--verde-scuro,#006b3f);font-size:14px;font-weight:700;white-space:nowrap;box-shadow:0 8px 20px rgba(0,0,0,.2);opacity:0;animation:pc4in .6s cubic-bezier(.2,1.4,.4,1) both,pc4float 4s ease-in-out infinite}
body .pc4-p.p1{top:16%;left:6%;animation-delay:1.8s,2.4s}
body .pc4-p.p2{top:22%;right:5%;animation-delay:2.05s,2.9s}
body .pc4-p.p3{bottom:20%;left:5%;animation-delay:2.3s,3.3s}
body .pc4-p.p4{bottom:14%;right:8%;animation-delay:2.55s,2.7s}
@keyframes pc4in{from{opacity:0;transform:translateY(18px) scale(.8)}to{opacity:1;transform:none}}
@keyframes pc4float{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(prefers-reduced-motion:reduce){body .pc4 *{animation:none!important;opacity:1!important}body .pc4-n{transform:translateY(-75%)}}
@media(max-width:900px){body .pc4{min-height:300px}body .pc4-c{height:170px;line-height:170px;font-size:170px}body .pc4-n span{height:170px;line-height:170px}}
body .hb-bar{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;margin:48px 0;padding:44px 48px;border-radius:var(--r-lg,24px);background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f);color:#fff}
body .hb-bar h3{color:#fff;margin:6px 0 10px;font-size:clamp(24px,3vw,34px)}
body .hb-bar p{color:#fff;max-width:620px;margin:0}
body .hb-bar .cappello{opacity:.8;font-size:13px;letter-spacing:.08em}
body .hb-bar .bt-cta{background:#fff;color:var(--verde-scuro,#006b3f)}
@media(max-width:700px){body .hb-bar{padding:32px 24px}}
body .s66-quad-piccolo.pc-blue{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,#2b88cc!important;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
body .s66-quad-piccolo.pc-blue::before,body .s66-quad-piccolo.pc-blue::after{display:none!important}
body .s66-quad-piccolo.pc-blue .vg-ic{display:flex;gap:16px;align-items:center;margin:0 0 auto;position:relative;z-index:2}
body .s66-quad-piccolo.pc-blue .vg-ic svg{width:56px;height:56px;stroke:#fff;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;fill:none}
body .s66-quad-piccolo.pc-blue .vg-ic .fr-ic{stroke:#d9ecfa;transform-origin:50% 50%;animation:fr-gira 14s linear infinite}
body .s66-quad-piccolo.pc-blue .ck-m,body .s66-quad-piccolo.pc-blue .ck-h{transform-origin:12px 12px;animation:ck-gira 4s linear infinite}
body .s66-quad-piccolo.pc-blue .ck-h{animation-duration:48s}
body .s66-quad-piccolo.pc-blue h3,body .s66-quad-piccolo.pc-blue p{position:relative;z-index:2;color:#fff}
body .s66-quad-piccolo.pc-blue{background:#2b88cc!important;background-image:none!important}
body .vc-due .vantaggio.vg-verde{background:var(--verde,#028B55)!important;background-image:none!important}
body .vg-verde .mc-logos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 auto;width:100%}
body .vg-verde .mc-logos span{display:flex;align-items:center;justify-content:center;height:52px;padding:8px 12px;background:#fff;border-radius:12px}
body .vg-verde .mc-logos img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
body .vc-top{align-items:stretch}
body .vc-top .vc-destra{height:100%}
body .vc-top .vc-destra>*{flex:1 1 0;min-height:0}
body .vc-top .vc-destra .vc-banner{display:flex;flex-direction:column;justify-content:center}
body .hz-marchi{flex-wrap:wrap;align-content:center}
body .hz-marchi .vt-fl img{width:60px;height:60px;padding:0;margin-left:-12px;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px rgba(1,51,34,.12);box-sizing:border-box;border-radius:50%}
body .hz-marchi .vt-fl img:first-child{margin-left:0}
body .hz-marchi .vt-fl{order:0!important;flex:0 0 100%!important;flex-wrap:nowrap!important;gap:0!important}
body .hz-marchi .mz-ft{order:1!important;flex:1 1 260px!important}
body .hz-marchi>i{order:2!important;align-self:flex-end}
body .hz-marchi .vt-fl img{width:68px;height:68px;padding:9px;object-fit:contain!important;background:#fff!important}
body .hz-marchi .mz-ft em{font-size:15px;line-height:1.55}
body .hz-marchi .vt-fl img{padding:0!important;object-fit:cover!important;background:transparent!important}
body .hz-marchi .mz-ft{flex:0 1 380px!important;max-width:380px}body .hz-marchi{justify-content:space-between}
body .hz-marchi{align-content:space-between!important;align-items:flex-end!important}
body .hz-marchi>i{align-self:flex-end!important;margin:0}
body .vc-top .vc-piani{background:var(--verde,#028B55)!important;color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:14px;padding:26px 28px}
body .vc-piani h2{color:#fff;margin:0 0 6px;font-size:21px}
body .vc-piani p{color:rgba(255,255,255,.9);margin:0;font-size:14.5px;max-width:420px}
body .vc-piani .vp-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
body .vc-piani .vp-g span{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 12px 10px;border-radius:14px;background:rgba(255,255,255,.14);color:#fff}
body .vc-piani .vp-g em{font-style:normal;font-size:11px;letter-spacing:.08em;opacity:.85}
body .vc-piani .vp-g b{font-size:24px;line-height:1.1}
body .vc-piani .vp-g i{font-style:normal;font-size:12px;opacity:.85}
body .vc-piani .vp-g .pop{background:#fff;color:var(--verde-scuro,#0E5638)}
body .vc-piani .vp-g .pop u{position:absolute;top:-9px;left:10px;text-decoration:none;font-size:10px;font-weight:700;padding:2px 8px;border-radius:99px;background:#FFE98A;color:#0E5638}
body .vc-piani .bt-cta{align-self:flex-start;background:#fff;color:var(--verde-scuro,#0E5638)}
@media(max-width:600px){body .vc-piani .vp-g{grid-template-columns:1fr}}
body .hz-riga{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:stretch;margin:48px 0}
body .hz-riga .hz-t{min-width:0}
body .hz-riga .hz-b{display:flex;min-width:0}
body .hz-riga .hb-bar{margin:0;flex:1;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:36px 34px}
body .hz-riga .hb-bar .cappello{color:#fff!important;opacity:.85}
body .hz-riga .hb-bar .bt-cta{align-self:flex-start}
@media(max-width:900px){body .hz-riga{grid-template-columns:1fr;gap:24px}}
body a.vc-piani{text-decoration:none;position:relative;justify-content:center!important;gap:22px!important;padding:34px 36px!important;transition:transform .2s,box-shadow .2s}
body a.vc-piani:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(1,51,34,.22)}
body a.vc-piani::after{content:"↗";position:absolute;top:22px;right:24px;width:38px;height:38px;border-radius:50%;background:#fff;color:var(--verde-scuro,#0E5638);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}
body a.vc-piani::after{display:none!important;content:none!important}
body a.vc-piani,body a.vc-piani:hover{transform:none!important;transition:none}
body a.vc-piani,body .vc-top a.vc-piani{padding:36px!important;box-sizing:border-box;justify-content:space-between!important;gap:20px!important}body a.vc-piani .vp-g{margin-top:10px}
body .vc-top .vc-quadro .vc-testo{padding:140px 36px 36px!important}body .vc-top .vc-quadro .vc-testo a{line-height:1!important;display:inline-block;margin:0!important}
body .hz-marchi,body a.vc-piani,body .vc-top a.vc-piani{padding:28px!important}
body .vc-piani h2{font-size:19px!important;line-height:1.25!important;margin:0 0 4px!important}
body .vc-piani p{font-size:15px!important;line-height:1.55!important;max-width:none}
body .hz-marchi .mz-ft b{font-size:19px;line-height:1.25}
body .hz-t{display:flex;flex-direction:column}
body .hz-t h2{margin-top:0}
body .hz-t .pt-slider{flex:1;display:flex;margin:22px 0 0}
body .hz-t .pt-slider-finestra{flex:1;display:flex;overflow:visible;-webkit-mask-image:none!important;mask-image:none!important}
body .hz-t .pt-slider-pista{display:grid!important;grid-template-columns:1fr 1fr;gap:20px;transform:none!important;flex:1;width:100%}
body .hz-t .pt-slider-slide{flex:none!important;width:auto!important;padding:28px}
body .hz-t .pt-slider-btn,body .hz-t .pt-slider-pallini{display:none!important}
@media(max-width:600px){body .hz-t .pt-slider-pista{grid-template-columns:1fr}}
body .hz-t h2{margin:0 0 12px!important;line-height:1.1!important;padding-top:0!important}
body .hz-t>p{margin:0 0 22px!important}
body .hz-t .pt-slider{margin:0!important}
body .hz-t .pt-slider-slide{display:flex!important;flex-direction:column}
body .hz-t .pt-slider-slide p{flex:1;margin:0 0 22px}
body .s66-quad-piccolo.pc-green{background:var(--verde,#028B55)!important;background-image:none!important}
body .pc-green .ph-ic{width:56px;height:56px;overflow:visible}
body .pc-green .ph-b{transform-origin:50% 50%;animation:ph-squilla 2.6s ease-in-out infinite}
body .pc-green .ph-w1,body .pc-green .ph-w2{opacity:0;animation:ph-onda 2.6s ease-out infinite}
body .pc-green .ph-w2{animation-delay:.18s}
@keyframes ph-squilla{0%,45%,100%{transform:rotate(0)}5%,15%,25%,35%{transform:rotate(-12deg)}10%,20%,30%,40%{transform:rotate(12deg)}}
@keyframes ph-onda{0%,3%{opacity:0}12%{opacity:1}45%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){body .pc-green .ph-b,body .pc-green .ph-w1,body .pc-green .ph-w2{animation:none;opacity:1}}
body .pc-green .hs-b{transform-origin:50% 60%;animation:hs-ascolta 3.2s ease-in-out infinite}
body .pc-green .hs-m{fill:#fff;animation:hs-mic 1.6s ease-in-out infinite}
@keyframes hs-ascolta{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-2px) rotate(-4deg)}}
@keyframes hs-mic{0%,100%{opacity:1}50%{opacity:.35}}
@media(prefers-reduced-motion:reduce){body .pc-green .hs-b,body .pc-green .hs-m{animation:none}}
body .pc-green .hs-m{fill:#FFE98A!important;stroke:#FFE98A!important;stroke-width:.4;r:1.9px;transform-box:fill-box;transform-origin:center;animation:hs-mic2 1.4s ease-in-out infinite!important}
@keyframes hs-mic2{0%,100%{opacity:.55;transform:scale(.8);filter:drop-shadow(0 0 0 rgba(255,233,138,0))}50%{opacity:1;transform:scale(1.25);filter:drop-shadow(0 0 4px #FFE98A) drop-shadow(0 0 8px rgba(255,233,138,.9))}}
@media(prefers-reduced-motion:reduce){body .pc-green .hs-m{animation:none!important;opacity:1}}
body .hz-marchi .vt-fl img{width:92px!important;height:92px!important;margin-left:-16px!important}body .hz-marchi .vt-fl img:first-child{margin-left:0!important}
body .hz-marchi .vt-fl img{width:78px!important;height:78px!important;margin-left:-14px!important}body .hz-marchi .vt-fl img:first-child{margin-left:0!important}
body .pt-cta-loghi{gap:0!important}
body .pt-cta-loghi a{width:76px!important;height:76px!important;margin-left:-16px;border:3px solid #fff;box-shadow:0 0 0 1px rgba(1,51,34,.14);box-sizing:border-box;background:#fff}
body .pt-cta-loghi a:first-child{margin-left:0}
body .pt-cta-loghi a{width:62px!important;height:62px!important;margin-left:-12px;border:0!important;padding:0!important;position:relative;overflow:hidden;border-radius:50%;box-shadow:0 0 0 1px rgba(1,51,34,.14)}
body .pt-cta-loghi a::after{content:"";position:absolute;inset:0;border-radius:50%;border:3px solid #fff;box-sizing:border-box;pointer-events:none}
body .pt-cta-loghi img{width:100%!important;height:100%!important;object-fit:cover!important;transform:none!important;display:block}
body .pt-cta-loghi a{background:#fff!important}body .pt-cta-loghi img{object-fit:contain!important;padding:7px;box-sizing:border-box}
body .pt-cta-loghi a{background:var(--lg,#fff)!important}
body .hz-riga{margin:80px 0!important}
body .hb-bar h3{line-height:1.12!important;margin:6px 0 12px!important}
body .hb-bar .bt-cta{background:#fff!important;color:#013422!important;font-weight:600;font-size:15px;padding:14px 24px;border-radius:var(--r-md,12px);text-decoration:none}
body .s66-quadrato p,body .s66-quad-piccolo p,body .s66-banner-testo p{color:#fff!important;opacity:1!important;text-shadow:0 1px 8px rgba(0,0,0,.55)}body .s66-quadrato h3,body .s66-banner-testo h3,body .s66-quad-piccolo h3{text-shadow:0 1px 10px rgba(0,0,0,.55)}
body .sezione-66 .s66-quad-piccolo.pc-top{display:flex;flex-direction:column;justify-content:flex-start!important}body .sezione-66 .s66-quad-piccolo.pc-top::before{display:none!important}body .sezione-66 .s66-quad-piccolo.pc-top h3,body .sezione-66 .s66-quad-piccolo.pc-top p{text-shadow:0 1px 10px rgba(0,0,0,.7),0 0 3px rgba(0,0,0,.5)}
body .s66-quadrato:not(:has(img)) :is(h3,p,span),body .s66-quad-piccolo:not(:has(img)) :is(h3,p,span),body .s66-quadrato.pc-blue :is(h3,p),body .s66-quadrato.pc-green :is(h3,p),body .s66-quad-piccolo.pc-blue :is(h3,p),body .s66-quad-piccolo.pc-green :is(h3,p){text-shadow:none!important}
body .vc-banner.vb-bar{background:var(--verde,#028B55) url(bg-noise.png);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:16px;padding:36px 40px}
body .vc-banner.vb-bar h2{color:#fff;font-size:clamp(24px,2.2vw,32px);line-height:1.2;margin:0;max-width:520px}
body .vc-banner.vb-bar p{color:rgba(255,255,255,.92);margin:0;font-size:17px;max-width:520px}
body .vc-banner.vb-bar .vb-ch{display:flex;flex-wrap:wrap;gap:8px}
body .vc-banner.vb-bar .vb-ch span{padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:600;font-size:14px}
body .vc-banner.vb-bar .bt-cta{background:#fff!important;color:var(--verde-scuro,#013422)!important}
body .s66-banner.sb-bar img{filter:brightness(.6)}
body .s66-banner.sb-bar .s66-banner-testo{background:linear-gradient(90deg,rgba(0,27,16,.72) 0,rgba(0,27,16,.45) 60%,transparent 100%)}
body .s66-banner.sb-bar .s66-banner-testo p{font-size:19px!important;line-height:1.45;max-width:440px}
body .s66-banner.sb-bar .s66-banner-testo h3{font-size:clamp(22px,1.9vw,27px)}
body .vp-w{display:contents}
body .sezione-66 .s66-quadrato.sq-gio{background:#F6EDD6!important;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:40px 36px}
body .sezione-66 .s66-quadrato.sq-gio::before{display:none!important}
body .sezione-66 .s66-quadrato.sq-gio img{position:static!important;width:150px!important;height:auto!important;object-fit:contain;filter:none!important;margin:0 0 6px;border-radius:0}
body .sezione-66 .s66-quadrato.sq-gio :is(h3,p){color:#013422!important;text-shadow:none!important;margin:0}
body .sezione-66 .s66-quadrato.sq-gio p{opacity:.8!important}
body .vc-piani .vp-g{align-items:stretch}
body .vc-piani .vp-g span{min-height:84px;justify-content:flex-start}
body .vc-piani .vp-g i{font-size:12.5px!important;line-height:1.3;opacity:.9}
body .vc-piani .vp-g em{font-size:11.5px!important}
body .sezione-66 .s66-quadrato .sq-logo{position:absolute;top:26px;left:30px;z-index:2;display:flex;align-items:center;justify-content:center;width:92px;height:92px;border-radius:50%;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.25)}
body .sezione-66 .s66-quadrato .sq-logo img{position:static!important;width:76px!important;height:76px!important;object-fit:contain;filter:none!important;border-radius:0}
body .sezione-66 .s66-quadrato .sq-logo{width:132px;height:132px;border-radius:20px;overflow:hidden;background:#F6EDD6;top:28px;left:30px}
body .sezione-66 .s66-quadrato .sq-logo img{width:100%!important;height:100%!important;object-fit:cover}
body .sezione-66 .s66-quadrato.sq-gio2::before{background:linear-gradient(to top,#F5EEE4 0,rgba(245,238,228,.96) 34%,rgba(245,238,228,.55) 56%,rgba(245,238,228,0) 76%)!important}
body .sezione-66 .s66-quadrato.sq-gio2 h3{color:#711311!important;text-shadow:none!important}
body .sezione-66 .s66-quadrato.sq-gio2 p{color:#3b2a28!important;text-shadow:none!important;opacity:1!important}
body .sezione-66 .s66-quadrato.sq-gio2 .bt-cta{background:#711311!important;color:#fff!important}
body .sezione-66 .s66-quadrato.sq-gio2::before{background:linear-gradient(to top,rgba(245,238,228,.88) 0,rgba(245,238,228,.7) 30%,rgba(245,238,228,.28) 50%,rgba(245,238,228,0) 66%)!important}
@media(min-width:901px){body .vc-top .vc-destra>.vc-due{flex:0 0 auto}
body .vc-top .vc-destra>.vc-due>*{aspect-ratio:1/1;height:auto;min-height:0}
body .vc-top .vc-destra>.vc-banner,body .vc-top .vc-destra>.vp-w{flex:1 1 0}}
@media(min-width:901px){body .vc-top .vc-destra>.vp-w>.vc-banner{flex:1 1 0}}
body .vc-foto.gn-card{background:#fff!important;border:1.5px solid var(--linea,#DCDCD6)}
body .gn-card .gn-box{position:absolute;left:0;right:0;top:0;padding:26px 28px 0;display:flex;flex-direction:column;gap:6px}
body .gn-r{display:flex;align-items:flex-end;gap:2px;font-weight:800;line-height:1;color:var(--verde,#028B55)}
body .gn-a{font-size:46px}body .gn-b{font-size:30px;opacity:.38}
body .gn-r i{display:block;height:1em;overflow:hidden;font-style:normal;width:.62em}
body .gn-r b{display:flex;flex-direction:column;font-weight:inherit;animation:gnroll var(--d,6s) cubic-bezier(.6,0,.2,1) infinite;animation-delay:calc(var(--d,6s) * var(--o,0) / -10)}
body .gn-r u{display:block;height:1em;line-height:1;text-decoration:none;text-align:center}
body .gn-r s{text-decoration:none;align-self:flex-end;line-height:.9}
@keyframes gnroll{to{transform:translateY(calc(-100% * 10 / 11))}}
body .gn-card .vc-testo p,body .gn-card .vc-testo a{color:var(--verde-scuro,#013422)!important;text-shadow:none!important}
body .gn-card .vc-testo::before,body .gn-card::before,body .gn-card::after{display:none!important}
@media(prefers-reduced-motion:reduce){body .gn-r b{animation:none}}
body .vc-foto.gn-card{background:#FFE98A!important;border:0}
body .gn-card .vc-testo,body .gn-card .vc-testo::before,body .gn-card .vc-testo::after{background:none!important;box-shadow:none!important}
body .gn-r i{height:1.12em;padding-top:.06em}
body .gn-r u{height:1.12em;line-height:1.12}
body .gn-r b{animation-name:gnroll2}
@keyframes gnroll2{to{transform:translateY(calc(-100% * 10 / 11))}}
body .s66-banner.sb-bar .s66-banner-testo{background:none!important;position:relative;z-index:2}
body .s66-banner.sb-bar{position:relative;overflow:hidden}
body .s66-banner.sb-bar::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(0,27,16,.78) 0,rgba(0,27,16,.5) 55%,rgba(0,27,16,.12) 100%)}
body .s66-banner.sb-bar img{filter:brightness(.85)}
body .sezione-66 .s66-banner .bt-cta{background:none!important;box-shadow:none!important;padding:0!important;min-height:0!important;border-radius:0!important;color:#fff!important;font-weight:700;display:inline-flex!important;align-items:center;gap:8px;align-self:flex-start}
body .sezione-66 .s66-banner .bt-cta::after{content:"↗";font-size:1.05em;transition:transform .2s}
body .sezione-66 .s66-banner .bt-cta:hover::after{transform:translate(2px,-2px)}
body .sezione-66 .s66-banner .bt-cta:hover{text-decoration:underline;text-underline-offset:4px}
/* 24/10 bottoni verdi: tono piu scuro per contrasto AA (5.3:1) */
:root{--verde-btn:#027A4B}
a.bt-cta,.banner-t .bt-cta,.barra .campo button,.woocommerce .button.alt,button.single_add_to_cart_button,ul.products li.product .add_to_cart_button,.piano-pop .piano-cta,.faq-btn,.mc-btn,.lato-btn,.trova-riga button,.rp-btn{background:var(--verde-btn)}
.fluentform .ff-btn-next{background:var(--verde-btn)!important}
a.bt-cta:hover,.rp-btn:hover,.faq-btn:hover,.mc-btn:hover{background:var(--verde-scuro)}
body .sezione-66 :is(.s66-quadrato,.s66-banner-testo) a.bt-cta{margin-top:8px}
body .sezione-66 .s66-banner .bt-cta{margin-top:6px}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo p{display:none!important}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo h3{font-size:clamp(26px,2.5vw,36px)!important;line-height:1.15;font-weight:800;max-width:15em;margin:0 0 14px}
body .sezione-66 .s66-banner.sb-big img{filter:brightness(.7)}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo p{display:block!important;margin:0}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo p:not(:has(.bt-cta)){display:none!important}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo{padding:32px!important}
body .sezione-66 .s66-banner.sb-big .bt-cta{font-size:17px!important;line-height:1.2}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo{padding-bottom:30px!important}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo p:has(.bt-cta){line-height:1;margin:0!important;padding:0}
body .sezione-66 .s66-banner.sb-big .s66-banner-testo{padding-bottom:48px!important}
body .sezione-66 .s66-banner.sb-big.sb-big:has(img) .s66-banner-testo{padding:36px 36px 40px!important}
/* 24/10 raggio unico per blocchi e banner delle pagine settore */
body .sezione-66 :is(.s66-quadrato,.s66-banner,.s66-quad-piccolo),body :is(.vc-foto,.vc-quadro,.vc-banner,.vc-piani),body .vc-due .vantaggio,body :is(.hz-marchi,.mz-f,.mz-f2,.hb-bar),body .pt-slider :is(.pt-slider-finestra,.pt-slider-slide){border-radius:24px!important}
body .s66-banner.sb-bar::after,body .sezione-66 .s66-banner img,body .sezione-66 .s66-quadrato img,body .sezione-66 .s66-quad-piccolo img{border-radius:inherit}
body .ap-tutti .ar-u{display:inline-flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:28px;height:28px;min-width:28px;padding:0!important;border-radius:50%!important;background:#EFEEEA;color:var(--verde-scuro,#013422);font-size:13px;line-height:1;margin-left:8px;vertical-align:middle;flex:0 0 auto}
body .ap-tutti{display:inline-flex;align-items:center}
body .articolo .art-foto{max-width:760px;margin:0 0 32px;border-radius:24px;overflow:hidden}
body .articolo .art-foto img{width:100%;height:auto;aspect-ratio:16/9;max-height:none;object-fit:cover;border-radius:24px}
body .articolo .testa{padding:48px 0 28px}
body .articolo .testa h1{max-width:760px;font-size:clamp(30px,3.4vw,44px);line-height:1.12;margin:0 0 14px}
body .articolo .art-briciole{margin:0 0 12px}
body .cta-art{margin:44px 0 0;display:grid;gap:16px}
body .cta-art .cta-box{background:var(--sabbia,#F2F1EF);border-radius:24px;padding:26px 28px}
body .cta-art .cta-box strong{display:block;font-size:16px;margin:0 0 14px;color:var(--verde-scuro,#013422)}
body .cta-art .cta-chips{display:flex;flex-wrap:wrap;gap:8px}
body .cta-art .cta-chip{background:#fff;border:1px solid var(--linea,#DCDCD6);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;color:var(--verde-scuro,#013422)}
body .cta-art .cta-verde{background:var(--verde,#028B55) url(bg-noise.png);color:#fff;border-radius:24px;padding:40px 32px;text-align:left}
body .cta-art .cta-verde h3{color:#fff;font-size:26px;line-height:1.2;margin:0 0 10px}
body .cta-art .cta-verde p{color:rgba(255,255,255,.92);font-size:16px;margin:0 0 22px}
body .cta-art .cta-verde .bt-cta{background:#fff!important;color:var(--verde-scuro,#013422)!important;display:inline-block;padding:14px 28px;border-radius:12px;font-weight:700;text-decoration:none}
body .articolo .art-foto.art-pack{background:var(--sabbia,#F2F1EF)}
body .articolo .art-foto.art-pack img{object-fit:contain;padding:18px}
body .articolo .art-layout{display:grid;grid-template-columns:minmax(0,760px) 280px;gap:64px;align-items:start;padding-top:48px}
body .articolo .art-main{min-width:0}
body .articolo .art-testa h1{max-width:none;font-size:clamp(30px,3.2vw,42px);line-height:1.12;margin:0 0 14px}
body .articolo .art-testa{padding:0 0 26px}
body .articolo .art-foto{max-width:none;margin:0 0 32px}
body .articolo .art-corpo{max-width:none;padding:0}
body .articolo .art-toc{position:sticky;top:110px;border:1px solid var(--linea,#DCDCD6);border-radius:24px;padding:24px 26px;background:#fff}
body .articolo .art-toc-t{margin:0 0 12px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--grigio,#6b6b66)}
body .articolo .art-toc ol{margin:0;padding:0;list-style:none;display:grid;gap:10px;counter-reset:t}
body .articolo .art-toc li{counter-increment:t;font-size:15px;line-height:1.35}
body .articolo .art-toc li::before{content:counter(t) ". ";color:var(--verde,#028B55);font-weight:700}
body .articolo .art-toc a{color:var(--verde-scuro,#013422);text-decoration:none}
body .articolo .art-toc a:hover{text-decoration:underline}
body .articolo .art-corpo h2{scroll-margin-top:110px}
@media(max-width:1000px){body .articolo .art-layout{grid-template-columns:1fr}body .articolo .art-toc{position:static;order:-1}}
body .articolo .art-briciole a{display:inline-block;background:var(--verde-tenue,#E7F3ED);color:var(--verde-scuro,#013422);border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;letter-spacing:.06em;text-decoration:none}
body .articolo .art-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;font-size:14px;color:var(--grigio,#6b6b66)}
body .articolo{padding-bottom:96px}
body:is(.single,.archive,.blog,.search,.page):not(.page-template-page-landing-marchio-php) .pf-illu{background:#fff!important}
body:is(.single,.archive,.blog,.search,.page):not(.page-template-page-landing-marchio-php) .pf-illu{background:linear-gradient(#fff calc(100% - 120px),transparent 0)!important}
@media(max-width:900px){body:is(.single,.archive,.blog,.search,.page):not(.page-template-page-landing-marchio-php) .pf-illu{background:linear-gradient(#fff calc(100% - 60px),transparent 0)!important}}
body:is(.single,.archive,.blog,.search,.page):not(.page-template-page-landing-marchio-php) .pf-illu{background:transparent!important}
body:is(.single,.archive,.blog,.search){background:#fff!important}
body .pf-illu{background:transparent!important}
body .articolo .art-toc{top:140px;padding:26px 24px;border-radius:24px;background:var(--sabbia,#F2F1EF);border:0}
body .articolo .art-toc ol{gap:2px;border-left:2px solid var(--linea,#DCDCD6);margin-left:2px}
body .articolo .art-toc li{padding:0;font-size:15px;line-height:1.35;counter-increment:none}
body .articolo .art-toc li::before{content:none}
body .articolo .art-toc li a{display:block;padding:9px 12px 9px 16px;margin-left:-2px;border-left:2px solid transparent;font-weight:600}
body .articolo .art-toc li.l3 a{padding-left:30px;font-size:14px;font-weight:500;color:var(--grigio,#6b6b66)}
body .articolo .art-toc li a.on{border-left-color:var(--verde,#028B55);color:var(--verde,#028B55)}
body .articolo .art-toc-m{margin:16px 0 0;padding-top:14px;border-top:1px solid var(--linea,#DCDCD6);font-size:13px;color:var(--grigio,#6b6b66)}
body .articolo .art-corpo :is(h2,h3){scroll-margin-top:140px}
body:is(.home,.front-page) .pf-illu{background:linear-gradient(#F6F5F2 calc(100% - 120px),transparent 0)!important}
@media(max-width:900px){body:is(.home,.front-page) .pf-illu{background:linear-gradient(#F6F5F2 calc(100% - 40px),transparent 0)!important}}
body .articolo .art-layout{grid-template-areas:"testa ." "main toc";grid-template-rows:auto 1fr;row-gap:0}
body .articolo .art-testa{grid-area:testa}
body .articolo .art-main{grid-area:main}
body .articolo .art-toc{grid-area:toc;align-self:start}
@media(max-width:1000px){body .articolo .art-layout{grid-template-areas:"testa" "toc" "main"}}
body .articolo .art-main{display:flow-root}
body .articolo .art-corpo>:last-child,body .articolo .cta-art,body .articolo .cta-art>:last-child{margin-bottom:0!important}
body .articolo .cta-art .cta-verde{margin-bottom:0}
body:is(.home,.front-page):not(.x-y):not(.x-z) .pf-illu{background:linear-gradient(#F6F5F2 calc(100% - 120px),transparent 0)!important}
@media(max-width:900px){body:is(.home,.front-page):not(.x-y):not(.x-z) .pf-illu{background:linear-gradient(#F6F5F2 calc(100% - 40px),transparent 0)!important}}
body .cta-art .cta-verde{position:relative;overflow:hidden}

body .cta-art .cta-verde>*{position:relative;z-index:1}
body .cta-art .cta-verde{background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)!important;display:flex;align-items:center;justify-content:space-between;gap:24px 32px;flex-wrap:wrap;padding:28px 32px;text-align:left}
body .cta-art .cta-verde .cta-txt{flex:1 1 320px}
body .cta-art .cta-verde h3{margin:0 0 4px;font-size:18px;line-height:1.3;color:#fff}
body .cta-art .cta-verde p{margin:0;color:rgba(255,255,255,.88);font-size:15px}
body .cta-art .cta-verde a.bt-cta{background:#fff!important;color:var(--verde-scuro,#016B41)!important;border-radius:var(--r-md,12px)!important;padding:14px 28px;font-weight:600;white-space:nowrap;margin:0;flex:0 0 auto}
body .cta-art .cta-verde{display:grid!important;grid-template-columns:1fr auto;align-items:center;column-gap:32px}
body .cta-art .cta-verde h3{grid-column:1;grid-row:1}
body .cta-art .cta-verde p{grid-column:1;grid-row:2}
body .cta-art .cta-verde a.bt-cta{grid-column:2;grid-row:1/3}
@media(max-width:700px){body .cta-art .cta-verde{grid-template-columns:1fr}body .cta-art .cta-verde a.bt-cta{grid-column:1;grid-row:3;justify-self:start;margin-top:16px}}
body .cta-art .cta-verde p:not(:has(.bt-cta)){grid-column:1;grid-row:2}
body .cta-art .cta-verde p:has(.bt-cta){grid-column:2;grid-row:1/3;margin:0;align-self:center}
body .cta-art .cta-verde p:has(.bt-cta) a.bt-cta{grid-column:auto;grid-row:auto;display:inline-block}
@media(max-width:700px){body .cta-art .cta-verde p:has(.bt-cta){grid-column:1;grid-row:3;margin-top:16px}}
body .cta-art .cta-verde{padding:24px 32px!important;min-height:0!important;row-gap:0!important}
body .cta-art .cta-verde p:not(:has(.bt-cta)){grid-column:1!important;grid-row:1/3!important;margin:0!important;padding:0!important;font-size:16px;line-height:1.45;color:rgba(255,255,255,.92)}
body .cta-art .cta-verde p:not(:has(.bt-cta)) b{color:#fff;font-weight:700}
body .cta-art .cta-verde p:not(:has(.bt-cta)) b{display:block;font-size:24px;line-height:1.25;margin-bottom:6px}
body .ap-scheda.ap-pack .ap-foto{background:#F6F6F6}
body .ap-scheda.ap-pack .ap-foto img{object-fit:contain!important;padding:12px;box-sizing:border-box}
body .ap-scheda.ap-pack .ap-foto{aspect-ratio:4/5!important}
body .ap-scheda.ap-pack .ap-foto img{padding:4px!important;object-position:center}
body .ap-scheda.ap-pack .ap-foto,body .ap-scheda.ap-phot .ap-foto{aspect-ratio:1/1!important}
body .ap-scheda.ap-pack .ap-foto img{object-fit:contain!important;padding:0!important}
body .ap-scheda.ap-phot .ap-foto img{object-fit:cover!important;padding:0!important}
body .ap-griglia,body .blog-lista .ap-griglia,body .blog-home .ap-griglia{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;flex-wrap:nowrap}
body .ap-griglia>.ap-scheda{flex:none!important;width:auto!important;max-width:none!important;min-width:0}
@media(max-width:1100px){body .ap-griglia,body .blog-lista .ap-griglia,body .blog-home .ap-griglia{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:800px){body .ap-griglia,body .blog-lista .ap-griglia,body .blog-home .ap-griglia{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:500px){body .ap-griglia,body .blog-lista .ap-griglia,body .blog-home .ap-griglia{grid-template-columns:1fr!important}}
@media(min-width:801px){body .blog-home .ap-griglia{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
body .archivio-blog .blog-lista{padding-bottom:96px!important}
body .archivio-blog .blog-lista .pagination,body .archivio-blog .blog-lista .navigation{margin-top:40px}
@media(max-width:700px){body .archivio-blog .blog-lista{padding-bottom:64px!important}}
body .ap-tutti,body .blog-ultimi-testa .ap-tutti{font-size:14px!important;font-weight:500!important}
body .ap-tit>span{position:relative;top:-3px}

/* marchi: con un solo reparto visibile lo spazio sotto le pills e uguale per tutti */
body .mk3-solo .mk3-sez,body .mk3-solo .mk3-sez:first-of-type{padding-top:32px}
body .mk3-solo section.wrap.mk3-sez,body .mk3-solo section.wrap.mk3-sez + section.wrap.mk3-sez{padding-top:32px!important}
/* pesce: piu aria tra la scatoletta e la didascalia */
body #pesce .mz-q.mz-fit>img{inset:40px 18px 100px;width:calc(100% - 36px);height:calc(100% - 140px)}
/* Servizi: orologio animato nell'hero */
body .sv6{position:relative;display:flex;align-items:center;justify-content:center;min-height:380px;overflow:hidden;grid-column:2;grid-row:1;order:2;background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)}
body .sv6-w{display:flex;flex-direction:column;align-items:center;gap:10px}
body .sv6-c{display:flex;align-items:flex-start;font-size:130px;line-height:150px;font-weight:800;color:#FFE98A;animation:pc4pulse 3.2s ease-in-out 2.8s infinite}
body .sv6-h{display:block;height:150px;overflow:hidden}
body .sv6-n{display:block;animation:sv6count 1.6s steps(4,end) .3s both}
body .sv6-n span{display:block;height:150px;line-height:150px;text-align:center;min-width:100px}
@keyframes sv6count{to{transform:translateY(-80%)}}
body .sv6-s{font-size:15px;font-weight:600;color:#fff;text-align:center;max-width:26ch;opacity:0;animation:pc4in .6s ease 2s both}
@media(prefers-reduced-motion:reduce){body .sv6 *{animation:none!important;opacity:1!important}body .sv6-n{transform:translateY(-80%)}}
@media(max-width:900px){body .sv6{grid-column:1;grid-row:auto;min-height:300px}body .sv6-c{font-size:96px}body .sv6-h,body .sv6-n span{height:110px;line-height:110px}}
body.page-id-18253 .pagina .testa + section.wrap{padding-top:72px!important}
/* Servizi: card 3 con codice sconto */
body .via.sv-pr{background:linear-gradient(180deg,#EAF5EF,#fff 70%);border-color:var(--verde)}
body .sv-pr .sv-cp{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:4px 0 14px;padding:12px 14px;background:#fff;border:2px dashed var(--verde);border-radius:var(--r-md);font-size:14px;font-weight:600;color:var(--notte)}
body .sv-pr .sv-cp code{padding:4px 12px;background:var(--verde);color:#fff;border-radius:6px;font-size:16px;letter-spacing:.12em}
body .sv-pr a{display:block;margin-top:6px}
body .sv-pr .sv-sh{font-weight:700;color:var(--verde)}
body.page-id-18253 .vie .via{display:flex;flex-direction:column}
body.page-id-18253 .vie .via>a:last-child{margin-top:auto;padding-top:4px}
body.page-id-18253 .vie .via>p{margin-bottom:16px}
body.page-id-18253 .vie .via>p:last-child{margin:auto 0 0;padding-top:4px}
body.page-id-18253 .vie .via>p:last-child{padding-top:12px}
body.page-id-18253 .vie .via p{text-wrap:pretty}
body.page-id-18253 .pagina>section.wrap:last-child{margin-top:16px!important;padding-bottom:120px!important}
body.page-id-18253 .pagina .testa.foto ~ section.wrap:has(.figlie){margin-top:0!important}
body.page-id-18253 .pagina>section.wrap:nth-last-child(2){padding-bottom:0!important}body.page-id-18253 .pagina>section.wrap:nth-last-child(2) .vie{margin-bottom:24px}
body.page-id-18253 .pagina .vie{gap:24px;margin-bottom:24px}
body .via a.sv-tel{display:inline-flex;align-items:center;gap:6px;padding:3px 12px 3px 10px;margin:2px 0;background:#EAF5EF;color:var(--verde);border:1px solid #BFDFCF;border-radius:999px;font-weight:700;white-space:nowrap}
body .via a.sv-tel::before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url(/wp-content/themes/cedis/assets/tel.svg) center/contain no-repeat;mask:url(/wp-content/themes/cedis/assets/tel.svg) center/contain no-repeat}
body .via a.sv-tel:hover{background:var(--verde);color:#fff}
body .via a.sv-tel{padding:1px 11px 1px 9px;margin:0;font-size:14px;line-height:1.35;vertical-align:top}
body .via a.sv-tel::before{width:13px;height:13px}
body.page-id-18253 .vie .via>p:has(.sv-tel){margin-bottom:0}
body.page-id-18253 .vie .via.sv-ct>p:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-bottom:-3px}
body .via.sv-ct a.sv-tel{padding:3px 13px 3px 10px;font-size:14.5px;margin:0}
body .via.sv-ct a.sv-tel::before{width:14px;height:14px}
body .via.sv-ct a.sv-tel{padding:0 16px 0 0;background:none;border:0;border-right:1px solid var(--linea);border-radius:0;color:var(--notte);font-size:15px;font-weight:700;letter-spacing:0;font-variant-numeric:tabular-nums}
body .via.sv-ct a.sv-tel::before{width:15px;height:15px;color:var(--verde);background:var(--verde)}
body .via.sv-ct a.sv-tel:hover{background:none;color:var(--verde)}
body .via.sv-ct a.sv-tel{gap:10px;padding:0 18px 0 0;font-size:15.5px;letter-spacing:.01em}
body .via.sv-ct a.sv-tel::before{box-sizing:border-box;width:30px;height:30px;padding:0;background:#EAF5EF url(/wp-content/themes/cedis/assets/tel-g.svg) center/15px no-repeat;-webkit-mask:none;mask:none;border-radius:50%;transition:background-color .2s}
body .via.sv-ct a.sv-tel:hover::before{background-color:#D5ECDF}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4){margin-top:54px}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul a{transition:background-color .2s,color .2s,box-shadow .2s}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo{transition:background-color .25s}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo{background:#FFFBE3}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul a{background:none!important;box-shadow:none}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul a:hover span:not(.fr),body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo :is(h2,h3,h4){color:var(--verde-scuro,#014A2B)}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo p{color:#5C5736}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul,body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul li{border-top:0!important}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul{box-shadow:inset 0 1px 0 #EADFA6}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul a,body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul a .fr{color:var(--verde-scuro,#014A2B)!important}
body.page-id-18186 .pt-schede>.pt-scheda .pt-scheda-testo h3{margin-bottom:18px!important}
body.page-id-18186 .pt-schede>.pt-scheda:nth-child(4) .pt-scheda-testo ul{box-shadow:none;border-top:1px solid #E2E4E0!important}
body.page-id-18253 .figlia .testo{background:#FFFBE3}
body.page-id-18253 .figlia .testo b{color:var(--verde-scuro,#014A2B)}
body.page-id-18253 .figlia .testo em{color:#5C5736}
body.page-id-18253 .figlia .vai{color:var(--verde-scuro,#014A2B);border-top:1px solid #E2E4E0}
body.page-id-18253 .figlia:hover .vai,body.page-id-18253 .figlia:hover .vai *{text-decoration:none!important}
body.page-id-18253 .figlia:hover .vai,body.page-id-18253 .figlia:hover .vai *{text-decoration:none!important}
body.page-id-18186 .pt-scheda-testo ul a .fr{display:inline-block;text-decoration:none}
/* Consegne + Rappresentanti: stesso ritmo di Servizi */
body.page-id-18257 .pagina .vie,body.page-id-18255 .pagina .vie{gap:24px;margin-bottom:24px}
body.page-id-18257 .vie .via,body.page-id-18255 .vie .via{display:flex;flex-direction:column}
body.page-id-18257 .vie .via>p:last-child,body.page-id-18255 .vie .via>p:last-child{margin:auto 0 0;padding-top:12px}
body.page-id-18257 .vie .via>p,body.page-id-18255 .vie .via>p{text-wrap:pretty}
body.page-id-18257 .pagina .testa+section.wrap,body.page-id-18255 .pagina .testa+section.wrap{padding-top:72px!important}
body.page-id-18257 .pagina>section.wrap:last-of-type,body.page-id-18255 .pagina>section.wrap:last-of-type{padding-bottom:120px!important}
body.page-id-18255 .ag{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin:0 0 24px}
body.page-id-18255 .ag figure{margin:0;border:1px solid var(--linea);border-radius:var(--r-md);overflow:hidden;background:#FFFBE3}
body.page-id-18255 .ag img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top}
body.page-id-18255 .ag figcaption{padding:16px 20px 20px;border-top:1px solid var(--linea);background:#fff}
body.page-id-18255 .ag figcaption b{display:block;font-size:17px;color:var(--verde-scuro)}
body.page-id-18255 .ag figcaption span{display:block;margin-top:2px;font-size:14px;color:var(--grigio)}
body.page-id-18255 .mappa{border-radius:var(--r-md);overflow:hidden;border:1px solid var(--linea)}
@media(max-width:900px){body.page-id-18255 .ag{grid-template-columns:repeat(2,1fr)}}
/* Agenti di zona: mappa animata nell'hero */
body .sv7{display:flex;align-items:center;justify-content:center;min-height:380px;overflow:hidden;grid-column:2;grid-row:1;order:2;padding:16px;background:url(/wp-content/themes/cedis/assets/pattern-cedis.png) repeat,var(--grain) repeat,var(--verde-scuro,#006b3f)}
body .sv7 svg{width:100%;max-width:520px;height:auto;overflow:visible}
body .sv7 text{font:700 12px/1 inherit;font-family:inherit;fill:#014A2B}
body .sv7-ls path{fill:none;stroke:#FFE98A;stroke-width:2;stroke-linecap:round;stroke-dasharray:3 7;opacity:0;animation:sv7ln .6s ease 1s both,sv7fl 1.4s linear 1.6s infinite}
body .sv7-ls .l2{animation-delay:1.3s,1.9s}body .sv7-ls .l3{animation-delay:1.6s,2.2s}body .sv7-ls .l4{animation-delay:1.9s,2.5s}
@keyframes sv7ln{to{opacity:.85}}
@keyframes sv7fl{to{stroke-dashoffset:-20}}
@media(prefers-reduced-motion:reduce){body .sv7 *{animation:none!important;opacity:1!important}body .sv7-r{opacity:0!important}}
@media(max-width:900px){body .sv7{grid-column:1;grid-row:auto;min-height:300px}}
body .sv7-c{opacity:0;animation:sv7drop .7s cubic-bezier(.2,1.4,.4,1) .2s both}
body .sv7-p{opacity:0;animation:sv7drop .6s cubic-bezier(.2,1.4,.4,1) both}
body .sv7-p.p1{animation-delay:1.2s}body .sv7-p.p2{animation-delay:1.5s}body .sv7-p.p3{animation-delay:1.8s}body .sv7-p.p4{animation-delay:2.1s}
@keyframes sv7drop{from{opacity:0;transform:translateY(-26px) scale(.7)}to{opacity:1;transform:none}}
body .sv7-t{opacity:0;animation:sv7fade .5s ease both}
body .sv7-t.t0{animation-delay:.7s}body .sv7-t.t1{animation-delay:1.6s}body .sv7-t.t2{animation-delay:1.9s}body .sv7-t.t3{animation-delay:2.2s}body .sv7-t.t4{animation-delay:2.5s}
@keyframes sv7fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body .sv7-r{fill:none;stroke:#FFE98A;stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:sv7rg 2.6s ease-out 1s infinite}
body .sv7-r.r2{animation-delay:2.3s}
@keyframes sv7rg{0%{opacity:.7;transform:scale(.6)}100%{opacity:0;transform:scale(2.6)}}
body.page-id-18255 .ag figure{background:linear-gradient(to top,#FFE27A 0%,#FFF1B0 45%,#FFFCE8 100%)}
body .sv7 text{font-size:11.5px;letter-spacing:.01em}
body .sv7 text.b{font-size:13px;font-weight:800;letter-spacing:.08em}
body .sv7 text.s{font-size:10px;font-weight:600;fill:#5C5736;letter-spacing:.04em}
body.page-id-18255 .pagina .mappa{padding:0!important;margin:0!important;line-height:0}body.page-id-18255 .pagina .mappa .elfsight-widget-google-maps{margin:0!important}
body.page-id-18255 .pagina .mappa .elfsight-widget-google-maps,body.page-id-18255 .pagina .mappa .elfsight-widget-google-maps>*{border-radius:11px!important}
body.page-id-18255 .ag figure{display:flex;flex-direction:column}
body.page-id-18255 .ag figcaption{flex:1;padding:16px 16px 20px}
body.page-id-18255 .ag figcaption span{font-size:13px;white-space:nowrap;letter-spacing:0}
body.page-id-18255 .elfsight-widget-google-maps img[src^="data:"]{filter:hue-rotate(150deg) saturate(1.15) brightness(.85)}
/* il CSS legacy della mappa Elfsight colora tutti gli input di bianco: dentro i form Fluent si ripristina */
body .fluentform :is(input,textarea,select).ff-el-form-control.ff-el-form-control.ff-el-form-control{border:1.5px solid var(--linea)!important;color:#111!important}
body .fluentform :is(input,textarea,select).ff-el-form-control.ff-el-form-control.ff-el-form-control:focus{border-color:var(--verde)!important}
body .elfsight-widget-google-maps input.eapps-google-maps-bar-search-input{color:#111!important;caret-color:#111}
body .elfsight-widget-google-maps input.eapps-google-maps-bar-search-input::placeholder{color:rgba(17,17,17,.5)!important}
/* form "Ti richiamiamo noi": stessi campi del form Lavora con noi */
body .pf-form :is(input,select,textarea).ff-el-form-control.ff-el-form-control{min-height:48px!important;padding:12px 14px!important;font-size:15px!important;border-radius:var(--r-md)!important}
body .pf-form .ff-el-form-control::placeholder{color:#8A97A3;opacity:1}
body .pf-form .ff-btn-submit.ff-btn-submit{min-height:50px!important;font-size:16px!important;border-radius:var(--r-md)!important}
body .pf-form .ff-el-group{margin-bottom:12px!important}
body .pf-form .iti input.ff-el-form-control{padding-left:88px!important}
body .elfsight-widget-google-maps input.eapps-google-maps-bar-search-input::placeholder{color:#55615A!important;opacity:1!important;font-weight:400}
body .pf-form .ff-el-form-control::placeholder{color:#66726B;opacity:1}
body .pf-form .ff-el-form-control.ff-el-form-control::placeholder,body .fluentform .aegis-ph-s.ff-el-form-control::placeholder{color:#5E6A63!important;opacity:1!important}
body .fluentform .ff-el-form-control.ff-el-form-control::placeholder,body .pf-form .ff-el-form-control.ff-el-form-control::placeholder,body .fluentform .aegis-ph-s.ff-el-form-control::placeholder,body .elfsight-widget-google-maps input.eapps-google-maps-bar-search-input::placeholder{color:#4A564F!important;opacity:1!important}
/* footer: campi identici al form Lavora con noi (r-sm, 12px, 16px, linea 1px) */
body .pf-form :is(input,select,textarea).ff-el-form-control.ff-el-form-control.ff-el-form-control{min-height:49px!important;padding:12px!important;font-size:16px!important;border-radius:var(--r-sm)!important;border:1.5px solid var(--linea)!important}
body .pf-form .iti input.ff-el-form-control.ff-el-form-control.ff-el-form-control{padding-left:88px!important}
body .pf-form .ff-btn-submit.ff-btn-submit.ff-btn-submit{border-radius:var(--r-sm)!important}
/* placeholder: opacita piena, colore netto */body .fluentform :is(input,textarea)::placeholder,body .pf-form :is(input,textarea)::placeholder{color:#4A564F!important;opacity:1!important;-webkit-text-fill-color:#4A564F!important}
html body .fluentform :is(input,textarea):not(#langa-x)::placeholder,html body .pf-form :is(input,textarea):not(#langa-x)::placeholder{opacity:1!important;color:#4A564F!important}html body .fluentform :is(input,textarea):not(#langa-x)::-webkit-input-placeholder,html body .pf-form :is(input,textarea):not(#langa-x)::-webkit-input-placeholder{opacity:1!important;color:#4A564F!important}
/* iti dropdown: testo scuro (nel footer ereditava il chiaro) */html body .iti__dropdown-content{color:#111!important}html body .iti__dropdown-content .iti__country-name,html body .iti__dropdown-content .iti__country{color:#111!important;-webkit-text-fill-color:#111!important}html body .iti__dropdown-content .iti__dial-code{color:#4A564F!important}html body .iti__dropdown-content .iti__search-input{color:#111!important}html body .iti__dropdown-content .iti__search-input::placeholder{color:#4A564F!important;opacity:1!important}
/* Consegne Horeca: furgone animato nell'hero */
body .sv8-rd{fill:none;stroke:#FFE98A;stroke-width:3;stroke-linecap:round;stroke-dasharray:2 10;animation:sv8rd 1s linear infinite}
body .sv8-b{opacity:0;animation:sv8pop .6s cubic-bezier(.2,1.4,.4,1) .2s both}
body .sv8-b.b2{animation-delay:.5s}body .sv8-b.b3{animation-delay:.8s}
body .sv8-h{animation:sv8spin 6s linear infinite}
body .sv8-sn{animation:sv8spin 14s linear infinite}
body .sv8-van{animation:sv8drive 7s linear 1s infinite;transform:translateX(-70px)}
body .sv8-bn{animation:sv8bob .5s ease-in-out infinite alternate}
@keyframes sv8rd{to{stroke-dashoffset:-12}}
@keyframes sv8pop{from{opacity:0;transform:translateY(-14px) scale(.8)}to{opacity:1;transform:none}}
@keyframes sv8spin{to{transform:rotate(360deg)}}
@keyframes sv8drive{from{transform:translateX(-70px)}to{transform:translateX(410px)}}
@keyframes sv8bob{to{transform:translateY(-1.5px)}}
body .sv8-h,body .sv8-sn{transform-box:view-box;transform-origin:0 0}
body.page-id-18257 .pagina p.gu{max-width:none!important}
body .sv8-tr{animation:sv8fl 1.6s ease-in-out infinite alternate;transform-box:fill-box}@keyframes sv8fl{to{transform:translateY(-6px)}}
body .sv8-rg{transform-box:fill-box;transform-origin:center;animation:sv8rg 2.6s ease-out 1s infinite}
body .sv8-b.b2 .sv8-rg{animation-delay:1.6s}body .sv8-b.b3 .sv8-rg{animation-delay:2.2s}
@keyframes sv8rg{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.7);opacity:0}}
body .sv8-rd{opacity:0;animation:sv8rd 1s linear infinite,sv8in .6s ease 1.2s forwards}
@keyframes sv8in{to{opacity:1}}
body .mm-grid.c2 .mm-card:last-child:nth-child(odd){grid-column:1/-1}
body .mm-card.mm-info{background:#FFFBE3;border-color:#F1E7B0;cursor:default;pointer-events:none}
body .mm-card.mm-info{background:none!important;border:0!important;box-shadow:none!important;padding:0 8px!important}
body .mm-card.mm-info .mm-ico{display:none}
body .mm-card.mm-info b{font-size:22px;line-height:1.2;letter-spacing:-.02em;margin-bottom:6px}
body .mm-card.mm-info em{font-size:14.5px;line-height:1.45}
body .mm-card.mm-info{flex-direction:column!important;align-items:flex-start!important;justify-content:center;gap:12px!important}
body .mm-card.mm-info .mm-av{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 3px #fff,0 0 0 4px #DCDCD6}

/* Telefono: bandiera, freccia e prefisso vicini; numero subito dopo (tutti i moduli) */
body .fluentform .iti__selected-country-primary,body .bl-form .iti__selected-country-primary,body .lp-form .iti__selected-country-primary{padding:0 10px 0 12px!important}
body .fluentform .iti__arrow,body .bl-form .iti__arrow,body .lp-form .iti__arrow{margin-left:5px!important}
body .fluentform .iti__selected-dial-code,body .bl-form .iti__selected-dial-code,body .lp-form .iti__selected-dial-code{margin-left:4px!important}
body .fluentform .iti input.ff-el-form-control,body .bl-form .iti input[type=tel]{padding-left:88px!important}
body .lp-form .iti input[type=tel]{padding-left:12px!important;text-indent:76px}
/* Elenco paesi: nome attaccato alla bandiera */
body .iti__dropdown-content .iti__country{gap:8px!important}
body .iti__dropdown-content .iti__country .iti__flag{margin-right:0!important}
/* Focus dei campi: uguale alla landing, su tutti i moduli */
body .fluentform .ff-el-form-control:focus,body .fluentform .iti input:focus,body .bl-form input:focus,body .bl-form select:focus,body .bl-form textarea:focus{outline:0!important;border-color:#028B55!important;box-shadow:0 0 0 4px rgba(2,139,85,.15)!important}
body .lp-form input::placeholder{color:#4A564F!important;opacity:1!important}
html body .lp-form input:not(#langa-x)::placeholder{color:#4A564F!important;opacity:1!important}
/* Hover come focus: bordo verde; la zona bandiera diventa verde chiaro */
body .fluentform .ff-el-form-control:hover,body .lp-form input:hover,body .lp-form select:hover,body .bl-form input:hover,body .bl-form select:hover{border-color:#028B55}
body .fluentform .iti:hover .iti__selected-country-primary,body .lp-form .iti:hover .iti__selected-country-primary,body .bl-form .iti:hover .iti__selected-country-primary{background:#E3F1EA!important}
body .iti .iti__selected-country,body .iti .iti__country-container,body .iti .iti__selected-country-primary{border-radius:8px 0 0 8px!important}
body .iti .iti__selected-country-primary{border-radius:8px 0 0 8px!important}
body .iti .iti__selected-dial-code{background:transparent!important}
/* Moduli delle pagine marchio: stesse misure degli altri moduli (colori del marchio invariati) */
body .bl-form .ff-el-form-control:not(textarea){min-height:49px;height:49px}
body .bl-form .ff-el-input--label label{font-size:13.5px;font-weight:500}
body .bl-form .ff-btn-submit{min-height:52px;border-radius:8px;font-weight:650}
/* Tutti i moduli Fluent: stessa misura di campi ed etichette (anche il modulo a passaggi) */
body .fluentform input.ff-el-form-control:not([type=checkbox]):not([type=radio]),body .fluentform select.ff-el-form-control{font-size:16px!important;min-height:49px}
body .fluentform .ff-el-input--label label{font-size:13.5px!important;font-weight:500}

/* 26/10 a1 (Luca 18:57): card Contatti/Servizi allineate: foto alta come le illustrazioni, link in fondo */
body:not(.home) .figlie .figlia>img{flex:none;aspect-ratio:16/10;height:auto;object-fit:cover;object-position:50% 22%}
body:not(.home) .vie .via{display:flex;flex-direction:column}
body:not(.home) .vie .via>p:last-child{margin:auto 0 0;padding-top:4px}
body:not(.home) .vie .via>p{margin-bottom:16px}
body:not(.home) .vie .via>p.via-codice{margin-bottom:14px}
body:not(.home) .figlie .figlia .testo{flex:1 1 auto}
/* 26/10 a1 (Luca 19:38): foto rappresentanti non tagliata, icone illustrate piu piccole */
body:not(.home) .figlie .figlia>img[src*="rappresentanti"]{object-position:50% 6%}
body:not(.home) .figlie .figlia img.iso{height:100px;width:auto;max-width:70%}
body:not(.home) .vie .via.forte{background:url(/wp-content/themes/cedis/assets/bg-noise.png) repeat,linear-gradient(180deg,#028B55 0,#017A4B 100%)}
body:not(.home) .vie .via.forte>p:not(.via-codice){max-width:245px}
/* 26/10 a1 (Luca 19:40): card Assistenza: 3 righe di testo ciascuna, foto/illustrazioni piu alte */
body:not(.home) .figlie .figlia .testo em{display:block;font-size:14px;text-wrap:balance}
body:not(.home) .figlie .figlia:nth-child(1) .testo em{max-width:150px}
body:not(.home) .figlie .figlia:nth-child(3) .testo em{max-width:165px}
body:not(.home) .figlie .figlia .fg-ico,body:not(.home) .figlie .figlia>img{aspect-ratio:4/3}
body:not(.home) .figlie .figlia>img[src*="rappresentanti"]{object-position:50% 10%}
/* 26/10 a1 (Luca 20:19): mobile - slider Home: immagine a tutta larghezza (la regola 66% valeva anche su telefono) */
@media(max-width:900px){body .hs-s.sp .hm-hero-bg{inset:0 0 auto 0!important;width:100%!important;height:230px!important}}

/* 26/10 a1 (Luca 20:19): menu mobile stile app */
body .lato{width:min(420px,100vw);background:#fff;box-shadow:0 0 40px rgba(0,0,0,.25);overscroll-behavior:contain}
body .lato-velo{background:rgba(1,40,26,.5)}
body .lato-testa{position:sticky;top:0;z-index:2;background:#fff;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 10px;border-bottom:1px solid #E7ECE9}
body .lato-testa img{display:block;height:38px;width:auto}
body .lato-testa button{width:46px;height:46px;border-radius:50%;background:#F1F5F3;color:#014C2E;font-size:28px;display:flex;align-items:center;justify-content:center;padding:0}
.la-az{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;padding:14px 16px 6px}
.la-az a{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:14px;font-weight:700;font-size:16px;text-decoration:none}
.la-call{border:1.5px solid #028B55;color:#014C2E;background:#fff}
.la-prev{background:#028B55;color:#fff}
.la-nav{padding:6px 10px 10px}
.la-t,.la-g>button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:60px;padding:0 10px;margin:0;border:0;border-bottom:1px solid #E7ECE9;background:none;font-family:inherit;font-weight:700;font-size:19px;line-height:1.2;color:#014C2E;text-align:left;text-decoration:none;border-radius:0;cursor:pointer}
.la-t:active,.la-g>button:active{background:#F1F5F3}
.la-g>button i{flex:none;width:10px;height:10px;margin-right:6px;border-right:2.5px solid #028B55;border-bottom:2.5px solid #028B55;transform:rotate(45deg);transition:transform .2s}
.la-g.on>button i{transform:rotate(-135deg)}
.la-g.on>button{color:#028B55}
.la-s{display:none;margin:8px 0 12px;padding:6px;background:#F6F5F2;border-radius:16px}
.la-g.on .la-s{display:block}
.la-s a{display:block;min-height:50px;padding:12px 14px;border-radius:12px;color:#014C2E;text-decoration:none}
.la-s a:active{background:#fff}
.la-s a b{display:block;font-size:16px;font-weight:650;line-height:1.25}
.la-s a em{display:block;margin-top:2px;font-style:normal;font-size:13.5px;line-height:1.35;color:#5b6b63}
body .lato-piede{margin-top:auto;padding:14px 16px calc(env(safe-area-inset-bottom,0px) + 20px);border-top:1px solid #E7ECE9;background:#fff;position:sticky;bottom:0}
body .lato-piede .lato-btn{display:flex;align-items:center;justify-content:center;min-height:54px;margin:0;border-radius:14px;font-weight:700;font-size:16px}
body .lato-piede p{margin:10px 0 0;text-align:center;font-size:13px;color:#5b6b63}
/* 26/10 a1 mobile: etichette del disegno Servizi / Per chi senza sovrapposizioni */
@media(max-width:640px){body .pc4-p{padding:7px 12px;font-size:12.5px}body .pc4-p.p1{top:7%;left:5%}body .pc4-p.p2{top:21%;right:5%}body .pc4-p.p3{bottom:21%;left:5%}body .pc4-p.p4{bottom:8%;right:5%}}

/* 26/10 a1 (Luca 20:25): barra app in basso, solo telefono (max 760px) */
.app-bar{display:none}
@media(max-width:760px){
.app-bar{position:fixed;left:0;right:0;bottom:28px;z-index:90;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;background:rgba(255,255,255,.97);border-top:1px solid #E1E8E4;box-shadow:0 -6px 24px rgba(1,40,26,.08);padding:6px 4px 6px}
.app-bar a,.app-bar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:52px;padding:4px 2px;border:0;background:none;color:#5b6b63;font-family:inherit;font-weight:600;font-size:11.5px;line-height:1.1;text-decoration:none}
.app-bar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.app-bar a.on{color:#028B55}
.app-bar .ab-call{color:#fff}
.app-bar .ab-call svg{box-sizing:content-box;width:24px;height:24px;padding:12px;margin-top:-24px;border-radius:50%;background:#028B55;stroke:#fff;box-shadow:0 8px 18px -4px rgba(2,139,85,.55);border:4px solid #fff}
.app-bar .ab-call span{color:#014C2E;margin-top:-4px}
body{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
body .pf-cookie{bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}
body .pt-intro p{font-size:17px;line-height:1.6}
}

/* 26/10 a1 (Luca 20:28): mobile - banner pagine (Lavora con noi ecc.): icona sopra, testo a tutta larghezza */
@media(max-width:640px){
body .portata .pt-banner{flex-direction:column;align-items:flex-start;gap:0;padding:26px 22px 86px;border-radius:24px}
body .pt-banner .iso-ban{position:absolute!important;right:-8px!important;bottom:-10px!important;top:auto!important;left:auto!important;width:96px!important;height:auto!important;margin:0!important;order:0}
body .pt-banner h1{width:100%;font-size:clamp(30px,8.6vw,36px);line-height:1.12}
body .pt-banner h2{width:100%;max-width:none;margin-top:12px}
}
@media(max-width:640px){
body .portata .pt-banner h1,body .portata .pt-banner h2{max-width:none!important;width:100%;text-wrap:pretty}
body .portata .pt-banner h2{font-size:18px;line-height:1.4}
}

/* 26/10 a1 mobile: slider Home - ogni slide alta quanto il suo contenuto (niente vuoto tra foto e testo) */
@media(max-width:900px){body .hs .hm-sl-tr{align-items:flex-start}body .hs .hs-s{align-self:flex-start;min-height:0}body .hs-vp{transition:height .35s ease}}

/* 26/10 a1 mobile: niente barre di scorrimento visibili (si scorre comunque) */
@media(max-width:900px){html,body,.lato,.lato *{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,.lato::-webkit-scrollbar,.lato *::-webkit-scrollbar{width:0;height:0;display:none}}
@media(max-width:900px){*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}}

/* 26/10 a1 (Luca 20:50): Preferenze cookie non piu flottante: in fondo alla pagina, sopra la barra Shield */
body .pf-cookie{position:static!important;display:block!important;width:auto!important;max-width:none!important;margin:0!important;padding:2px 16px 28px!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;color:rgba(255,255,255,.6)!important;font-size:12px!important;text-align:center!important;opacity:1!important}
body .pf-cookie{order:100!important}
body .pf-cookie{padding:0 0 3px max(13px,calc((100% - 1180px)/2 + 28px))!important;color:#CBE9DB!important;font-size:12px!important;text-align:left!important;text-decoration:underline!important}
body .pf-cookie:hover{color:#fff!important}
body .pf-cookie{padding:0 0 3px!important;text-align:center!important;font:400 12px/18px Manrope,system-ui,-apple-system,sans-serif!important;letter-spacing:normal!important}
body .pf-cookie *{font:inherit!important;letter-spacing:inherit!important;text-decoration:underline!important}
body .pf-cookie{font:400 11px/16px Manrope,system-ui,-apple-system,sans-serif!important}
body .pf-cookie{font:300 11px/16px Manrope,system-ui,-apple-system,sans-serif!important}
/* 26/10 a1 (Luca 21:02): bandierina tinta anche on focus, traccia verde del campo sopra la tinta */
body .fluentform .iti:focus-within .iti__selected-country-primary,body .lp-form .iti:focus-within .iti__selected-country-primary,body .bl-form .iti:focus-within .iti__selected-country-primary{background:#E3F1EA!important}
body .fluentform .iti:hover .iti__selected-country-primary,body .fluentform .iti:focus-within .iti__selected-country-primary,body .lp-form .iti:hover .iti__selected-country-primary,body .lp-form .iti:focus-within .iti__selected-country-primary,body .bl-form .iti:hover .iti__selected-country-primary,body .bl-form .iti:focus-within .iti__selected-country-primary{clip-path:inset(2px 0 2px 2px round 6px 0 0 6px)}
.piede-consorzi .piede-blog+.piede-blog{margin-left:0}
/* 26/10 a1 (Luca 21:13): Mappa del sito (plugin LANGA): allineata al titolo, a colonne per sezione */
body .mappa-lvs{padding-bottom:56px}
body .mappa-lvs .langa-vs-wrap{width:100%!important;font-size:15px}
body .mappa-lvs .langa-vs-head{display:none}
body .mappa-lvs .langa-vs-grid{display:block!important}
body .mappa-lvs .langa-vs-root{column-count:3;column-gap:28px}
body .mappa-lvs .langa-vs-root>li{break-inside:avoid;margin:0 0 22px!important}
@media(max-width:900px){body .mappa-lvs .langa-vs-root{column-count:2}}
@media(max-width:600px){body .mappa-lvs .langa-vs-root{column-count:1}}
/* 26/10 a1 (Luca 21:12): Contatti, invito piu stretto + scheda sede */
body .figlie>.inv-duo{flex:1 1 100%;width:100%;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:24px;align-items:stretch}
body .inv-duo>.invito-contatti{width:auto;max-width:none;margin:0;height:auto;flex:none}
body .sede-card{display:flex;flex-direction:column;padding:30px 32px;background:#fff;border:1px solid #E2E4E0;border-radius:16px;color:var(--verde-scuro,#014A2B)}
body .sede-k{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--verde,#028B55)}
body .sede-tit{margin:0 0 10px;font-size:clamp(22px,1.9vw,28px);font-weight:800;line-height:1.15}
body .sede-card address{margin:0 0 18px;font-style:normal;font-size:16px;line-height:1.5;color:#3d4a43}
body .sede-dati{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
body .sede-dati li{display:grid;grid-template-columns:84px 1fr;gap:10px;font-size:15px;line-height:1.4}
body .sede-dati b{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7a8a80;padding-top:2px}
body .sede-dati a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(1,74,43,.25)}
body .sede-dati a:hover{border-bottom-color:currentColor}
body .sede-cta{margin-top:auto;align-self:flex-start;font-weight:700;font-size:15px;color:var(--verde,#028B55);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
body .sede-cta span{margin-left:6px}
@media(max-width:900px){body .figlie>.inv-duo{grid-template-columns:minmax(0,1fr)}body .sede-card{padding:24px 22px}}
body .sede-dati a{justify-self:start;align-self:start}
/* 26/10 a1 (Luca 21:17): scheda sede gialla, solo indirizzo e indicazioni */
body .sede-card{background:#FFFBE3;border-color:#EBE2A8}
body .sede-tit{margin:0 0 12px;font-size:clamp(24px,2vw,30px)}
body .sede-card address{margin:0 0 14px;font-size:20px;font-weight:600;line-height:1.4;color:var(--verde-scuro,#014A2B)}
body .sede-cta{margin:0 0 22px}
body .sede-via{margin-top:auto;padding-top:18px;border-top:1px solid rgba(1,74,43,.15)}
body .sede-via .sede-k{display:block;margin:0 0 6px;color:#7a6f2a}
body .sede-via ul{list-style:none;margin:0;padding:0}
body .sede-via li{display:grid;grid-template-columns:132px 1fr;gap:10px;margin-top:8px;font-size:14px;line-height:1.4;color:#3d4a43}
body .sede-via b{font-weight:700;color:var(--verde-scuro,#014A2B)}
@media(max-width:480px){body .sede-via li{grid-template-columns:1fr;gap:2px}}
/* 26/10 a1 (Luca 21:19): scheda sede rifinita */
body .sede-card{position:relative;overflow:hidden;padding:32px 34px 28px}
body .sede-ill{position:absolute;top:22px;right:26px;width:128px;height:auto;pointer-events:none}
body .sede-tit{margin:0 0 14px;font-size:clamp(28px,2.4vw,36px);line-height:1.05}
body .sede-card address{margin:0 0 20px;font-size:21px;font-weight:700;line-height:1.35}
body .sede-cta{display:inline-flex;align-items:center;gap:8px;margin:0 0 26px;padding:12px 20px;background:var(--verde,#028B55);color:#fff;border:0;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;transition:background .2s}
body .sede-cta:hover{background:var(--verde-scuro,#014A2B)}
body .sede-cta span{margin:0}
body .sede-via{padding-top:16px;border-top:1px solid rgba(1,74,43,.14)}
body .sede-via .sede-k{margin:0 0 4px;font-size:11px;letter-spacing:.14em}
body .sede-via li{align-items:baseline;margin:0;padding:9px 0;border-bottom:1px dashed rgba(1,74,43,.18);font-size:14.5px}
body .sede-via li:last-child{border-bottom:0;padding-bottom:0}
body .sede-via b{position:relative;padding-left:16px}
body .sede-via b:before{content:"";position:absolute;left:0;top:.45em;width:8px;height:8px;border-radius:50%;background:var(--verde,#028B55)}
@media(max-width:600px){body .sede-ill{width:92px;top:18px;right:18px}body .sede-tit{max-width:60%}}
/* 26/10 a1 (Luca 21:19): pulsanti del banner verde in ordine */
body .inv-duo .inv-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:520px;margin-top:6px}
body .inv-duo .inv-btns .inv-cta{display:flex;align-items:center;justify-content:center;width:100%;margin:0;min-height:50px;padding:0 16px;text-align:center;white-space:nowrap}
body .inv-duo .inv-btns .inv-cta:first-child{grid-column:1/-1}
body .inv-duo .inv-meta{margin-top:16px}
@media(max-width:600px){body .inv-duo .inv-btns{grid-template-columns:1fr}}
body .inv-duo .inv-btns{max-width:none}
body .sede-via li{grid-template-columns:156px 1fr}
@media(max-width:480px){body .sede-via li{grid-template-columns:1fr}}
body .sede-cta,body .sede-cta:hover{display:inline-block;align-self:flex-start;padding:0 0 2px;background:transparent;color:var(--verde,#028B55);border:0;border-bottom:1px solid currentColor;border-radius:0;font-size:16px;font-weight:700;text-decoration:none}
body .sede-cta:hover{color:var(--verde-scuro,#014A2B)}
body .sede-cta span{margin-left:6px}
body .sede-via{border-top:0}
body .inv-duo .inv-meta{color:#fff!important;opacity:1!important}
body .sede-via li{grid-template-columns:minmax(0,max-content) 1fr;column-gap:22px}
body .sede-via li b{min-width:112px}
@media(max-width:480px){body .sede-via li{grid-template-columns:1fr}}
body .sede-via li{grid-template-columns:150px 1fr}
body .sede-via li b{min-width:0}
@media(max-width:480px){body .sede-via li{grid-template-columns:1fr}}
body .inv-duo .inv-btns .inv-cta:first-child{display:none}
body .sede-via li{grid-template-columns:1fr;row-gap:3px;padding:11px 0}
body .sede-via li b{min-width:0}
body .sede-via li{font-size:15px;line-height:1.45}
body .sede-cta,body .sede-cta:hover{border-bottom:0!important;text-decoration:none!important;padding-bottom:0}
body .sede-card address{color:#111!important}
/* 26/10 a1 (Luca 21:22): colori scheda sede tarati sul fondo giallo */
body .sede-card .sede-tit{color:#014A2B}
body .sede-card address{color:#111!important}
body .sede-card .sede-cta,body .sede-card .sede-cta:hover{color:#01663D}
body .sede-via .sede-k{color:#5C5736}
body .sede-via li{color:#222B25}
body .sede-via li b{color:#014A2B}
body .sede-via li{border-bottom-color:rgba(92,87,54,.28)}
/* 26/10 a1: Home, anteprima gioco in iframe */
body .gm-box{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#014A2B,#0c2b1e);display:flex;align-items:center;justify-content:center}
body .gm-box iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:none}
body .gm-box.on iframe{display:block}
body .gm-play{display:inline-flex;align-items:center;gap:12px;padding:16px 30px;background:#fff;color:#014A2B;border:0;border-radius:999px;font:700 18px/1 Manrope,system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.25)}
body .gm-note{margin:14px 0 0;font-size:13px;line-height:1.5;color:#6b7a71;text-align:center}
@media(max-width:640px){body .gm-box{aspect-ratio:4/5}}
