/* Точечные правки со скриншотов + мобильный финал
   Файл нарезан из единого application.css (как на сайте Дед Глеб).
   Порядок подключения в layout важен: поздние файлы перекрывают ранние. */
/* ============================================================
   ТОЧЕЧНЫЕ ПРАВКИ (скриншоты) + МОБИЛЬНЫЙ ФИНАЛ сток/контакты
   ============================================================ */
/* 1. Юр. адрес одной строкой на десктопе (реквизиты + контакты) */
@media (min-width: 1200px) {
  body:not(.admin-body) .req-cell--address .req-address {
    max-width: none;
    white-space: nowrap;
  }
}
/* 2. Согласие: текст на уровне галочки (веб и мобайл) */
body:not(.admin-body) .quote-form .consent { align-items: center; }
body:not(.admin-body) .quote-form .consent input[type="checkbox"] { margin-block-start: 0; }

/* Smooth-скролл и якоря под sticky-шапкой */
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* H1: названия не разрываются */
body:not(.admin-body) h1 { word-break: normal; overflow-wrap: normal; hyphens: none; }

/* ── ФУТЕР: аккордеоны ── */
body:not(.admin-body) .site-footer details.footer-block > summary { list-style: none; }
body:not(.admin-body) .site-footer details.footer-block > summary::-webkit-details-marker { display: none; }
body:not(.admin-body) .site-footer .footer-links-list { display: grid; gap: 0; }
body:not(.admin-body) .site-footer .footer-links-list a { padding: 4px 0; line-height: 20px; font-size: 14px; }
@media (min-width: 768px) {
  body:not(.admin-body) .site-footer details.footer-block > summary { pointer-events: none; cursor: default; }
  body:not(.admin-body) .site-footer details.footer-block > summary::after { content: ""; }
}
@media (max-width: 767px) {
  body:not(.admin-body) .site-footer { padding: 16px 0 12px; }
  body:not(.admin-body) .site-footer .footer-brand p { font-size: 13px; line-height: 17px; max-width: none; margin: 6px 0 0; }
  body:not(.admin-body) .site-footer details.footer-block { border-top: 1px solid rgba(255, 255, 255, 0.14); }
  body:not(.admin-body) .site-footer details.footer-block > summary {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: 15px;
    margin: 0;
  }
  body:not(.admin-body) .site-footer details.footer-block > summary::after {
    content: "▾";
    transition: transform var(--mo-fast) ease;
  }
  body:not(.admin-body) .site-footer details.footer-block[open] > summary::after { transform: rotate(180deg); }
  body:not(.admin-body) .site-footer .footer-links-list { gap: 0; padding: 0 0 6px; }
  body:not(.admin-body) .site-footer .footer-contacts { gap: 10px; }
  body:not(.admin-body) .site-footer .footer-contacts a,
  body:not(.admin-body) .site-footer .footer-contacts p { overflow-wrap: anywhere; }
  body:not(.admin-body) .site-footer .footer-bottom { display: grid; gap: 8px; font-size: 12px; line-height: 17px; padding-top: 12px; margin-top: 0; }
}

