/* Menu globale condiviso — non modifica i menu didattici o ADC secondari. */
#site-nav .nav-menu{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#site-nav .has-submenu{position:relative}
#site-nav .submenu{display:none;position:absolute;top:100%;left:0;z-index:100;min-width:215px;list-style:none;padding:10px;background:#182420;border:1px solid #b99b63;border-radius:12px;box-shadow:0 14px 35px #0005}
#site-nav .submenu a{display:block;padding:8px 11px;color:#ecd49c}
#site-nav .has-submenu.open>.submenu,#site-nav .has-submenu:focus-within>.submenu{display:block}
#site-nav .submenu-toggle{cursor:pointer;border:0;background:transparent;color:#e5ca88;font:inherit;padding:10px}
#site-nav .menu-toggle{display:none}
@media(max-width:900px){#site-nav{display:flex;flex-wrap:wrap}#site-nav .menu-toggle{display:block;margin-left:auto}#site-nav .nav-menu{display:none!important;flex-basis:100%;width:100%;flex-direction:column;align-items:stretch;gap:3px}#site-nav .nav-menu.active{display:flex!important}#site-nav .nav-menu>li{width:100%}#site-nav .submenu{position:static;box-shadow:none;min-width:0}#site-nav .submenu-toggle{width:100%;text-align:left}#site-nav .has-submenu:not(.open)>.submenu{display:none!important}}
@media(min-width:901px){#site-nav .nav-menu{display:flex!important}}

/* Navigazione mobile: sottomenu visibili solo all'apertura esplicita;
   superficie scorrevole per evitare menu tagliati su smartphone. */
@media(max-width:900px){
  #site-nav .nav-menu.active{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
  #site-nav .has-submenu:not(.open)>.submenu{display:none!important}
  #site-nav .has-submenu.open>.submenu{display:block!important}
  #site-nav .submenu-toggle{min-height:44px}
  #site-nav .nav-menu a{display:block;min-height:42px}
}

/* Correzione mobile 26 ottobre: menu compatto, scorrevole e non permanentemente espanso. */
@media(max-width:900px){
 #site-nav .nav-menu:not(.active){display:none!important}
 #site-nav .nav-menu.active{display:flex!important;max-height:min(66dvh,510px)!important;overflow-y:auto!important;gap:0!important;padding:8px 0 12px!important;margin:10px 0 0!important;scrollbar-width:thin}
 #site-nav .nav-menu>li{margin:0!important;padding:0!important;border-bottom:1px solid rgba(235,223,198,.13)!important}
 #site-nav .nav-menu>li>a,#site-nav .nav-menu>li>.submenu-toggle{display:block!important;min-height:44px!important;margin:0!important;padding:11px 16px!important;line-height:1.35!important;font-size:clamp(.9rem,3.8vw,1rem)!important;text-align:left!important;letter-spacing:.035em!important;width:100%!important;box-sizing:border-box!important}
 #site-nav .nav-menu>li.has-submenu{position:relative}
 #site-nav .submenu{margin:0!important;padding:3px 8px 8px 17px!important;position:static!important;border:0!important;border-left:2px solid #b99b63!important;border-radius:0!important;background:#202a27!important}
 #site-nav .submenu a{min-height:40px!important;padding:10px 12px!important;font-size:.9rem!important}
 #site-nav .has-submenu:focus-within:not(.open)>.submenu{display:none!important}
 #site-nav .has-submenu.open>.submenu{display:block!important}
}

/* Touch targets e stacking per menu generale */
#site-nav{position:relative;z-index:1000;isolation:isolate}
#site-nav .nav-menu,#site-nav .submenu{z-index:1001}
#site-nav .nav-menu a,#site-nav .submenu a,#site-nav .menu-toggle,#site-nav .submenu-toggle{pointer-events:auto!important;touch-action:manipulation}
@media(max-width:900px){#site-nav .nav-menu.active{visibility:visible!important}#site-nav .nav-menu a{position:relative;min-height:44px}}

/* Correzione mobile comune: niente scorrimento orizzontale nel menu. */
@media (max-width:900px) {
  body>header #site-nav {width:100%!important;max-width:100%!important;min-width:0!important;display:flex!important;align-items:center!important;flex-wrap:wrap!important;overflow:visible!important}
  body>header #site-nav>.logo{min-width:0!important;flex:1 1 0!important}
  body>header #site-nav>.menu-toggle{flex:0 0 auto!important}
  body>header #site-nav>.nav-menu{box-sizing:border-box!important;flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important;max-height:min(65dvh,520px)!important;overscroll-behavior:contain;white-space:normal!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important}
  body>header #site-nav>.nav-menu.active{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;padding:0!important;margin:8px 0 0!important}
  body>header #site-nav>.nav-menu>li{flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:0!important;overflow:visible!important}
  body>header #site-nav>.nav-menu>li>a,
  body>header #site-nav>.nav-menu>li>button{box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;text-align:left!important}
  body>header #site-nav .submenu{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body>header #site-nav .submenu a{white-space:normal!important;overflow-wrap:break-word!important}
}

/* Mobile: sottomenu accessibili senza doppia area di scorrimento. */
@media(max-width:900px){
 body>header #site-nav>.nav-menu.active{
   max-height:none!important;height:auto!important;
   overflow:visible!important;overscroll-behavior:auto!important;
 }
 body>header #site-nav>.nav-menu .has-submenu.open>.submenu{
   display:block!important;position:static!important;
   visibility:visible!important;height:auto!important;
 }
 body>header #site-nav>.nav-menu .has-submenu:not(.open)>.submenu{display:none!important}
 body>header #site-nav>.nav-menu>li{position:relative!important;pointer-events:auto!important}
}
