.elementor-location-header > .e-con{ position:fixed !important; top:0; left:0; right:0; width:100% !important; max-width:none !important; z-index:999; display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:space-between !important; padding:10px clamp(20px,4vw,56px) !important; background-color:transparent !important; box-shadow:none !important; border:0 !important; transition:background-color .35s, box-shadow .35s, border-radius .35s, max-width .45s cubic-bezier(.22,.61,.36,1), padding .35s, top .35s !important; }
body.admin-bar .elementor-location-header > .e-con:not(.scrolled){ top:32px; }
.elementor-location-header .oh-logos, .elementor-location-header .oh-cta-group{ width:auto !important; max-width:none !important; flex:0 0 auto !important; }
.elementor-location-header .oh-navwrap{ width:auto !important; max-width:none !important; flex:1 1 auto !important; display:flex; justify-content:center; }
.elementor-location-header .oh-navwrap > .e-con-inner{ display:flex; justify-content:center; width:100%; }
.elementor-location-header .oh-logos img{ height:75px !important; width:auto !important; max-height:75px !important; display:block; }
.elementor-location-header .oh-dark{ display:none; }
.elementor-location-header .oh-white{ display:block; }
.elementor-location-header .oh-nav .elementor-nav-menu ul{ flex-wrap:nowrap !important; }
.elementor-location-header .oh-nav a.elementor-item{ font-size:17px !important; }
.elementor-location-header .elementor-button{ padding:8px 26px !important; font-size:14px !important; white-space:nowrap; min-height:0 !important; }
.elementor-location-header .oh-cta .elementor-button{ background-color:#1CB2B4 !important; color:#1E2A2D !important; }
.elementor-location-header > .e-con:not(.scrolled) .oh-nav a.elementor-item{ color:#fff !important; }
.elementor-location-header > .e-con:not(.scrolled) .oh-nav a.elementor-item:hover{ color:#BFEDEC !important; }
.elementor-location-header > .e-con:not(.scrolled) .oh-phone .elementor-button{ background-color:transparent !important; color:#fff !important; border:1.5px solid rgba(255,255,255,.5) !important; }
.elementor-location-header > .e-con.scrolled{ left:50% !important; right:auto !important; transform:translateX(-50%); top:14px; width:calc(100% - 28px) !important; max-width:1240px !important; padding:8px 24px !important; background-color:rgba(255,255,255,.6) !important; -webkit-backdrop-filter:saturate(180%) blur(18px); backdrop-filter:saturate(180%) blur(18px); border:1px solid rgba(226,230,236,.9) !important; border-radius:12px !important; box-shadow:0 10px 34px rgba(13,20,24,.12) !important; }
body.admin-bar .elementor-location-header > .e-con.scrolled{ top:46px; }
.elementor-location-header > .e-con.scrolled .oh-white{ display:none; }
.elementor-location-header > .e-con.scrolled .oh-dark{ display:block; }
.elementor-location-header > .e-con.scrolled .oh-nav a.elementor-item{ color:#1E2A2D !important; }
.elementor-location-header > .e-con.scrolled .oh-nav a.elementor-item:hover{ color:#0C7B7D !important; }
.elementor-location-header > .e-con.scrolled .oh-phone .elementor-button{ background-color:transparent !important; color:#0C7B7D !important; border:1.5px solid rgba(12,123,125,.3) !important; }
.elementor-location-header .elementor-button .elementor-button-icon i{ color:inherit !important; }
/* MDM height match: zero header zone vertical padding so pill ~60px */
.elementor-location-header > .e-con > .e-con-inner > .e-con{ padding-top:0 !important; padding-bottom:0 !important; }
.elementor-location-header > .e-con > .e-con-inner > .e-con > .e-con-inner{ padding-top:0 !important; padding-bottom:0 !important; }
.elementor-location-header .oh-nav a.elementor-item{ padding-top:11px !important; padding-bottom:11px !important; }

/* MDM height match v2: zones are direct children (e-con-full, no inner). Zero their vertical padding. */
.elementor-location-header > .e-con > .oh-logos,
.elementor-location-header > .e-con > .oh-navwrap,
.elementor-location-header > .e-con > .oh-cta-group{ padding-top:0 !important; padding-bottom:0 !important; }
.elementor-location-header .oh-nav a.elementor-item{ padding-top:13px !important; padding-bottom:13px !important; }

/* True viewport-centered menu: grid 1fr auto 1fr (laterali uguali -> menu al centro reale, full-width e pillola) */
.elementor-location-header > .e-con{ display:grid !important; grid-template-columns:1fr auto 1fr !important; }
.elementor-location-header > .e-con > .oh-logos{ justify-self:start !important; }
.elementor-location-header > .e-con > .oh-navwrap{ justify-self:center !important; }
.elementor-location-header > .e-con > .oh-cta-group{ justify-self:end !important; }
.elementor-location-header > .e-con > .oh-navwrap .elementor-nav-menu ul{ justify-content:center !important; }

/* ===== MOBILE/TABLET HEADER burger (v10) ===== */
@media (max-width:1024px){
.elementor-location-header > .e-con{ display:flex !important; grid-template-columns:none !important; flex-direction:row !important; justify-content:space-between !important; align-items:center !important; }
.elementor-location-header > .e-con > .oh-logos{ justify-self:auto !important; flex:0 0 auto !important; }
.elementor-location-header > .e-con > .oh-navwrap{ justify-self:auto !important; flex:0 0 auto !important; justify-content:flex-end !important; position:relative !important; }
.elementor-location-header > .e-con > .oh-cta-group{ display:none !important; }
.elementor-location-header > .e-con.scrolled{ top:10px; width:calc(100% - 20px) !important; max-width:none !important; }
.elementor-location-header > .e-con:not(.scrolled) .oh-nav .elementor-menu-toggle{ color:#ffffff !important; }
.elementor-location-header > .e-con.scrolled .oh-nav .elementor-menu-toggle{ color:#1E2A2D !important; }
.elementor-location-header .oh-nav .elementor-nav-menu--dropdown{ position:absolute !important; top:calc(100% + 12px) !important; right:0 !important; left:auto !important; width:min(84vw,300px) !important; background:#ffffff !important; border:1px solid #E2E6EC !important; border-radius:14px !important; box-shadow:0 18px 50px rgba(13,20,24,.2) !important; overflow:hidden !important; z-index:1200 !important; }
.elementor-location-header .oh-nav .elementor-nav-menu--dropdown li{ width:100% !important; }
.elementor-location-header .oh-nav .elementor-nav-menu--dropdown a.elementor-item{ color:#1E2A2D !important; background:transparent !important; white-space:nowrap !important; line-height:1.3 !important; padding:14px 20px !important; font-size:16px !important; border-bottom:1px solid rgba(16,40,42,.07) !important; }
.elementor-location-header .oh-nav .elementor-nav-menu--dropdown a.elementor-item:hover,.elementor-location-header .oh-nav .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{ color:#0C7B7D !important; background:rgba(20,170,172,.07) !important; }
.elementor-location-header .oh-nav .elementor-nav-menu--dropdown .elementor-sub-item{ color:#4C585D !important; white-space:nowrap !important; padding-left:34px !important; }
}

/* ===== MOBILE dropdown color+anchor FIX (v11) ===== */
@media (max-width:1024px){
.elementor-location-header .oh-nav .elementor-widget-container{ position:relative !important; }
.elementor-location-header > .e-con .oh-nav nav.elementor-nav-menu--dropdown a.elementor-item{ color:#1E2A2D !important; background:transparent !important; }
.elementor-location-header > .e-con .oh-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item{ color:#4C585D !important; background:transparent !important; }
.elementor-location-header > .e-con .oh-nav nav.elementor-nav-menu--dropdown a.elementor-item:hover,.elementor-location-header > .e-con .oh-nav nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{ color:#0C7B7D !important; background:rgba(20,170,172,.08) !important; }
.elementor-location-header > .e-con .oh-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover{ color:#0C7B7D !important; background:rgba(20,170,172,.08) !important; }
}

/* sub-menu (Servizi) long names wrap instead of clip (v12) */
@media (max-width:1024px){
.elementor-location-header > .e-con .oh-nav nav.elementor-nav-menu--dropdown a.elementor-sub-item{ white-space:normal !important; line-height:1.3 !important; font-size:15px !important; }
}

/* 3D sphere ON mobile, smaller ~70% (v13) */
@media (max-width:767px){ #three-mount{ max-width:240px !important; min-height:240px !important; } }

/* Teal CARDS inset from screen edges on mobile (v14) */
@media (max-width:767px){
.spotlight-sec, .cta-band-sec{ max-width:calc(100% - 32px) !important; margin-left:auto !important; margin-right:auto !important; border-radius:20px !important; }
}

/* 3D sphere centered on mobile (v15) */
@media (max-width:767px){
.precis-grid{ grid-template-columns:1fr !important; }
#three-mount{ max-width:240px !important; min-height:240px !important; margin-left:auto !important; margin-right:auto !important; padding-left:0 !important; padding-right:0 !important; padding-top:0 !important; padding-bottom:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; }
#three-mount canvas{ display:block !important; margin:0 auto !important; }
}

/* center logo vertically in header/pill (v16) */
.elementor-location-header > .e-con:not(.scrolled) .oh-white{ display:flex !important; align-items:center !important; justify-content:flex-start !important; }
.elementor-location-header > .e-con.scrolled .oh-dark{ display:flex !important; align-items:center !important; justify-content:flex-start !important; }
.elementor-location-header .oh-logos .elementor-widget-container{ display:flex !important; align-items:center !important; }

/* v17: WhatsApp btn + marquee convenzioni */
.elementor-location-header .oh-wa .elementor-button-icon{color:#25D366 !important;}
.conv-strip > .e-con-inner{overflow:hidden !important;}
.conv-row{display:flex !important;flex-wrap:nowrap !important;width:max-content !important;max-width:none !important;align-items:center !important;gap:0 !important;animation:conv-scroll 32s linear infinite;}
.conv-row > .elementor-element{margin-right:72px !important;flex:0 0 auto !important;}
.conv-row:hover{animation-play-state:paused;}
@keyframes conv-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:767px){.conv-row > .elementor-element{margin-right:44px !important;}}

/* v18: pagina convenzioni */
.conv-row img{height:46px !important;width:auto !important;display:block;}
.conv-more{margin-top:10px;}
.conv-card{flex:0 1 278px !important;max-width:292px;text-align:center;}
.conv-card .conv-logo img{height:68px;width:auto;margin:0 auto;}
.conv-card h3{font-size:1.06rem;margin:0;}
.conv-visit a{font-size:.9rem;}
.collab-logo img{max-width:300px;width:100%;height:auto;}
@media(max-width:560px){.conv-card{flex:1 1 100% !important;max-width:340px;}}

/* v21 */
.elementor-location-header > .e-con.scrolled{max-width:1360px !important;}
.elementor-location-header > .e-con.scrolled .oh-wa .elementor-button-text,
.elementor-location-header > .e-con.scrolled .oh-phone .elementor-button-text{display:none !important;}
.elementor-location-header > .e-con.scrolled .oh-wa .elementor-button-icon,
.elementor-location-header > .e-con.scrolled .oh-phone .elementor-button-icon{margin:0 !important;}

/* v21b */
.elementor-location-header > .e-con.scrolled .oh-cta-group{gap:8px !important;}

/* v23: crumbs+burger */
.oh-crumbs-w, .oh-crumbs-w p, .oh-crumbs-w a{color:#F8F6F2 !important;opacity:.94 !important;}
.elementor-location-header .elementor-menu-toggle{color:#fff !important;background:transparent !important;border:0 !important;}
.elementor-location-header .elementor-menu-toggle i{color:#fff !important;}
.elementor-location-header .elementor-menu-toggle svg{fill:#fff !important;}
.elementor-location-header > .e-con.scrolled .elementor-menu-toggle,
.elementor-location-header > .e-con.scrolled .elementor-menu-toggle i{color:#1E2A2D !important;}
.elementor-location-header > .e-con.scrolled .elementor-menu-toggle svg{fill:#1E2A2D !important;}

/* v24: logo mobile */
@media(max-width:1024px){.elementor-location-header .oh-logos img{height:46px !important;max-height:46px !important;}}

/* v25: pill fit laptop */
@media(max-width:1439px){.elementor-location-header > .e-con.scrolled .oh-phone:not(.oh-wa){display:none !important;}}
@media(max-width:1199px){.elementor-location-header > .e-con.scrolled .oh-wa{display:none !important;}}

/* v27: ancore sotto header fisso (Lenis) */
[id]{scroll-margin-top:120px;}

.elementor-location-header .oh-cta .elementor-button:hover{background-color:#0C7B7D !important;color:#fff !important;}

/* v30: dropdown chiara + caret segue il testo */
.elementor-location-header .sub-arrow svg{fill:currentColor !important;}
nav.elementor-nav-menu--dropdown a.elementor-item:hover,
nav.elementor-nav-menu--dropdown a.elementor-sub-item:hover,
nav.elementor-nav-menu--dropdown a.highlighted{background-color:#0C7B7D !important;color:#fff !important;}
nav.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
nav.elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
nav.elementor-nav-menu--dropdown a.current{background-color:#EAF3F2 !important;color:#0A5E60 !important;}

/* v32: submenu desktop (ul.sub-menu, senza prefisso nav) */
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item:hover,
.elementor-location-header .elementor-nav-menu--dropdown a.highlighted{background-color:#0C7B7D !important;color:#fff !important;}
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--dropdown a.elementor-sub-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu--dropdown a.current{background-color:#EAF3F2 !important;color:#0A5E60 !important;}
