/* ===== Mega menu + pagina prodotto (si carica dopo site.css) ===== */

/* header: voci a pillola, come nel Figma */
.hdr .wrap{gap:60px}
.nav{gap:16px}
.nav>a,.nav>.has-mm>a.top{height:48px;padding:0 16px;border-radius:999px;display:flex;align-items:center;gap:8px;white-space:nowrap}
.nav .has-mm{position:relative}
.nav .has-mm>a.top svg{transition:transform .15s}
.nav .has-mm:hover>a.top,.nav .has-mm:focus-within>a.top,.nav .has-mm.open>a.top{background:rgba(48,126,130,.15);color:var(--teal-700)}
.nav .has-mm:hover>a.top svg,.nav .has-mm:focus-within>a.top svg,.nav .has-mm.open>a.top svg{transform:rotate(180deg)}
.nav>a:hover{color:var(--teal-700)}

/* pannello */
.mm{display:none;position:absolute;left:0;top:100%;padding-top:32px;z-index:30}
.nav .has-mm:hover .mm,.nav .has-mm:focus-within .mm,.nav .has-mm.open .mm{display:block}
.mm .box{width:900px;background:#fbfbfc;border-radius:var(--r-xl);box-shadow:0 24px 64px rgba(20,40,45,.16),0 2px 6px rgba(20,40,45,.06);overflow:hidden;font-family:'Inter',Arial,sans-serif;font-weight:400}
.mm .cols{display:grid;grid-template-columns:repeat(3,268px);gap:24px;padding:24px 24px 28px}
.mm .eb{display:block;padding:0 16px;height:32px;line-height:32px;margin-top:8px;text-transform:uppercase;color:var(--muted);font-size:var(--fs-lm);letter-spacing:var(--ls-caps);font-weight:var(--fw-caps)}
.mm .cols a{display:flex;align-items:center;gap:12px;height:40px;padding:0 16px;border-radius:999px;color:var(--ink-2);margin-top:4px;white-space:nowrap;font-size:var(--fs-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.mm .cols a.hd{font-family:'Manrope',Arial,sans-serif;color:var(--ink-2);margin-top:8px;font-size:var(--fs-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.mm .cols a svg{width:18px;height:18px;color:var(--ink-2);stroke-width:1.7}
.mm .cols a:hover,.mm .cols a:focus-visible{background:#dde9e8;color:var(--ink)}
.mm .foot{background:#eceef2;height:72px;display:flex;align-items:center;padding:0 50px;gap:24px}
.mm .foot a{display:flex;align-items:center;gap:12px;color:var(--teal-700);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.mm .foot a:hover{font-weight:600}
.mm .foot a svg{width:18px;height:18px}
.mm .foot i{width:1px;height:28px;background:#cfd5d9}
.hdr:has(.has-mm:hover,.has-mm:focus-within,.has-mm.open){background:rgba(246,248,248,.82);backdrop-filter:blur(10px)}
.hdr:has(.has-mm:hover,.has-mm:focus-within,.has-mm.open)::after{content:"";position:fixed;left:0;right:0;top:80px;bottom:0;background:rgba(40,52,58,.16);backdrop-filter:blur(3px);z-index:-1;pointer-events:none}

/* hero prodotto */
.phero{position:relative;height:1080px;overflow:hidden;background:linear-gradient(180deg,#f6f8f8 0,#f5f8f8 52%,#e4eeee 78%,#cde0e1 100%)}
.phero .r1{position:absolute;width:1400px;height:1400px;left:872px;top:-460px;border-radius:50%;border:130px solid rgba(185,210,213,.32)}
.phero .r2{position:absolute;width:1400px;height:1400px;left:1000px;top:800px;border-radius:50%;border:100px solid rgba(165,200,203,.32)}
.phero .wrap{display:grid;grid-template-columns:700px 662px;justify-content:space-between;padding-top:255px}
.phero .l{margin-top:102px;display:flex;flex-direction:column;align-items:flex-start}
.phero .tag{height:38px;font-size:var(--fs-ll)}
.phero h1{margin-top:24px;font-size:var(--fs-dl);line-height:var(--lh-dl);letter-spacing:var(--ls-dl);font-weight:var(--fw-dl)}
.phero .sub{margin-top:36px;color:var(--ink-2);font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.phero .btns{display:flex;gap:24px;margin-top:54px}
.phero .btns .btn-out{background:rgba(255,255,255,.5);box-shadow:0 2px 6px rgba(0,0,0,.06)}
.phero .ph{height:650px;border-radius:var(--r-xl);overflow:hidden}
.phero .ph img{width:100%;height:100%;object-fit:cover}

/* blocchi funzione alternati */
.pf{background:#eeeff2;position:relative}
.pf .blk{display:grid;grid-template-columns:1fr 708px;gap:72px;align-items:start}
.pf .blk.rev{grid-template-columns:708px 1fr}
.pf .blk img{width:708px;height:545px;object-fit:cover;border-radius:var(--r-xl)}
.pf .blk .t{display:flex;flex-direction:column;align-items:flex-start}
.ibox{width:56px;height:56px;border-radius:16px;background:var(--teal);color:#fff;display:grid;place-items:center;flex:none}
.ibox svg{width:24px;height:24px;stroke-width:1.8}
.pf .blk h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.pf .blk p.d{margin-top:22px;color:var(--muted);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.pf .blk ul{margin:24px 0 0;padding:0 0 0 24px;color:var(--muted);display:flex;flex-direction:column;gap:24px;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.pf .blk li::marker{color:var(--muted)}
.pf .blk li b{font-weight:600;color:var(--ink-2)}
.pf .blk .btn{margin-top:32px}
.btn-lm{height:48px;padding:0 24px;font-size:var(--fs-bm);letter-spacing:var(--ls-bm)}

/* card funzioni */
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:72px 24px}
.fcard{background:var(--card);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 8px 24px rgba(30,50,55,.07),0 1px 2px rgba(30,50,55,.05);display:flex;flex-direction:column}
.fcard img{width:100%;height:309px;object-fit:cover}
.fcard .b{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.fcard h3{margin-top:24px;font-size:var(--fs-hl);line-height:var(--lh-hl);letter-spacing:var(--ls-hl);font-weight:var(--fw-hl)}
.fcard p{margin-top:8px;color:var(--muted);font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.fcard .btn{margin-top:24px;height:40px;padding:0 24px;font-size:var(--fs-bm);letter-spacing:var(--ls-bm)}

/* altre funzioni */
.of h2{font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.of .lead{margin-top:24px;width:700px;max-width:100%;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.g3b{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.scard{background:var(--card);border-radius:var(--r-xl);padding:24px;box-shadow:0 8px 24px rgba(30,50,55,.06),0 1px 2px rgba(30,50,55,.04);display:flex;flex-direction:column;align-items:flex-start}
.scard h3{margin-top:16px;font-size:var(--fs-hs);line-height:var(--lh-hs);letter-spacing:var(--ls-hs);font-weight:var(--fw-hs)}
.scard p{margin-top:16px;color:var(--muted);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.scard .lnk{margin-top:auto;padding:24px 16px 0;font-family:'Manrope',Arial,sans-serif;color:var(--teal-700);display:flex;align-items:center;gap:8px;font-size:var(--fs-ll);line-height:var(--lh-ll);letter-spacing:var(--ls-ll);font-weight:var(--fw-label-bold)}
.scard .lnk svg{width:16px;height:16px;stroke-width:2.2}

/* perche' sceglierci */
.why{background:var(--sunken);padding:112px 0 164px}
.why .grid{display:grid;grid-template-columns:1fr 708px;gap:72px}
.why h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.why .lead{margin-top:24px;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.why .items{margin-top:42px}
.why .it{padding-bottom:38px;border-bottom:2px solid #b9bfc6;margin-bottom:38px}
.why .it:last-child{border:0;margin:0;padding:0}
.why .it .n{font-family:'Manrope',Arial,sans-serif;color:var(--teal);font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.why .it h3{margin-top:12px;font-size:var(--fs-hl);line-height:var(--lh-hl);letter-spacing:var(--ls-hl);font-weight:var(--fw-hl)}
.why .it p{margin-top:12px;color:var(--muted);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}

/* clienti */
.cli{background:var(--sky);padding:79px 0 0;height:904px;position:relative;overflow:hidden;text-align:center}
.cli .tag{height:38px;color:#2b3036;border-color:#2c6266;font-size:var(--fs-ll)}
.cli h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.cli .lead{color:#2b3036;margin-top:20px;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.cli .band{margin:56px auto 0;height:66px;max-width:1440px;border:2px dashed rgba(44,98,102,.7);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#2c6266;background:rgba(255,255,255,.3);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.cli .q{width:700px;max-width:100%;margin:92px auto 0;text-align:left;position:relative}
.cli .q svg.qm{width:76px;height:50px;color:#2b9bb0;fill:#2b9bb0;stroke:none}
.cli .q .qt{margin-top:24px;font-family:'Manrope',Arial,sans-serif;color:#2b3036;border:2px dashed rgba(44,98,102,.7);border-radius:16px;padding:16px 20px;background:rgba(255,255,255,.3);font-size:var(--fs-hm);line-height:var(--lh-hm);letter-spacing:var(--ls-hm);font-weight:var(--fw-hm)}
.cli .q .au{margin-top:28px;display:flex;gap:16px;align-items:center;color:#2c6266;font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}
.cli .q .av{width:60px;height:60px;border-radius:12px;border:2px dashed rgba(44,98,102,.7);flex:none}
.cli .ring3{position:absolute;width:880px;height:880px;border-radius:50%;border:80px solid rgba(150,170,160,.62);left:1360px;top:480px}

/* novita' */
.upd{background:#f5f6f8;padding:129px 0 120px}
.upd .hd{display:flex;justify-content:space-between;align-items:flex-end}
.upd h2{font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.upd .btn{height:56px;padding:0 24px;font-size:var(--fs-bm);letter-spacing:var(--ls-bm)}
.g3c{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.news{position:relative;height:664px;border-radius:var(--r-xl);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;color:#fff;background:#10171c;box-shadow:0 8px 24px rgba(20,30,35,.15)}
.news img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.news:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,20,25,.25) 0,rgba(14,20,25,.55) 40%,rgba(14,20,25,.94) 100%)}
.news>*{position:relative;z-index:1}
.news .k{text-transform:uppercase;color:#dfe5e8;font-size:var(--fs-ll);line-height:var(--lh-caps);letter-spacing:var(--ls-caps);font-weight:var(--fw-caps)}
.news h3{color:#fff;margin-top:12px;font-size:var(--fs-hl);line-height:var(--lh-hl);letter-spacing:var(--ls-hl);font-weight:var(--fw-hl)}
.news .dt{margin-top:20px;color:#dfe5e8;font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}

/* faq + contatti */
.fq{background:#eeeff2;padding:105px 0 0}
.fq .grid{display:grid;grid-template-columns:1fr 708px;gap:72px;align-items:start}
.fq h2{margin-top:24px;font-size:var(--fs-ds);line-height:var(--lh-ds);letter-spacing:var(--ls-ds);font-weight:var(--fw-ds)}
.acc{display:flex;flex-direction:column;gap:16px}
.acc details{background:#fbfbfc;border-radius:var(--r-lg);box-shadow:0 1px 2px rgba(30,50,55,.04)}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:80px;padding:18px 24px 18px 32px;font-family:'Manrope',Arial,sans-serif;color:var(--ink-2);font-size:var(--fs-tm);line-height:var(--lh-tm);letter-spacing:var(--ls-tm);font-weight:var(--fw-tm)}
.acc summary::-webkit-details-marker{display:none}
.acc summary i{width:32px;height:32px;border-radius:50%;background:#e8ebee;display:grid;place-items:center;flex:none;position:relative}
.acc summary i:before,.acc summary i:after{content:"";position:absolute;width:12px;height:2px;background:#2b3036;border-radius:1px}
.acc summary i:after{transform:rotate(90deg);transition:transform .15s}
.acc details[open] summary i:after{transform:rotate(0)}
.acc .a{padding:0 32px 24px;color:var(--ink-2);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.acc .a .ph{display:inline-block;border:2px dashed rgba(48,126,130,.6);border-radius:10px;padding:4px 12px;color:var(--teal-700);font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}
.fq .nt{margin-top:18px}
.ct{padding:224px 0 120px}
.ct .grid{display:grid;grid-template-columns:1fr 708px;gap:72px;align-items:start}
.ct h2{margin-top:24px;font-size:var(--fs-dm);line-height:var(--lh-dm);letter-spacing:var(--ls-dm);font-weight:var(--fw-dm)}
.ct .lead{margin-top:32px;width:585px;max-width:100%;font-size:var(--fs-bl);line-height:var(--lh-bl);letter-spacing:var(--ls-bl);font-weight:var(--fw-body)}
.ct .cl{margin-top:92px;width:585px;max-width:100%}
.ct .cl .k{font-family:'Manrope',Arial,sans-serif;color:var(--ink);font-size:var(--fs-hs);line-height:var(--lh-hs);letter-spacing:var(--ls-hs);font-weight:var(--fw-hs)}
.ct .cl .v{margin-top:10px;color:var(--teal-700);font-size:var(--fs-hs);line-height:var(--lh-hs);letter-spacing:var(--ls-hs);font-weight:var(--fw-hs)}
.ct .cl hr{border:0;border-top:1px solid #cfd5d9;margin:20px 0 28px}
.ct .cl a.v{display:inline-flex;gap:10px;align-items:center}
.ct form{background:var(--teal-900);border-radius:var(--r-xl);padding:32px;color:#fff;display:flex;flex-direction:column;gap:18px}
.ct form .ti{font-family:'Manrope',Arial,sans-serif;max-width:520px;font-size:var(--fs-tl);line-height:var(--lh-tl);letter-spacing:var(--ls-tl);font-weight:var(--fw-tl)}
.ct form .rq{margin-top:6px;font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}
.ct .fld{display:flex;flex-direction:column;gap:8px;color:#e6f0f0;padding-left:24px;font-size:var(--fs-ll);line-height:var(--lh-ll);letter-spacing:var(--ls-ll);font-weight:var(--fw-label)}
.ct .fld.first{margin-top:22px}
.ct .fld input,.ct .fld textarea{margin-left:-24px;font:inherit;color:var(--ink);background:#f6f7f9;border:0;border-radius:999px;height:56px;padding:0 24px;width:calc(100% + 24px);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.ct .fld textarea{height:256px;border-radius:28px;padding:18px 24px;resize:vertical}
.ct .fld input:focus,.ct .fld textarea:focus{outline:3px solid var(--amber)}
.ct .tel{display:flex;margin-left:-24px;width:calc(100% + 24px);background:#f6f7f9;border-radius:999px;height:56px;overflow:hidden;align-items:center}
.ct .tel span{padding:0 18px 0 22px;border-right:1px solid #d8dbe0;height:32px;display:flex;align-items:center;gap:8px;color:var(--ink-2);font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}
.ct .tel input{margin:0;width:auto;flex:1;border-radius:0;background:transparent}
.ct .chk{display:flex;gap:12px;align-items:center;color:#e6f0f0;margin-top:6px;font-size:var(--fs-bs);line-height:var(--lh-bs);letter-spacing:var(--ls-bs);font-weight:var(--fw-body)}
.ct .chk input{width:18px;height:18px;accent-color:var(--amber)}
.ct .chk a{color:var(--amber);text-decoration:underline}
.ct .sub-row{display:flex;justify-content:flex-end;margin-top:24px}
.ct .ok{display:none;background:#fff;color:var(--ink);border-radius:16px;padding:16px 20px;font-size:var(--fs-bm);line-height:var(--lh-bm);letter-spacing:var(--ls-bm);font-weight:var(--fw-body)}

/* footer su gradiente come nel Figma */
.ft{background:linear-gradient(180deg,#1e4b4e 0,#2b7275 55%,#2f8084 100%)}
.ft .bar{background:var(--foot-bar)}
.ft .ftwrap{padding-top:78px;padding-bottom:78px}

@media (max-width:1100px){
  .mm{display:none!important}
  .phero{height:auto;padding-bottom:80px}
  .phero .wrap{grid-template-columns:1fr;padding-top:130px;gap:40px}
  .phero .l{margin-top:0}
  .phero .ph{height:auto}
  .phero .r1,.phero .r2{display:none}
  .pf .blk,.pf .blk.rev,.why .grid,.fq .grid,.ct .grid{grid-template-columns:1fr;gap:40px}
  .pf .blk img{width:100%;height:auto}
  .pf .blk.rev img{order:2}
  .g3,.g3b,.g3c{grid-template-columns:1fr;gap:24px}
  .cli{height:auto;padding-bottom:80px}
  .cli .ring3{display:none}
  .cli .q{margin-top:56px}
  .upd .hd{flex-direction:column;align-items:flex-start;gap:24px}
  .news{height:420px}
  .ct{padding-top:100px}
}
@media (max-width:600px){
  .phero .btns{flex-direction:column;align-items:stretch}
  .ct form{padding:20px}
  .ct .fld{padding-left:0}
  .ct .fld input,.ct .fld textarea,.ct .tel{margin-left:0;width:100%}
  .ct .tel input{width:auto}
  .acc summary{padding:16px}
}
.pf .blk>*,.why .grid>*,.fq .grid>*,.ct .grid>*,.phero .wrap>*{min-width:0}
.mm .cols{padding-bottom:8px}
.ct .tel input{min-width:0}.ct .tel{max-width:calc(100% + 24px)}
