/*
 * LightPhotos — Фаза 3.1: редизайн шапки.
 * Владелец явно одобрил дизайн-изменение (не перенос вида): мобильная шапка
 * была вертикальной простынёй на весь экран. Новая схема — компактный
 * sticky-бар (бургер/лого/поиск/корзина) + off-canvas drawer с каталогом,
 * плюс поиск в тёмном баре на десктопе. Все новые узлы — здесь, а не в
 * base.css: это не точечный mirror-фикс легаси-класса, а цельный
 * переиспользуемый компонент (тот же принцип, что уже применён для
 * lane.css/product-filter.css).
 *
 * Токены — assets/css/tokens.css (--c-brand и т.д.). Брендовые цвета не
 * меняем; тёмный фон бара — существующий #3d4046 монолита (header{}),
 * не новый хекс.
 *
 * Не unlayered-конфликтует с монолитом: файл подключён ПОСЛЕ
 * stylesheet.v1.38.css в header.tpl, обычный каскад побеждает без !important
 * (кроме двух точек, отмеченных ниже, где легаси-правило само использует
 * !important).
 */

/* ============================================================
   0. Старые дубли поиска — УБРАТЬ (десктоп п.9)
   ============================================================
   #search-fix — два независимых источника с одним и тем же id: html_block_1
   (БД, layout_id=1, только главная) и хардкод в product/search.tpl (только
   страница результатов). #search-min — html_block_4 (БД, layout_id 2/3/7/28,
   категории/товар). Оба виджета дублируют новую шапку-поиск (десктоп: бар
   между лого и часами/телефоном; мобильный: раскрывающаяся строка под
   баром) — теперь избыточны на ЛЮБОЙ ширине, не только мобильной. БД не
   трогаем (задача прямо запрещает), html_block_1/html_block_4 остаются в
   dm_setting как есть — просто гасим CSS-ом. search.tpl-копия — тот же
   селектор, тот же эффект, отдельно ничего не редактировали. */
#search-fix,
#search-min {
  display: none;
}

/* ============================================================
   1. Мобильный/планшет sticky-бар (≤1023px)
   ============================================================ */

.hdr-bar {
  display: none; /* показываем только ≤1023px, ниже */
  align-items: center;
  gap: 4px;
  height: 56px;
  padding-inline: 4px;
}

.hdr-burger,
.hdr-search__toggle,
.hdr-cart-link {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  background: none;
  border: none;
  border-radius: var(--radius-sm, 4px);
  color: #fff;
  cursor: pointer;
  transition: background var(--transition, .2s ease);
  position: relative;
  text-decoration: none;
}

.hdr-burger:hover,
.hdr-search__toggle:hover,
.hdr-cart-link:hover {
  background: rgba(255, 255, 255, .1);
}

.hdr-burger:focus-visible,
.hdr-search__toggle:focus-visible,
.hdr-cart-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -2px;
}

.hdr-bar #logo {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  background-position: left center;
}

.hdr-cart-link__badge {
  position: absolute;
  top: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--c-brand);
  color: #fff;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.hdr-cart-link__badge[hidden] {
  display: none;
}

/* ---- Строка поиска (общая разметка для мобильного и десктопа) ---- */

.hdr-search {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hdr-search[hidden] {
  display: none;
}

.hdr-search__label {
  /* визуально скрытый <label> — доступность без изменения вида */
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* input.hdr-search__input (не голый .hdr-search__input): монолит держит
   input[type="text"],input[type="password"]... {height:25px;font-size:14px}
   (stylesheet.v1.38.css:168-174) со специфичностью (0,1,1) — выше, чем
   голый класс (0,1,0), и побеждает НЕЗАВИСИМО от порядка подключения файлов
   (specificity, не source order). Подтверждено живым замером: без "input"
   в селекторе computed height/font-size были 25px/14px, не 44px/16px.
   "input" уравнивает специфичность (0,1,1), a header.css грузится после
   монолита — при равенстве побеждает каскад. */
input.hdr-search__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius, 8px);
  font: inherit;
  font-size: 16px; /* iOS zoom guard */
  color: var(--c-text);
  background: #fff;
  transition: border-color var(--transition, .2s ease), box-shadow var(--transition, .2s ease);
}

