/* v55-nav.css · архитектура навигации 5.5 (29.09.2026, слово Серга 13:0x «как на эти 21 страницу заходить вообще»).
   Разметку даёт _pipeline/scripts/nav-55.mjs через build-52; поведение — scripts/v55-nav.js.
   Язык 5.1: тёмная земля --bg, подписи v51-lab (мономоноширинный капс), квадрат-маркер --acc; новых цветов нет.
   Грузится ПОСЛЕ таблиц страницы (layout-51.html) — правила подвала перекрывают v51-sections.css. */

/* ── ШАПКА ≥ 64rem: три выпадающие мега-панели + три плоских пункта ─────────────────────────────── */
@media (min-width: 64rem) {
  html[data-v51] .v51-head { z-index: 30; }                        /* панель выше входа, ленты и плашек страницы */
  html[data-v51] .v51-head__nav { align-self: stretch; align-items: stretch; gap: 0 22px; }
  html[data-v51] .v51-head__nav > a { align-self: center; }
  .v55-nav__i { display: flex; align-items: center; }               /* без position: панель считается от шапки */
  .v55-nav__b { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 0; justify-content: center;
                font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--fg2); background: none; border: 0; cursor: pointer; }
  .v55-nav__b i { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
                  transform: translateY(-2px) rotate(45deg); transition: transform .16s; }
  .v55-nav__b:hover, .v55-nav__i.is-open .v55-nav__b, .v55-nav__i.is-here .v55-nav__b { color: var(--fg); }
  .v55-nav__i.is-here .v55-nav__b { text-decoration: underline; text-decoration-color: var(--fg); text-decoration-thickness: 1px; text-underline-offset: 8px; }
  .v55-nav__i.is-open .v55-nav__b i { transform: translateY(1px) rotate(-135deg); }

  .v55-mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 2; background: var(--bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line2);
              visibility: hidden; opacity: 0; transform: translateY(-4px); transition: opacity .16s, transform .16s, visibility 0s .16s; }
  .v55-nav__i.is-open .v55-mega { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
  html:not(.v55-js) .v55-nav__i:hover .v55-mega, html:not(.v55-js) .v55-nav__i:focus-within .v55-mega { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
  .v55-mega__in { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); padding-block: var(--m); align-items: start; }
  .v55-mega__k { grid-column: 1 / span 2; margin: 0; padding-top: 14px; color: var(--fg3); }
  .v55-mega__l { grid-column: span 4; list-style: none; margin: 0; padding: 0; counter-reset: v55; }
  .v55-mega__l:nth-of-type(1) { grid-column: 3 / span 4; }
  .v55-mega__l:nth-of-type(2) { grid-column: 7 / span 4; }
  .v55-mega__l li { counter-increment: v55; }
  /* пункт: цель ≥ 44, тонкая линейка, квадрат-маркер акцентом при наведении и фокусе, текущая страница — маркер стоит */
  html[data-v51] .v55-mega a { position: relative; display: flex; align-items: center; justify-content: flex-start; min-height: 48px; min-width: 0; padding: 0 0 0 20px;
                   font-family: var(--font-text); font-weight: 400; font-size: var(--t-2); line-height: 1.3; letter-spacing: 0; text-transform: none;
                   color: var(--fg); text-decoration: none; border-bottom: 1px solid var(--line); }
  html[data-v51] .v55-mega a::before { content: ""; position: absolute; left: 0; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; background: var(--acc); opacity: 0; transition: opacity .12s; }
  html[data-v51] .v55-mega a:hover::before, html[data-v51] .v55-mega a:focus-visible::before, html[data-v51] .v55-mega a[aria-current="page"]::before { opacity: 1; }
  html[data-v51] .v55-mega a:hover { color: var(--fg); text-decoration: none; }
  html[data-v51] .v55-mega a[aria-current="page"] { text-decoration: none; }
  .v55-mega a:focus-visible, .v55-nav__b:focus-visible { outline: 2px solid var(--acc); outline-offset: -2px; }
}
@media (min-width: 64rem) and (max-width: 79.99rem) { html[data-v51] .v51-head__nav { gap: 0 14px; } }
@media (prefers-reduced-motion: reduce) { .v55-mega, .v55-nav__b i, .v55-mega a::before { transition: none; } }
@media (max-width: 63.99rem) { .v55-nav__i, .v55-mega { display: none; } }

/* ── ЛИСТ БУРГЕРА ≤ 1023: группы аккордеоном ──────────────────────────────────────────────────────── */
.v55-acc__b { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px; padding: 0; text-align: left;
              font: inherit; letter-spacing: inherit; text-transform: inherit; color: var(--fg); background: none; border: 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.v55-acc__b i { flex: none; width: 8px; height: 8px; margin-right: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .16s; }
.v55-acc__b[aria-expanded="true"] i { transform: translateY(2px) rotate(-135deg); }
.v55-acc__b[aria-expanded="true"] { border-bottom-color: var(--line2); }
.v55-acc.is-here .v55-acc__b span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; background: var(--acc); }
.v55-acc__p[hidden] { display: none; }
.v55-acc__p { display: grid; }
html[data-v51] .v51-menu .v55-acc__p a { padding-left: 17px; font-family: var(--font-text); font-weight: 400; font-size: var(--t-2); letter-spacing: 0; text-transform: none; color: var(--fg2); }
html[data-v51] .v51-menu .v55-acc__p a[aria-current="page"] { color: var(--fg); box-shadow: inset 2px 0 0 var(--acc); }
.v55-acc__b:focus-visible { outline: 2px solid var(--acc); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) { .v55-acc__b i { transition: none; } }

/* ── ПОДВАЛ: полная карта сайта, пять групп ───────────────────────────────────────────────────────── */
html[data-v51] .v51-foot .v55-fmap { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: var(--col-gap);
                                     align-content: start; justify-items: stretch; padding: 0; margin: 0; border: 0; }
.v55-fmap__g { min-width: 0; }
.v55-fmap .v51-foot__h { display: flex; margin: 0 0 4px; }
html[data-v51] .v51-foot .v55-fmap .v51-foot__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; }
html[data-v51] .v55-fmap a[aria-current="page"] { color: var(--fg); }
@media (min-width: 48rem) and (max-width: 79.99rem) {   /* планшет и узкий десктоп: знак · строка бренда + связь · карта во всю ширину, 3 колонки */
  html[data-v51] .v51-foot .v51-foot__talk { grid-row: 2; }
  html[data-v51] .v51-foot .v55-fmap { grid-row: 3; }
}
@media (min-width: 48rem) and (max-width: 63.99rem) { html[data-v51] .v51-foot .v55-fmap { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--m); } }
@media (max-width: 47.99rem) {   /* телефон: группы стопкой, ссылки двумя колонками (цель 44) */
  html[data-v51] .v51-foot .v55-fmap { grid-row: auto; grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .v55-fmap__g + .v55-fmap__g { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--line); }
  html[data-v51] .v51-foot .v55-fmap .v51-foot__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
}
