.elementor-1889 .elementor-element.elementor-element-46062b8d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1889 .elementor-element.elementor-element-7563d0da{--display:flex;}.elementor-1889 .elementor-element.elementor-element-6ffe01bb{--display:flex;--min-height:0vh;--justify-content:space-evenly;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--border-radius:0px 0px 0px 0px;box-shadow:0px 9px 14px 0px rgba(0, 0, 0, 0.34);--margin-top:1.8vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:0.7%;--padding-bottom:0.7%;--padding-left:0%;--padding-right:0%;}.elementor-1889 .elementor-element.elementor-element-6ffe01bb:not(.elementor-motion-effects-element-type-background), .elementor-1889 .elementor-element.elementor-element-6ffe01bb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(145deg, #15CBFCB3 0%, #D624DBB3 100%);}.elementor-1889 .elementor-element.elementor-element-18608128{--display:flex;--min-height:28.5vw;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0vw 8vw;--row-gap:0vw;--column-gap:8vw;border-style:none;--border-style:none;box-shadow:0px 20px 30px 0px rgba(0, 0, 0, 0.35);--margin-top:0.7vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:1.5vw;--padding-bottom:0vw;--padding-left:3vw;--padding-right:3vw;}.elementor-1889 .elementor-element.elementor-element-65a83735{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1889 .elementor-element.elementor-element-71b80cac{width:100%;max-width:100%;text-align:left;}.elementor-1889 .elementor-element.elementor-element-71b80cac > .elementor-widget-container{border-style:none;}.elementor-1889 .elementor-element.elementor-element-71b80cac .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:1.3vw;font-weight:600;letter-spacing:1px;}.elementor-1889 .elementor-element.elementor-element-2d3d4403{width:100%;max-width:100%;}.elementor-1889 .elementor-element.elementor-element-2d3d4403 > .elementor-widget-container{margin:1vw 0vw 0vw 0vw;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-712e95af{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1889 .elementor-element.elementor-element-78a37341 .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:1.3vw;font-weight:600;letter-spacing:1px;}.elementor-1889 .elementor-element.elementor-element-733748d{width:100%;max-width:100%;}.elementor-1889 .elementor-element.elementor-element-733748d > .elementor-widget-container{margin:1vw 0vw 0vw 0vw;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-5b680fd8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1889 .elementor-element.elementor-element-862301a .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:1.3vw;font-weight:600;letter-spacing:1px;}.elementor-1889 .elementor-element.elementor-element-9d4c6d1{width:100%;max-width:100%;}.elementor-1889 .elementor-element.elementor-element-9d4c6d1 > .elementor-widget-container{margin:1vw 0vw 0vw 0vw;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-1d8181ea{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;border-style:none;--border-style:none;--border-radius:25px 25px 25px 25px;}.elementor-1889 .elementor-element.elementor-element-711bb7cd{width:100%;max-width:100%;top:0px;}.elementor-1889 .elementor-element.elementor-element-711bb7cd > .elementor-widget-container{background-image:url("https://kromaline.it/wp-content/uploads/bandiera_pubblicitaria_600x600_alta_kromaline.jpg");margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;background-position:center center;background-repeat:no-repeat;background-size:cover;border-radius:40px 40px 40px 40px;}.elementor-1889 .elementor-element.elementor-element-711bb7cd.elementor-element{--align-self:center;}body:not(.rtl) .elementor-1889 .elementor-element.elementor-element-711bb7cd{left:0px;}body.rtl .elementor-1889 .elementor-element.elementor-element-711bb7cd{right:0px;}.elementor-1889 .elementor-element.elementor-element-711bb7cd img{width:100%;max-width:100%;height:100%;opacity:1;border-style:none;border-radius:45px 45px 45px 45px;}.elementor-1889 .elementor-element.elementor-element-fba69c7{--display:flex;--min-height:28.5vw;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;box-shadow:0px 20px 30px 0px rgba(0,0,0,0.5);--margin-top:0.7vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:1.5vw;--padding-bottom:0vw;--padding-left:3vw;--padding-right:3vw;}.elementor-1889 .elementor-element.elementor-element-5872149{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1889 .elementor-element.elementor-element-66af6b0{width:100%;max-width:100%;text-align:left;}.elementor-1889 .elementor-element.elementor-element-66af6b0 > .elementor-widget-container{border-style:none;}.elementor-1889 .elementor-element.elementor-element-66af6b0 .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:1.3vw;font-weight:normal;letter-spacing:1px;}.elementor-1889 .elementor-element.elementor-element-ee92c1a{width:100%;max-width:100%;}.elementor-1889 .elementor-element.elementor-element-ee92c1a > .elementor-widget-container{margin:1vw 0vw 0vw 0vw;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-433f1b7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1889 .elementor-element.elementor-element-f7967d4 .elementor-heading-title{font-family:"futura-pt", Sans-serif;font-size:1.3vw;font-weight:bold;letter-spacing:1px;}.elementor-1889 .elementor-element.elementor-element-35a48f0{width:100%;max-width:100%;}.elementor-1889 .elementor-element.elementor-element-35a48f0 > .elementor-widget-container{margin:1vw 0vw 0vw 0vw;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-0d86367{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1889 .elementor-element.elementor-element-374e806 .elementor-heading-title{font-family:"N2", Sans-serif;font-size:1.3vw;font-weight:bold;letter-spacing:1px;}.elementor-1889 .elementor-element.elementor-element-0653c27{width:100%;max-width:100%;}.elementor-1889 .elementor-element.elementor-element-0653c27 > .elementor-widget-container{margin:1vw 0vw 0vw 0vw;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-d9ae9c8{--display:flex;--min-height:0px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overflow:hidden;border-style:none;--border-style:none;--border-radius:25px 25px 25px 25px;}.elementor-1889 .elementor-element.elementor-element-38412cf{width:100%;max-width:100%;top:0px;}.elementor-1889 .elementor-element.elementor-element-38412cf > .elementor-widget-container{background-image:url("https://kromaline.it/wp-content/uploads/bandiera_pubblicitaria_600x600_alta_kromaline.jpg");margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;background-position:center center;background-repeat:no-repeat;background-size:cover;border-radius:40px 40px 40px 40px;}.elementor-1889 .elementor-element.elementor-element-38412cf.elementor-element{--align-self:center;}body:not(.rtl) .elementor-1889 .elementor-element.elementor-element-38412cf{left:0px;}body.rtl .elementor-1889 .elementor-element.elementor-element-38412cf{right:0px;}.elementor-1889 .elementor-element.elementor-element-38412cf img{width:100%;max-width:100%;height:100%;opacity:1;border-style:none;border-radius:45px 45px 45px 45px;}.elementor-1889 .elementor-element.elementor-element-68432868{--display:flex;}.elementor-1889 .elementor-element.elementor-element-5677ef3d{--display:flex;}.elementor-1889 .elementor-element.elementor-element-1e4cc635{--display:flex;}.elementor-1889 .elementor-element.elementor-element-6ba5825c{--display:flex;}.elementor-1889 .elementor-element.elementor-element-1434f789{--display:flex;}.elementor-1889 .elementor-element.elementor-element-552d0fc3{--n-menu-dropdown-content-max-width:fit-content;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;width:100%;max-width:100%;--n-menu-open-animation-duration:500ms;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:3vw;--n-menu-title-font-size:0.9vw;--n-menu-title-color-normal:var( --e-global-color-980fdbb );--n-menu-title-transition:300ms;--n-menu-title-padding:3px 0px 0px 0px;--n-menu-icon-size:100px;--n-menu-icon-gap:0px;--n-menu-icon-color:var( --e-global-color-980fdbb );--n-menu-icon-color-hover:var( --e-global-color-primary );--n-menu-icon-color-active:var( --e-global-color-primary );--n-menu-dropdown-indicator-size:0.6vw;--n-menu-dropdown-indicator-rotate:rotate(0deg);--n-menu-dropdown-indicator-space:0px;--n-menu-dropdown-indicator-color-normal:var( --e-global-color-980fdbb );--n-menu-dropdown-indicator-color-hover:var( --e-global-color-980fdbb );--n-menu-dropdown-indicator-color-active:var( --e-global-color-980fdbb );--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container{margin:0vw 0vw 0vw 0vw;padding:0vw 0vw 0vw 0vw;}.elementor-1889 .elementor-element.elementor-element-552d0fc3.elementor-element{--align-self:center;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"futura-pt", Sans-serif;font-weight:500;--n-menu-title-line-height:1;letter-spacing:2px;word-spacing:3px;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:not( .e-current ):not( :hover ){border-style:none;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 {--n-menu-title-color-hover:var( --e-global-color-980fdbb );--n-menu-title-color-active:var( --e-global-color-980fdbb );}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover:not( .e-current ){border-style:none;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current{border-style:none;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title{border-radius:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-2cbaba44{--display:flex;}.elementor-1889 .elementor-element.elementor-element-178c219c{--display:flex;}.elementor-1889 .elementor-element.elementor-element-710b0cbe{--display:flex;}.elementor-1889 .elementor-element.elementor-element-4e498170{--n-menu-dropdown-content-max-width:initial;--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-heading-wrap:wrap;--n-menu-heading-overflow-x:initial;--n-menu-title-distance-from-content:0px;width:100%;max-width:100%;--n-menu-open-animation-duration:500ms;--n-menu-toggle-icon-wrapper-animation-duration:500ms;--n-menu-title-space-between:3vw;--n-menu-title-font-size:1vw;--n-menu-title-color-normal:var( --e-global-color-text );--n-menu-title-transition:300ms;--n-menu-title-padding:0px 0px 0px 0px;--n-menu-icon-size:100px;--n-menu-icon-gap:0px;--n-menu-icon-color:#000000;--n-menu-dropdown-indicator-size:13px;--n-menu-dropdown-indicator-rotate:rotate(0deg);--n-menu-dropdown-indicator-space:0px;--n-menu-dropdown-indicator-color-normal:var( --e-global-color-text );--n-menu-dropdown-indicator-color-hover:var( --e-global-color-primary );--n-menu-dropdown-indicator-color-active:var( --e-global-color-primary );--n-menu-toggle-icon-size:20px;--n-menu-toggle-icon-hover-duration:500ms;--n-menu-toggle-icon-distance-from-dropdown:0px;}.elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container{margin:0% 0% 0% 0%;padding:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-4e498170.elementor-element{--align-self:center;}.elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{font-family:"futura-pt", Sans-serif;font-weight:600;--n-menu-title-line-height:1;letter-spacing:1.5px;word-spacing:3px;}.elementor-1889 .elementor-element.elementor-element-4e498170 {--n-menu-title-color-hover:var( --e-global-color-primary );--n-menu-title-color-active:var( --e-global-color-text );}.elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover:not( .e-current ){border-style:none;}.elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title{border-radius:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-1889 .elementor-element.elementor-element-6ffe01bb{--margin-top:2.1vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-1889 .elementor-element.elementor-element-18608128{--margin-top:0.7vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;}.elementor-1889 .elementor-element.elementor-element-71b80cac .elementor-heading-title{font-size:1.5vw;}.elementor-1889 .elementor-element.elementor-element-78a37341 .elementor-heading-title{font-size:1.5vw;}.elementor-1889 .elementor-element.elementor-element-862301a .elementor-heading-title{font-size:1.5vw;}.elementor-1889 .elementor-element.elementor-element-66af6b0 .elementor-heading-title{font-size:1.6vw;}.elementor-1889 .elementor-element.elementor-element-f7967d4 .elementor-heading-title{font-size:1.6vw;}.elementor-1889 .elementor-element.elementor-element-374e806 .elementor-heading-title{font-size:1.6vw;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container{margin:0vw 0vw 0vw 0vw;padding:0.7vw 0vw 0.7vw 0vw;}.elementor-1889 .elementor-element.elementor-element-552d0fc3{--n-menu-title-font-size:1vw;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{letter-spacing:1.5px;word-spacing:0px;}.elementor-1889 .elementor-element.elementor-element-4e498170{--n-menu-heading-justify-content:center;--n-menu-title-flex-grow:initial;--n-menu-title-justify-content:initial;--n-menu-title-justify-content-mobile:center;--n-menu-title-space-between:40px;--n-menu-title-font-size:1.1vw;--n-menu-dropdown-indicator-size:10px;--n-menu-dropdown-indicator-space:2px;}.elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-1889 .elementor-element.elementor-element-4e498170 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{letter-spacing:2px;}}@media(min-width:768px){.elementor-1889 .elementor-element.elementor-element-46062b8d{--width:100vw;}.elementor-1889 .elementor-element.elementor-element-7563d0da{--width:100vw;}.elementor-1889 .elementor-element.elementor-element-6ffe01bb{--content-width:100vw;}.elementor-1889 .elementor-element.elementor-element-18608128{--width:100%;}.elementor-1889 .elementor-element.elementor-element-65a83735{--width:15vw;}.elementor-1889 .elementor-element.elementor-element-712e95af{--width:22vw;}.elementor-1889 .elementor-element.elementor-element-5b680fd8{--width:15vw;}.elementor-1889 .elementor-element.elementor-element-1d8181ea{--width:30vw;}.elementor-1889 .elementor-element.elementor-element-fba69c7{--width:100%;}.elementor-1889 .elementor-element.elementor-element-5872149{--width:15vw;}.elementor-1889 .elementor-element.elementor-element-433f1b7{--width:22vw;}.elementor-1889 .elementor-element.elementor-element-0d86367{--width:15vw;}.elementor-1889 .elementor-element.elementor-element-d9ae9c8{--width:30vw;}}@media(max-width:1200px){.elementor-1889 .elementor-element.elementor-element-46062b8d{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1889 .elementor-element.elementor-element-6ffe01bb{--margin-top:2vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;}.elementor-1889 .elementor-element.elementor-element-18608128{--margin-top:0.8vw;--margin-bottom:0vw;--margin-left:0vw;--margin-right:0vw;}.elementor-1889 .elementor-element.elementor-element-71b80cac .elementor-heading-title{font-size:1.3vw;}.elementor-1889 .elementor-element.elementor-element-78a37341 .elementor-heading-title{font-size:1.3vw;}.elementor-1889 .elementor-element.elementor-element-862301a .elementor-heading-title{font-size:1.3vw;}.elementor-1889 .elementor-element.elementor-element-552d0fc3{--n-menu-title-font-size:1vw;}.elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title, .elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container, .elementor-1889 .elementor-element.elementor-element-552d0fc3 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container > span{letter-spacing:2px;word-spacing:0px;}}/* Start custom CSS for html, class: .elementor-element-7303c74f *//* 1. Rimuovi i bullet predefiniti */
ul.menu-hover-list {
  list-style: none;  
  margin-top:10px;
}

/* 2. Stili base per i li */
ul.menu-hover-list li {
  padding: 2px 0px;
  color: #333;             /* Colore di base del testo */
  transition: color 0.3s;
  cursor: pointer;
}
ul.menu-hover-list li:hover {
  color: #7000fe;          /* Blu acqua in hover */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ffe01bb *//* ===== MEGA MENU — GLASS (.55) SAFE ===== */
:root{
  --mmg-alpha: .7;      /* opacità del vetro */
  --mmg-blur: 16px;      /* intensità blur */
  --mmg-radius: 0px;    /* angoli */
  --mmg-shadow: 0 8px 36px rgba(0,0,0,.18); /* ombra soft */
}

/* Non tocco width/height/margini/position del tuo layout */
.e-n-menu-content .mm-glass{
  position: relative;
  background: rgba(255,255,255,var(--mmg-alpha));  /* vetro chiaro (.55) */
  backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  -webkit-backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  border-radius: var(--mmg-radius);
  outline: 1px solid rgba(255,255,255,.35);  /* “bordino” luce che non sposta */
  box-shadow: var(--mmg-shadow);
  overflow: visible; /* non taglia dropdown interni */
}

/* (opzionale) Variante scura */
.dark .mm-glass{
  background: rgba(0,0,0,var(--mmg-alpha));
  outline-color: rgba(255,255,255,.2);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ffe01bb *//* ===== MEGA MENU — GLASS (.55) SAFE ===== */
:root{
  --mmg-alpha: .7;      /* opacità del vetro */
  --mmg-blur: 16px;      /* intensità blur */
  --mmg-radius: 0px;    /* angoli */
  --mmg-shadow: 0 8px 36px rgba(0,0,0,.18); /* ombra soft */
}

/* Non tocco width/height/margini/position del tuo layout */
.e-n-menu-content .mm-glass{
  position: relative;
  background: rgba(255,255,255,var(--mmg-alpha));  /* vetro chiaro (.55) */
  backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  -webkit-backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  border-radius: var(--mmg-radius);
  outline: 1px solid rgba(255,255,255,.35);  /* “bordino” luce che non sposta */
  box-shadow: var(--mmg-shadow);
  overflow: visible; /* non taglia dropdown interni */
}

/* (opzionale) Variante scura */
.dark .mm-glass{
  background: rgba(0,0,0,var(--mmg-alpha));
  outline-color: rgba(255,255,255,.2);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ffe01bb *//* ===== MEGA MENU — GLASS (.55) SAFE ===== */
:root{
  --mmg-alpha: .7;      /* opacità del vetro */
  --mmg-blur: 16px;      /* intensità blur */
  --mmg-radius: 0px;    /* angoli */
  --mmg-shadow: 0 8px 36px rgba(0,0,0,.18); /* ombra soft */
}

/* Non tocco width/height/margini/position del tuo layout */
.e-n-menu-content .mm-glass{
  position: relative;
  background: rgba(255,255,255,var(--mmg-alpha));  /* vetro chiaro (.55) */
  backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  -webkit-backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  border-radius: var(--mmg-radius);
  outline: 1px solid rgba(255,255,255,.35);  /* “bordino” luce che non sposta */
  box-shadow: var(--mmg-shadow);
  overflow: visible; /* non taglia dropdown interni */
}

/* (opzionale) Variante scura */
.dark .mm-glass{
  background: rgba(0,0,0,var(--mmg-alpha));
  outline-color: rgba(255,255,255,.2);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ffe01bb *//* ===== MEGA MENU — GLASS (.55) SAFE ===== */
:root{
  --mmg-alpha: .7;      /* opacità del vetro */
  --mmg-blur: 16px;      /* intensità blur */
  --mmg-radius: 0px;    /* angoli */
  --mmg-shadow: 0 8px 36px rgba(0,0,0,.18); /* ombra soft */
}

/* Non tocco width/height/margini/position del tuo layout */
.e-n-menu-content .mm-glass{
  position: relative;
  background: rgba(255,255,255,var(--mmg-alpha));  /* vetro chiaro (.55) */
  backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  -webkit-backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  border-radius: var(--mmg-radius);
  outline: 1px solid rgba(255,255,255,.35);  /* “bordino” luce che non sposta */
  box-shadow: var(--mmg-shadow);
  overflow: visible; /* non taglia dropdown interni */
}

/* (opzionale) Variante scura */
.dark .mm-glass{
  background: rgba(0,0,0,var(--mmg-alpha));
  outline-color: rgba(255,255,255,.2);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ffe01bb *//* ===== MEGA MENU — GLASS (.55) SAFE ===== */
:root{
  --mmg-alpha: .7;      /* opacità del vetro */
  --mmg-blur: 16px;      /* intensità blur */
  --mmg-radius: 0px;    /* angoli */
  --mmg-shadow: 0 8px 36px rgba(0,0,0,.18); /* ombra soft */
}

/* Non tocco width/height/margini/position del tuo layout */
.e-n-menu-content .mm-glass{
  position: relative;
  background: rgba(255,255,255,var(--mmg-alpha));  /* vetro chiaro (.55) */
  backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  -webkit-backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  border-radius: var(--mmg-radius);
  outline: 1px solid rgba(255,255,255,.35);  /* “bordino” luce che non sposta */
  box-shadow: var(--mmg-shadow);
  overflow: visible; /* non taglia dropdown interni */
}

/* (opzionale) Variante scura */
.dark .mm-glass{
  background: rgba(0,0,0,var(--mmg-alpha));
  outline-color: rgba(255,255,255,.2);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2d3d4403 *//* ========== MENU HOVER LIST (riutilizzabile) ========== */
/* Usa .kx-mhl sul wrapper o direttamente sulla <ul>. 
   Opzionale: .kx-mhl--flush per azzerare padding/margini del widget. */

.kx-mhl{
  /* Variabili base */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.15vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
  --mhl-color: #454654;

  /* >>> Durata/curva dell’animazione (modifica qui) <<< */
  --mhl-underline-duration: 0.8s;
  --mhl-underline-ease: cubic-bezier(.22,.61,.36,1);
}

/* Lista verticale compatta */
.kx-mhl.menu-hover-list,
.kx-mhl .menu-hover-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start;
}

/* Voci con underline animata */
.kx-mhl.menu-hover-list > li,
.kx-mhl .menu-hover-list > li,
.kx-mhl > li{
  display: inline-block;
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: var(--mhl-color);
  text-decoration: none;

  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(var(--mhl-color), var(--mhl-color));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);

  /* >>> Qui controlli davvero la velocità <<< */
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration) !important;
  transition-timing-function: var(--mhl-underline-ease) !important;

  will-change: background-size;
}

/* Hover/Focus/Active */
.kx-mhl.menu-hover-list > li:hover,
.kx-mhl .menu-hover-list > li:hover,
.kx-mhl > li:hover,
.kx-mhl.menu-hover-list > li:focus-visible,
.kx-mhl .menu-hover-list > li:focus-visible,
.kx-mhl > li:focus-visible,
.kx-mhl.menu-hover-list > li.is-active,
.kx-mhl .menu-hover-list > li.is-active,
.kx-mhl > li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: var(--mhl-color) !important;
  outline: none;
}

/* Flush (opzionale) */
.elementor-widget-html.kx-mhl--flush > .elementor-widget-container,
.elementor-widget-text-editor.kx-mhl--flush > .elementor-widget-container,
.kx-mhl--flush{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ------- Override difensivo contro vecchie regole a ID ------- */
/* Se esiste ancora il vecchio #e-n-menu-content-1421 …, lo sovrascriviamo */
#e-n-menu-content-1421 .menu-hover-list li{
  transition-property: background-size !important;
  transition-duration: var(--mhl-underline-duration, 0.8s) !important;
  transition-timing-function: var(--mhl-underline-ease, cubic-bezier(.22,.61,.36,1)) !important;
}

/* Breakpoints */
@media (min-width:1367px){
  .kx-mhl{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.15vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}
@media (max-width:1366px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1200px){
  .kx-mhl{
    --mhl-font-size: 1.1vw;
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0vw;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:1024px){
  .kx-mhl{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}
@media (max-width:767px){
  .kx-mhl{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ee92c1a *//* ====== MENU HOVER LIST – scope all’intero dropdown ====== */
#e-n-menu-content-1421{
  /* Variabili base (desktop default) */
  --mhl-font-family: futura-pt;
  --mhl-font-weight: 600;
  --mhl-font-size: clamp(15px, 0.95vw, 18px);
  --mhl-underline-thickness: 0.1vw;
  --mhl-underline-gap: 0.2vw;
  --mhl-gap-between-items: 0.6rem;
  --mhl-letter-spacing: 0.05em;
}

/* Ancoraggio a SINISTRA: togli il padding del widget HTML in tutte e 3 le colonne */
#e-n-menu-content-1421 .elementor-element-2d3d4403 > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-733748d  > .elementor-widget-container,
#e-n-menu-content-1421 .elementor-element-9d4c6d1  > .elementor-widget-container{
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
}

/* Lista verticale compatta, agganciata a sinistra */
#e-n-menu-content-1421 .menu-hover-list{
  list-style: none;
  margin: 0; 
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--mhl-gap-between-items);
  align-items: flex-start; /* i <li> si stringono sul testo */
}

/* Voce di menu con underline animata */
#e-n-menu-content-1421 .menu-hover-list li{
  display: inline-block;              /* larghezza = testo */
  position: relative;
  cursor: pointer;
  font-family: var(--mhl-font-family);
  font-weight: var(--mhl-font-weight);
  font-size: var(--mhl-font-size);
  letter-spacing: var(--mhl-letter-spacing);
  line-height: 1.2;
  color: #454654;                     /* testo scuro */
  text-decoration: none;

  /* underline animata (sotto al testo) */
  padding-bottom: var(--mhl-underline-gap);
  background-image: linear-gradient(#454654, #454654); /* barra stessa tinta del testo */
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0 var(--mhl-underline-thickness);
  transition: background-size .28s ease;
}

/* Hover/Focus/Active: barra che si “riempie” verso destra, testo resta scuro */
#e-n-menu-content-1421 .menu-hover-list li:hover,
#e-n-menu-content-1421 .menu-hover-list li:focus-visible,
#e-n-menu-content-1421 .menu-hover-list li.is-active{
  background-size: 100% var(--mhl-underline-thickness);
  color: #454654 !important;
  outline: none;
}

/* ============== BREAKPOINTS (stessa logica di prima) ============== */

/* Desktop XL (≥1367px) */
@media (min-width:1367px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(16px, 0.85vw, 22px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.1vw;
    --mhl-letter-spacing: 0.06em;
  }
}

/* Laptop (≤1366px) */
@media (max-width:1366px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(15px, 1.2vw, 20px);
    --mhl-underline-thickness: 0.1vw;
    --mhl-underline-gap: 0.2vw;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Tablet orizzontale (≤1200px) */
@media (max-width:1200px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.2vw, 19px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0rem;
    --mhl-letter-spacing: 0.04em;
  }
}

/* Tablet verticale (≤1024px) */
@media (max-width:1024px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(14px, 1.4vw, 18px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.28rem;
    --mhl-letter-spacing: 0.03em;
  }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  #e-n-menu-content-1421{
    --mhl-font-size: clamp(13px, 3.6vw, 17px);
    --mhl-underline-thickness: 2px;
    --mhl-underline-gap: 0.32rem;
    --mhl-letter-spacing: 0.02em;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6ffe01bb *//* ===== MEGA MENU — GLASS (.55) SAFE ===== */
:root{
  --mmg-alpha: .7;      /* opacità del vetro */
  --mmg-blur: 16px;      /* intensità blur */
  --mmg-radius: 0px;    /* angoli */
  --mmg-shadow: 0 8px 36px rgba(0,0,0,.18); /* ombra soft */
}

/* Non tocco width/height/margini/position del tuo layout */
.e-n-menu-content .mm-glass{
  position: relative;
  background: rgba(255,255,255,var(--mmg-alpha));  /* vetro chiaro (.55) */
  backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  -webkit-backdrop-filter: saturate(140%) blur(var(--mmg-blur));
  border-radius: var(--mmg-radius);
  outline: 1px solid rgba(255,255,255,.35);  /* “bordino” luce che non sposta */
  box-shadow: var(--mmg-shadow);
  overflow: visible; /* non taglia dropdown interni */
}

/* (opzionale) Variante scura */
.dark .mm-glass{
  background: rgba(0,0,0,var(--mmg-alpha));
  outline-color: rgba(255,255,255,.2);
}/* End custom CSS */
/* Start custom CSS for mega-menu, class: .elementor-element-4e498170 *//* ====== N-MENU: underline nera persistente + gradiente in hover ====== */
@media (min-width:1025px){

  .e-n-menu .e-n-menu-heading{ overflow: visible; }

  .e-n-menu .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title > .e-n-menu-title-container{
    /* controlli */
    --line-thickness: 0.15vw;               /* spessore linea */
    --line-gap: 0.2vw;                     /* distanza dal testo */
    --line-grad: linear-gradient(90deg, #00ddff, #ff00d4);

    position: relative;
    display: inline-block;

    /* spazio tra testo e underline */
    padding-bottom: var(--line-gap);

    /* underline di base = NERA (usa currentColor: se il testo è nero, la linea è nera) */
    background-image: linear-gradient(currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: 0 100%;           /* ancorata al fondo del box */
    background-size: 0 var(--line-thickness);
    transition: background-size 0.6s ease;
  }

  /* HOVER: gradiente animato */
  .e-n-menu .e-n-menu-heading > .e-n-menu-item:hover > .e-n-menu-title > .e-n-menu-title-container{
    background-image: var(--line-grad);
    background-size: 100% var(--line-thickness);
  }

  /* APERTO/CORRENTE: linea NERA piena (persistente mentre il mega-menu è aperto) */

  /* 1) quando la voce ha aria-expanded="true" */
  .e-n-menu .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title[aria-expanded="true"] > .e-n-menu-title-container{
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% var(--line-thickness);
  }

  /* 2) (bonus) quando il titolo ha la classe e-current */
  .e-n-menu .e-n-menu-heading > .e-n-menu-item .e-n-menu-title.e-current > .e-n-menu-title-container{
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% var(--line-thickness);
  }

  /* 3) (coverage moderno) se il tuo markup usa aria-expanded sul titolo, :has ci dà lo stesso effetto */
  .e-n-menu .e-n-menu-heading > .e-n-menu-item:has(> .e-n-menu-title[aria-expanded="true"]) > .e-n-menu-title > .e-n-menu-title-container{
    background-image: linear-gradient(currentColor, currentColor);
    background-size: 100% var(--line-thickness);
  }
}/* End custom CSS */