input.hdr-search__input:focus {
  outline: none;
  border-color: var(--c-brand);
  box-shadow: 0 0 0 3px rgba(55, 156, 203, .15);
}

.hdr-search__submit {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  border-radius: var(--radius, 8px);
  background: var(--c-brand);
  color: #fff;
  cursor: pointer;
  transition: background var(--transition, .2s ease);
}

.hdr-search__submit:hover {
  background: var(--c-brand-700);
}

.hdr-search__submit:focus-visible {
  outline: 2px solid var(--c-brand-700);
  outline-offset: 2px;
}

.hdr-search__results {
  position: absolute;
  z-index: 60;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 4px;
  max-height: 70vh;
  overflow-y: auto;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--radius, 8px);
  box-shadow: var(--shadow-2, 0 4px 16px rgba(0, 0, 0, .1));
  padding: 4px;
}

.hdr-search__results[hidden] {
  display: none;
}

.hdr-search__result {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-radius: var(--radius-sm, 4px);
  color: var(--c-text);
  text-decoration: none;
  min-height: 44px;
}

.hdr-search__result img {
  flex: none;
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: var(--radius-sm, 4px);
}

.hdr-search__result-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 14px;
  line-height: 1.3;
}

.hdr-search__result:hover,
.hdr-search__result.is-active {
  background: #f3f7fa;
}

.hdr-search__empty {
  padding: 12px 8px;
  font-size: 13px;
  color: var(--c-muted);
}

@media (max-width: 1023px) {
  header {
    position: sticky;
    top: 0;
    z-index: 500;
    background-color: #3d4046; /* совпадает с header{} монолита — фон следует за sticky-содержимым */
  }

  .hdr-bar {
    display: flex;
  }

  .hdr-bar #logo {
    width: 170px;
    height: 30px;
  }

  /* строка поиска — под баром, на всю ширину контейнера, раскрывается по тапу */
  header .hdr-search {
    position: relative;
    padding: 0 4px 12px;
  }

  header .hdr-search[hidden] {
    display: none;
  }
}

/* Десктоп (≥1024px): компактный бар — это чисто мобильный узел.
   display:contents растворяет .hdr-bar как контейнер, #logo внутри него
   становится обычным float:left-ребёнком header .container — тем же самым,
   каким он был до этой правки (позиция/размер не меняются, п.8 требует
   "вид сохранить"). Бургер/тоггл-поиска/иконка-корзина скрыты — на
   десктопе это #logged/$cart/.info-contact как раньше (п.11). */
@media (min-width: 1024px) {
  .hdr-bar {
    display: contents;
  }

  .hdr-burger,
  .hdr-search__toggle,
  .hdr-cart-link {
    display: none;
  }
}

