/* Навигация разделов ВЗЛЕТ: таббар (мобилка) и меню из угла (десктоп) */
:root{
  --vzlet-tab-h:0px;
  --vzlet-nav-bp:840px;
  --vzlet-nav-bg:#16191e;
  --vzlet-nav-panel:#1b1e23;
  --vzlet-nav-border:#333941;
  --vzlet-nav-text:#eceef1;
  --vzlet-nav-muted:#9aa3ad;
  --vzlet-nav-go:#8aa15c;
  --vzlet-nav-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}

/* Мобильный таббар — только на узком экране и только у top-документа */
.vzlet-tabbar{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:55;
  height:calc(56px + env(safe-area-inset-bottom));
  padding:0 4px env(safe-area-inset-bottom);
  box-sizing:border-box;
  background:linear-gradient(180deg,#1c2026f2 0%,#16191ef7 100%);
  border-top:1px solid #333941cc;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 -8px 28px #0008;
  font:11px/1.15 var(--vzlet-nav-font);
  color:var(--vzlet-nav-muted);
}
.vzlet-tabbar-inner{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  height:56px;align-items:stretch;max-width:560px;margin:0 auto;width:100%;
}
.vzlet-tab{
  appearance:none;-webkit-appearance:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  margin:0;padding:6px 2px 8px;border:0;border-radius:12px;background:transparent;
  color:inherit;font:inherit;cursor:pointer;min-width:0;text-decoration:none;
  -webkit-tap-highlight-color:transparent;transition:color .15s ease,background .15s ease;
}
.vzlet-tab svg{width:22px;height:22px;flex:0 0 auto;opacity:.88}
.vzlet-tab span{
  display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-size:10px;font-weight:550;letter-spacing:.01em;
}
.vzlet-tab:hover{color:#c7cdd3}
.vzlet-tab:focus-visible{outline:2px solid var(--vzlet-nav-go);outline-offset:-4px}
.vzlet-tab[aria-current="page"]{
  color:var(--vzlet-nav-go);background:#8aa15c14;
}
.vzlet-tab[aria-current="page"] svg{opacity:1}

@media (max-width:840px){
  html.vzlet-nav-top{
    --vzlet-tab-h:56px;
  }
  html.vzlet-nav-top .vzlet-tabbar{display:block}
  /* В приложениях кнопка «домой» на мобилке не нужна — есть табы */
  html.vzlet-nav-top .home-corner,
  html.vzlet-nav-top .home-btn,
  html.vzlet-embedded .home-corner,
  html.vzlet-embedded .home-btn{display:none!important}
  /* Контент страниц с прокруткой */
  html.vzlet-nav-top body.vzlet-nav-pad .wrap{
    padding-bottom:calc(40px + var(--vzlet-tab-h) + env(safe-area-inset-bottom))!important;
  }
}

/* Десктоп: меню разделов из кнопки угла */
.vzlet-nav-menu{
  display:none;position:fixed;z-index:60;
  min-width:220px;padding:6px;
  background:#1b1e23f5;border:1px solid var(--vzlet-nav-border);border-radius:14px;
  box-shadow:0 16px 40px #000a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  font:13px/1.35 var(--vzlet-nav-font);color:var(--vzlet-nav-text);
}
.vzlet-nav-menu.open{display:flex;flex-direction:column;gap:2px}
.vzlet-nav-menu-title{
  margin:0;padding:8px 10px 6px;font-size:10px;font-weight:650;
  letter-spacing:.06em;text-transform:uppercase;color:var(--vzlet-nav-muted);
}
.vzlet-nav-item{
  display:flex;align-items:center;gap:10px;width:100%;
  margin:0;padding:10px 10px;border:0;border-radius:10px;background:transparent;
  color:inherit;font:inherit;font-size:13.5px;cursor:pointer;text-align:left;text-decoration:none;
}
.vzlet-nav-item svg{width:18px;height:18px;flex:0 0 auto;color:var(--vzlet-nav-muted)}
.vzlet-nav-item:hover{background:#23272e}
.vzlet-nav-item[aria-current="page"]{
  background:#8aa15c18;color:var(--vzlet-nav-go);font-weight:600;
}
.vzlet-nav-item[aria-current="page"] svg{color:var(--vzlet-nav-go)}

/* Десктоп: меню открывает in-flow .home-btn / .home-corner (не fixed launch) */
.vzlet-nav-launch{display:none!important}

/* iframe оболочки: место под таббар на мобилке (высота от родителя, не inset+auto) */
@media (max-width:840px){
  html.vzlet-nav-top.vzlet-shell-active .vzlet-app-frame,
  html.vzlet-nav-top.vzlet-shell-active .vzlet-shell-veil{
    top:0;left:0;right:0;
    bottom:auto;
    height:calc(100dvh - var(--vzlet-tab-h) - env(safe-area-inset-bottom));
  }
}

.vzlet-tab:active{transform:scale(.96)}
.vzlet-tab[aria-current="page"]{pointer-events:none}

/* Внутри iframe: высота от рамки, не от dvh/vh телефона */
html.vzlet-embedded{
  height:100%;
  overflow:hidden;
}
html.vzlet-embedded body{
  height:100%;
  max-height:100%;
  min-height:100%!important; /* перекрыть min-height:100vh у калькулятора */
  box-sizing:border-box;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
/* Карты (map-shell) сами ставят body{overflow:hidden} — панель скроллится внутри */

/* Полноэкранный Штурман на мобилке закрывает таббар — bottom без сдвига */
@media (max-width:720px){
  .shturman-panel.open{bottom:0}
}