/* ── СТОК mobile (промпт) ── */
@media (max-width: 767px) {
  /* hero */
  body:not(.admin-body).pages.stock .stock-service-hero { padding-top: 32px; }
  body:not(.admin-body).pages.stock .stock-service-hero .eyebrow { font-size: 13px; line-height: 18px; }
  body:not(.admin-body).pages.stock .stock-service-hero h1 { margin-bottom: 20px; }
  body:not(.admin-body).pages.stock .stock-service-hero .lead { font-size: 17px; line-height: 1.55; margin-bottom: 24px; }
  body:not(.admin-body).pages.stock .stock-hero-facts { display: grid; gap: 14px; }
  body:not(.admin-body).pages.stock .stock-hero-facts li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 12px; align-items: center; }
  body:not(.admin-body).pages.stock .stock-hero-facts strong,
  body:not(.admin-body).pages.stock .stock-hero-facts small { font-size: 14px; line-height: 19px; display: inline; }
  /* карточка файла */
  body:not(.admin-body).pages.stock .stock-file-card { padding: 20px; margin-top: 24px; }
  body:not(.admin-body).pages.stock .stock-file-icon { width: 48px; height: 48px; }
  body:not(.admin-body).pages.stock .stock-file-date,
  body:not(.admin-body).pages.stock .stock-file-meta { font-size: 14px; line-height: 20px; }
  body:not(.admin-body).pages.stock .stock-file-download { width: 100%; min-height: 50px; border-radius: var(--radius-control); font-size: 15px; }
  /* шаги: номер-бейдж поверх иконки по спеке */
  body:not(.admin-body).pages.stock .stock-workflow-card { padding: 24px 20px; }
  body:not(.admin-body).pages.stock .stock-workflow-card > h2 { font-size: 24px; line-height: 30px; margin-bottom: 24px; }
  body:not(.admin-body).pages.stock .stock-process-list { gap: 28px; }
  body:not(.admin-body).pages.stock .stock-process-item { grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; }
  body:not(.admin-body).pages.stock .stock-process-num {
    position: absolute;
    top: -6px;
    left: -5px;
    width: 25px;
    height: 25px;
    margin: 0;
    border-radius: 50%;
    background: #1870BD;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    line-height: 21px;
    text-align: center;
    border: 2px solid #fff;
    z-index: 2;
  }
  body:not(.admin-body).pages.stock .stock-process-item { position: relative; }
  body:not(.admin-body).pages.stock .stock-process-item h3 { font-size: 16px; line-height: 22px; margin-bottom: 4px; }
  body:not(.admin-body).pages.stock .stock-process-item p { font-size: 14px; line-height: 20px; }
  body:not(.admin-body).pages.stock .stock-send-email {
    margin-top: 14px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 13px;
    line-height: 19px;
    text-align: left;
  }
  body:not(.admin-body).pages.stock .stock-mail-icon { display: none; }
  /* полезные разделы */
  body:not(.admin-body).pages.stock .stock-related { margin-top: 24px; }
  body:not(.admin-body).pages.stock .stock-related > h2 { font-size: 24px; line-height: 30px; margin-bottom: 16px; }
  body:not(.admin-body).pages.stock .stock-related-card {
    min-height: 108px;
    padding: 16px;
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    border-radius: 12px;
  }
  body:not(.admin-body).pages.stock .stock-related-card h3 { font-size: 16px; line-height: 21px; margin-bottom: 5px; }
  body:not(.admin-body).pages.stock .stock-related-card p { font-size: 13px; line-height: 18px; }
}

/* Сток mobile: пробел между заголовком и текстом факта */
@media (max-width: 767px) {
  body:not(.admin-body).pages.stock .stock-hero-facts strong { margin-right: 4px; }
}

/* Согласие: чекбокс не наследует высоту текстовых полей, текст на уровне галочки */
body:not(.admin-body) .quote-form .consent input[type="checkbox"],
body:not(.admin-body).pages.contacts .quote-form .consent input[type="checkbox"],
body:not(.admin-body).pages.quote .quote-form .consent input[type="checkbox"] {
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin-top: 0;
  align-self: center;
  flex-shrink: 0;
}
body:not(.admin-body) .quote-form .consent,
body:not(.admin-body).pages.contacts .quote-form .consent,
body:not(.admin-body).pages.quote .quote-form .consent {
  align-items: start;
}

/* Сток: иконка карточки «Отрасли» (замена «Условий доставки») */
body:not(.admin-body) .stock-related-icon--industries {
  --stock-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Crect x='6' y='3' width='12' height='18' rx='1'/%3E%3Cline x1='9.5' y1='7' x2='9.51' y2='7'/%3E%3Cline x1='14.5' y1='7' x2='14.51' y2='7'/%3E%3Cline x1='9.5' y1='11' x2='9.51' y2='11'/%3E%3Cline x1='14.5' y1='11' x2='14.51' y2='11'/%3E%3Cline x1='9.5' y1='15' x2='9.51' y2='15'/%3E%3Cline x1='14.5' y1='15' x2='14.51' y2='15'/%3E%3C/svg%3E");
}

/* Перенесено из 15-contacts-v3.css: подвал общий для всех страниц,
   а файл «Контактов» теперь подключается только на своих страницах. */
