/* Единая навигация сайта «Альт Мир»: два уровня в одном визуальном языке.
   Цвета заданы ВНУТРИ блока (не зависят от токенов страницы) — иначе страницы
   с собственной палитрой (цены, колледж) дают другой вид меню.
   Подключение: <link rel="stylesheet" href="/altmir/assets/nav.css"> + <div id="siteNav"></div> */

#siteNav{
  --nv-surface:#ffffff;
  --nv-ink:#000c2d;
  --nv-quiet:#3d4f6d;
  --nv-line:#dde5f0;
  --nv-accent:#0473ff;
  --nv-sub:#f6f9ff;
  --nv-divider:rgba(0,12,45,.07);
  background:var(--nv-surface);
  border-bottom:1px solid var(--nv-line);
  flex-shrink:0;position:relative;z-index:40;
  -webkit-tap-highlight-color:transparent;
}
body:not(.light) #siteNav{
  --nv-surface:#141f3d;
  --nv-ink:#ffffff;
  --nv-quiet:rgba(255,255,255,.78);
  --nv-line:rgba(255,255,255,.14);
  --nv-accent:#7db3ff;
  --nv-sub:#1a2547;
  --nv-divider:rgba(255,255,255,.10);
}
#siteNav .nv-inner{max-width:1180px;margin:0 auto;width:100%}

/* ---------- строка бренда ---------- */
#siteNav .nv-brand{display:flex;align-items:center;gap:12px;height:58px;padding:0 20px}
#siteNav .nv-brand a{display:flex;align-items:center;gap:11px;text-decoration:none}
#siteNav .nv-brand img{height:30px;display:block}
#siteNav .nv-brand b{font-size:17px;font-weight:800;color:var(--nv-ink);letter-spacing:-.2px}
#siteNav .nv-sp{flex:1}
#siteNav .nv-theme{
  font-family:inherit;cursor:pointer;border-radius:9px;white-space:nowrap;
  border:1px solid var(--nv-line);background:transparent;color:var(--nv-quiet);
  font-size:13px;font-weight:600;padding:8px 12px;
}
#siteNav .nv-theme:hover{color:var(--nv-accent);border-color:var(--nv-accent)}
#siteNav .nv-cta{
  font-family:inherit;cursor:pointer;border-radius:9px;white-space:nowrap;border:none;text-decoration:none;
  background:linear-gradient(135deg,#2488ff,#0b57d0);color:#fff;font-size:13.5px;font-weight:700;padding:10px 18px;
}
#siteNav .nv-cta:hover{filter:brightness(1.06)}

/* ---------- общий каркас обоих рядов ---------- */
#siteNav .nv-row{display:flex;align-items:stretch;overflow-x:auto;scrollbar-width:none;padding:0 12px}
#siteNav .nv-row::-webkit-scrollbar{display:none}
#siteNav .nv-row a{position:relative;text-decoration:none;white-space:nowrap;transition:color .15s}
#siteNav .nv-row a:focus-visible{outline:2px solid var(--nv-accent);outline-offset:-3px;border-radius:4px}
#siteNav .nv-l2 a::after{
  content:'';position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;
  background:transparent;transition:background .15s;
}
/* подсказка «есть ещё» на узких экранах */
#siteNav .nv-row.scrollable{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),rgba(0,0,0,0) 100%)}

/* ---------- первый уровень ---------- */
#siteNav .nv-l1{border-top:0}
#siteNav .nv-l1 a{padding:15px 14px 13px;font-size:15px;font-weight:600;color:var(--nv-quiet)}
#siteNav .nv-l1 a:hover{color:var(--nv-ink)}
#siteNav .nv-l1 a.on{color:var(--nv-ink);font-weight:700}

/* ---------- линия между уровнями ---------- */
#siteNav .nv-sep{height:1px;background:var(--nv-divider);max-width:1180px;margin:0 auto}

/* ---------- второй уровень: тот же язык, на шаг тише ---------- */
#siteNav .nv-l2{padding-top:1px;padding-bottom:5px;background:transparent}
#siteNav .nv-l2 a{padding:9px 14px 9px;font-size:13.5px;font-weight:500;color:var(--nv-quiet)}
#siteNav .nv-l2 a::after{left:14px;right:14px;height:2px;border-radius:2px}
#siteNav .nv-l2 a:hover{color:var(--nv-ink)}
#siteNav .nv-l2 a.on{color:var(--nv-accent)}
#siteNav .nv-l2 a.on::after{background:var(--nv-accent)}

/* ---------- адаптив ---------- */
@media (max-width:1024px){
  #siteNav .nv-l1 a{padding:14px 12px 12px;font-size:14.5px}
  #siteNav .nv-l2 a{font-size:13px;padding:8px 12px 8px}
  #siteNav .nv-l2 a::after{left:12px;right:12px}
}
@media (max-width:640px){
  #siteNav .nv-brand{height:50px;padding:0 14px;gap:9px}
  #siteNav .nv-brand img{height:22px}
  #siteNav .nv-brand b{font-size:15.5px}
  #siteNav .nv-theme{padding:7px 10px;font-size:12.5px}
  #siteNav .nv-cta{padding:9px 13px;font-size:12.5px}
  #siteNav .nv-row{padding:0 8px}
  #siteNav .nv-l1 a{padding:13px 10px 11px;font-size:14px}
  #siteNav .nv-l2{padding-top:1px;padding-bottom:4px}
  #siteNav .nv-l2 a{font-size:12.5px;padding:7px 10px 7px}
  #siteNav .nv-l2 a::after{left:10px;right:10px}
}
@media print{ #siteNav{display:none} }

/* ---------- логотип: файл под тему (в тёмной теме подпись белая, в светлой — тёмная) ---------- */
img.logo-on-light{display:inline !important}
img.logo-on-light.nv-inline{display:inline !important}
img.logo-on-dark{display:none !important}
body:not(.light) img.logo-on-light{display:none !important}
body:not(.light) img.logo-on-dark{display:inline !important}



/* ---------- переключатель темы: луна/солнце ---------- */
#siteNav .nv-theme{display:inline-flex;align-items:center;gap:7px}
#siteNav .nv-theme svg{display:block;flex-shrink:0}
#siteNav .nv-theme .ic-sun{display:none}
#siteNav .nv-theme .ic-moon{display:block}
body:not(.light) #siteNav .nv-theme .ic-sun{display:block}
body:not(.light) #siteNav .nv-theme .ic-moon{display:none}
@media (max-width:640px){}

/* ---------- выравнивание шапки по одной линии с меню ---------- */
@media (min-width:1220px){
  .topbar{padding-left:calc((100vw - 1180px) / 2 + 12px);padding-right:calc((100vw - 1180px) / 2 + 12px)}
}
/* ---------- ссылка «Войти» в шапке разделов ---------- */
#siteNav .nv-login{font-size:13.5px;font-weight:600;color:var(--nv-ink);text-decoration:none;padding:8px 10px;border-radius:8px;white-space:nowrap;transition:color .15s}
#siteNav .nv-login:hover{color:var(--nv-ink)}
@media (max-width:760px){#siteNav .nv-login{display:none}}
