/* Paired IT/EN navigation: reserve a clear gap between logo and long EN labels. */
.header-inner { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); column-gap: clamp(3rem, 4vw, 4rem); }
.site-logo .logo-brand-img { display: block; width: 100%; max-width: 360px; height: auto; max-height: 124px; object-fit: contain; object-position: left center; }
.site-nav { min-width: 0; }
.gap-nav-v2 > li { display: flex; align-items: center; }
.gap-nav-v2 > li > a,
.gap-nav-v2 > li > .gap-nav-label { display: inline-flex; align-items: center; min-height: 44px; }
.gap-nav-v2 > li.menu-item-has-children > a:after { display: none; }
.gap-nav-v2 > li > .gap-nav-label {
  padding: .8rem .35rem; color: #d9e6f3; font-size: clamp(.72rem, 1vw, .84rem);
  font-weight: 700; letter-spacing: .075em; text-transform: uppercase;
}
.gap-nav-v2 .gap-menu-toggle {
  display: inline-grid; place-items: center; width: 30px; height: 44px; flex: none;
  border: 0; color: var(--aqua-l); background: transparent; cursor: pointer;
}
.gap-nav-v2 .gap-menu-toggle span { font-size: 1.15rem; transition: transform .2s ease; }
.gap-nav-v2 > li.open > .gap-menu-toggle span { transform: rotate(180deg); }
.gap-nav-v2 .gap-menu-panel {
  position: absolute; top: 100%; left: 0; z-index: 200; min-width: 230px;
  opacity: 0; visibility: hidden; transform: translateY(-8px); transition: all var(--trans);
}
.gap-nav-v2 > li:hover > .gap-menu-panel,
.gap-nav-v2 > li:focus-within > .gap-menu-panel,
.gap-nav-v2 > li.open > .gap-menu-panel { opacity: 1; visibility: visible; transform: none; }
.gap-nav-v2 .gap-menu-panel .sub-menu {
  position: static; display: block; min-width: 230px; opacity: 1; visibility: visible; transform: none;
}
.gap-nav-v2 .gap-mega-inner {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem;
  width: min(100%, var(--max-w)); max-height: min(70vh, 650px); overflow-y: auto;
  margin: auto; padding: 1.4rem 1.5rem;
}
.gap-nav-v2 .gap-mega-group { min-width: 0; }
.gap-nav-v2 .gap-mega-group h3 {
  margin: 0 0 .65rem; padding-bottom: .6rem; border-bottom: 1px solid var(--border);
  color: var(--aqua-l); font-family: var(--font-main); font-size: .75rem;
  font-weight: 800; line-height: 1.4; letter-spacing: .04em; text-transform: uppercase;
}
.gap-nav-v2 .gap-mega-links { display: grid; gap: .1rem; margin: 0; padding: 0; list-style: none; }
.gap-nav-v2 .gap-mega-links a {
  display: block; padding: .38rem .45rem; border-radius: 7px; color: #d0dfed;
  font-size: .8rem; line-height: 1.4;
}
.gap-nav-v2 .gap-mega-links a:hover,
.gap-nav-v2 .gap-mega-links a:focus-visible { color: #fff; background: rgba(19,185,200,.16); }
.gap-nav-v2 .gap-mega-webgis { grid-column: 1 / -1; }
.gap-nav-v2 .gap-mega-webgis a {
  display: flex; align-items: center; gap: .8rem; min-height: 52px; padding: .7rem 1rem;
  border: 1px solid rgba(91,224,229,.4); border-radius: 10px;
  background: rgba(19,185,200,.12); color: #fff;
}
.gap-nav-v2 .gap-mega-webgis a:hover { background: rgba(19,185,200,.24); }
.gap-nav-v2 .gap-mega-webgis span { color: #c7d9e7; font-size: .82rem; }
.nav-menu:not(.gap-nav-v2) > li > .gap-menu-toggle { display: none; }

@media (max-width: 1240px) {
  .header-inner { grid-template-columns: minmax(0, 1fr) auto; min-height: 72px; padding: .55rem 1rem; }
  .site-logo .logo-brand-img { max-width: 220px; max-height: 74px; }
  .nav-toggle { display: block; }
  .site-nav {
    position: absolute; top: 100%; right: 0; left: 0; display: block;
    max-height: 0; overflow: hidden; border-bottom: 1px solid var(--border);
    background: rgba(5,18,38,.99); transition: max-height .35s;
  }
  .site-nav.open { max-height: calc(100vh - 72px); overflow-y: auto; }
  .nav-menu { display: block; padding: .7rem 1rem 1rem; }
  .nav-menu > li > a { justify-content: space-between; padding: .9rem .4rem; border-bottom: 1px solid rgba(255,255,255,.08); }
  .nav-menu > li > a:before { display: none; }
  .nav-menu .sub-menu, .mega-menu {
    position: static; display: none; width: auto; margin: 0; border: 0;
    border-radius: 0; box-shadow: none; opacity: 1; visibility: visible;
    transform: none; background: rgba(19,60,105,.27);
  }
  .nav-menu > li.open > .sub-menu,
  .nav-menu > li.has-mega.open > .mega-menu { display: block; }
  .nav-menu:not(.gap-nav-v2) > li.menu-item-has-children { position: relative; }
  .nav-menu:not(.gap-nav-v2) > li.menu-item-has-children > a { padding-right: 3.25rem; }
  .nav-menu:not(.gap-nav-v2) > li > .gap-menu-toggle {
    position: absolute; top: 0; right: 0; display: grid; place-items: center;
    width: 46px; height: 46px; border: 0; color: var(--aqua-l);
    background: transparent; cursor: pointer;
  }
  .gap-nav-v2 > li { display: flex; flex-wrap: wrap; justify-content: space-between; }
  .gap-nav-v2 > li > a,
  .gap-nav-v2 > li > .gap-nav-label { flex: 1; min-width: 0; padding: .75rem .35rem; }
  .gap-nav-v2 .gap-menu-toggle { width: 46px; height: 46px; }
  .gap-nav-v2 .gap-menu-panel,
  .gap-nav-v2 > li > .mega-menu {
    position: static; display: none; flex: 0 0 100%; width: 100%; max-width: 100%;
    border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none;
  }
  .gap-nav-v2 > li.open > .gap-menu-panel,
  .gap-nav-v2 > li.has-mega.open > .mega-menu { display: block; }
  .gap-nav-v2 .gap-menu-panel .sub-menu { width: 100%; min-width: 0; border: 0; }
  .gap-nav-v2 .gap-mega-inner {
    display: block; max-height: none; padding: .6rem .75rem 1rem;
    background: rgba(19,60,105,.27);
  }
  .gap-nav-v2 .gap-mega-group { padding: .75rem 0; border-bottom: 1px solid var(--border); }
  .gap-nav-v2 .gap-mega-group h3 { margin: 0 0 .25rem; padding: 0; border: 0; }
  .gap-nav-v2 .gap-mega-links { grid-template-columns: 1fr; }
  .gap-nav-v2 .gap-mega-links a { min-height: 44px; padding: .65rem .5rem; }
  .gap-nav-v2 .gap-mega-webgis { margin-top: .8rem; }
}