/* ============================================================
   1b. Десктоп (≥1024px): строка поиска в тёмном баре, между лого и
       блоком часы/телефон.
   ============================================================
   Промеры реального DOM (Chrome DevTools, 1024px): header .container —
   фиксированные 1000px (padding 10px каждая сторона = 980px контента) на
   ЛЮБОЙ ширине viewport (.container{width:1000px} в монолите не резиновый).
   Внутри бюджет уже расписан впритык: #logo 300 + gap 40 + .info-contact 171
   + gap 29 + #cart 233 (padding 0 40px внутри) + gap 68 + #logged 139 = 980,
   свободного места нет вообще. Раздвигаем контейнер шире 1000px там, где
   реально есть viewport (≥1024px это позволяет за счёт header{width:100%},
   max-width:1220px даёт до 1180px контента на широких экранах), туго ужимаем
   родные gap'ы и — единственная точка, где реально трогаем «вид» — вдвое
   срезаем внутренний padding у #cart (40px→24px с каждой стороны; текст
   внутри и бейдж корзины не меняются, только воздух вокруг них чуть уже,
   разделитель bg-border-top.png идёт по краю box, не по краю padding).
   Итоговый несжимаемый бюджет: логотип 300 + инфо-контакт 171 + корзина
   205 (233px минус 2×16px урезанного padding) + логин 139 = 815px,
   + 4 промежутка по 8px = 847px. Ширина .hdr-search — не clamp() "на глаз",
   а calc(100% - 855px): 847px бюджета + 8px запаса. Число подобрано ПЕРЕБОРОМ
   в живом браузере (Chrome DevTools, 1024px): .info-contact идёт ПОСЛЕДНИМ
   float:left в источнике (после #logo/.hdr-search/#logged/#cart) — если ей
   не хватает буквально 1px, она не сжимается, а целиком переносится на вторую
   строку (правило CSS float «не помещается на строке → вся строка ниже», не
   плавное сжатие) — проверено бинарным поиском по ширине .hdr-search: 136px
   ещё помещается в одну строку, 137px (то самое "100% - 847px" без запаса)
   уже переносит .info-contact. 8px сверху — надёжный отступ от этой границы,
   не «на глаз». На 1024px после этого поле ≈130px (нижняя граница clamp),
   на ≥1220px контейнер упирается в max-width и остаётся ≈325px — просторно.
   .hdr-search встаёт float:left сразу после #logo — по порядку float
   .info-contact (тоже float:left) естественно сдвигается вправо на ширину
   поисковой строки, ничего вручную пересчитывать не нужно.

   ВАЖНО про #header #cart: монолит переопределяет его на
   position:absolute;margin-left:540px (stylesheet.v1.38.css:3176) —
   это только НА ВИД похоже на "как есть", а на деле "гипотетическая
   статическая позиция" (базовая точка для margin-left при top/left:auto)
   меняется от ЛЮБОГО нового float-соседа перед ним, включая .hdr-search —
   поймано визуально: корзина уезжала к левому краю, накладываясь на лого.
   Возвращаем #cart к предсказуемому float:right (переопределяя только
   position/margin — ширина/паддинг/фон/высота остаются как в исходном
   `header #cart{}`, менее специфичном правиле, которое снова начинает
   действовать) — тот же приём, что A.4 уже применяла для мобильной версии
   той же самой пары правил. position:relative на header .container НЕ
   ставим по той же причине (ломает contained-block для чужого absolute) —
   его на этой ширине никто не запрашивает: .hdr-search__results позиционируется
   от самого .hdr-search (position:relative прямо на нём).
*/
@media (min-width: 1024px) {
  header .container {
    width: auto;
    max-width: 1220px;
    padding-inline: 20px;
    box-sizing: border-box;
  }

  header .hdr-search {
    display: flex;
    float: left;
    position: relative;
    margin: 15px 0 0 8px;
    width: clamp(130px, calc(100% - 855px), 320px);
  }

  header .hdr-search[hidden] {
    display: flex; /* на десктопе строка всегда видна, тоггл не участвует */
  }

  header .hdr-search__toggle {
    display: none; /* мобильная кнопка-раскрытие здесь не нужна — поле открыто всегда */
  }

  header input.hdr-search__input {
    height: 40px;
  }

  header .hdr-search__submit {
    width: 40px;
    height: 40px;
    flex: none;
  }

  header .info-contact {
    margin-left: 8px;
  }

  #header #cart {
    position: static;
    float: right;
    margin: 14px 8px 0;
    /* монолит: padding:0 40px (80px только на паддинг из 233px общей ширины).
       На узкой границе 1024px бюджета не хватает даже при 0 остальных зазорах —
       ужимаем паддинг вдвое (внутренний текст/бейдж не трогаем, граница
       bg-border-top.png идёт по краю box, не по краю padding, так что визуально
       это чуть уже поле вокруг текста, не смена вида корзины). */
    padding: 0 24px;
  }

  /* Тот же класс бага, что и у #cart чуть выше (см. комментарий над
     блоком): монолит держит `header #logged > div{position:relative;
     left:-65px}` — фиксированный пиксельный сдвиг влево, откалиброванный
     под СТАРУЮ раскладку, где #cart был position:absolute и не участвовал
     в float-потоке. Теперь #cart реально float:right и стоит слева от
     #logged на расстоянии всего ~8px (норм) — но -65px утаскивает ТЕКСТ
     #logged ещё на 65px левее его же float-бокса, и он наезжает на #cart
     (подтверждено живым замером на 1024 и 1440: боксы #cart/#logged>div
     пересекались на ~57px на обеих ширинах; на 1440 наложение видно
     визуально — "Товаров в корзине" и "Личный кабинет" читались одним
     текстом). Обнуляем сдвиг: #logged — уже самый правый float:right
     элемент строки, без -65px его текст просто встаёт вплотную к правому
     краю контейнера (padding уже даёт отступ) — ровно там, где и должен
     быть визуально. */
  header #logged > div {
    left: 0;
  }
}

