/* NAV 2026 — современное меню (2026) */
:root{
  --nav2026-bg: rgba(10, 12, 16, .55);
  --nav2026-border: rgba(255,255,255,.10);
  --nav2026-text: rgba(255,255,255,.92);
  --nav2026-text-dim: rgba(255,255,255,.78);
  --nav2026-shadow: 0 18px 55px rgba(0,0,0,.28);
  --nav2026-radius: 18px;
}

#nav2026{
  position: fixed;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 24px);
  max-width: 1180px;
  z-index: 999999;

  backdrop-filter: blur(10px) saturate(1.25);
  -webkit-backdrop-filter: blur(10px) saturate(1.25);

  background: var(--nav2026-bg);
  border: 1px solid var(--nav2026-border);
  border-radius: var(--nav2026-radius);
  box-shadow: var(--nav2026-shadow);

  /* лёгкая «маска» снизу как в примере */
  -webkit-mask-image: linear-gradient(#000 82%, transparent);
  mask-image: linear-gradient(#000 82%, transparent);

  transition: transform .25s ease, opacity .25s ease;
}

#nav2026.is-hidden{
  transform: translate(-50%, -120%);
  opacity: .85;
}

#nav2026 .nav2026-inner{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}

#nav2026 .nav2026-logo{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--nav2026-text);
  text-decoration: none;
  min-width: 96px;
}

#nav2026 .nav2026-logo-img{
  height: 34px;
  width: auto;
  display: block;
}

#nav2026 .nav2026-logo-text{
  font-weight: 700;
  letter-spacing: .06em;
  font-size: 14px;
}

#nav2026 .nav2026-burger{
  margin-left: auto;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
}

#nav2026 .nav2026-burger span{
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.9);
  display: block;
  border-radius: 2px;
  transition: transform .2s ease, opacity .2s ease;
}

#nav2026.is-open .nav2026-burger span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
#nav2026.is-open .nav2026-burger span:nth-child(2){ opacity: 0; }
#nav2026.is-open .nav2026-burger span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }

#nav2026 .nav2026-panel{
  display: none;
  margin-left: auto;
}

#nav2026 .nav2026-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}

#nav2026 .nav2026-item{ position: relative; }

#nav2026 .nav2026-link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--nav2026-text);
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}

#nav2026 a.nav2026-link:hover{
  background: rgba(255,255,255,.06);
}

#nav2026 .nav2026-trigger{
  background: transparent;
  border: none;
  cursor: pointer;
}

#nav2026 .nav2026-caret{
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255,255,255,.75);
  border-bottom: 2px solid rgba(255,255,255,.75);
  transform: rotate(45deg);
  margin-top: -2px;
  opacity: .9;
}

#nav2026 .nav2026-sub{
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 280px;
  max-width: 360px;
  border-radius: 16px;
  background: rgba(12,14,18,.86);
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  padding: 10px;
  display: none;
}

#nav2026 .nav2026-has-sub:hover .nav2026-sub{
  display: block;
}

#nav2026 .nav2026-has-sub.is-sub-open .nav2026-sub{
  display: block;
}

#nav2026 .nav2026-sub-link{
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  color: var(--nav2026-text-dim);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
}

#nav2026 .nav2026-sub-link:hover{
  background: rgba(255,255,255,.06);
  color: var(--nav2026-text);
}

#nav2026 .nav2026-sub-empty{
  padding: 10px 12px;
  color: rgba(255,255,255,.6);
  font-size: 13px;
}

#nav2026 .nav2026-sub-html{
  color: var(--nav2026-text);
  font-size: 14px;
}

#nav2026 .nav2026-contact-box{
  display: grid;
  gap: 10px;
}

#nav2026 .nav2026-contact-title{
  font-weight: 700;
  letter-spacing: .01em;
}

#nav2026 .nav2026-contact-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  padding: 10px 12px;
  text-decoration: none;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

#nav2026 .nav2026-contact-btn:hover{
  background: rgba(255,255,255,.10);
}

@media (min-width: 860px){
  #nav2026 .nav2026-burger{ display: none; }
  #nav2026 .nav2026-panel{ display: block; }
}

@media (max-width: 859px){
  #nav2026{
    top: 10px;
    border-radius: 16px;
  }
  #nav2026 .nav2026-panel{
    display: block;
    width: 100%;
  }
  #nav2026 .nav2026-list{
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 8px 6px 6px 6px;
  }
  #nav2026.is-open .nav2026-list{
    display: flex;
  }
  #nav2026 .nav2026-link{
    width: 100%;
    justify-content: space-between;
    padding: 12px 12px;
  }
  #nav2026 .nav2026-sub{
    position: static;
    display: none;
    min-width: 0;
    max-width: none;
    margin: 0 0 6px 0;
    padding: 8px;
    border-radius: 14px;
  }
  #nav2026 .nav2026-has-sub:hover .nav2026-sub{
    display: none; /* hover не нужен на мобилке */
  }
  #nav2026 .nav2026-has-sub.is-sub-open .nav2026-sub{
    display: block;
  }
}
