/* DH · homepage di disinfesta.it. Stessa lingua delle schede specie (Sora + Source Sans 3, giallo del sito, hero scuro):
   la home è l'ingresso, le schede sono il corpo. Tutto sotto .dh, niente di globale. */
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('https://disinfesta.it/wp-content/mu-plugins/dz/fonts/sora-600.woff2') format('woff2')}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('https://disinfesta.it/wp-content/mu-plugins/dz/fonts/sora-700.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('https://disinfesta.it/wp-content/mu-plugins/dz/fonts/source-sans-3-400.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('https://disinfesta.it/wp-content/mu-plugins/dz/fonts/source-sans-3-600.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('https://disinfesta.it/wp-content/mu-plugins/dz/fonts/source-sans-3-700.woff2') format('woff2')}

.dh{--g:#f2c719;--g2:#ffd93b;--oro:#7a5520;--ink:#272626;--mute:#5d5a57;--line:#e4ddc9;--cream:#fff8dc;--dark:#1b1a19;--white:#fff;
 --display:'Sora',Arial,Helvetica,sans-serif;--body:'Source Sans 3',Arial,Helvetica,sans-serif;
 --max:var(--ds-tot,1390px);--gut:var(--ds-gronda-sito,clamp(16px,4vw,40px));--s1:8px;--s2:14px;--s3:22px;--s4:34px;--s5:56px;
 --sec-y:clamp(44px,5.5vw,72px);--gap-card:18px;--gap-col:clamp(24px,3vw,38px);
 font-family:var(--body);font-size:18px;line-height:1.6;color:var(--ink);background:var(--white);overflow-x:clip;max-width:100%}
.dh *{box-sizing:border-box}
.dh h1,.dh h2,.dh h3{font-family:var(--display);line-height:1.18;margin:0;text-align:left}
.dh p{margin:0}
.dh ul{list-style:none;margin:0;padding:0}
.dh a{color:inherit}
.dh .in{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.dh .sec{padding-block:var(--sec-y)}
.dh .sec h2{font-size:clamp(24px,3vw,32px)}
.dh .sec .lead{color:var(--mute);max-width:62ch}
.dh .ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-4px}

/* bottoni */
.dh .btn{display:inline-flex;align-items:center;gap:9px;min-height:48px;padding:12px 20px;border-radius:4px;background:var(--g);color:#1b1a19;font:700 17px/1.2 var(--display);text-decoration:none;border:0;cursor:pointer}
.dh .btn:hover{background:var(--g2)}
.dh .btn--ghost{background:transparent;color:inherit;border:1px solid currentColor}
.dh .btn--ghost:hover{background:rgba(255,255,255,.08)}
.dh a:focus-visible,.dh button:focus-visible,.dh input:focus-visible,.dh select:focus-visible,.dh summary:focus-visible{outline:3px solid #0d6efd;outline-offset:2px}

/* hero */
.dh-hero{background:var(--dark);color:#f7f4ec}
.dh-hero .in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:var(--gap-col);align-items:center;padding-block:var(--sec-y)}
.dh-eye{display:inline-block;font:700 13px/1 var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--g2);border:1px solid #4a463d;padding:7px 10px;border-radius:3px;margin-bottom:var(--s2)}
.dh-hero h1{font-size:clamp(30px,4.4vw,48px);color:#fff;font-weight:700}
.dh-hero .sub{font-size:clamp(18px,2vw,21px);color:#e7e1d2;margin-top:var(--s2);max-width:56ch}
.dh-alt{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s3);align-items:center}
.dh-alt span{color:#cfc8b6;font-size:16px;flex-basis:100%}
.dh-trust{margin-top:var(--s3);padding-top:var(--s2);border-top:1px solid #3a3732;font-size:15px;color:#cfc8b6;display:flex;flex-wrap:wrap;gap:6px 18px}
.dh-trust b{color:var(--g2);font-weight:600}

/* card modulo */
.dh-card{background:#fff;color:var(--ink);border-radius:8px;padding:var(--s3);box-shadow:0 14px 40px rgba(0,0,0,.35)}
.dh-card h2{font-size:21px;margin:0 0 4px}
.dh-card .nt{font-size:15px;color:var(--mute);margin-bottom:var(--s2)}
.dh-f{display:flex;flex-direction:column;gap:12px}
.dh-f label{display:block;font:600 15px/1.3 var(--body);margin-bottom:4px}
.dh-f input[type=text],.dh-f input[type=tel],.dh-f input[type=email],.dh-f select,.dh-f textarea{width:100%;min-height:46px;padding:10px 12px;border:1px solid #b9b2a0;border-radius:6px;background:#fff;font:400 16px/1.3 var(--body);color:var(--ink)}
.dh-f .r2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dh-f .chk{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.4;color:var(--mute)}
.dh-f .chk input{margin-top:3px;width:18px;height:18px;flex:none}
.dh-f .btn{width:100%;justify-content:center}
.dh-card .after{font-size:14px;color:var(--mute);margin-top:var(--s1)}

/* "cosa devi eliminare" */
.dh-cases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-card)}
.dh-case{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;background:#fff}
.dh-case:hover{border-color:var(--oro);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.dh-case img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center 38%;background:var(--cream)}
.dh-case div{padding:12px 14px 14px;display:flex;flex-direction:column;gap:2px}
.dh-case b{font:700 17px/1.2 var(--display)}
.dh-case span{font-size:15px;color:var(--mute);line-height:1.35}
.dh-more{margin-top:var(--s2);font-size:17px}
.dh-more a{color:var(--oro);font-weight:600}

/* servizi */
.dh-serv{border-top:1px solid var(--line)}
.dh-serv li{display:grid;grid-template-columns:230px minmax(0,1fr) auto;gap:var(--s3);align-items:baseline;padding:var(--s3) 0;border-bottom:1px solid var(--line)}
.dh-serv h3{font-size:21px}
.dh-serv p{max-width:64ch}
.dh-serv a.go{font:600 16px/1.2 var(--display);color:var(--oro);text-decoration:none;white-space:nowrap}
.dh-serv a.go:hover{text-decoration:underline}

/* casa o azienda */
.dh-cream{background:var(--cream)}
.dh-due{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-col)}
.dh-due h3{font-size:22px;margin-bottom:var(--s1)}
.dh-due ul{margin-top:var(--s2);display:flex;flex-direction:column;gap:6px}
.dh-due li a{color:var(--oro);font-weight:600}

/* come funziona */
.dh-dark{background:var(--dark);color:#f7f4ec}
.dh-dark h2{color:#fff}
.dh-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-col);counter-reset:p}
.dh-steps li{position:relative;padding-top:54px;border-top:1px solid #3a3732}
.dh-steps li::before{counter-increment:p;content:counter(p);position:absolute;top:var(--s2);left:0;width:34px;height:34px;border-radius:50%;background:var(--g);color:#1b1a19;display:grid;place-items:center;font:700 17px/1 var(--display)}
.dh-steps h3{font-size:20px;color:#fff;margin-bottom:6px}
.dh-steps p{color:#d9d3c3}

/* chi risponde */
.dh-chi{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--gap-col);align-items:start}
.dh-chi .p{max-width:62ch;display:flex;flex-direction:column;gap:var(--s2)}
.dh-box{background:#fff;border:1px solid var(--line);border-radius:6px;padding:var(--s3)}
.dh-box h3{font-size:17px;margin-bottom:var(--s1)}
.dh-box dl{margin:0;display:grid;gap:10px}
.dh-box dt{font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.dh-box dd{margin:2px 0 0;font-size:16px}

/* riconosci */
.dh-gr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap-card)}
.dh-gr a{display:flex;flex-direction:column;gap:2px;padding:16px 18px;border:1px solid var(--line);border-radius:6px;text-decoration:none;background:#fff}
.dh-gr a:hover{border-color:var(--oro);background:var(--cream)}
.dh-gr b{font:700 20px/1.2 var(--display)}
.dh-gr span{color:var(--mute);font-size:15px}

/* faq */
.dh-faq{max-width:820px}
.dh-faq details{border-top:1px solid var(--line)}
.dh-faq details:last-child{border-bottom:1px solid var(--line)}
.dh-faq summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font:600 18px/1.35 var(--display);position:relative}
.dh-faq summary::-webkit-details-marker{display:none}
.dh-faq summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 28px/1 var(--body);color:var(--oro)}
.dh-faq details[open] summary::after{content:"−"}
.dh-faq details p{padding:0 0 18px;max-width:68ch;color:#3d3b39}

/* chiusura */
.dh-fin .in{display:flex;flex-wrap:wrap;gap:var(--s3) var(--gap-col);align-items:center;justify-content:space-between}
.dh-fin .in>div:first-child{flex:1 1 380px}
.dh-fin h2{font-size:clamp(26px,3.2vw,36px)}
.dh-fin .sub{color:#d9d3c3;margin-top:var(--s2);max-width:44ch}
.dh-fin .dh-alt{margin-top:0}

@media (max-width:980px){
 .dh-hero .in{grid-template-columns:minmax(0,1fr)}
 .dh-cases,.dh-gr{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dh-chi{grid-template-columns:minmax(0,1fr)}
 .dh-serv li{grid-template-columns:minmax(0,1fr);gap:6px}
 .dh-due,.dh-steps{grid-template-columns:minmax(0,1fr)}
 .dh-steps{gap:var(--s3)}
}
@media (max-width:760px){
 .dh{font-size:17px}
 .dh-case img{height:96px}
 .dh-f .r2{grid-template-columns:1fr}
 .dh-hero .dh-alt{display:none}
}
@media (prefers-reduced-motion:reduce){.dh *{transition:none!important;scroll-behavior:auto!important}}

/* il tema e il Customizer: centrano gli h2, evidenziano i link, rientrano gli elenchi. Dentro la home no */
body.ds-page .neve-main .dh a{text-decoration:none}
body.ds-page .neve-main .dh p a,body.ds-page .neve-main .dh li a{box-shadow:none!important;background:transparent}
body.ds-page .neve-main .dh .btn{background:var(--g)!important;color:#1b1a19!important}
body.ds-page .neve-main .dh .btn--ghost{background:transparent!important;color:inherit!important}
body.ds-page .neve-main .dh .dh-more a,body.ds-page .neve-main .dh .dh-due li a,body.ds-page .neve-main .dh .dh-serv a.go{color:#7a5520!important}
body.ds-page .neve-main .dh .dh-hero a:not(.btn),body.ds-page .neve-main .dh .dh-dark a:not(.btn){color:#ffd93b!important}
body.ds-page .dh h1,body.ds-page .dh h2,body.ds-page .dh h3{text-align:left;padding:0}
body.ds-page .dh ul{padding-left:0!important;margin:0}
body.ds-page .nv-content-wrap,body.ds-page .nv-single-page-wrap,body.ds-page .single-page-container,body.ds-page .nv-single-post-wrap,body.ds-page .single-post-container{max-width:none!important;padding:0!important;margin:0!important}
body.ds-page .single-page-container .row,body.ds-page .single-post-container .row,body.ds-page .neve-main .row{margin-left:0!important;margin-right:0!important}
/* il Customizer dà uno sfondo giallo a p b / p strong: qui no */
body.ds-page .neve-main .dh p b,body.ds-page .neve-main .dh p strong,body.ds-page .neve-main .dh li b,body.ds-page .neve-main .dh a b,body.ds-page .neve-main .dh span b{box-shadow:none!important;background:transparent!important;padding:0!important}
body.ds-page .neve-main .dh .dh-hero .dh-card a:not(.btn),body.ds-page .neve-main .dh .dh-dark .dh-card a:not(.btn){color:#7a5520!important;text-decoration:underline!important}
body.ds-page .neve-main .dh .dh-trust b{color:#ffd93b!important}

body.ds-page .neve-main .dh .dh-case img{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:3/2;margin:0!important;padding:0!important;border:0!important;float:none!important}
@media (max-width:760px){body.ds-page .neve-main .dh .dh-case img{height:auto!important}}
body.ds-page .neve-main .dh .dh-more a,body.ds-page .neve-main .dh p a{padding:0!important;margin:0!important}
body.ds-page .neve-main .dh .dh-box dd,body.ds-page .neve-main .dh .dh-box dt{margin-left:0!important;padding:0!important}
body.ds-page .neve-main .dh .dh-box dd{margin-top:2px!important}
.dh .dh-card h2{color:var(--ink);font-size:21px;margin:0 0 4px}
.dh .dh-card .nt{color:var(--mute)}

/* offerta HACCP */
.dh-offer{margin-top:var(--gap-col);background:var(--g);color:#1b1a19;border-radius:8px;padding:var(--s4);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--gap-col);align-items:center}
.dh-offer .k{display:block;font:700 13px/1.35 var(--display);letter-spacing:.07em;text-transform:uppercase;margin-bottom:10px}
.dh-offer h3{font-size:clamp(24px,3vw,34px);line-height:1.15;margin-bottom:var(--s3)}
.dh-offer h3 b{font-weight:700;background:#1b1a19;color:var(--g);padding:0 10px;border-radius:4px;white-space:nowrap}
.dh-offer .btn{background:#1b1a19;color:#fff}
.dh-offer .btn:hover{background:#000}
.dh-offer .o2{margin:0;padding:0;list-style:none;counter-reset:o;display:flex;flex-direction:column;gap:10px}
.dh-offer .o2 li{counter-increment:o;position:relative;padding-left:40px;font-size:18px;line-height:1.4}
.dh-offer .o2 li::before{content:counter(o);position:absolute;left:0;top:-1px;width:28px;height:28px;border-radius:50%;background:#1b1a19;color:var(--g);display:grid;place-items:center;font:700 15px/1 var(--display)}
body.ds-page .neve-main .dh .dh-offer .btn{background:#1b1a19!important;color:#fff!important}
body.ds-page .neve-main .dh .dh-offer h3 b{background:#1b1a19!important;color:#f2c719!important;padding:0 10px!important}
@media (max-width:980px){.dh-offer{grid-template-columns:minmax(0,1fr);padding:var(--s3)}}
/* foto dei passi */
.dh-steps li img{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;object-position:center 35%;border-radius:6px;margin-top:var(--s2)}
body.ds-page .neve-main .dh .dh-steps li img{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:9/16;margin:var(--s2) 0 0!important;padding:0!important;border:0!important}
.dh-steps li{display:flex;flex-direction:column}
.dh-steps li p{margin-bottom:var(--s2)}
body.ds-page .neve-main .dh .dh-steps li img{margin:auto 0 0!important;object-position:center 14%!important}
body.ds-page .neve-main .dh .dh-steps li:nth-child(2) img{object-position:center 30%!important}

/* ——— hero: immagine di sfondo con velo scuro ——— */
.dh-hero{position:relative;isolation:isolate;overflow:hidden}
.dh-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%;z-index:0;opacity:.5}
.dh-hero::after{content:"";position:absolute;inset:0;z-index:0;
 background:linear-gradient(100deg,#1b1a19 0 34%,rgba(27,26,25,.92) 52%,rgba(27,26,25,.74) 100%)}
body.ds-page .neve-main .dh .dh-hero__bg{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important}

/* ——— icone ——— */
.dh .ico--s{width:26px;height:26px;margin-right:11px;color:var(--oro);vertical-align:-4px}
.dh .ico--g{width:32px;height:32px;color:var(--oro);margin-bottom:10px}
.dh .ico--k{width:20px;height:20px;margin-right:9px;margin-top:1px}
.dh .dh-serv h3,.dh .dh-due h3{display:flex;align-items:center;gap:0}
.dh .dh-gr a{gap:0}
.dh-offer .k{gap:0}
.dh .dh-gr a{align-items:flex-start}
.dh-offer .k{display:flex;align-items:flex-start}

/* ——— passi: testo in alto, foto allineate in basso ——— */
.dh-steps li{padding-top:50px}
.dh-steps li::before{top:var(--s1)}

/* ——— pulsante nel blocco rosso pre-footer (fuori da .dh: è un layout del tema) ——— */
.call-to-action .cta-azione{margin:22px 0 0}
.call-to-action .cta-btn{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:13px 26px;border-radius:4px;
 background:#f2c719;color:#1b1a19!important;font-family:'Sora',Arial,Helvetica,sans-serif;font-weight:700;font-size:18px;text-decoration:none!important;box-shadow:none!important}
.call-to-action .cta-btn:hover{background:#ffd93b}
.call-to-action .cta-btn svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ——— ritmo verticale: stesso passo in tutte le sezioni ——— */
.dh .sec>.in>h2{margin-bottom:var(--s3)}
.dh .sec>.in>.lead{margin-top:calc(var(--s3) - 30px);margin-bottom:var(--s3)}
.dh .sec>.in>*+*:not(.lead){margin-top:0}
.dh-chi .p h2,.dh-fin h2{margin-bottom:0}
.dh-serv{margin-top:0}
.dh-chi .p h2{margin-bottom:8px}
.dh-offer .o-iva{font-size:15px;margin:calc(var(--s3) * -1 + 8px) 0 var(--s3);opacity:.85}

/* ——— hero: blocco d'azione al posto del modulo (il modulo vero è quello della piattaforma, in fondo) ——— */
.dh-win{display:flex;flex-direction:column;gap:10px;margin:var(--s2) 0 var(--s3)}
.dh-win li{display:flex;align-items:flex-start;gap:10px;font-size:16px;line-height:1.4;color:var(--ink)}
.dh-win .ico{width:21px;height:21px;color:#1f6b4a;margin-top:1px}
.dh .btn--big{width:100%;justify-content:center;font-size:18px;min-height:54px}
.dh-card__alt{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:var(--s2);padding-top:var(--s2);border-top:1px solid var(--line)}
.dh-card__alt a{display:inline-flex;align-items:center;gap:8px;font:600 16px/1.2 var(--display);color:var(--oro);text-decoration:none}
.dh-card__alt a:hover{text-decoration:underline}
.dh-card__alt .ico{width:19px;height:19px}
body.ds-page .neve-main .dh .dh-card__alt a{color:#7a5520!important}

/* Il CSS del Customizer colora «.nv-template .neve-main a:not([class])» di arancione (#ce7e30):
   su bianco e su crema sta a 3,1:1. Dentro la home vince l'oro scuro, che sta sopra 5:1. */
body.ds-page .neve-main .dh a:not([class]),
body.ds-page .neve-main .dh .dh-gr a,
body.ds-page .neve-main .dh .dh-chi a,
body.ds-page .neve-main .dh .dh-due li a,
body.ds-page .neve-main .dh .dh-faq a{color:#7a5520!important}
body.ds-page .neve-main .dh .dh-dark a:not([class]),
body.ds-page .neve-main .dh .dh-hero a:not([class]){color:#ffd93b!important}
body.ds-page .neve-main .dh a.btn,body.ds-page .neve-main .dh a.btn--big{color:#1b1a19!important}
body.ds-page .neve-main .dh .dh-hero a.btn--ghost,body.ds-page .neve-main .dh .dh-dark a.btn--ghost{color:#f7f4ec!important}

/* Un link dentro un paragrafo non si distingue dal solo colore: va sottolineato (WCAG 1.4.1). */
body.ds-page .neve-main .dh p a:not(.btn):not(.go):not(.dh-case),
body.ds-page .neve-main .dh .dh-faq p a{text-decoration:underline!important;text-underline-offset:3px}
.dh-hero picture{position:absolute;inset:0;z-index:0;display:block}

/* ═══ Prefooter della home: modulo della piattaforma e blocco garanzia ═══
   Vivono fuori dal contenitore .dh (sono un layout del tema, post 2111), quindi si agganciano
   alla classe dh-home che il mu-plugin mette solo su questa pagina. */

/* la sezione che ospita il modulo: stesso respiro delle altre e fondo crema */
body.dh-home .form-container{background:#fff8dc;padding-block:clamp(44px,5.5vw,72px);
 padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.dh-home .form-container .inside-form{max-width:720px;margin-inline:auto}
body.dh-home .form-container>.inside-form>p:first-child{font-family:'Sora',Arial,sans-serif!important;
 font-weight:700!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.18!important;color:#272626!important;
 margin:0 0 22px!important;text-align:center!important}

/* i campi, nei colori e nei caratteri della pagina: si riscrivono le variabili del plugin */

/* blocco garanzia: scritta a sinistra, pulsante in linea a destra */
body.dh-home .call-to-action{padding-block:clamp(28px,3.5vw,44px)}
body.dh-home .call-to-action .cta-riga{display:flex;align-items:center;justify-content:space-between;
 gap:18px 32px;flex-wrap:wrap;text-align:left}
body.dh-home .call-to-action .cta-testo{min-width:0;flex:1 1 420px}
body.dh-home .call-to-action .cta-testo p{margin:0}
body.dh-home .call-to-action .titolo2{margin-top:6px!important}
body.dh-home .call-to-action .cta-azione{margin:0!important;flex:0 0 auto}
@media (max-width:760px){
 body.dh-home .call-to-action .cta-riga{justify-content:flex-start}
 body.dh-home .call-to-action .cta-azione,body.dh-home .call-to-action .cta-btn{width:100%;justify-content:center}
}

/* Il CSS del modulo mette width:auto sopra i 768px con min-width 150px: nel riquadro da 720px
   il pulsante di invio risulta minuto. Gli si dà la presenza degli altri pulsanti della pagina. */
body.dh-home .form-richieste .submit-wrapper{margin-top:var(--s3)}

/* ——— pagina per le imprese partner: due varianti sulle regole comuni ——— */
.dh-nota{background:#fff;border:1px solid var(--line);border-left:6px solid #f2c719;border-radius:8px;padding:var(--s3) var(--s4);display:flex;flex-direction:column;gap:var(--s2);max-width:70ch}
.dh-nota p{font-size:17px;line-height:1.55}
.dh-gr--req{grid-template-columns:repeat(3,minmax(0,1fr))}
.dh-gr--req div{display:flex;flex-direction:column;gap:2px;padding:18px 20px;border:1px solid var(--line);border-radius:6px;background:#fff}
.dh-gr--req b{font:700 19px/1.25 var(--display)}
.dh-gr--req span{color:var(--mute);font-size:15px;line-height:1.4}
@media (max-width:980px){.dh-gr--req{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.dh-gr--req{grid-template-columns:minmax(0,1fr)}}
.dh-modulo{background:#fff8dc}
.dh-modulo .in>.form-richieste,.dh-modulo .in form{max-width:720px;margin-inline:auto}
.dh-modulo h2,.dh-modulo .lead{text-align:center;max-width:60ch;margin-inline:auto}

/* ——— pagina partner: la nota sul patto, con la foto scontornata accanto ——— */
.dh-patto{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:var(--gap-col);align-items:center}
.dh-patto .dh-nota{max-width:none;margin-top:var(--s3)}
.dh-patto h2{margin:0}
.dh-patto img{display:block;width:100%;height:auto;max-width:270px;margin-inline:auto}
body.ds-page .neve-main .dh .dh-patto img{width:100%!important;max-width:270px!important;height:auto!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}
@media (max-width:860px){.dh-patto{grid-template-columns:minmax(0,1fr);gap:var(--s4)}.dh-patto img{max-width:210px}}

/* l'elenco dei vantaggi sta su due colonne quando lo schermo lo permette */
.dh-win--due{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px var(--gap-col);margin:var(--s3) 0 0}
@media (max-width:760px){.dh-win--due{grid-template-columns:minmax(0,1fr)}}

/* ——— money page (deblattizzazione): listino a tre riquadri, intervento a quattro passi ——— */
.dh-listino{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap-card);align-items:start}
.dh-listino .dh-box dt{margin-top:2px;line-height:1.35}
#prezzi .dh-nota{margin-top:var(--s4)}
.dh-steps--quattro{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.dh-listino{grid-template-columns:repeat(2,minmax(0,1fr))}.dh-steps--quattro{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s4)}}
@media (max-width:760px){.dh-listino{grid-template-columns:minmax(0,1fr)}.dh-steps--quattro{grid-template-columns:minmax(0,1fr)}}

/* Il modulo di coda del plugin sta fuori da .dh: sulle pagine costruite va vestito come sulla home. */
body.ds-page .form-container{background:#fff8dc;padding-block:clamp(44px,5.5vw,72px);
 padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
body.ds-page .form-container .inside-form{max-width:720px;margin-inline:auto}
body.ds-page .form-container>.inside-form>p:first-child{font-family:'Sora',Arial,sans-serif!important;
 font-weight:700!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.18!important;color:#272626!important;
 margin:0 0 10px!important;text-align:center!important}
body.ds-page .form-container>.inside-form>p:nth-child(2){font-family:'Sora',Arial,sans-serif!important;
 font-weight:700!important;font-size:clamp(24px,3vw,32px)!important;line-height:1.18!important;color:#272626!important;
 margin:0 0 22px!important;text-align:center!important}
body.ds-page .form-richieste .submit-wrapper{margin-top:var(--s3)}

/* Nelle tessere «Dove interveniamo» una voce non ha una pagina a cui portare: stesso aspetto, nessun invito a cliccare. */
.dh-case--fermo{cursor:default}
.dh-case--fermo:hover{border-color:var(--line);box-shadow:none}

/* Il blocco pre-footer delle money: testo a sinistra su sette parti, pulsante a destra su tre.
   Il contenitore non ha un involucro attorno ai due titoli (la home invece ce l'ha, .cta-testo),
   quindi si colloca ogni pezzo nella griglia invece di affidarsi all'ordine. Si aggancia a
   dh-money e non a ds-page: la home porta tutte e due le classi e si riprenderebbe queste regole. */
body.dh-money .call-to-action{padding-block:clamp(28px,3.5vw,44px)}
body.dh-money .call-to-action .col-sm-12{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,3fr);
 gap:10px var(--gap-col);align-items:center;text-align:left}
body.dh-money .call-to-action .titolo1{grid-column:1;grid-row:1;margin:0}
body.dh-money .call-to-action .titolo2{grid-column:1;grid-row:2;margin:0}
body.dh-money .call-to-action .cta-azione{grid-column:2;grid-row:1 / span 2;margin:0!important;justify-self:end}
@media (max-width:860px){
 body.dh-money .call-to-action .col-sm-12{grid-template-columns:minmax(0,1fr)}
 body.dh-money .call-to-action .titolo1,body.dh-money .call-to-action .titolo2{grid-column:1}
 body.dh-money .call-to-action .cta-azione{grid-column:1;grid-row:auto;justify-self:stretch;margin-top:var(--s2)!important}
 body.dh-money .call-to-action .cta-btn{width:100%;justify-content:center}
}

/* La foto della hero delle money e' un tecnico in tuta bianca su legno scuro: col velo
   di serie sparisce. Si alza la resa e si porta la figura nel terzo destro, dove il velo e' piu' lieve. */
body.dh-money .dh-hero__bg{opacity:.66;object-position:76% 40%}
body.dh-money .dh-hero::after{background:linear-gradient(100deg,#1b1a19 0 28%,rgba(27,26,25,.88) 48%,rgba(27,26,25,.55) 100%)}