/* ============================================================
   2. Off-canvas drawer (бургер-меню). Тот же паттерн, что и
      product-filter.js/css (.pf__drawer) — шасси строит JS вокруг
      ничего клонировать не нужно оборачивать, весь узел создаётся
      assets/js/header.js один раз при загрузке.
   ============================================================ */

.hdr-drawer__scrim {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transition, .2s ease), visibility 0s linear .2s;
}

.hdr-drawer__scrim.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity var(--transition, .2s ease);
}

.hdr-drawer {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  width: min(86vw, 360px);
  height: 100vh;
  height: 100dvh;
  background: #fff;
  box-shadow: var(--shadow-2, 0 4px 16px rgba(0, 0, 0, .16));
  z-index: 1001;
  transform: translateX(-100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform var(--transition, .2s ease), visibility 0s linear .2s;
}

.hdr-drawer.is-open {
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
  transition: transform var(--transition, .2s ease);
}

.hdr-drawer:focus {
  outline: none;
}

.hdr-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: none;
  padding: 14px 8px 14px 16px;
  border-bottom: 1px solid var(--c-border);
}

.hdr-drawer__title {
  font-size: 17px;
  font-weight: 700;
  color: var(--c-text);
}

.hdr-drawer__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  border-radius: var(--radius-sm, 4px);
  color: var(--c-text);
  cursor: pointer;
  transition: background var(--transition, .2s ease);
}

.hdr-drawer__close:hover {
  background: #f3f7fa;
}

.hdr-drawer__close:focus-visible {
  outline: 2px solid var(--c-brand);
  outline-offset: -2px;
}

.hdr-drawer__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 8px 16px 24px;
}

.hdr-drawer__section-title {
  margin: 12px 0 4px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--c-muted);
}

/* ---- Каталог — аккордеон ---- */

.hdr-cat {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hdr-cat .hdr-cat {
  padding-left: 12px;
  margin: 0 0 2px;
  border-left: 1px solid var(--c-border);
}

.hdr-cat__row {
  display: flex;
  align-items: center;
}

.hdr-cat__link {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 4px;
  color: var(--c-text);
  text-decoration: none;
  font-size: 15px;
  line-height: 1.3;
  border-radius: var(--radius-sm, 4px);
}

.hdr-cat--root > .hdr-cat__item > .hdr-cat__row > .hdr-cat__link {
  font-weight: 600;
}

.hdr-cat__link:hover,
.hdr-cat__link:active {
  background: #f3f7fa;
  color: var(--c-brand);
}

.hdr-cat__chevron {
  flex: none;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  border-radius: var(--radius-sm, 4px);
}

.hdr-cat__chevron:hover {
  background: #f3f7fa;
}

.hdr-cat__chevron:focus-visible {
  outline: 2px solid var(--c-brand);
  outline-offset: -2px;
}

.hdr-cat__chevron::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--c-muted);
  border-bottom: 2px solid var(--c-muted);
  transform: rotate(45deg);
  transition: transform var(--transition, .2s ease);
}

.hdr-cat__chevron[aria-expanded="true"]::after {
  transform: rotate(-135deg);
}

.hdr-cat__children[hidden] {
  display: none;
}

