/* Шапка лендинга — одна на все страницы, разметку вписывает tools/build-header.js.
   Строка шапки никогда не переносится, на каждой ширине свой состав:
     ≥ 1240 px — все разделы, валюта, язык, «Войти», «Регистрация»;
     900–1239 — два главных раздела и «Ещё» со списком остальных;
     < 900    — кнопка «Меню»: разделы, валюта и язык в выпадающей панели;
     < 560    — в строке только логотип, «Войти» и «Меню», «Регистрация» уходит в панель.
   Открытое меню — класс ms-menu-open на <html> (site-header.js). */

.ms-header { position:sticky; top:0; z-index:60; background:rgba(247,244,237,.86); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); border-bottom:1px solid rgba(20,22,46,.08); }
.ms-bar { position:relative; max-width:1240px; margin:0 auto; padding:14px 20px; display:flex; flex-wrap:nowrap; align-items:center; gap:16px; }
.ms-logo { display:flex; align-items:center; flex-shrink:0; }
.ms-logo img { height:28px; width:auto; display:block; }

/* Меню: на широком экране его обёртка не рисуется, и разделы стоят прямо в строке */
.ms-menu { display:contents; }
.ms-nav { display:flex; align-items:center; gap:18px; min-width:0; font-size:15px; font-weight:500; }
.ms-nav__link { white-space:nowrap; padding:6px 0; }
.ms-nav__link[aria-current="page"] { color:#C8410C; font-weight:600; }
.ms-nav__rest, .ms-nav__drop { display:contents; }
.ms-more, .ms-burger { display:none; }

/* Валюта и язык */
.ms-set { display:flex; align-items:center; gap:4px; margin-left:auto; flex-shrink:0; }
.ms-set__label { display:none; }
.ms-cur { display:inline-flex; align-items:center; gap:2px; font-size:13px; font-weight:600; }
/* Не уже 24 px: меньшую цель трудно попасть пальцем (WCAG 2.5.8, проверка PageSpeed) */
.ms-cur a { min-width:24px; text-align:center; padding:5px 6px; border-radius:999px; white-space:nowrap; opacity:.7; }
.ms-cur a[aria-current="true"], .ms-cur a[aria-current="true"]:hover { opacity:1; background:#14162E; color:#F7F4ED; }
.ms-lang { display:inline-flex; align-items:center; padding:10px; font-size:15px; font-weight:600; white-space:nowrap; }
.ms-menu__cta { display:none; }

/* Вход и регистрация */
.ms-head-right { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.ms-login { padding:10px 12px; font-size:15px; font-weight:600; white-space:nowrap; }
.ms-cta { background:#14162E; color:#F7F4ED; border-radius:999px; padding:11px 18px; font-size:15px; font-weight:600; white-space:nowrap; transition:transform .25s, background .25s; }
.ms-cta:hover { background:#FF6A3D; color:#14162E; transform:translateY(-2px); }

.ms-more:focus-visible, .ms-burger:focus-visible, .ms-nav__link:focus-visible, .ms-set a:focus-visible, .ms-head-right a:focus-visible, .ms-menu__cta:focus-visible { outline:2px solid #FF6A3D; outline-offset:2px; }

/* ── Ноутбук: два главных раздела в строке, остальные под «Ещё» ─────────────── */
@media (min-width:900px) and (max-width:1239.98px) {
  .ms-nav__rest { display:block; position:relative; }
  .ms-more { display:inline-flex; align-items:center; gap:7px; border:0; background:none; padding:6px 0; font:inherit; color:inherit; cursor:pointer; white-space:nowrap; }
  .ms-more::after { content:""; width:6px; height:6px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
  .ms-more:hover { color:#C8410C; }
  html.ms-menu-open .ms-more::after { transform:translateY(2px) rotate(-135deg); }
  /* Текущая страница спрятана под «Ещё» — подсвечиваем саму кнопку */
  .ms-nav__rest:has([aria-current="page"]) .ms-more { color:#C8410C; font-weight:600; }
  .ms-nav__drop { display:none; position:absolute; top:calc(100% + 24px); left:-14px; z-index:70; min-width:230px; padding:6px; background:#fff; border:1px solid rgba(20,22,46,.1); border-radius:18px; box-shadow:0 18px 40px rgba(20,22,46,.14); }
  html.ms-menu-open .ms-nav__drop { display:grid; gap:2px; }
  .ms-nav__drop .ms-nav__link { display:block; padding:10px 12px; border-radius:12px; }
  .ms-nav__drop .ms-nav__link:hover { background:#F7F4ED; }
}

/* ── Планшет и телефон: кнопка «Меню» и панель со всеми разделами ─────────── */
@media (max-width:899.98px) {
  .ms-set { margin-left:0; }
  .ms-head-right { margin-left:auto; }
  .ms-burger { display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(20,22,46,.16); background:#fff; border-radius:999px; padding:9px 14px; font:inherit; font-size:15px; font-weight:600; color:#14162E; cursor:pointer; white-space:nowrap; }
  .ms-burger:hover { border-color:#14162E; }
  .ms-burger__icon { position:relative; width:16px; height:2px; background:currentColor; border-radius:2px; transition:background .2s; }
  .ms-burger__icon::before, .ms-burger__icon::after { content:""; position:absolute; left:0; width:16px; height:2px; background:currentColor; border-radius:2px; transition:transform .2s; }
  .ms-burger__icon::before { transform:translateY(-5px); }
  .ms-burger__icon::after { transform:translateY(5px); }
  html.ms-menu-open .ms-burger__icon { background:transparent; }
  html.ms-menu-open .ms-burger__icon::before { transform:rotate(45deg); }
  html.ms-menu-open .ms-burger__icon::after { transform:rotate(-45deg); }

  .ms-menu { display:none; position:absolute; top:100%; right:20px; z-index:70; width:min(360px, calc(100vw - 40px)); max-height:calc(100dvh - 96px); overflow-y:auto; overscroll-behavior:contain; padding:8px; background:#fff; border:1px solid rgba(20,22,46,.1); border-radius:20px; box-shadow:0 24px 48px rgba(20,22,46,.16), 0 0 0 100vmax rgba(20,22,46,.28); clip-path:inset(0 -100vmax -100vmax -100vmax); }
  html.ms-menu-open .ms-menu { display:block; }
  .ms-nav { display:grid; gap:2px; font-size:16px; }
  .ms-nav__link { display:block; padding:12px 14px; border-radius:12px; }
  .ms-nav__link:hover { background:#F7F4ED; }
  .ms-set { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px 16px; margin-top:6px; padding:14px 14px 8px; border-top:1px solid rgba(20,22,46,.08); }
  .ms-set__label { display:block; font-size:14px; color:#5A5E78; }
  .ms-cur, .ms-lang-slot { justify-self:start; }
  .ms-cur a { padding:6px 10px; font-size:14px; }
  .ms-lang { padding:6px 10px; }
}

/* ── Телефон: «Регистрация» переезжает в панель, панель на всю ширину ──────── */
@media (max-width:559.98px) {
  .ms-bar { padding:12px 16px; gap:8px; }
  .ms-logo img { height:26px; }
  .ms-head-right { gap:4px; }
  .ms-login { padding:10px; }
  .ms-cta { display:none; }
  .ms-menu { left:0; right:0; width:auto; border-width:1px 0 0; border-radius:0 0 20px 20px; padding:8px 8px 16px; }
  .ms-menu__cta { display:block; margin:10px 6px 0; padding:14px 20px; border-radius:999px; background:#14162E; color:#F7F4ED; font-size:16px; font-weight:600; text-align:center; }
  .ms-menu__cta:hover { background:#FF6A3D; color:#14162E; }
}
@media (max-width:359.98px) {
  .ms-logo img { height:24px; }
  .ms-burger { padding:10px 12px; }
  .ms-burger__label { display:none; }
}

/* ── Главная, прокрутка вниз: в строке поле поиска, разделы уходят в «Меню» ─
   Поле появляется от 1101 px (см. .ms-headsearch в index.html); рядом с ним разделы
   не помещаются. Правила повторяют планшетный режим, но только для прокрученной главной. */
@media (min-width:1101px) {
  html.ms-scrolled .ms-set { margin-left:0; }
  html.ms-scrolled .ms-head-right { margin-left:auto; }
  html.ms-scrolled .ms-burger { display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(20,22,46,.16); background:#fff; border-radius:999px; padding:9px 14px; font:inherit; font-size:15px; font-weight:600; color:#14162E; cursor:pointer; white-space:nowrap; }
  html.ms-scrolled .ms-burger:hover { border-color:#14162E; }
  html.ms-scrolled .ms-burger__icon { position:relative; width:16px; height:2px; background:currentColor; border-radius:2px; transition:background .2s; }
  html.ms-scrolled .ms-burger__icon::before, html.ms-scrolled .ms-burger__icon::after { content:""; position:absolute; left:0; width:16px; height:2px; background:currentColor; border-radius:2px; transition:transform .2s; }
  html.ms-scrolled .ms-burger__icon::before { transform:translateY(-5px); }
  html.ms-scrolled .ms-burger__icon::after { transform:translateY(5px); }
  html.ms-scrolled.ms-menu-open .ms-burger__icon { background:transparent; }
  html.ms-scrolled.ms-menu-open .ms-burger__icon::before { transform:rotate(45deg); }
  html.ms-scrolled.ms-menu-open .ms-burger__icon::after { transform:rotate(-45deg); }

  html.ms-scrolled .ms-menu { display:none; position:absolute; top:100%; right:20px; z-index:70; width:360px; max-height:calc(100dvh - 96px); overflow-y:auto; overscroll-behavior:contain; padding:8px; background:#fff; border:1px solid rgba(20,22,46,.1); border-radius:20px; box-shadow:0 24px 48px rgba(20,22,46,.16); }
  html.ms-scrolled.ms-menu-open .ms-menu { display:block; }
  html.ms-scrolled .ms-nav { display:grid; gap:2px; font-size:16px; }
  html.ms-scrolled .ms-nav__rest, html.ms-scrolled .ms-nav__drop { display:contents; }
  html.ms-scrolled .ms-more { display:none; }
  html.ms-scrolled .ms-nav__link { display:block; padding:12px 14px; border-radius:12px; }
  html.ms-scrolled .ms-nav__link:hover { background:#F7F4ED; }
  html.ms-scrolled .ms-set { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:10px 16px; margin-top:6px; padding:14px 14px 8px; border-top:1px solid rgba(20,22,46,.08); }
  html.ms-scrolled .ms-set__label { display:block; font-size:14px; color:#5A5E78; }
  html.ms-scrolled .ms-cur, html.ms-scrolled .ms-lang-slot { justify-self:start; }
  html.ms-scrolled .ms-cur a { padding:6px 10px; font-size:14px; }
  html.ms-scrolled .ms-lang { padding:6px 10px; }
}
