.site-header{
  position:fixed;
  top:0;left:0;
  width:100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  padding-left: 40px;
  padding-right: 40px;
  z-index:1200;
  padding-top: 0;
  height: 100px
}

@media(max-width:1024px){
.site-header{
  padding-inline-end: 0 !important;
  padding-inline-start:0 !important;
  padding-left:0px !important;
  padding-right:0px !important;
}
}
.header-inner {
  width: 100% !important;          /* occupa tutta la larghezza della finestra */
  max-width: 1880px !important;
  padding: 12px 40px;   /* 40px a destra e sinistra */
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
    background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,0.06), 0 1px 3px rgba(16,24,40,0.1);
  border-bottom-left-radius: 19px;
  border-bottom-right-radius: 19px;
}

@media (max-width: 1024px) {
    .header-inner {
        padding-inline-end: 30px !important;
        padding-inline-start: 30px !important;
    }
}

@media(max-width:1024px){
.header-inner {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
}

.logo {
    align-items: center;
    display: flex;
    flex: 1;
    justify-content: flex-start;
}

@media(max-width:767px){
.logo {
    flex: 2;
}
	
}

.logo img{    
    width: 100%;
    height: 45px;
    object-fit: contain;
    object-position: center center; 
	display: block;}

nav.mainNav {
    align-items: center;
    display: flex;
    flex: 1;
    justify-content: center;
}

.main-nav ul{display:flex;list-style:none;gap:55px;padding-inline-start:0px;}

@media (max-width: 1200px) {
    .main-nav ul {
        gap:35px;
    }
	
}


@media (max-width: 1150px) {
	
	 .main-nav ul {
        gap:55px;
    }

	.header-actions a {
		display:none;
	}
}

.main-nav a {
  color:#111;
  text-decoration:none;
  position:relative;
  padding-left:0; /* spazio per il pallino a sinistra */
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
  --n-menu-title-line-height: var(--e-global-typography-text-line-height);
  color: var(--n-menu-title-color-normal);
  font-size: var(--n-menu-title-font-size);
}

.main-nav a:hover {
	color: var(--e-global-color-03b386a);
}

.main-nav a::before {
  content:"";
  display:block;
  width:8px;
  height:7px;
  border-radius:50%;
  background: var(--dot-color, transparent); /* usa la variabile CSS */
  position:absolute;
  left:-16px;
  top:50%;
  transform:translateY(-50%);
  transition: background 0.2s ease;
}

.main-nav li.active > a::before {
  background: var(--dot-color);
}


/* Mostra il pallino al hover e usa il colore dal data-color */
.main-nav li:hover > a::before {
  background: var(--dot-color);
}

.header-actions{display:flex;gap:14px;align-items:center;flex: 1; justify-content: flex-end;
}


.menu-toggle{display:none;background:none;border:0;font-size:26px;cursor:pointer}



/* --- SUBMENU DESKTOP --- */
#globalSubmenu{
  display: none;
  position:fixed;left:0;top:0;width:0;
  z-index:1000;pointer-events:none;background:transparent;
  display:block;
}
#globalSubmenu .submenu-panel{
  width:100%;background:#fff;
  box-shadow:0 4px 6px rgba(16,24,40,0.08), 0 12px 24px rgba(16,24,40,0.08);
  border-radius:0 0 19px 19px;
  padding-top:18px;
  padding-left:28px;
  padding-right:28px;
  padding-bottom:14px;
  opacity:0;
  transform:translateY(-8px);
  transition:opacity .28s ease,transform .28s ease;
}
#globalSubmenu.open{ display: block; pointer-events:auto}
#globalSubmenu.open .submenu-panel{opacity:1;transform:translateY(0)}

.submenu-list{display:flex;gap:28px;flex-wrap:wrap;list-style:none;justify-content: center;}
.submenu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:999px;cursor:pointer}
.submenu-item:hover{background:#5b31f4;color:#fff}
.submenu-item svg{width:18px;height:18px}
.submenu-item span{font-size:14px;font-weight:500}


/* --- MOBILE MENU --- */
@media(max-width:1024px){
html.no-scroll,
body.no-scroll {
  overflow: hidden;
}
}

.mobile-menu{display:none}

button#menuToggle {
    background: transparent;
    color: #003772;
    padding: 0;
}

@media(max-width:1024px){
  .main-nav{display:none}
  .menu-toggle{display:block}
  #globalSubmenu{display:none}
  .mobile-menu{
    display:block;
    position:fixed;
	top:83px;
	left:-100%;
	width:100%;
	max-width:100%;
	height: 100vh; /* tutta l’altezza della finestra */
	background:#fff;
    padding:20px 0;
	overflow-y:auto;
	transition:left .3s ease;
	z-index:1500; 
  }
  
  .logged-in .mobile-menu{
	top:115px;
  }
  
  .mobile-menu.open-menu{left:0}
  .mobile-menu ul{list-style:none;margin-top:20px}
  .mobile-menu li{margin-bottom:12px}
  .mobile-menu a{color:#111;text-decoration:none;font-size:18px;font-weight:600}
  .mobile-menu .accordion { display:flex; flex-direction:column; gap:20px;}
  .accordion-toggle{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding-left: 30px; padding-right: 30px;}
  .accordion-toggle span{font-size:42px;font-weight:600;line-height:60px; letter-spacing:-2px;}
  .accordion-toggle .symbol{font-size:34px;color:#5b31f4;font-weight:200;}
  .accordion-content a{font-size:26px;font-weight:400;margin:6px 0}
}

.mobile-bottom-content {
    padding-left: 30px;
    padding-right: 30px;
}


/* --- ANIMAZIONE ACCORDION MOBILE --- */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding-top: 0;
  padding-bottom: 0;
}

/* Stato aperto */
.accordion-content.open {
  padding-top: 12px; /* stesso padding interno attuale */
  padding-bottom: 12px;
  max-height: 1000px; /* valore abbastanza grande da contenere tutto */
}

.accordion-toggle .symbol {
  display: inline-block;
  transition: color 0.3s ease;
}