/* ---- Личный кабинет / Доставка / ПВЗ ---- */

.hdr-drawer__links {
  display: flex;
  flex-direction: column;
  margin-top: 4px;
}

.hdr-drawer__link {
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 4px;
  color: var(--c-text);
  text-decoration: none;
  font-size: 15px;
  border-top: 1px solid var(--c-border);
}

.hdr-drawer__link:hover {
  color: var(--c-brand);
}

/* ---- Контакты внизу ---- */

.hdr-drawer__contact {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--c-border);
  font-size: 14px;
  color: var(--c-text);
}

.hdr-drawer__hours {
  color: var(--c-muted);
  margin-bottom: 4px;
}

.hdr-drawer__phone {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-size: 19px;
  font-weight: 700;
  color: var(--c-text);
  text-decoration: none;
}

.hdr-drawer__icons {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.hdr-drawer__icon {
  display: inline-flex;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm, 4px);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  transition: background-color var(--transition, .2s ease);
}

.hdr-drawer__icon:hover {
  background-color: #f3f7fa;
}

.hdr-drawer__icon--mail {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMCAyMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6IzI2N0NCNTt9Cgkuc3Qxe2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+CgoJPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTAiIGN5PSIxMCIgcj0iOS45MiIvPgoKCgkKCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJtMTAgNC40MiIvPgoJCgoKCQoJCTxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0xMCwxMS4zbDUuOTItNS4wN2MtMC4wOS0wLjA2LTAuMjItMC4xMS0wLjM0LTAuMTFINC40MmMtMC4xMiwwLTAuMjUsMC4wNS0wLjM0LDAuMTFMMTAsMTEuM3oiLz4KCQoKCQk8cGF0aCBjbGFzcz0ic3QxIiBkPSJtMTAuNCAxMS43N2MtMC4yMyAwLjItMC41NyAwLjItMC44MSAwbC01Ljc5LTQuOTV2Ni40NGMwIDAuMzQgMC4yOCAwLjYyIDAuNjIgMC42MmgxMS4xN2MwLjM0IDAgMC42Mi0wLjI4IDAuNjItMC42MnYtNi40NWwtNS44MSA0Ljk2eiIvPgoJCgo8L3N2Zz4K);
}

