/*! nss-nav-l03.css — L03 «Надёжная навигация и взаимодействия» (NSS final wave, 2026-09-27).
 *  Аддитивный слой, подключается ПОСЛЕ header-pt.css и nss-nav-lane1.css.
 *  Не переписывает существующие контракты (r5–r9, closed hit-area baseline,
 *  noscript-фолбэк, lane1). Только добавляет:
 *  1) цели нажатия ≥44×44px в видимой хроме: телефон и CTA хедера, e-mail
 *     в мобильной панели, ссылки топбара, логотип и ссылки колонок футера;
 *  2) компенсацию исчезновения скроллбара при блокировке прокрутки drawer
 *     (--nss-sbw задаёт nss-nav-l03.js; на overlay-скроллбарах macOS = 0);
 *  3) страховку ширины dropdown-панелей на узком десктопе.
 *  Откат: удалить link этого файла из HTML + сам файл — поведение = базе.
 */

/* ---------- 1. Цели нажатия ≥44×44 в хроме ---------- */

/* Телефон в строке хедера: виден только >=1190px (скрыт <1024 в header-pt.css
 * и 1024–1189 в nss-nav-lane1.css). Правило ограничено тем же диапазоном,
 * чтобы не перебить display:none на мобильных (дефект, найденный тестом S6). */
@media (min-width:1190px){
  .pt-header__phone{display:inline-flex;align-items:center;min-height:44px}
}

/* CTA «Обсудить проект» в хедере и в мобильной панели: был ~36px по высоте */
.pt-header .pt-btn--cta{min-height:44px}
.pt-btn--block{min-height:48px}

/* Телефон в нижнем блоке мобильной панели (виден 601–1023px): был ~25px по высоте */
.pt-nav__mobilephone{display:inline-flex;align-items:center;min-height:44px}

/* E-mail в нижнем блоке мобильной панели: был ~15px по высоте */
.pt-nav__mobilemail{display:inline-flex;align-items:center;min-height:44px}

/* Ссылки топбара (>=560px высота полосы 38px): растим hit-area до 44px
 * без изменения высоты полосы — отрицательные вертикальные отступы -3px
 * компенсируют прирост, боксы остаются в границах соседей (запас 8px). */
.pt-topbar__link,.pt-topbar__ecos{display:inline-flex;align-items:center;min-height:44px;margin-top:-3px;margin-bottom:-3px}

/* Футер: логотип-ссылка до 44px (перенос из дизайн-прототипа, handoff п.6)
 * и ссылки колонок — каждая строка списка получает цель 44px. */
.v-footer .v-logo{display:flex;align-items:center;min-height:44px}
.v-footer ul{gap:4px}
.v-footer ul a{display:inline-flex;align-items:center;min-height:44px}
.v-footer ul li.hp-footer__note{display:flex;align-items:center;min-height:32px}

/* ---------- 1b. Восстановление CTA в мобильной панели ---------- */
/* Дефект базы: правило @media(max-width:1023px){.pt-header .pt-btn--cta{display:none}}
 * (header-pt.css:146) прячет ЛЮБУЮ .pt-btn--cta внутри хедера, включая CTA
 * «Обсудить проект» в .pt-nav__mobilefoot — кнопка-компаньон drawer была невидима
 * на мобильных. Стили .pt-btn--block (width:100%) в том же мобильном блоке
 * подтверждают, что кнопка задумана видимой. Восстанавливаем только её. */
@media (max-width:1023px){
  .pt-nav__mobilefoot .pt-btn--cta{display:inline-flex}
}

/* ---------- 2. Компенсация скроллбара при блокировке прокрутки drawer ---------- */
/* header-pt.js вешает html.pt-lock (overflow:hidden) — на платформах с классическим
 * скроллбаром это сдвигало контент. Переменную --nss-sbw обновляет nss-nav-l03.js. */
html.pt-lock{padding-right:var(--nss-sbw,0px)}

/* ---------- 3. Страховка панелей на узком десктопе ---------- */
/* Dropdown «Цены»/«Компания» (right-aligned, width:320px) у правого края при
 * 1024–1189px могли выступать за вьюпорт; cap по ширине как у .pt-mega. */
@media (min-width:1024px){
  .pt-drop{max-width:calc(100vw - 24px)}
}

/* ---------- 3b. Drawer поверх ассистента (z-порядок оверлеев) ---------- */
/* Дефект базы: .pt-header{position:sticky;z-index:1000} создаёт stacking context,
 * поэтому z-index:11010 у .pt-nav «капсулируется» уровнем 1000 — лаунчер маскота
 * ВЫШКА (z 8000) и кнопка nsw (z 11000) рендерились ПОВЕРХ открытого drawer и
 * перехватывали тапы. Поднимаем уровень хедера только пока drawer открыт. */
@media (max-width:1023px){
  .pt-header.pt-open{z-index:11020}
}

/* ---------- 4. Reduced motion ---------- */
/* Слой не добавляет анимаций; явных transition в файле нет. Перемещение
 * мега-панелей (nss-nav-l03.js, margin-left) выполняется мгновенно. */