@media (max-width: 767px) {
  body:not(.admin-body) .site-footer details.footer-block:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
  body:not(.admin-body) .site-footer .footer-links-list a,
  body:not(.admin-body) .site-footer .footer-links-list p {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin: 0;
  }
  body:not(.admin-body) .site-footer .footer-legal {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 12px;
    justify-items: start;
  }
  body:not(.admin-body) .site-footer .footer-legal a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  body:not(.admin-body) .site-footer details.footer-block > summary:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.85);
    outline-offset: 3px;
  }
}

/* ============================================================
   Мобильный подвал (все страницы): плотнее, меньше линий
   ============================================================ */
@media (max-width: 767px) {
  body:not(.admin-body) .site-footer .footer-grid { gap: 6px; }
  body:not(.admin-body) .site-footer .footer-brand { margin-bottom: 0; }
  body:not(.admin-body) .site-footer .footer-logo { width: 104px; height: auto; }

  /* Линии: одна перед меню, тонкие между пунктами, одна перед юрчастью */
  body:not(.admin-body) .site-footer details.footer-block:last-of-type { border-bottom: 0; }
  body:not(.admin-body) .site-footer .footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.14); }

  /* Раскрытый аккордеон — компактный список без лишнего воздуха */
  body:not(.admin-body) .site-footer .footer-links-list a,
  body:not(.admin-body) .site-footer .footer-links-list p {
    min-height: 44px;
    padding: 0;
    line-height: 18px;
  }
}

/* ============================================================
   ПЕЧАТЬ: убираем всё, что при печати уезжает или занимает лист
   ============================================================ */
@media print {

  body:not(.admin-body) .site-footer {
    break-inside: avoid;
  }

  /* Главная: бегущая лента и фото-hero на бумаге бесполезны, текст поверх
     фотографии нечитаем — печатаем чёрным по белому. */
  body:not(.admin-body).pages.home .hm-clients,
  body:not(.admin-body) .page-hero--photo picture,
  body:not(.admin-body) .page-hero--photo .hm-hero-shade,
  body:not(.admin-body).pages.complex_supply .cs-hero picture,
  body:not(.admin-body).pages.complex_supply .cs-hero-overlay {
    display: none;
  }

  body:not(.admin-body).pages.complex_supply .cs-hero {
    min-height: 0;
    background: #ffffff;
  }

  body:not(.admin-body) .page-hero--photo,
  body:not(.admin-body) .page-hero--photo h1,
  body:not(.admin-body) .page-hero--photo .lead,
  body:not(.admin-body) .page-hero--photo .eyebrow {
    min-height: 0;
    background: #ffffff;
    color: #10233C;
  }

  body:not(.admin-body) .page-hero--photo::after {
    content: none;
  }

  /* «О компании»: печатают юрполосу с ИНН и ОГРН — фотографии карточек
     объектов и таймлайн на бумаге не нужны */
  body:not(.admin-body).pages.about .abt-object-media,

  body:not(.admin-body).pages.about main > section {
    padding-block: 0;
    background: #ffffff;
  }

  /* «О компании»: кнопка внутри финальной карточки на бумаге тоже лишняя */

  /* «Контакты» печатают ради двух вещей: реквизитов для бухгалтерии и
     адреса для водителя. Карта на бумаге не работает вовсе, форму
     заполнить нельзя, кнопка копирования бессмысленна. */
  body:not(.admin-body).pages.contacts .map-panel-embed,
  body:not(.admin-body).pages.contacts .map-route-buttons,
  body:not(.admin-body).pages.contacts .map-route-hint,
  body:not(.admin-body).pages.contacts .contact-form-section,
  body:not(.admin-body).pages.contacts .contact-hero-cta,
  body:not(.admin-body).pages.contacts .copy-requisites-button,
  body:not(.admin-body).pages.contacts .contact-links-section {
    display: none;
  }

  body:not(.admin-body).pages.contacts main > section {
    padding-block: 0;
    background: #ffffff;
  }

  /* Адрес в 160 знаков обязан переноситься, иначе правый край обрежется */
  body:not(.admin-body).pages.contacts .contact-requisite-address dd {
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body:not(.admin-body).pages.contacts .contact-requisites-grid,
  body:not(.admin-body).pages.contacts .map-panel {
    break-inside: avoid;
  }

  body:not(.admin-body) a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 11px;
  }
}

