/* Dropdown Organizza un corso
   Desktop = hover
   Mobile/touch = tap
*/
.nav-organizza{
  position:relative;
  display:flex;
  align-items:center;
}
.nav-organizza-toggle{
  appearance:none;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  padding:0;
  margin:0;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.nav-chevron{
  font-size:.85em;
  transition:transform .18s ease;
}
.nav-organizza-menu{
  display:none;
  position:absolute;
  z-index:1000;
  top:100%;
  left:50%;
  width:390px;
  padding:18px 8px 8px;
  transform:translateX(-50%);
  background:transparent;
}
.nav-organizza-menu::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:10px;
  right:0;
  bottom:0;
  left:0;
  background:#fff;
  border:1px solid #dce5ea;
  border-radius:12px;
  box-shadow:0 18px 45px rgba(7,43,70,.14);
}
.nav-organizza-menu a{
  display:block!important;
  position:relative;
  padding:12px 14px!important;
  border-radius:8px;
  text-decoration:none!important;
}
.nav-organizza-menu a:hover,
.nav-organizza-menu a:focus-visible{background:#f3f7f9}
.nav-organizza-menu strong{
  display:block;
  color:#102536;
  font-size:.88rem;
  line-height:1.3;
}
.nav-organizza-menu small{
  display:block;
  margin-top:3px;
  color:#687984;
  font-size:.72rem;
  line-height:1.35;
  font-weight:400;
}

/* Formazione online: link principale cliccabile + mega menu corsi */
.nav-online{
  position:relative;
  display:flex;
  align-items:center;
  gap:3px;
}
.main-nav .nav-online > .nav-online-link{
  padding-right:0!important;
  white-space:nowrap;
}
.main-nav .nav-online > .nav-online-toggle{
  -webkit-appearance:none!important;
  appearance:none!important;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:18px;
  min-width:18px;
  height:22px;
  margin:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0;
  background:none!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
  cursor:pointer;
}
.main-nav .nav-online > .nav-online-toggle:hover,
.main-nav .nav-online > .nav-online-toggle:focus,
.main-nav .nav-online > .nav-online-toggle:active{
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.nav-online-menu{
  display:none;
  position:absolute;
  z-index:1100;
  top:100%;
  left:50%;
  width:min(680px, calc(100vw - 32px));
  padding:18px 8px 8px;
  transform:translateX(-50%);
  background:transparent;
}
.nav-online-menu::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:10px;
  right:0;
  bottom:0;
  left:0;
  background:#fff;
  border:1px solid #dce5ea;
  border-radius:12px;
  box-shadow:0 18px 45px rgba(7,43,70,.16);
}
.nav-online-all{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 4px 8px;
  padding:12px 14px!important;
  border-radius:8px;
  background:#f1f8fb;
  text-decoration:none!important;
}
.nav-online-all:hover,
.nav-online-all:focus-visible{background:#e8f4f9}
.nav-online-all strong{
  color:#073b59;
  font-size:.9rem;
  line-height:1.25;
}
.nav-online-all small{
  color:#0796d2;
  font-size:.72rem;
  line-height:1.25;
  font-weight:850;
  white-space:nowrap;
}
.nav-online-columns{
  display:grid;
  grid-template-columns:1.35fr .9fr;
  gap:8px;
  padding:0 4px 4px;
}
.nav-online-group{
  padding:8px;
  border-radius:9px;
}
.nav-online-secondary{
  background:#f8fafb;
}
.nav-online-label{
  display:block;
  padding:4px 10px 7px;
  color:#0796d2;
  font-size:.66rem;
  line-height:1.2;
  font-weight:950;
  letter-spacing:.085em;
}
.nav-online-group a{
  display:block!important;
  padding:9px 10px!important;
  border-radius:7px;
  color:#102536!important;
  font-size:.82rem!important;
  line-height:1.25!important;
  font-weight:750!important;
  text-decoration:none!important;
}
.nav-online-group a:hover,
.nav-online-group a:focus-visible{
  background:#f1f6f8;
  color:#073b59!important;
}

/* DESKTOP: apertura al passaggio del mouse/focus */
@media (hover:hover) and (pointer:fine) and (min-width:901px){
  .nav-organizza:hover .nav-organizza-menu,
  .nav-organizza:focus-within .nav-organizza-menu,
  .nav-online:hover .nav-online-menu,
  .nav-online:focus-within .nav-online-menu{
    display:block;
  }
  .nav-organizza:hover .nav-chevron,
  .nav-organizza:focus-within .nav-chevron,
  .nav-online:hover .nav-chevron,
  .nav-online:focus-within .nav-chevron{
    transform:rotate(180deg);
  }
}

/* MOBILE / TOUCH: apertura al tap */
@media (max-width:900px), (hover:none), (pointer:coarse){
  .nav-organizza{
    display:block;
    width:100%;
  }
  .nav-organizza-toggle{
    width:100%;
    justify-content:space-between;
  }
  .nav-organizza.is-open .nav-organizza-menu{
    display:block;
  }
  .nav-organizza.is-open .nav-chevron{
    transform:rotate(180deg);
  }
  .nav-organizza-menu{
    position:static;
    width:auto;
    margin:8px 0 4px 8px;
    padding:0 0 0 8px;
    transform:none;
    border-left:2px solid #dce5ea;
    background:transparent;
  }
  .nav-organizza-menu::before{display:none}
  .nav-organizza-menu a{padding:10px 12px!important}

  .nav-online{
    display:grid;
    grid-template-columns:1fr auto;
    width:100%;
    align-items:center;
    gap:0;
  }
  .main-nav .nav-online > .nav-online-link{
    min-width:0;
    padding-right:8px!important;
  }
  .main-nav .nav-online > .nav-online-toggle{
    width:34px;
    min-width:34px;
    height:34px;
  }
  .nav-online.is-open .nav-online-menu{display:block}
  .nav-online.is-open > .nav-online-toggle .nav-chevron{transform:rotate(180deg)}
  .nav-online-menu{
    position:static;
    grid-column:1 / -1;
    width:auto;
    margin:8px 0 4px 8px;
    padding:0 0 0 8px;
    transform:none;
    border-left:2px solid #dce5ea;
    background:transparent;
  }
  .nav-online-menu::before{display:none}
  .nav-online-all{
    display:block!important;
    margin:0 0 6px;
    padding:10px 12px!important;
    background:#f3f7f9;
  }
  .nav-online-all small{display:block;margin-top:3px;white-space:normal}
  .nav-online-columns{
    display:block;
    padding:0;
  }
  .nav-online-group{
    padding:4px 0;
    background:transparent;
  }
  .nav-online-label{padding:6px 12px 4px}
  .nav-online-group a{padding:9px 12px!important}
}

/* Correzione estetica trigger Organizza un corso:
   deve apparire identico alle altre voci del menu, non come un pulsante. */
.main-nav .nav-organizza > .nav-organizza-toggle{
  -webkit-appearance:none !important;
  appearance:none !important;
  display:flex !important;
  align-items:center;
  gap:5px;
  width:auto;
  min-width:0;
  height:auto;
  min-height:0;
  margin:0;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0;
  background:none !important;
  box-shadow:none !important;
  color:inherit !important;
  font:inherit !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  line-height:inherit !important;
  letter-spacing:inherit !important;
  text-transform:none !important;
  cursor:pointer;
}
.main-nav .nav-organizza > .nav-organizza-toggle:hover,
.main-nav .nav-organizza > .nav-organizza-toggle:focus,
.main-nav .nav-organizza > .nav-organizza-toggle:active{
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
}
