.elementor-64 .elementor-element.elementor-element-e8e0985{--display:flex;--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-64 .elementor-element.elementor-element-ce68f0e{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-64 .elementor-element.elementor-element-52761ba{background-color:var( --e-global-color-primary );}.elementor-64 .elementor-element.elementor-element-52761ba .elementor-menu-toggle{margin-right:auto;}.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu .elementor-item{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;text-transform:uppercase;}.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main .elementor-item{color:#B2B2AC;fill:#B2B2AC;}.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main .elementor-item:hover,
					.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-64 .elementor-element.elementor-element-52761ba .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-secondary );}.elementor-64 .elementor-element.elementor-element-52761ba .e--pointer-framed .elementor-item:before,
					.elementor-64 .elementor-element.elementor-element-52761ba .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-secondary );}.elementor-64 .elementor-element.elementor-element-fc1a621{--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-64 .elementor-element.elementor-element-3324d2b{--display:flex;--min-height:200px;--justify-content:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );color:var( --e-global-color-primary );}.elementor-64 .elementor-element.elementor-element-0fbe1e1{text-align:center;}.elementor-64 .elementor-element.elementor-element-0fbe1e1 .elementor-heading-title{font-family:var( --e-global-typography-1f6ca9b-font-family ), Sans-serif;font-size:var( --e-global-typography-1f6ca9b-font-size );color:var( --e-global-color-primary );}.elementor-widget-theme-post-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );}.elementor-64 .elementor-element.elementor-element-67ab8be{color:var( --e-global-color-primary );}@media(min-width:768px){.elementor-64 .elementor-element.elementor-element-ce68f0e{--width:300px;}.elementor-64 .elementor-element.elementor-element-fc1a621{--width:100%;}}@media(max-width:1024px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-64 .elementor-element.elementor-element-0fbe1e1 .elementor-heading-title{font-size:var( --e-global-typography-1f6ca9b-font-size );}.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-64 .elementor-element.elementor-element-0fbe1e1 .elementor-heading-title{font-size:var( --e-global-typography-1f6ca9b-font-size );}.elementor-widget-theme-post-content{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for nav-menu, class: .elementor-element-52761ba *//* =========================
   SIDEBAR SCROLL + MENU NERO
   ========================= */

/* Scroll della sidebar (consigliato) */
#sidebar-menu{
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Fallback: se non metti #sidebar-menu, prova a scrollare il widget */
#menu-laterale{
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}

/* Background nero (menu + submenu) */
#menu-laterale .elementor-nav-menu,
#menu-laterale .elementor-nav-menu ul.sub-menu{
  background: #000 !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Link bianchi */
#menu-laterale .elementor-nav-menu a{
  color: #fff !important;
  font-size: 18px;
}

/* =========================
   SUBMENU: sotto, non a destra
   Default chiusi
   ========================= */
#menu-laterale .elementor-nav-menu ul.sub-menu{
  position: static !important;
  transform: none !important;
  width: 100% !important;
  min-width: 0 !important;

  display: none !important;          /* chiusi di default */
  padding-left: 22px !important;     /* rientro */
  margin: 6px 0 0 0 !important;
}
/* apri SOLO il submenu del padre/antenato del ramo attivo (1 livello alla volta) */
#menu-laterale .elementor-nav-menu li.current-menu-ancestor > ul.sub-menu,
#menu-laterale .elementor-nav-menu li.current-menu-parent   > ul.sub-menu,
#menu-laterale .elementor-nav-menu li.current-menu-item.menu-item-has-children > ul.sub-menu{
  display: block !important;
}

#menu-laterale .elementor-nav-menu li.current-menu-ancestor > a .sub-arrow,
#menu-laterale .elementor-nav-menu li.current-menu-parent   > a .sub-arrow,
#menu-laterale .elementor-nav-menu li.current-menu-item.menu-item-has-children > a .sub-arrow{
  transform: rotate(180deg);
}

/* =========================
   Apertura “a sezione”
   - padre: mostra tutti i figli
   - figlia: mostra i siblings (apre il padre) + eventuali figli della pagina corrente
   ========================= */

/* se sono in una figlia → apre il padre (così vedo gli altri figli) */
#menu-laterale .elementor-nav-menu li.current-menu-parent > ul.sub-menu,
#menu-laterale .elementor-nav-menu li.current-menu-ancestor > ul.sub-menu{
  display: block !important;
}

/* se la pagina corrente ha figli → mostra anche i suoi figli */
#menu-laterale .elementor-nav-menu li.current-menu-item.menu-item-has-children > ul.sub-menu{
  display: block !important;
}

/* se sono nella pagina padre → mostra TUTTI i discendenti del ramo */
#menu-laterale .elementor-nav-menu li.current-menu-item.menu-item-has-children ul.sub-menu{
  display: block !important;
}

/* =========================
   FRECCE: visibili + ruotate quando “aperto”
   ========================= */

/* Mostra la freccia (se l’avevi nascosta in CSS vecchi) */
#menu-laterale .elementor-nav-menu .sub-arrow{
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin-left: auto;
  transition: transform .2s ease;
  transform: rotate(0deg);
}

/* Allinea freccia a destra sulla riga */
#menu-laterale .elementor-nav-menu li.menu-item-has-children > a{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Ruota freccia quando il ramo è aperto (padre/antenato/corrente) */
#menu-laterale .elementor-nav-menu li.current-menu-parent > a .sub-arrow,
#menu-laterale .elementor-nav-menu li.current-menu-ancestor > a .sub-arrow,
#menu-laterale .elementor-nav-menu li.current-menu-item.menu-item-has-children > a .sub-arrow{
  transform: rotate(180deg);
}

/* Evidenzia pagina corrente (opzionale) */
#menu-laterale .elementor-nav-menu li.current-menu-item > a{
  font-weight: 700;
}


/* Firefox */
#sidebar-menu{
  scrollbar-width: thin;
  scrollbar-color: #333333 #111; /* thumb / track */
}

/* Chrome / Edge / Safari */
#sidebar-menu::-webkit-scrollbar{
  width: 10px;
}

#sidebar-menu::-webkit-scrollbar-track{
  background: #111;
}

#sidebar-menu::-webkit-scrollbar-thumb{
  background: #000;
  border-radius: 10px;
  border: 2px solid #111; /* crea un po' di “stacco” */
}

#sidebar-menu::-webkit-scrollbar-thumb:hover{
  background: #222;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ce68f0e *//* Sidebar scrollabile fino in fondo */
#sidebar-menu{
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 30px;
}

/* se qualche contenitore padre taglia, forziamo visibilità */
#sidebar-menu, 
#sidebar-menu *{
  max-height: none;
}/* End custom CSS */