.hdr-drawer__icon--whatsapp {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMCAyMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6dXJsKCNiKTt9Cgkuc3Qxe2ZpbGw6dXJsKCNhKTt9Cgkuc3Qye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9Cjwvc3R5bGU+CjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9Ii0xMC41NzUiIHgyPSItMTAuMTE2IiB5MT0iLTE3LjE3NCIgeTI9Ii0xNy4xNzQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMCAtNDEuNjQyIDQxLjY0MiAwIDcyNS4xMiAtNDIwLjc2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJPHN0b3Agc3RvcC1jb2xvcj0iIzIwQjAzOCIgb2Zmc2V0PSIwIi8+Cgk8c3RvcCBzdG9wLWNvbG9yPSIjNjBENjZBIiBvZmZzZXQ9IjEiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBhdGggY2xhc3M9InN0MCIgZD0ibTAuNTEgOS45NmMwIDEuNjcgMC40MyAzLjMgMS4yNyA0Ljc0bC0xLjM1IDQuOTEgNS4wMy0xLjMyYzEuMzkgMC43NSAyLjk1IDEuMTUgNC41MyAxLjE1aDAuMDFjNS4yMyAwIDkuNDgtNC4yNSA5LjQ5LTkuNDggMC0yLjUzLTAuOTktNC45Mi0yLjc4LTYuNzFzLTQuMTctMi43OC02LjcxLTIuNzhjLTUuMjQgMC05LjQ5IDQuMjYtOS40OSA5LjQ5Ii8+CjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgeDE9Ii0xMC41ODEiIHgyPSItMTAuMTIxIiB5MT0iLTE3LjE3IiB5Mj0iLTE3LjE3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAgLTQzLjEzNCA0My4xMzQgMCA3NTAuNTkgLTQzNi40MykiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KCTxzdG9wIHN0b3AtY29sb3I9IiNGOUY5RjkiIG9mZnNldD0iMCIvPgoJPHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIgb2Zmc2V0PSIxIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Im0wLjE2IDkuOTZjMCAxLjczIDAuNDUgMy40MiAxLjMxIDQuOTFsLTEuMzkgNS4wOSA1LjIxLTEuMzdjMS40MyAwLjc4IDMuMDUgMS4xOSA0LjY5IDEuMTloMC4wMmM1LjQxIDAgOS44My00LjQxIDkuODMtOS44MyAwLTIuNjMtMS4wMi01LjA5LTIuODgtNi45NXMtNC4zMi0yLjg4LTYuOTUtMi44OGMtNS40MiAwLjAxLTkuODMgNC40Mi05Ljg0IDkuODRtMy4xMSA0LjY2LTAuMi0wLjMxYy0wLjgyLTEuMy0xLjI1LTIuOC0xLjI1LTQuMzUgMC00LjUgMy42Ny04LjE3IDguMTctOC4xNyAyLjE4IDAgNC4yNCAwLjg1IDUuNzcgMi4zOSAxLjU1IDEuNTUgMi4zOSAzLjYgMi4zOSA1Ljc3IDAgNC41LTMuNjcgOC4xNy04LjE3IDguMTctMS40NyAwLTIuOTEtMC4zOS00LjE2LTEuMTRsLTAuMy0wLjE4LTMuMDkgMC44MWMwLjAyIDAuMDEgMC44NC0yLjk5IDAuODQtMi45OXoiLz4KPHBhdGggY2xhc3M9InN0MiIgZD0ibTcuNTQgNS44NWMtMC4xOC0wLjQxLTAuMzgtMC40Mi0wLjU1LTAuNDNoLTAuNDdjLTAuMTYgMC0wLjQzIDAuMDYtMC42NiAwLjMtMC4yMyAwLjI2LTAuODYgMC44NS0wLjg2IDIuMDZzMC44OCAyLjM4IDEgMi41NCAxLjcgMi43MiA0LjIgMy43MWMyLjA3IDAuODIgMi41IDAuNjYgMi45NSAwLjYyczEuNDUtMC41OSAxLjY2LTEuMTcgMC4yMS0xLjA3IDAuMTQtMS4xN2MtMC4wNi0wLjEtMC4yMi0wLjE2LTAuNDctMC4yOS0wLjI1LTAuMTItMS40NS0wLjcyLTEuNjgtMC44LTAuMjItMC4wOC0wLjM5LTAuMTItMC41NSAwLjEyLTAuMTYgMC4yNS0wLjYzIDAuOC0wLjc4IDAuOTYtMC4xNCAwLjE2LTAuMjkgMC4xOC0wLjUzIDAuMDYtMC4yNS0wLjEyLTEuMDMtMC4zOC0xLjk4LTEuMjItMC43My0wLjY1LTEuMjMtMS40Ni0xLjM3LTEuNy0wLjE0LTAuMjUtMC4wMi0wLjM4IDAuMS0wLjUgMC4xMS0wLjExIDAuMjUtMC4yOSAwLjM3LTAuNDMgMC4xMi0wLjE1IDAuMTYtMC4yNSAwLjI1LTAuNDEgMC4wOC0wLjE2IDAuMDQtMC4zLTAuMDItMC40My0wLjA1LTAuMTItMC41My0xLjMzLTAuNzUtMS44MiIvPgo8L3N2Zz4K);
}