/* ============================================================
   МОБИЛЬНОЕ МЕНЮ ПО РЕНДЕРУ (13.08.2026)
   Панель — список строк: иконка, название, стрелка; активный пункт с
   голубой заливкой и синей полосой слева. Ниже карточка контактов с
   подписями и кнопка заявки. Раньше это был плоский список ссылок.
   ============================================================ */
@media (max-width: 920px) {
  body:not(.admin-body) .mobile-menu-toggle {
    gap: 8px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid var(--color-border);
    border-radius: 12px;
    background: #FFFFFF;
    font-size: 15px;
    font-weight: 600;
    color: #10233C;
  }

  /* Открытая панель: кнопка становится тёмной, значок — крестик */
  body:not(.admin-body) .mobile-menu[open] > .mobile-menu-toggle {
    border-color: #10233C;
    background: #0F2942;
    color: #FFFFFF;
  }

  body:not(.admin-body) .mobile-menu-toggle-ico {
    display: none;
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6 18 18M18 6 6 18'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 6 18 18M18 6 6 18'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu[open] > .mobile-menu-toggle .mobile-menu-toggle-ico {
    display: block;
  }

  /* Панель выезжает справа налево, как шторка: под шапкой, на всю высоту
     экрана, с подложкой поверх страницы (13.08.2026). Раньше она просто
     раскрывалась вниз из кнопки. */
  body:not(.admin-body) .site-header.is-compact .mobile-menu-panel {
    top: 58px;
  }

  body:not(.admin-body) .mobile-menu[open]::before {
    inset: 72px 0 0;
  }

  body:not(.admin-body) .site-header.is-compact .mobile-menu[open]::before {
    inset: 58px 0 0;
  }

  /* При открытом меню шапка остаётся сверху и кликабельной: подложка
     закрывала логотип и саму кнопку «Меню», и закрыть шторку, оставшись
     на странице, было нечем (правка 14.08.2026). */
  body:not(.admin-body) .site-header:has(.mobile-menu[open]) {
    z-index: 90;
  }

  body:not(.admin-body) .mobile-menu[open] .mobile-menu-toggle {
    position: relative;
    z-index: 91;
    background: #0B1F3A;
    border-color: #0B1F3A;
    color: #FFFFFF;
  }

  /* Крестик вместо гамбургера: понятно, что кнопка теперь закрывает */
  body:not(.admin-body) .mobile-menu[open] .mobile-menu-toggle-ico {
    background: #FFFFFF;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-panel {
    display: grid;
    gap: 16px;
    left: 0;
    right: 0;
    /* Панель начинается ровно под шапкой: при top 66px она наезжала на
       кнопку «Меню» и срезала ей низ */
    top: 72px;
    /* Панель заканчивается по содержимому, а не тянется до низа экрана:
       под кнопкой «Отправить спецификацию» оставалась пустая белая полоса
       во весь экран (правка 14.08.2026). Если пунктов станет больше, чем
       помещается, ограничение по высоте включит прокрутку. */
    bottom: auto;
    /* Во всю ширину экрана — по рендеру 15.08.2026. Раньше панель занимала
       88vw, и слева оставалась полоса страницы: меню читалось как всплывшая
       карточка, а не как экран навигации. */
    left: 0;
    width: 100%;
    max-height: calc(100dvh - 84px);
    align-content: start;
    padding: 12px 16px 24px;
    border: 0;
    border-radius: 0 0 20px 20px;
    background: #FFFFFF;
    box-shadow: -18px 0 46px rgba(9, 35, 64, 0.18);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* Базовое положение — на месте: если анимации нет (свёрнутая вкладка,
       reduced-motion, старый браузер), панель всё равно видна */
    transform: translateX(0);
    animation: kabem-menu-in var(--mo-expand) cubic-bezier(0.22, 0.61, 0.36, 1);
  }

  /* Обратный ход играет JS: он держит [open] лишние 260ms и снимает панель */
  body:not(.admin-body) .mobile-menu.is-closing .mobile-menu-panel {
    animation: kabem-menu-out var(--mo-expand) cubic-bezier(0.4, 0, 0.7, 0.4) forwards;
  }

  body:not(.admin-body) .mobile-menu[open]::before {
    animation: kabem-menu-fade var(--mo-expand) ease forwards;
  }

  body:not(.admin-body) .mobile-menu.is-closing::before {
    animation: kabem-menu-fade-out var(--mo-hover) ease forwards;
  }

  @keyframes kabem-menu-in {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
  }

  @keyframes kabem-menu-out {
    from { transform: translateX(0); }
    to { transform: translateX(100%); }
  }

  @keyframes kabem-menu-fade {
    from { opacity: 0; }
    to { opacity: 1; }
  }

  @keyframes kabem-menu-fade-out {
    from { opacity: 1; }
    to { opacity: 0; }
  }

  body:not(.admin-body) .mobile-menu-list {
    display: grid;
  }

  body:not(.admin-body) .mobile-menu-item {
    display: grid;
    border: 0;
    background: transparent;
    grid-template-columns: 28px minmax(0, 1fr) 20px;
    gap: 14px;
    align-items: center;
    min-height: 60px;
    padding: 0 12px;
    border-radius: 12px;
    color: #10233C;
    font-size: 17px;
    font-weight: 400;
    text-decoration: none;
  }

  /* Линию между пунктами рисует border-bottom самого пункта (09-design-system).
     Псевдоэлемент рисовал поверх неё вторую линию с другими отступами —
     на границе пунктов получалась ступенька, убрано 15.08.2026. */

  body:not(.admin-body) .mobile-menu-item {
    position: relative;
  }

  /* Полоса активного пункта одна: старые правила рисовали ещё border-left
     у ссылки, и слева получалось две линии */
  body:not(.admin-body) .mobile-menu-panel .mobile-menu-item.is-active {
    position: relative;
    border-left: 0;
    box-shadow: none;
    background: linear-gradient(90deg, #E9F2FC 0%, #F6FAFE 100%);
    color: #10233C;
    font-weight: 600;
  }

  /* Полоса активного пункта стоит на левом краю самого пункта. Раньше она
     уезжала на 16px влево, к краю экрана, и висела отдельной чёрточкой в
     стороне от подсвеченной строки (правка 15.08.2026). */
  body:not(.admin-body) .mobile-menu-panel .mobile-menu-item.is-active::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;
    border-radius: 4px;
    background: #0F4C81;
  }

  body:not(.admin-body) .mobile-menu-ico {
    width: 28px;
    height: 28px;
    background: #12365C;
  }

  body:not(.admin-body) .mobile-menu-arrow {
    width: 18px;
    height: 18px;
    background: #8598AC;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 5 16 12 9 19'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 5 16 12 9 19'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  /* Карточка контактов: значение крупно, подпись под ним */
  body:not(.admin-body) .mobile-menu-contacts {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 4px 16px;
    border: 1px solid var(--color-border);
    border-radius: 16px;
    background: #FBFCFE;
  }

  /* Все три строки выровнены одинаково: телефон и почта — ссылки, режим
     работы — обычный блок, и старый padding ссылок сдвигал их друг
     относительно друга на 16px */
  body:not(.admin-body) .mobile-menu-contacts .mobile-menu-contact {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-height: 64px;
    padding: 10px 0;
    color: #10233C;
    text-decoration: none;
  }

  body:not(.admin-body) .mobile-menu-contact + .mobile-menu-contact {
    border-top: 1px solid var(--color-border);
  }

  body:not(.admin-body) .mobile-menu-contact-ico {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #EAF2FB;
  }

  body:not(.admin-body) .mobile-menu-contact-ico::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 20px;
    height: 20px;
    background: #1870BD;
  }

  body:not(.admin-body) .mobile-menu-contact-ico--phone::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5c0-.8.7-1.5 1.5-1.5h1.7c.6 0 1.2.4 1.4 1l.8 2.3c.2.5 0 1.1-.4 1.4l-1.1.8a11 11 0 0 0 4.6 4.6l.8-1.1c.3-.4.9-.6 1.4-.4l2.3.8c.6.2 1 .8 1 1.4v1.7c0 .8-.7 1.5-1.5 1.5A14.5 14.5 0 0 1 4 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5c0-.8.7-1.5 1.5-1.5h1.7c.6 0 1.2.4 1.4 1l.8 2.3c.2.5 0 1.1-.4 1.4l-1.1.8a11 11 0 0 0 4.6 4.6l.8-1.1c.3-.4.9-.6 1.4-.4l2.3.8c.6.2 1 .8 1 1.4v1.7c0 .8-.7 1.5-1.5 1.5A14.5 14.5 0 0 1 4 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-contact-ico--mail::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-contact-ico--clock::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 15 14'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 15 14'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-contact-body {
    display: grid;
    gap: 2px;
  }

  body:not(.admin-body) .mobile-menu-contact-body strong {
    font-size: 17px;
    line-height: 22px;
    font-weight: 600;
    color: #10233C;
  }

  body:not(.admin-body) .mobile-menu-contact-body span {
    font-size: 14px;
    line-height: 18px;
    color: #5C6E84;
  }

  body:not(.admin-body) .mobile-menu-panel .mobile-menu-cta {
    display: flex;
    color: #FFFFFF;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 56px;
    border-radius: 12px;
    font-size: 17px;
  }

  body:not(.admin-body) .mobile-menu-panel .mobile-menu-cta-ico {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 13h6M9 17h4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 3v5h5'/%3E%3Cpath d='M9 13h6M9 17h4'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--home {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5.5 9.6V21h13V9.6'/%3E%3Cpath d='M10 21v-6h4v6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5.5 9.6V21h13V9.6'/%3E%3Cpath d='M10 21v-6h4v6'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--catalog {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 4.5-9 4.5-9-4.5z'/%3E%3Cpath d='M3 7.5V16l9 5 9-5V7.5'/%3E%3Cpath d='M12 12v9'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 9 4.5-9 4.5-9-4.5z'/%3E%3Cpath d='M3 7.5V16l9 5 9-5V7.5'/%3E%3Cpath d='M12 12v9'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--complex {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='12' height='9' rx='1.5'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17.5' cy='18' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='12' height='9' rx='1.5'/%3E%3Cpath d='M14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17.5' cy='18' r='2'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--industries {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10l5 3V10l5 3V10l5 3v8z'/%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M6 7V3h3v4'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V10l5 3V10l5 3V10l5 3v8z'/%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M6 7V3h3v4'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--stock {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l9-5 9 5v12z'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M8 21v-6h8v6'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21V9l9-5 9 5v12z'/%3E%3Cpath d='M3 12h18'/%3E%3Cpath d='M8 21v-6h8v6'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--about {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M12 7.6h.01'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6'/%3E%3Cpath d='M12 7.6h.01'/%3E%3C/svg%3E") center / contain no-repeat;
  }

  body:not(.admin-body) .mobile-menu-ico--contacts {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3Cpath d='M8 17.5c.9-1.7 2.3-2.5 4-2.5s3.1.8 4 2.5'/%3E%3Cpath d='M4 8h2M4 12h2M4 16h2'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Ccircle cx='12' cy='10' r='2.6'/%3E%3Cpath d='M8 17.5c.9-1.7 2.3-2.5 4-2.5s3.1.8 4 2.5'/%3E%3Cpath d='M4 8h2M4 12h2M4 16h2'/%3E%3C/svg%3E") center / contain no-repeat;
  }
}

/* Шторка без движения, если система просит меньше анимации */
@media (max-width: 920px) and (prefers-reduced-motion: reduce) {
  body:not(.admin-body) .mobile-menu-panel,
  body:not(.admin-body) .mobile-menu.is-closing .mobile-menu-panel,
  body:not(.admin-body) .mobile-menu[open]::before,
  body:not(.admin-body) .mobile-menu.is-closing::before {
    animation: none;
    transform: none;
    opacity: 1;
  }
}

/* Возвращено 28.08.2026: карточка файла на «Наличии» — как до
   макета Stock Web (просьба заказчика) */

@media(max-width: 767px) {
  body:not(.admin-body).pages.stock .stock-file-title-group h2 { font-size: 20px; line-height: 26px; }
}

@media(max-width: 767px) {
  body:not(.admin-body).pages.stock .stock-file-warning { margin-top: 18px; font-size: 14px; line-height: 21px; }
}
