
/* === GW NAV 2026: mega menu + dropdown + footer grid === */

/* Header layout: evita sovrapposizione col logo centrale */
.custom-header .header-container{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px 16px;
  max-width:1400px;
  margin:0 auto;
  padding:12px 20px;
  position:relative;
}
.custom-header .left-section{
  justify-self:start;
  min-width:0;
  max-width:100%;
}
.custom-header .logo-center{
  position:static !important;
  left:auto !important;
  transform:none !important;
  justify-self:center;
  z-index:2;
  flex-shrink:0;
}
.custom-header .logo-center img{max-height:88px;width:auto;display:block}
.custom-header .right-section{
  justify-self:end;
  min-width:0;
  max-width:100%;
  display:flex !important;
  align-items:center;
  gap:10px;
  justify-content:flex-end;
}

.gw-nav__list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0;flex-wrap:nowrap}
.gw-nav__item{position:relative;flex:0 0 auto}
.gw-nav__link,.gw-nav__trigger{
  display:inline-flex;align-items:center;gap:5px;
  color:#6B21A8;text-decoration:none;font-weight:700;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.03em;background:none;border:0;cursor:pointer;
  padding:10px 7px;font-family:inherit;white-space:nowrap;line-height:1.2
}
.gw-nav__link:hover,.gw-nav__trigger:hover{color:#F97316}

/* Freccia dropdown encoding-safe (niente caratteri UTF rotti) */
.gw-nav__trigger::after,
.gw-has-drop > .gw-nav__link::after{
  content:"";
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  opacity:.8;
  margin-left:2px;
}

.gw-mega,.gw-drop{
  position:absolute;top:100%;left:0;min-width:240px;
  background:#fff;border:1px solid #ece2f7;border-radius:14px;
  box-shadow:0 18px 40px rgba(107,33,168,.16);
  padding:14px;margin-top:0;opacity:0;visibility:hidden;transform:none;
  transition:opacity .15s ease, visibility .15s;
  z-index:1200
}
/* Ponte invisibile: evita che il menu si chiuda attraversando il gap */
.gw-mega::before,.gw-drop::before{
  content:"";
  position:absolute;left:0;right:0;top:-16px;height:16px;
}
.gw-has-mega > .gw-mega{left:0;min-width:min(640px,70vw);padding:18px}
.gw-mega__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gw-mega__label,.gw-acc__label{margin:0 0 8px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#9333ea}
.gw-mega__col a,.gw-drop a{
  display:block;padding:7px 8px;border-radius:8px;color:#1f2937;text-decoration:none;font-size:.92rem;font-weight:600;text-transform:none;letter-spacing:0;white-space:normal
}
.gw-mega__col a:hover,.gw-drop a:hover{background:#faf5ff;color:#6B21A8}
.gw-nav__item.is-open > .gw-mega,
.gw-nav__item.is-open > .gw-drop,
.gw-nav__item:hover > .gw-mega,
.gw-nav__item:hover > .gw-drop,
.gw-nav__item:focus-within > .gw-mega,
.gw-nav__item:focus-within > .gw-drop{
  opacity:1;visibility:visible;transform:none
}
.menu-right .gw-drop{left:auto;right:0}

/* Mobile accordion */
.mobile-menu{overflow-y:auto}
.mobile-menu nav{margin-top:24px;padding:0 12px 40px}
.gw-acc{border-bottom:1px solid rgba(255,255,255,.18)}
.gw-acc > summary{
  list-style:none;cursor:pointer;color:#fff;font-size:1.35rem;font-weight:700;
  padding:16px 4px;display:flex;justify-content:space-between;align-items:center
}
.gw-acc > summary::-webkit-details-marker{display:none}
.gw-acc > summary::after{content:"+";font-weight:400;opacity:.8}
.gw-acc[open] > summary::after{content:"-"}
.gw-acc__body{display:flex;flex-direction:column;gap:4px;padding:0 4px 16px}
.gw-acc__body a,.gw-mobile-link{
  color:#fff;text-decoration:none;font-size:1.05rem;font-weight:600;padding:10px 4px;display:block
}
.gw-acc--nested{margin:6px 0 0;border:0}
.gw-acc--nested > summary{font-size:1.05rem;padding:10px 4px}
.gw-mobile-link{border-bottom:1px solid rgba(255,255,255,.18);font-size:1.35rem;padding:16px 4px}

@media (max-width:1200px){
  .gw-nav__link,.gw-nav__trigger{font-size:.72rem;padding:10px 5px}
  .custom-header .logo-center img{max-height:78px}
}
@media (max-width:900px){
  .custom-header .header-container{
    display:flex !important;
    justify-content:space-between !important;
  }
  .menu-left,.menu-right{display:none!important}
  .custom-header .logo-center{position:static !important;transform:none !important}
}

/* Footer grid */
.gw-footer-grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 24px;
  max-width:1200px;margin:0 auto;padding:10px 20px 30px
}
.gw-footer-col .footer-title{margin:0 0 12px;font-size:1rem}
.gw-footer-list{list-style:none;margin:0;padding:0}
.gw-footer-list li{margin:0 0 8px}
.gw-footer-list a{color:#fff;text-decoration:none;font-weight:600;font-size:.92rem}
.gw-footer-list a:hover{color:#FDE68A}
@media (max-width:900px){
  .gw-footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .gw-footer-grid{grid-template-columns:1fr}
}