.hdr-drawer__icon--telegram {
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyMCAyMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6dXJsKCNiKTt9Cgkuc3Qxe2ZpbGw6I0M4REFFQTt9Cgkuc3Qye2ZpbGw6I0E5QzlERDt9Cgkuc3Qze2ZpbGw6dXJsKCNhKTt9Cjwvc3R5bGU+CjxsaW5lYXJHcmFkaWVudCBpZD0iYiIgeDE9IjEyLjkyMiIgeDI9IjcuOTUyMyIgeTE9IjE3Ljg2MyIgeTI9IjYuMjYzNyIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCguOTk5OCAwIDAgLS45OTk4IC0uMDAwMzk5ODMgMjAuOTk2KSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgoJPHN0b3Agc3RvcC1jb2xvcj0iIzM3QUVFMiIgb2Zmc2V0PSIwIi8+Cgk8c3RvcCBzdG9wLWNvbG9yPSIjMUU5NkM4IiBvZmZzZXQ9IjEiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNpcmNsZSBjbGFzcz0ic3QwIiBjeD0iMTAiIGN5PSI5Ljk1IiByPSI5Ljk1Ii8+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Im04LjE3IDE0LjUxYy0wLjMyIDAtMC4yNy0wLjEyLTAuMzgtMC40M2wtMC45NS0zLjEyIDcuMy00LjMzIi8+CjxwYXRoIGNsYXNzPSJzdDIiIGQ9Im04LjE3IDE0LjUxYzAuMjUgMCAwLjM2LTAuMTEgMC41LTAuMjVsMS4zMy0xLjI5LTEuNjYtMSIvPgo8bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSItMS40MDQ1IiB4Mj0iLTEuMjY5MiIgeTE9Ii0xMC43MjIiIHkyPSItMTAuNDYyIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KC45OTk4IDAgMCAtLjk5OTggLS4wMDAzOTk4MyAyMC45OTYpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+Cgk8c3RvcCBzdG9wLWNvbG9yPSIjRUZGN0ZDIiBvZmZzZXQ9IjAiLz4KCTxzdG9wIHN0b3AtY29sb3I9IiNmZmYiIG9mZnNldD0iMSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8cGF0aCBjbGFzcz0ic3QzIiBkPSJtOC4zNCAxMS45NyA0LjAxIDIuOTZjMC40NiAwLjI1IDAuNzkgMC4xMiAwLjktMC40M2wxLjYzLTcuNjljMC4xNy0wLjY3LTAuMjYtMC45Ny0wLjY5LTAuNzhsLTkuNTggMy43Yy0wLjY1IDAuMjctMC42NSAwLjYzLTAuMTEgMC44bDIuNDYgMC43NyA1LjY5LTMuNTljMC4yNy0wLjE2IDAuNTItMC4wOCAwLjMxIDAuMSIvPgo8L3N2Zz4K);
}

@media (prefers-reduced-motion: reduce) {
  .hdr-drawer__scrim,
  .hdr-drawer,
  .hdr-cat__chevron::after {
    transition: none;
  }
}

/* ============================================================
   3. #column-left «Каталог товаров:» (category_module, товар/категория)
      — 227 ссылок между шапкой и товарами, главный источник простыни на
      категориях. Каталог теперь живёт в бургере (источник — мега-меню,
      см. header.js). Проверено (curl category.tpl/product.tpl): #column-left
      на этих layout'ах содержит ТОЛЬКО .box.box-left-menu — прячем именно
      его двумя классами (не весь #column-left целиком) на случай, если в
      будущем туда добавят что-то ещё.
   ============================================================ */
@media (max-width: 1023px) {
  #column-left .box-left-menu,
  #column-left .box-left-menu + .box-content {
    display: none;
  }
}

/* ============================================================
   4. icons-menu (.menu-top-box, module/category_menu.tpl) — пересобран
      как отдельный компонент assets/css/menu.css (грид-ряд десктопа,
      флайаут, лента, спрайт иконок) + assets/js/menu.js (hover-intent,
      клавиатура, тач). Здесь больше ничего не осталось — единый источник
      правды один, см. menu.css.
   ============================================================ */

/* ============================================================
   5. Старая простыня шапки (≤1023px): ссылки/корзина-дропдаун/
      инфо-контакт — всё это теперь в drawer (см. п.2). .menu-top-box
      (лента, флайаут) — отдельный компонент, см. menu.css/menu.js.
   ============================================================ */
@media (max-width: 1023px) {
  header #logged,
  #header #cart,
  header .info-contact {
    display: none;
  }
}
