/* Gestione Vincente — tema FOCUS.
   Stili dell'anteprima approvata (20/10/2026) con prefisso .gv, poi l'adattamento a Elementor (in fondo).
   I colori del Kit di Elementor (--e-global-color-*) sono gli stessi dell'anteprima. */
:root{--e-global-color-primary:#0F4D3A;   
  --e-global-color-secondary:#FFD84D; 
  --e-global-color-text:#14211B;      
  --e-global-color-accent:#E3EEE8;    
  --e-global-typography-primary-font-family:"Bricolage Grotesque";
  --e-global-typography-secondary-font-family:"Figtree";
  --paper:#F4F6F2; --surface:#FFFFFF; --ink:#14211B; --muted:#56675E; --line:#D7E0DA;
  --green:#0F4D3A; --on-green:#FFFFFF; --green-soft:#E3EEE8;
  --mark:#FFD84D; --mark-soft:rgba(255,216,77,.75); --on-mark:#14211B;
  --band:#0F3B2D; --on-band:#EEF4F0; --band-muted:#A9C2B6;
  --ok:#1E7A52; --shadow:0 18px 50px -24px rgba(15,59,45,.35);
  --f-display:"Bricolage Grotesque", "Arial Narrow", Arial, sans-serif;
  --f-body:"Figtree", "Segoe UI", Helvetica, Arial, sans-serif;
  --f-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  --wrap:1180px;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.gv{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
body.gv::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--paper)}
.gv a{color:inherit}
.gv h1,.gv h2,.gv h3{font-family:var(--f-display);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;margin:0}
.gv h1{font-size:clamp(2.3rem,5.4vw,4.3rem);font-weight:800}
.gv h2{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:700}
.gv h3{font-size:1.22rem;font-weight:700;letter-spacing:-.01em}
.gv p{margin:0}
.gv .wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media(min-width:700px){.gv .wrap{padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}}
.gv .sec{padding-block:clamp(56px,8vw,104px)}
.gv .eyebrow{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);font-weight:600}
.gv .lead{font-size:1.15rem;color:var(--muted);max-width:60ch}
.gv .hl{background:linear-gradient(transparent 55%,var(--mark-soft) 55%,var(--mark-soft) 92%,transparent 92%);padding:0 .08em}
.gv .stack{display:flex;flex-direction:column;gap:18px}
.gv .head{display:flex;flex-direction:column;gap:14px;max-width:760px;margin-bottom:44px}
.gv .ph{font-family:var(--f-mono);font-size:.85em;background:var(--green-soft);border:1px dashed var(--muted);padding:0 .35em;border-radius:4px;color:var(--ink)}
.gv .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-body);font-weight:700;font-size:1rem;padding:15px 24px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease, background .15s ease;flex-direction:row}
.gv .btn:hover{transform:translateY(-1px)}
.gv .btn:focus-visible,.gv a:focus-visible,.gv button:focus-visible,.gv input:focus-visible,.gv select:focus-visible,.gv textarea:focus-visible{outline:3px solid var(--mark);outline-offset:3px}
.gv .btn-main{background:var(--mark);color:var(--on-mark)}
.gv .btn-main:hover{background:#FFCE1F}
.gv .btn-green{background:var(--green);color:var(--on-green)}
.gv .btn-ghost{border-color:var(--line);color:var(--ink);background:transparent}
.gv .btn-ghost:hover{border-color:var(--ink)}
.gv .btn small{font-weight:500;opacity:.75}
.gv header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.gv .nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:74px;flex-direction:row}
.gv .logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-direction:row}
.gv .logo svg{flex:none}
.gv .logo b{font-family:var(--f-display);font-size:1.22rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.gv .logo span{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.gv .menu{display:flex;gap:28px;align-items:center;flex-direction:row}
.gv .menu a{text-decoration:none;font-weight:600;font-size:.96rem;color:var(--muted)}
.gv .menu a:hover,.gv .menu a.on{color:var(--ink)}
.gv .menu a.on{box-shadow:inset 0 -3px 0 var(--mark)}
.gv .nav .btn{padding:11px 18px;font-size:.92rem}
.gv .burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;color:var(--ink)}
@media(max-width:960px){.gv .menu{display:none;position:absolute;left:0;right:0;top:74px;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px max(16px,env(safe-area-inset-left,0px)) 18px}
.gv .menu.open{display:flex;flex-direction:row}
.gv .menu a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:1.05rem}
.gv .burger{display:inline-flex;align-items:center;justify-content:center;flex-direction:row}
.gv .nav .btn.cta-top{display:none}}
.gv .hero{padding-block:clamp(40px,6vw,84px) clamp(56px,7vw,96px)}
.gv .hero-grid{display:flex;gap:56px;align-items:center;flex-direction:row}
.gv .hero-txt{flex:1 1 55%;min-width:0;display:flex;flex-direction:column;gap:26px}
.gv .hero-doc{flex:1 1 45%;min-width:0}
.gv .hero-ctas{display:flex;flex-wrap:wrap;gap:12px;flex-direction:row}
.gv .ticks{display:flex;flex-wrap:wrap;gap:10px 22px;list-style:none;margin:0;padding:0;font-weight:600;font-size:.95rem;flex-direction:row}
.gv .ticks li{display:flex;gap:8px;align-items:center;flex-direction:row}
.gv .ticks svg{color:var(--ok);flex:none}
@media(max-width:900px){.gv .hero-grid{flex-direction:column;align-items:stretch;gap:40px}}
.gv .doc{background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:12px 12px 0 var(--green-soft),var(--shadow);padding:28px 28px 24px;font-family:var(--f-mono);font-size:.82rem;position:relative;transform:rotate(1.2deg);max-width:500px;margin-inline:auto}
.gv .doc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid var(--ink);padding-bottom:14px;margin-bottom:14px;flex-direction:row}
.gv .doc-h b{font-family:var(--f-display);font-size:1.15rem;letter-spacing:-.01em;display:block}
.gv .doc-tag{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--muted);color:var(--muted);padding:3px 7px;border-radius:3px;white-space:nowrap}
.gv .doc-meta{color:var(--muted);display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin-bottom:16px}
.gv .doc-meta span:nth-child(even){color:var(--ink)}
.gv .doc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.gv .doc li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);flex-direction:row}
.gv .doc li i{font-style:normal;color:var(--muted);white-space:nowrap}
.gv .doc li em{font-style:normal;color:var(--ok);font-weight:600;white-space:nowrap}
.gv .doc-tot{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:16px;flex-direction:row}
.gv .doc-tot span{color:var(--muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.1em}
.gv .doc-tot b{font-family:var(--f-display);font-size:1.7rem;letter-spacing:-.02em;background:var(--mark);color:var(--on-mark);padding:2px 10px;transform:rotate(-1.5deg);display:inline-block}
.gv .doc-sign{margin-top:18px;color:var(--muted);font-size:.7rem;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;flex-direction:row}
@media(max-width:480px){.gv .doc{padding:20px 18px;transform:none;box-shadow:var(--shadow)}}
.gv .facts{border-block:1px solid var(--line);background:var(--surface)}
.gv .facts-row{display:flex;flex-wrap:wrap;flex-direction:row}
.gv .fact{flex:1 1 25%;min-width:200px;padding:26px 22px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line)}
.gv .fact:last-child{border-right:0}
.gv .fact b{font-family:var(--f-display);font-size:2.2rem;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--green)}
.gv .fact span{color:var(--muted);font-size:.95rem}
@media(max-width:860px){.gv .fact{flex:1 1 50%;border-bottom:1px solid var(--line)}
.gv .fact:nth-child(2n){border-right:0}}
.gv .pains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.gv .pain{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:12px}
.gv .pain q{font-family:var(--f-display);font-size:1.2rem;font-weight:700;line-height:1.25;quotes:"“" "”";letter-spacing:-.01em}
.gv .pain p{color:var(--muted);font-size:.97rem}
@media(max-width:900px){.gv .pains{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gv .pains{grid-template-columns:1fr}}
.gv .band{background:var(--band);color:var(--on-band)}
.gv .band .eyebrow{color:var(--mark)}
.gv .band .lead{color:var(--band-muted)}
.gv .split{display:flex;gap:56px;align-items:flex-start;flex-direction:row}
.gv .split > *{flex:1 1 50%;min-width:0}
@media(max-width:860px){.gv .split{flex-direction:column;gap:32px}}
.gv .law{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(238,244,240,.2)}
.gv .law div:not(.elementor-widget){display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(238,244,240,.2);flex-direction:row}
.gv .law b{font-family:var(--f-mono);color:var(--mark);font-size:.82rem;min-width:118px;padding-top:3px;font-weight:600}
.gv .law p{color:var(--on-band)}
@media(max-width:480px){.gv .law div:not(.elementor-widget){flex-direction:column;gap:4px}}
.gv .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;counter-reset:s;position:relative}
.gv .step{padding:0 22px 0 0;display:flex;flex-direction:column;gap:12px;position:relative}
.gv .step-n{display:flex;align-items:center;gap:12px;flex-direction:row}
.gv .step-n b{width:46px;height:46px;border-radius:50%;background:var(--green);color:var(--on-green);display:grid;place-items:center;font-family:var(--f-display);font-size:1.2rem;flex:none}
.gv .step-n i{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 14px)}
.gv .step:last-child .step-n i{display:none}
.gv .step .when{font-family:var(--f-mono);font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.gv .step p{color:var(--muted);font-size:.98rem}
.gv .step.free .step-n b{background:var(--mark);color:var(--on-mark)}
@media(max-width:900px){.gv .steps{grid-template-columns:1fr 1fr;gap:36px 0}
.gv .step-n i{display:none}}
@media(max-width:560px){.gv .steps{grid-template-columns:1fr}}
.gv .areas{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.gv .area{background:var(--surface);padding:26px 22px;display:flex;flex-direction:column;gap:10px}
.gv .area svg{color:var(--green)}
.gv .area p{color:var(--muted);font-size:.95rem}
@media(max-width:960px){.gv .areas{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.gv .areas{grid-template-columns:1fr}}
.gv .duo{display:flex;gap:16px;flex-wrap:wrap;flex-direction:row}
.gv .duo > div:not(.elementor-widget){flex:1 1 300px;min-width:0;border-radius:16px;padding:28px;display:flex;flex-direction:column;gap:14px}
.gv .duo .them{background:var(--surface);border:1px solid var(--line)}
.gv .duo .us{background:var(--green-soft);border:1px solid var(--green)}
.gv .duo ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.gv .duo li{display:flex;gap:10px;flex-direction:row}
.gv .duo li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:2px;background:var(--green)}
.gv .duo .them li::before{background:var(--muted)}
.gv .tagline{font-family:var(--f-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.gv .fit{display:flex;gap:16px;flex-wrap:wrap;flex-direction:row}
.gv .fit > div:not(.elementor-widget){flex:1 1 320px;min-width:0;padding:28px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.gv .fit ul{margin:0;padding:0 0 0 0;list-style:none;display:flex;flex-direction:column;gap:10px}
.gv .fit li{display:flex;gap:10px;align-items:flex-start;flex-direction:row}
.gv .fit svg{flex:none;margin-top:4px}
.gv .yes svg{color:var(--ok)}
.gv .no svg{color:var(--muted)}
.gv .quiz{scroll-margin-top:96px;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.gv .quiz-top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 26px;border-bottom:1px solid var(--line);font-family:var(--f-mono);font-size:.8rem;color:var(--muted);flex-direction:row}
.gv .bar{flex:1;max-width:260px;height:6px;background:var(--green-soft);border-radius:9px;overflow:hidden}
.gv .bar i{display:block;height:100%;width:0;background:var(--green);transition:width .3s ease}
.gv .quiz-body{padding:30px 26px 32px;display:flex;flex-direction:column;gap:22px;min-height:300px}
.gv .quiz-q{font-family:var(--f-display);font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:700;letter-spacing:-.01em;line-height:1.2}
.gv .opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.gv .opts{grid-template-columns:1fr}}
.gv .opt{text-align:left;font:inherit;font-weight:600;padding:16px 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;display:flex;gap:12px;align-items:center;flex-direction:row}
.gv .opt:hover{border-color:var(--green)}
.gv .opt::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--muted);flex:none}
.gv .quiz-back{align-self:flex-start;background:none;border:0;color:var(--muted);font:inherit;font-size:.92rem;cursor:pointer;text-decoration:underline;padding:0}
.gv .res-n{font-family:var(--f-display);font-size:clamp(2.6rem,6vw,4rem);font-weight:800;line-height:1;color:var(--green)}
.gv .res-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.gv .res-list li{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;background:var(--paper);border-radius:10px;border:1px solid var(--line);flex-direction:row}
.gv .res-list li b{font-family:var(--f-mono);font-size:.78rem;background:var(--mark);color:var(--on-mark);padding:2px 7px;border-radius:4px;flex:none;margin-top:2px}
.gv .small{font-size:.88rem;color:var(--muted)}
.gv .cform{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.gv .cform{grid-template-columns:1fr}}
.gv .cform .full{grid-column:1/-1}
.gv .steps-dots{font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}
.gv .ann{background:var(--mark);color:var(--on-mark);font-size:.9rem;font-weight:600}
.gv .ann .wrap{display:flex;gap:6px 14px;align-items:center;justify-content:center;flex-wrap:wrap;padding-block:9px;text-align:center;flex-direction:row}
.gv .ann a{font-weight:800}
.gv .guar{display:flex;gap:44px;align-items:center;flex-direction:row}
.gv .seal{flex:none;width:210px;height:210px;border-radius:50%;background:var(--mark);color:var(--on-mark);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 0 0 8px var(--band),0 0 0 10px var(--mark);transform:rotate(-6deg);padding:20px}
.gv .seal small{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.gv .seal b{white-space:nowrap;font-family:var(--f-display);font-size:2.2rem;line-height:1;font-weight:800;letter-spacing:-.03em;margin:6px 0 4px}
.gv .seal span{font-weight:700;font-size:.95rem;line-height:1.2}
.gv .guar > div:not(.elementor-widget){min-width:0;display:flex;flex-direction:column;gap:16px}
@media(max-width:760px){.gv .guar{flex-direction:column;align-items:flex-start}
.gv .seal{width:170px;height:170px}
.gv .seal b{font-size:1.8rem}}
.gv .dead{display:flex;gap:40px;align-items:flex-start;flex-direction:row}
.gv .dead > *{min-width:0}
.gv .dead-l{flex:1 1 42%;display:flex;flex-direction:column;gap:16px}
.gv .dead-r{flex:1 1 58%;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gv .dead-r div:not(.elementor-widget){background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:6px}
.gv .dead-r p{color:var(--muted);font-size:.94rem}
.gv .count{display:flex;align-items:baseline;gap:10px;flex-direction:row}
.gv .count b{font-family:var(--f-display);font-size:4.2rem;line-height:.9;font-weight:800;color:var(--green);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
@media(max-width:860px){.gv .dead{flex-direction:column}
.gv .dead-r{grid-template-columns:1fr}}
.gv .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;flex-direction:row}
.gv .filters button{font:inherit;font-weight:600;font-size:.92rem;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.gv .filters button[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--on-green)}
.gv .cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.gv .cases{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gv .cases{grid-template-columns:1fr}}
.gv .case{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.gv .case-top{display:flex;justify-content:space-between;gap:10px;font-family:var(--f-mono);font-size:.74rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex-direction:row}
.gv .case-top b{color:var(--green)}
.gv .case h3{font-size:1.15rem}
.gv .case p{color:var(--muted);font-size:.95rem}
.gv .case .tags{display:flex;flex-wrap:wrap;gap:6px;flex-direction:row}
.gv .case .tags span{font-size:.78rem;font-weight:600;background:var(--green-soft);color:var(--ink);padding:4px 9px;border-radius:999px}
.gv .case-sav{margin-top:auto;border-top:1px dashed var(--line);padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-direction:row}
.gv .case-sav span{font-size:.8rem;color:var(--muted)}
.gv .case-sav b{font-family:var(--f-display);font-size:1.5rem;font-weight:800;background:var(--mark);color:var(--on-mark);padding:0 8px;font-variant-numeric:tabular-nums}
.gv .disc{font-size:.85rem;color:var(--muted);margin-top:18px}
.gv .revs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.gv .revs{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gv .revs{grid-template-columns:1fr}}
.gv .rev{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.gv .stars{color:#E0A800;letter-spacing:2px;font-size:1rem}
.gv .rev blockquote{margin:0;font-family:var(--f-display);font-size:1.08rem;font-weight:600;line-height:1.35;letter-spacing:-.01em}
.gv .rev figcaption{display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:var(--muted)}
.gv .rev figcaption b{color:var(--ink)}
.gv .team{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gv .pro{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.gv .pro-img{aspect-ratio:4/4.2;max-width:100%;background:
  radial-gradient(circle at 50% 38%,var(--green) 0 18%,transparent 18.5%),
  radial-gradient(ellipse at 50% 100%,var(--green) 0 38%,transparent 38.5%),
  var(--green-soft);opacity:.9;display:flex;align-items:flex-end;justify-content:center;padding:12px;flex-direction:row}
.gv .pro-img span{font-family:var(--f-mono);font-size:.7rem;background:var(--surface);padding:3px 8px;border-radius:4px;color:var(--muted)}
.gv .pro-txt{padding:20px;display:flex;flex-direction:column;gap:8px}
.gv .pro-txt .role{font-family:var(--f-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--green);font-weight:600}
.gv .pro-txt p{color:var(--muted);font-size:.94rem}
@media(max-width:960px){.gv .team{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.gv .team{grid-template-columns:1fr}}
.gv .founder{display:flex;gap:28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;margin-top:16px;flex-direction:row}
.gv .founder .av{width:96px;height:96px;border-radius:50%;flex:none;background:var(--mark);color:var(--on-mark);display:grid;place-items:center;font-family:var(--f-display);font-size:2rem;font-weight:800}
.gv .founder div:not(.elementor-widget){min-width:0;display:flex;flex-direction:column;gap:8px}
@media(max-width:600px){.gv .founder{flex-direction:column;align-items:flex-start}}
.gv .faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:860px}
.gv .faq details{border-bottom:1px solid var(--line)}
.gv .faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--f-display);font-size:1.18rem;font-weight:700;position:relative;letter-spacing:-.01em}
.gv .faq summary::-webkit-details-marker{display:none}
.gv .faq summary::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.7rem;font-weight:500;color:var(--green);transition:transform .2s}
.gv .faq details[open] summary::after{transform:rotate(45deg)}
.gv .faq details > div:not(.elementor-widget){padding:0 0 24px;color:var(--muted);max-width:68ch;display:flex;flex-direction:column;gap:10px}
.gv .final{display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap;flex-direction:row}
.gv .final > div:not(.elementor-widget){flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:16px}
.gv .final .btn{flex:none}
.gv .book{display:flex;gap:48px;align-items:flex-start;flex-direction:row}
.gv .book > *{min-width:0}
.gv .book-side{flex:1 1 38%;display:flex;flex-direction:column;gap:22px;position:sticky;top:100px}
.gv .book-form{flex:1 1 62%}
@media(max-width:900px){.gv .book{flex-direction:column}
.gv .book-side{position:static}}
.gv form.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:18px;box-shadow:var(--shadow)}
@media(max-width:600px){.gv form.card{grid-template-columns:1fr;padding:22px}}
.gv .f{display:flex;flex-direction:column;gap:6px;min-width:0}
.gv .f.full{grid-column:1/-1}
.gv .f label,.gv .f legend{font-weight:600;font-size:.92rem}
.gv .f input,.gv .f select,.gv .f textarea{font:inherit;font-size:1rem;padding:13px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);width:100%}
.gv .f input:focus,.gv .f select:focus,.gv .f textarea:focus{border-color:var(--green);outline:none}
.gv .f textarea{min-height:96px;resize:vertical}
.gv .chips{display:flex;flex-wrap:wrap;gap:8px;flex-direction:row}
.gv .chips label{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;background:var(--paper);flex-direction:row}
.gv .chips input{accent-color:var(--green);width:auto}
.gv fieldset{border:0;padding:0;margin:0}
.gv .check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--muted);flex-direction:row}
.gv .check input{width:18px;height:18px;accent-color:var(--green);margin-top:3px;flex:none}
.gv .err{color:#C0392B;font-size:.85rem;font-weight:600}
.gv .ok-box{grid-column:1/-1;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.gv .ok-box .ic{width:56px;height:56px;border-radius:50%;background:var(--mark);color:var(--on-mark);display:grid;place-items:center}
.gv .list-num{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.gv .list-num li{display:flex;gap:14px;flex-direction:row}
.gv .list-num li b{width:30px;height:30px;border-radius:50%;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-family:var(--f-display);flex:none}
.gv .phase{display:flex;gap:40px;padding-block:44px;border-top:1px solid var(--line);flex-direction:row}
.gv .phase:first-child{border-top:0;padding-top:0}
.gv .phase-l{flex:0 0 32%;min-width:0;display:flex;flex-direction:column;gap:10px}
.gv .phase-l .big{font-family:var(--f-display);font-size:4rem;line-height:.9;font-weight:800;color:var(--green);letter-spacing:-.04em}
.gv .phase-r{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:16px}
.gv .phase-r ul{margin:0;padding-left:1.1em;display:flex;flex-direction:column;gap:6px;color:var(--muted)}
.gv .note{background:var(--green-soft);border-radius:12px;padding:16px 18px;font-size:.95rem}
@media(max-width:800px){.gv .phase{flex-direction:column;gap:18px}}
.gv .page-hero{padding-block:clamp(44px,6vw,80px) 8px}
.gv .page-hero .head{margin-bottom:0}
.gv footer{background:var(--band);color:var(--band-muted);padding-block:56px 28px;font-size:.93rem;padding-bottom:calc(28px + env(safe-area-inset-bottom,0px))}
.gv .foot{display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between;flex-direction:row}
.gv .foot > div:not(.elementor-widget){flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:10px}
.gv .foot b{color:var(--on-band);font-family:var(--f-display);font-size:1.05rem}
.gv .foot a{text-decoration:none;color:var(--band-muted)}
.gv .foot a:hover{color:var(--on-band)}
.gv .foot .logo b,.gv .foot .logo{color:var(--on-band)}
.gv .legal{border-top:1px solid rgba(238,244,240,.15);margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.8rem;flex-direction:row}
.gv .logo b,.gv .btn{white-space:nowrap}
.gv .ann .short{display:none}
@media(max-width:600px){.gv .nav{height:64px;gap:12px}
.gv .logo svg{width:34px;height:34px}
.gv .logo b{font-size:1.05rem}
.gv .logo span{display:none}
.gv .nav .btn{padding:10px 14px;font-size:.86rem}
.gv .menu{top:64px}
.gv .ann{font-size:.82rem}
.gv .ann .wrap{padding-block:7px}
.gv .ann .long{display:none}
.gv .ann .short{display:inline}}
@media(max-width:400px){.gv .nav .btn{padding:9px 12px;font-size:.8rem}
.gv .logo{gap:8px}
.gv .logo svg{width:30px;height:30px}
.gv .logo b{font-size:.98rem}}
.gv .mbar{display:none}
@media(max-width:700px){.gv .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px max(16px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:var(--surface);border-top:1px solid var(--line);flex-direction:row}
.gv .mbar .btn{flex:1}
.gv footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}
@keyframes in{from{opacity:.0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* ---------- landing call gratuita ---------- */
.gv-landing .lhero{padding-block:clamp(28px,4vw,56px) clamp(48px,6vw,80px)}
.gv-landing .lgrid{display:flex;gap:48px;align-items:flex-start;flex-direction:row}
.gv-landing .lgrid > *{min-width:0}
.gv-landing .ltxt{flex:1 1 50%;display:flex;flex-direction:column;gap:22px;padding-top:12px}
.gv-landing .lform{flex:1 1 50%}
@media(max-width:900px){.gv-landing .lgrid{flex-direction:column;gap:28px}}
.gv-landing .mini-seal{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;flex-direction:row}
.gv-landing .mini-seal i{flex:none;width:58px;height:58px;border-radius:50%;background:var(--mark);color:var(--on-mark);display:grid;place-items:center;font-style:normal;font-family:var(--f-display);font-weight:800;font-size:.95rem;transform:rotate(-8deg)}
.gv-landing .cases.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.gv-landing .cases.three{grid-template-columns:1fr}}
/* ---------- calcolatore ---------- */
@keyframes in{from{opacity:.0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.gv-calc .lhero{padding-block:clamp(28px,4vw,56px) clamp(48px,6vw,80px)}
.gv-calc .lgrid{display:flex;gap:48px;align-items:flex-start;flex-direction:row}
.gv-calc .lgrid > *{min-width:0}
.gv-calc .ltxt{flex:1 1 44%;display:flex;flex-direction:column;gap:22px;padding-top:12px}
.gv-calc .lform{flex:1 1 56%;scroll-margin-top:96px}
@media(max-width:900px){.gv-calc .lgrid{flex-direction:column;gap:28px}
.gv-calc .ltxt{padding-top:0}}
.gv-calc .mini-seal{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;flex-direction:row}
.gv-calc .mini-seal i{flex:none;width:58px;height:58px;border-radius:50%;background:var(--mark);color:var(--on-mark);display:grid;place-items:center;font-style:normal;font-family:var(--f-display);font-weight:800;font-size:.95rem;transform:rotate(-8deg)}
.gv-calc .cases.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.gv-calc .cases.three{grid-template-columns:1fr}}
.gv-calc .opt[aria-pressed="true"]{border-color:var(--green);background:var(--green-soft)}
.gv-calc .opt[aria-pressed="true"]::before{background:var(--green);border-color:var(--green);box-shadow:inset 0 0 0 3px var(--paper)}
.gv-calc .opt.chk::before{border-radius:5px}
.gv-calc .btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.gv-calc .quiz-body > .btn{align-self:flex-start}
.gv-calc .rng{display:flex;flex-direction:column;gap:14px}
.gv-calc .rng output{font-family:var(--f-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800;color:var(--green);letter-spacing:-.02em;line-height:1.1}
.gv-calc .rng input{width:100%;accent-color:var(--green);height:34px;cursor:pointer}
.gv-calc .rng-ends{display:flex;justify-content:space-between;font-family:var(--f-mono);font-size:.75rem;color:var(--muted);flex-direction:row}
.gv-calc .lock li{align-items:center}
.gv-calc .lock li span{flex:1;min-width:0}
.gv-calc .lock em{font-style:normal;font-family:var(--f-display);font-weight:800;filter:blur(6px);user-select:none;color:var(--green);flex:none}
.gv-calc .res-lab{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.gv-calc .res .res-n{font-size:clamp(2.1rem,5vw,3.2rem);margin-top:6px;letter-spacing:-.03em}
.gv-calc .note{background:var(--paper);border-left:4px solid var(--mark);padding:12px 14px;border-radius:6px;font-size:.95rem}
.gv-calc .bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.gv-calc .bars div:not(.elementor-widget){display:flex;justify-content:space-between;gap:12px;font-size:.95rem;flex-wrap:wrap;flex-direction:row}
.gv-calc .bars span{font-family:var(--f-mono);font-size:.85rem;color:var(--muted);white-space:nowrap}
.gv-calc .bars i{display:block;height:10px;border-radius:9px;background:var(--green-soft);margin-top:6px;overflow:hidden}
.gv-calc .bars i b{display:block;height:100%;background:var(--green);border-radius:9px}
.gv-calc .how{border-top:1px solid var(--line);padding-top:12px}
.gv-calc .how summary{cursor:pointer;font-weight:700;font-size:.95rem}
.gv-calc .how div:not(.elementor-widget){display:flex;flex-direction:column;gap:8px;margin-top:10px;font-size:.9rem;color:var(--muted)}
.gv-calc .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:860px){.gv-calc .trio{grid-template-columns:1fr}}
.gv-calc .trio div:not(.elementor-widget){background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px}
.gv-calc .trio b{font-family:var(--f-mono);font-size:.78rem;color:var(--green);letter-spacing:.08em;text-transform:uppercase}
.gv-calc .trio p{color:var(--muted);font-size:.95rem}
@media(max-width:400px){.gv-calc .logo b{font-size:1.05rem}
.gv-calc .logo svg{width:30px;height:30px}
.gv-calc .nav .btn{padding:10px 14px;font-size:.86rem}}
.gv-calc .nav .bs{display:none}
@media(max-width:420px){.gv-calc .nav .bl{display:none}
.gv-calc .nav .bs{display:inline}}
/* =====================================================================
   ADATTAMENTO A ELEMENTOR E AL TEMA
   Le regole sopra sono quelle dell'anteprima HTML (prefisso .gv).
   Qui sotto: come i widget di Elementor prendono gli stessi stili.
   ===================================================================== */

/* ---------- Colori del Kit di Elementor = colori dell'anteprima ---------- */
body.gv{--green:var(--e-global-color-primary,#0F4D3A);--mark:var(--e-global-color-secondary,#FFD84D);--ink:var(--e-global-color-text,#14211B);--green-soft:var(--e-global-color-accent,#E3EEE8)}

/* ---------- Contenitori e widget: niente spaziature di default ---------- */
body.gv{margin:0;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;--kit-widget-spacing:0px}
.gv .e-con{--row-gap:0px;--column-gap:0px;--gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--min-height:0;--width:auto;--flex-wrap:nowrap}
.gv .e-con.wrap{width:100%}
.gv .elementor-element{min-width:0}
.gv .elementor-widget:not(:last-child){margin-block-end:0}
.gv .elementor-widget-container{margin:0;padding:0}
/* i widget Testo non aggiungono margini: i figli si comportano come nell'anteprima */
.gv .elementor-widget-text-editor{display:flex;flex-direction:column;color:inherit;font-family:inherit;font-size:inherit;line-height:inherit}
.gv .elementor-widget-heading .elementor-heading-title{font:inherit;color:inherit;line-height:inherit;letter-spacing:inherit}
.gv .elementor-widget-heading :is(h1,h2,h3).elementor-heading-title{font-family:var(--f-display);line-height:1.08;letter-spacing:-.02em;text-wrap:balance;margin:0;color:inherit}
.gv .elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.3rem,5.4vw,4.3rem);font-weight:800}
.gv .elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:700}
.gv .elementor-widget-heading h3.elementor-heading-title{font-size:1.22rem;font-weight:700;letter-spacing:-.01em}
.gv .case .elementor-widget-heading h3.elementor-heading-title{font-size:1.15rem}
.gv .gv-ico{line-height:0}
.gv .gv-ico svg{display:block}
.gv a{color:inherit}
.gv .ph{white-space:normal}

/* ---------- Pulsanti (widget Pulsante con classi "gvb gvb-main|gvb-green|gvb-ghost", freccia "gvb-arrow") ---------- */
.gv .gvb{max-width:100%}
.gv .gvb .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-body);font-weight:700;font-size:1rem;line-height:1.6;padding:15px 24px;border-radius:999px;border:2px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s ease,background .15s ease;white-space:nowrap;box-shadow:none;fill:currentColor}
.gv .gvb .elementor-button:hover{transform:translateY(-1px)}
.gv .gvb .elementor-button:focus-visible{outline:3px solid var(--mark);outline-offset:3px}
.gv .gvb-main .elementor-button{background:var(--mark);color:var(--on-mark)}
.gv .gvb-main .elementor-button:hover{background:#FFCE1F;color:var(--on-mark)}
.gv .gvb-green .elementor-button{background:var(--green);color:var(--on-green)}
.gv .gvb-green .elementor-button:hover{color:var(--on-green)}
.gv .gvb-ghost .elementor-button{border-color:var(--line);color:var(--ink);background:transparent}
.gv .gvb-ghost .elementor-button:hover{border-color:var(--ink);color:var(--ink)}
.gv .gvb .elementor-button-content-wrapper{display:inline-flex;align-items:center;gap:10px;flex-direction:row}
.gv .gvb-arrow .elementor-button-text::after{content:"";display:inline-block;width:18px;height:18px;margin-left:10px;vertical-align:-3px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5l5 5-5 5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10h11M11 5l5 5-5 5' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.gv .final > .gvb{flex:none}

/* ---------- Domande frequenti (Accordion annidato di Elementor) ---------- */
.gv .faq .e-n-accordion{display:flex;flex-direction:column;gap:0}
.gv .faq .e-n-accordion-item{border:0;border-bottom:1px solid var(--line);margin:0;background:none}
.gv .faq .e-n-accordion-item-title{list-style:none;cursor:pointer;padding:22px 44px 22px 0;font-family:var(--f-display);font-size:1.18rem;font-weight:700;position:relative;letter-spacing:-.01em;border:0;background:none;color:var(--ink);display:block;line-height:1.6}
.gv .faq .e-n-accordion-item[open] > .e-n-accordion-item-title,.gv .faq .e-n-accordion-item-title:hover{color:var(--ink);background:none}
.gv .faq .e-n-accordion-item-title::-webkit-details-marker{display:none}
.gv .faq .e-n-accordion-item-title-header,.gv .faq .e-n-accordion-item-title-text{font:inherit;color:inherit;letter-spacing:inherit}
.gv .faq .e-n-accordion-item-title-icon{display:none}
.gv .faq .e-n-accordion-item-title::after{content:"+";position:absolute;right:6px;top:16px;font-size:1.7rem;font-weight:500;color:var(--green);transition:transform .2s;font-family:var(--f-display)}
.gv .faq .e-n-accordion-item[open] > .e-n-accordion-item-title::after{transform:rotate(45deg)}
.gv .faq .e-n-accordion-item > [role=region]{padding:0 0 24px;color:var(--muted);max-width:68ch;display:flex;flex-direction:column;gap:10px;border:0}
.gv .faq .e-n-accordion-item > [role=region] .e-con{padding:0;border:0}

/* ---------- Successi: Loop Grid (classe "cases") e Filtro per tassonomia (classe "filters") ---------- */
.gv .cases.elementor-widget-loop-grid{display:block}
.gv .cases .elementor-loop-container{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:960px){.gv .cases .elementor-loop-container{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gv .cases .elementor-loop-container{grid-template-columns:1fr}}
.gv-landing .cases.three .elementor-loop-container,.gv-calc .cases.three .elementor-loop-container{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.gv-landing .cases.three .elementor-loop-container,.gv-calc .cases.three .elementor-loop-container{grid-template-columns:1fr}}
.gv .cases .e-loop-item{height:100%}
.gv .cases .e-loop-item > .e-con.case{height:100%}
.gv .case > .elementor-widget:last-child{margin-top:auto}
.gv .case-top .elementor-widget-text-editor{display:block}
.gv .case-top b{overflow-wrap:normal;word-break:normal}
.gv .case-sav .elementor-widget-text-editor{display:block}
.gv .case .tags span{display:inline-block}
.gv .case p.small{margin-top:-6px}
.gv .filters.elementor-widget-taxonomy-filter{margin-bottom:24px}
.gv .filters .e-filter{display:flex;flex-wrap:wrap!important;gap:8px;justify-content:flex-start;--e-filter-item-gap:8px;--e-filter-wrap:wrap;overflow:visible;white-space:normal;flex:1 1 100%;width:100%;min-width:0}
.gv .filters .e-filter-item{flex:0 0 auto;white-space:nowrap}
.gv .filters .e-filter-item{font:inherit;font-weight:600;font-size:.92rem;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;line-height:1.6;text-transform:none;letter-spacing:0}
.gv .filters .e-filter-item:hover{background:var(--surface);color:var(--ink)}
.gv .filters .e-filter-item[aria-pressed="true"]{background:var(--green);border-color:var(--green);color:var(--on-green)}

/* ---------- Percorso "Richiedi la call" e contatti del calcolatore (Form di Elementor Pro) ---------- */
.gv .gv-call .elementor-widget-form,.gv .gv-calcform{width:100%}
.gv .gv-call .elementor-form{padding:30px 26px 32px;min-height:300px}
.gv .gv-call .elementor-form-fields-wrapper,.gv .gv-calcform .elementor-form-fields-wrapper{margin:0!important;display:block}
.gv .gv-call .e-form__indicators,.gv .gv-calcform .e-form__indicators{display:none}
.gv .gv-call .e-form__step{display:flex;flex-direction:column;gap:22px}
.gv .gv-call .e-form__step.elementor-hidden,.gv .gv-calcform .elementor-hidden{display:none}
.gv .gv-call .elementor-field-group,.gv .gv-calcform .elementor-field-group{padding:0!important;margin:0!important;width:100%;max-width:none;flex:none;display:flex;flex-direction:column;flex-wrap:nowrap;gap:6px;min-width:0;align-self:start}
.gv :is(.gv-call,.gv-calcform) .elementor-field-group > *{flex:none;flex-basis:auto;width:100%;max-width:none}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-acceptance > .elementor-field-label{display:none}
/* domanda a scelta: titolo grande + risposte come pulsanti */
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) > .elementor-field-label{font-family:var(--f-display);font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--ink);padding:0;margin:0 0 16px}
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-subgroup{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:600px){.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-subgroup{grid-template-columns:1fr}}
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-option{position:relative;display:flex;margin:0;padding:0;width:auto;max-width:none;flex-basis:auto}
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-option label{width:100%;text-align:left;font:inherit;font-weight:600;padding:16px 18px;border-radius:12px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;display:flex;gap:12px;align-items:center;margin:0;line-height:1.6}
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-option label::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--muted);flex:none;box-sizing:border-box}
.gv .gv-call .elementor-field-type-radio:not(.elementor-field-group-quando) .elementor-field-option label:hover,.gv .gv-call .elementor-field-option input:checked + label{border-color:var(--green)}
.gv .gv-call .elementor-field-option input:focus-visible + label{outline:3px solid var(--mark);outline-offset:3px}
/* pulsante "Avanti" nascosto: si passa alla domanda dopo scegliendo la risposta (alla prima domanda non resta nessun pulsante) */
.gv .gv-call .e-form__buttons:not(:has(.e-form__buttons__wrapper__button-previous)){display:none}
.gv .gv-call .e-form__step:not(:last-of-type) .e-form__buttons__wrapper.elementor-field-type-next{display:none}
.gv .gv-call .e-form__buttons,.gv .gv-calcform .e-form__buttons{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding:0!important;margin:0!important;width:100%}
.gv .gv-call .e-form__buttons__wrapper,.gv .gv-calcform .e-form__buttons__wrapper,.gv .gv-call .elementor-field-type-submit,.gv .gv-calcform .elementor-field-type-submit{padding:0!important;margin:0!important;width:auto;flex:none!important;max-width:none!important}
.gv .gv-call .e-form__step .e-form__buttons .elementor-field-type-submit,.gv .gv-calcform .elementor-field-type-submit{order:1}
.gv .gv-call .e-form__buttons__wrapper.elementor-field-type-previous{order:2}
.gv .gv-call .e-form__buttons__wrapper__button-previous{background:none!important;border:0!important;color:var(--muted)!important;font:inherit;font-size:.92rem;cursor:pointer;text-decoration:underline;padding:0!important;min-height:0;box-shadow:none;line-height:1.6;border-radius:0}
/* contatti: due colonne come nell'anteprima */
.gv .gv-call .e-form__step:last-of-type:not(.elementor-hidden),.gv .gv-calcform .elementor-form-fields-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gv .gv-call .e-form__step:last-of-type > *,.gv .gv-calcform .elementor-form-fields-wrapper > *{grid-column:1/-1}
.gv .gv-call .e-form__step:last-of-type > .elementor-col-50,.gv .gv-calcform .elementor-form-fields-wrapper > .elementor-col-50{grid-column:auto}
.gv .gv-call .e-form__step:last-of-type > .e-form__buttons{margin-top:6px!important}
@media(max-width:600px){.gv .gv-call .e-form__step:last-of-type:not(.elementor-hidden),.gv .gv-calcform .elementor-form-fields-wrapper{grid-template-columns:1fr}.gv .gv-call .e-form__step:last-of-type > .elementor-col-50,.gv .gv-calcform .elementor-form-fields-wrapper > .elementor-col-50{grid-column:1/-1}}
.gv .gv-call .elementor-field-type-html,.gv .gv-calcform .elementor-field-type-html{display:block}
.gv :is(.gv-call,.gv-calcform) .elementor-field-label,.gv :is(.gv-call,.gv-calcform) .elementor-field-group-quando > .elementor-field-label{font-weight:600;font-size:.92rem;color:var(--ink);padding:0;margin:0;line-height:1.6}
.gv :is(.gv-call,.gv-calcform) .elementor-field-textual{font:inherit;font-size:1rem;padding:13px 14px;border-radius:10px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);width:100%;min-height:0;line-height:1.6;box-shadow:none}
.gv :is(.gv-call,.gv-calcform) .elementor-field-textual:focus{border-color:var(--green);outline:none;box-shadow:none}
.gv :is(.gv-call,.gv-calcform) .elementor-field-textual::placeholder{color:var(--muted);opacity:.8}
/* fascia oraria: pillole */
.gv :is(.gv-call,.gv-calcform) .elementor-field-group-quando .elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:8px}
.gv :is(.gv-call,.gv-calcform) .elementor-field-group-quando .elementor-field-option{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;font-weight:600;font-size:.92rem;cursor:pointer;background:var(--paper);margin:0;position:relative}
.gv :is(.gv-call,.gv-calcform) .elementor-field-group-quando .elementor-field-option input{accent-color:var(--green);width:auto;margin:0}
.gv :is(.gv-call,.gv-calcform) .elementor-field-group-quando .elementor-field-option label{cursor:pointer;margin:0;font:inherit}
.gv :is(.gv-call,.gv-calcform) .elementor-field-group-quando .elementor-field-option label::after{content:"";position:absolute;inset:0}
/* consensi */
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-acceptance .elementor-field-subgroup{display:block}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-acceptance .elementor-field-option{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--muted);margin:0}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-acceptance input{width:18px;height:18px;accent-color:var(--green);margin:3px 0 0;flex:none}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-acceptance label{font:inherit;color:inherit;margin:0;line-height:1.6}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-acceptance a{color:var(--ink)}
/* invio */
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-submit .elementor-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--f-body);font-weight:700;font-size:1rem;padding:15px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;background:var(--mark)!important;color:var(--on-mark)!important;line-height:1.6;min-height:0;white-space:nowrap}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-submit .elementor-button:hover{background:#FFCE1F!important;transform:translateY(-1px)}
.gv :is(.gv-call,.gv-calcform) .elementor-field-type-hidden,.gv :is(.gv-call,.gv-calcform) .elementor-field-type-honeypot{display:none}
.gv :is(.gv-call,.gv-calcform) .err{color:#C0392B;font-size:.85rem;font-weight:600;grid-column:1/-1;margin:0}
.gv :is(.gv-call,.gv-calcform) .elementor-message{font-size:.88rem;font-weight:600;margin-top:10px}
.gv :is(.gv-call,.gv-calcform) .elementor-message-danger,.gv :is(.gv-call,.gv-calcform) span.elementor-message{color:#C0392B}
.gv :is(.gv-call,.gv-calcform) .elementor-error .elementor-field-textual{border-color:#C0392B}
.gv .gv-call .gv-note{margin:0;grid-column:1/-1}
/* prima dell'avvio di Elementor si vede solo la prima domanda (niente salti) */
.gv .gv-call form:not([data-gv]) .elementor-field-group:not(.elementor-field-group-d1){display:none}
/* calcolatore: il modulo dei contatti compare solo all'ultimo passo, dentro la card */
.gv-calc .gv-calcform{display:none}
.gv-calc .gv-calcform.is-on{display:block}
.gv-calc .gv-calcform .elementor-form{padding:0}

/* ---------- Varie ---------- */
.gv .skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--green);color:#fff;padding:10px 16px;border-radius:0 0 12px 0}
.gv .skip:focus{left:0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.admin-bar.gv header.top{top:32px}
@media (max-width:782px){.admin-bar.gv header.top{top:46px}}
.gv main{display:block}
.gv .menu a.on{color:var(--ink)}
.gv .prose{max-width:760px;display:flex;flex-direction:column;gap:14px}
.gv .prose h2{font-size:1.5rem;margin-top:14px}
.gv .prose ul{margin:0;padding-left:1.2em}
.gv #cosa-analizziamo,.gv #test{scroll-margin-top:80px}

/* ---------- Banner cookie (tema) ---------- */
.gv .ck{position:fixed;z-index:80;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px;max-width:560px;margin-inline:auto;font-size:.95rem}
.gv .ck[hidden]{display:none}
@media(max-width:700px){.gv .ck{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
@media(min-width:1100px){.gv .ck{left:24px;right:auto;bottom:24px;margin:0}}
.gv .ck-title{font-family:var(--f-display);font-weight:700;font-size:1.15rem;line-height:1.25;padding-right:28px}
.gv .ck-txt{color:var(--muted);font-size:.88rem;line-height:1.6}
.gv .ck-txt a{color:var(--ink);font-weight:600}
.gv .ck-prefs{display:flex;flex-direction:column;gap:10px}
.gv .ck-btns{display:flex;flex-wrap:wrap;gap:8px}
.gv .ck-btns .btn{flex:1 1 auto;padding:10px 16px;font-size:.92rem}
.gv .ck-x{position:absolute;top:10px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:var(--green-soft);color:var(--green);font-size:22px;line-height:1;cursor:pointer}
.gv .ck [hidden],.gv .ck[hidden]{display:none!important}
