/* ============================================================
   mobile-fixes.css — надстройка над adaptive.css
   Правки мобильной версии mhtron.ru (25.08.2026)
   Подключается ПОСЛЕ style.css и adaptive.css
   ============================================================ */

/* --- Токены цвета (в духе существующей палитры сайта) --- */
:root {
    --mfx-brand:      #00437f;   /* тёмно-синий шапки */
    --mfx-brand-2:    #080c43;   /* глубокий синий */
    --mfx-accent:     #4a8000;   /* зелёный «Купить» */
    --mfx-accent-2:   #99cf16;   /* светло-зелёный «в наличии» */
    --mfx-ink:        #1f2937;
    --mfx-muted:      #6b7280;
    --mfx-surface:    #ffffff;
    --mfx-bg:         #f5f6f7;
    --mfx-border:     #e5e7eb;
    --mfx-danger:     #b91c1c;
    --mfx-tap:        44px;      /* минимальный тап-таргет */
}

/* ============================================================
   1. МОБИЛА <= 900px — общие фиксы
   ============================================================ */
@media (max-width: 900px) {

    /* --- 1.1 Форма поиска в шапке: кнопка ▶ помещается в экран --- */
    #search_frm {
        left: 0;
        right: 0;
        width: 100% !important;
        box-sizing: border-box;
    }
    #search_frm table {
        width: 100% !important;
        table-layout: fixed;
    }
    #search_frm table td:first-child {
        width: auto !important;
    }
    #search_frm table td:last-child {
        width: 40px !important;
        text-align: center !important;
    }
    #search_frm table input[type="button"] {
        width: 32px !important;
        height: 32px !important;
        margin-left: 0 !important;
        flex-shrink: 0;
    }

    /* --- 1.2 Bitrix24-виджет не перекрывает контент --- */
    .b24-widget-button-wrapper {
        bottom: 12px !important;
        right: 10px !important;
        opacity: 0.82;
        transition: opacity .25s;
    }
    .b24-widget-button-wrapper:hover,
    .b24-widget-button-wrapper:active,
    .b24-widget-button-wrapper.b24-widget-button-inner-container_active {
        opacity: 1;
    }

    /* --- 1.3 Список брендов A-Z: крупнее тап-таргеты --- */
    .mark-list #ml > tbody > tr > td {
        padding: 8px 0 !important;
    }
    .mark-list #ml > tbody > tr > td a {
        display: inline-block;
        min-height: var(--mfx-tap);
        line-height: 1.2;
        padding: 12px 6px;
        font-size: 15px;
        margin: 0 !important;
    }

    /* --- 1.4 Хлебные крошки — компактно и в одну строку --- */
    .breadcrumbs, .breadcrumb, .crumbs {
        font-size: 13px;
        line-height: 1.35;
        padding: 8px 10px !important;
        color: var(--mfx-muted);
        word-break: break-word;
    }
    .breadcrumbs a, .breadcrumb a, .crumbs a { color: var(--mfx-brand); }

    /* --- 1.0a Компактная шапка: целевая высота ~48px.
       flex в adaptive.css сломан (опечатка space-betwween) — починим его, чтобы align-items:center работал --- */
    .the_new.newhead {
        padding: 3px 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    /* Гамбургер-кнопка слева: сокращаем padding 10→5 */
    .the_new.newhead .adapt_menu a { padding: 5px 8px !important; }

    /* Логотип: HTML задаёт width=180 height=48 (неправильные пропорции),
       реальный файл 135×129 (квадратный). Отменяем inline width, высота 32px */
    .the_new.newhead .newlogo img,
    .newlogo img {
        width: auto !important;
        height: 32px !important;
        max-height: 32px !important;
        object-fit: contain !important;
        display: block;
    }
    .newlogo { line-height: 0 !important; }

    /* Иконки справа: flex-контейнер выравнивает все иконки по центру (был block+vertical-align:top, телефон выступал);
       gap 8px — больше воздуха между кнопками (было ~3.75px) */
    .the_new.newhead .newicons {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    .the_new.newhead .newicons a,
    .the_new.newhead .newicons .mobsearch {
        padding: 4px !important;
        line-height: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: content-box !important;
    }
    .the_new.newhead .newicons a svg,
    .the_new.newhead .newicons .mobsearch svg {
        display: block !important;
    }

    /* --- 1.0c mmenu-плагин ставит padding-top: 65px инлайном — переопределяем под новую высоту шапки (~46-48px) --- */
    body { padding-top: 0 !important; }
    #mm-0.mm-page, .mm-page.mm-slideout {
        padding-top: 60px !important;
    }

    /* --- 1.0d Фоновый чертёж body (vfm6a.png) на мобиле лишний — выключаем его --- */
    body {
        background-image: none !important;
        background-color: #fff !important;
    }

    /* --- 1.4a Показываем колонку Фото на планшетах 641-900px —
       переопределяем adaptive.css .nomob{display:none}. На <=640 откат в № 2.0 ниже --- */
    table td.nomob, table th.nomob { display: table-cell !important; text-align: center !important; padding: 2px 4px !important; vertical-align: middle !important; }

    /* --- 1.5 Скрываем дубликат хлебных крошек --- */
    .breadcrumbs + .breadcrumbs,
    .breadcrumb + .breadcrumb,
    .crumbs + .crumbs { display: none !important; }
    /* Старая табличная навигация «Главная » Производители » X» на страницах брендов/каталога */
    .breadcrumbs ~ * #navigate,
    #navigate { display: none !important; }

    /* --- 1.6 Телефоны на странице контактов — больший тап-таргет --- */
    a[href^="tel:"] {
        display: inline-block;
        min-height: var(--mfx-tap);
        padding: 8px 4px;
        line-height: var(--mfx-tap);
        font-size: 17px;
        font-weight: 600;
        color: var(--mfx-brand);
    }

    /* --- 1.6a Legacy table-layout: верхние обёртки не должны быть уже экрана.
       КОРЕНЬ ПРОБЛЕМЫ: #content в css/style.css имеет width:80% (под десктопную 2-колонку).
       adaptive.css переопределяет max-width, но width:80% остаётся → 390*0.8=312px. Фиксим. --- */
    #content { width: 100% !important; }
    table.maincontent,
    table.mmtable.maintable,
    td#center,
    td.maintable_tr2-td2,
    .maincontent_tr > td {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }
    td#center, td.maintable_tr2-td2 {
        padding: 0 6px !important;
        display: block !important;
    }
    /* Левый сайдбар (leftmenu/left-contacts) на мобиле лишний — меню в mmenu-гамбургере */
    td.maintable_tr2-td1 { display: none !important; }
    /* Строка tr теперь с одной ячейкой должна быть во всю ширину */
    tr.maintable_tr2 { display: table-row !important; width: 100% !important; }
    /* padding: 0 29px на .maincontent_tr td свой — снимаем */
    table.maincontent > tbody > tr > td { padding: 0 !important; }
    /* А также ширина верхнего maintable_tr1-td1 с width=241 — сносим полностью */
    td.maintable_tr1-td1 { display: none !important; }
    td.maintable_tr1-td2 { padding-left: 0 !important; width: 100% !important; }

    /* --- 1.7 Обёртка .tablewrap — больше не нужна:
       все мобильные таблицы разложены в grid-карточки через tr_strrrr,
       горизонтальный скролл/подсказку убираем полностью (v=23). */
    .tablewrap {
        overflow: visible !important;
        position: static !important;
        padding: 0 !important;
    }
    .tablewrap::before,
    .tablewrap::after {
        content: none !important;
        display: none !important;
    }

}

/* ============================================================
   2. МОБИЛА <= 640px — карточная раскладка широких таблиц
   ============================================================ */
@media (max-width: 640px) {

    /* --- 2.0 На узких экранах колонка Фото — скрыта обратно (плац важнее маленького превью).
       Откат переопределения из № 1.4a --- */
    table td.nomob, table th.nomob { display: none !important; }

    /* --- 2.1 Верхняя .list_tab на карточке товара (Артикул/Производитель/Цена/Вес)
       Превращаем 5 колонок с декоративными углами в чистый список --- */
    .list_tab {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        border: 1px solid var(--mfx-border);
        border-radius: 10px;
        background: var(--mfx-surface);
        overflow: hidden;
        margin: 0 0 16px 0;
    }
    .list_tab tr, .list_tab td, .list_tab th {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .list_tab tbody, .list_tab tr, .list_tab td, .list_tab th {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
    }
    /* Прячем декоративные угловые ячейки (td1_left/td1_right/td2_left/td2_right) и разделители */
    .list_tab td[class*="_left"],
    .list_tab td[class*="_right"],
    .list_tab td.sep_tr,
    .list_tab td.sep_head,
    .list_tab th {
        display: none !important;
    }
    /* Строка = блок с двумя значениями подряд (метка + значение) */
    .list_tab tr.tr_str {
        display: flex !important;
        flex-wrap: wrap;
        gap: 4px 8px;
        padding: 10px 14px !important;
        border-bottom: 1px solid var(--mfx-border);
        background: var(--mfx-surface) !important;
    }
    .list_tab tr.tr_str:last-child { border-bottom: 0; }
    .list_tab tr.tr_str > td {
        display: inline !important;
        width: auto !important;
        padding: 0 !important;
        text-align: left !important;
        line-height: 1.4;
        font-size: 15px;
        word-break: break-word;
        overflow-wrap: anywhere;
        max-width: 100%;
    }
    /* Длинные списки аналогов через запятую — переносить в любом месте */
    .list_tab tr.tr_str > td:last-of-type {
        flex: 1 1 100%;
    }
    /* Первая осмысленная ячейка — метка (Артикул/Цена/Вес) */
    .list_tab tr.tr_str > td:not([class*="_left"]):not([class*="_right"]):first-of-type,
    .list_tab tr.tr_str > td span:first-child {
        color: var(--mfx-muted);
        font-size: 13px;
        min-width: 100px;
    }
    /* Цена — жирная и синяя */
    .list_tab tr.tr_str td span:only-child,
    .list_tab tr.tr_str td span + span {
        color: var(--mfx-ink);
    }

    /* --- 2.2 Таблица со списком товаров (spec/каталог) --- */
    /* Прячем декоративные угловые колонки */
    .prod-table .list_tab td[class*="_left"],
    .prod-table .list_tab td[class*="_right"],
    .prod-table .list_tab th {
        display: none !important;
    }

    /* --- 2.3 Sticky-колонка «Купить» в широких таблицах товаров ---
       Работает, только когда таблица сохраняет табличную раскладку (сопутствующие).
       Здесь мы не переверстываем таблицу — оставляем горизонтальный скролл,
       но липнет последняя пара колонок «Купить/В корзине». --- */
    .prod-table > .list_tab { table-layout: auto; }

    /* --- 2.4 Кнопки/ссылки «Купить»/«В корзину» — крупнее --- */
    .prod-table a[href*="cart.php"],
    a.tocart,
    a[href*="action=tocart"] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: var(--mfx-tap);
        min-height: var(--mfx-tap);
        padding: 8px 14px;
        background: var(--mfx-accent);
        color: #fff !important;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        font-size: 15px;
    }
    .prod-table a[href*="cart.php"] img,
    a.tocart img {
        width: 22px;
        height: 22px;
        filter: brightness(0) invert(1);
    }

    /* --- 2.5 Инпут "К-во" — крупнее --- */
    .chkol .field input {
        width: 60px !important;
        height: 40px !important;
        padding: 6px 8px !important;
        font-size: 17px !important;
        text-align: center;
        border: 1px solid var(--mfx-border);
        border-radius: 6px;
    }

    /* --- 2.6 Читаемость шрифта в таблицах --- */
    .list_tab td, .list_tab th,
    .prod-table td, .prod-table th {
        font-size: 14px;
        line-height: 1.4;
    }

    /* --- 2.7 Ссылки в списках/меню — компактный тап-таргет --- */
    .mm-listitem > a,
    .mm-listitem > span {
        padding-top: 14px !important;
        padding-bottom: 14px !important;
        font-size: 16px !important;
    }


    /* ============================================================
       § 2.8 sortT — карточная раскладка результатов поиска (v=11)
       10 колонок PHP: 1=Фирма 2=Фото 3=Артикул 4=Наименование
       5=Цена 6=Наличие 7=Срок 8=К-во 9=Купить 10=Cart#
       На <=640px превращаем строку в grid 5col x 3row:
       row1: [Фирма cs2][Артикул cs2][Наимен.]
       row2: [Фото  cs2][Срок    cs2][Наимен.rs]
       row3: [Наличие][Цена][К-во][Купить][Cart#]
       Всё во всю ширину экрана без горизонтального скролла.
       ============================================================ */

    /* Обёртка: убираем overflow-x и подсказку про свайп у search-таблиц */
    .search_res .tablewrap { overflow-x: visible !important; }
    .search_res .tablewrap::before,
    .search_res .tablewrap::after { display: none !important; }

    /* Шапку оставляем видимой — нужна для сортировки по клику (JS-плагин). Сжимаем её. */
    table.sortT > thead {
        display: block !important;
        width: 100% !important;
        background: #f4f4f4 !important;
        border-bottom: 1px solid var(--mfx-border) !important;
    }
    table.sortT > thead > tr {
        display: flex !important; flex-wrap: nowrap !important;
        gap: 3px !important;
        padding: 5px 6px !important;
        justify-content: center !important;
        overflow: hidden !important;
    }
    table.sortT > thead > tr > th {
        display: inline-block !important;
        font-size: 10px !important;
        font-weight: 500 !important;
        color: var(--mfx-muted) !important;
        padding: 2px 4px !important;
        border-radius: 3px !important;
        background: #fff !important;
        border: 1px solid var(--mfx-border) !important;
        cursor: pointer !important;
        white-space: nowrap !important;
        line-height: 1.3 !important;
        min-width: 0 !important;
        height: auto !important;
        flex: 0 0 auto !important;
    }
    /* Скрываем в шапке — rowspan-th (разделители), К-во, Купить, В корзине, Фото */
    table.sortT > thead > tr > th[rowspan],
    table.sortT > thead > tr > th:nth-of-type(n+7) {
        display: none !important;
    }
    table.sortT > thead > tr > th.nomob:not([rowspan]) { display: inline-block !important; }

    /* Таблица теряет табличную геометрию → блок */
    table.sortT {
        display: block !important;
        width: 100% !important;
        border-collapse: collapse !important;
    }
    table.sortT > tbody { display: block !important; width: 100% !important; }

    /* Разделительная строка "Аналоги" / "Региональный склад —" остаётся строкой */
    table.sortT > tbody > tr.section,
    table.sortT > tbody > tr > td[colspan] {
        display: block !important; width: 100% !important;
    }
    table.sortT > tbody > tr.section > td,
    table.sortT > tbody > tr > td[colspan] {
        box-sizing: border-box !important;
        background: #f4f4f4 !important;
        font-weight: 700 !important;
        padding: 10px 12px !important;
        text-align: left !important;
    }

    /* Компактная карточка v=20: 3 строки
       Ряд 1: Наименование (полная ширина)
       Ряд 2: Фирма · Артикул
       Ряд 3: Фото · Кол-во(шт) · Срок/? · Цена · К-во инпут · Купить */
    /* Скрытые: все варианты inline display:none и класс .mhide (любая строка таблицы) */
    table.sortT > tbody > tr.tr_strrrr[style*="display: none"],
    table.sortT > tbody > tr.tr_strrrr[style*="display:none"],
    table.sortT > tbody > tr.tr_strrrr[style*="display: NONE"],
    table.sortT > tbody > tr.mhide,
    table.sortT > tbody > tr.tr_strrrr.mhide {
        display: none !important;
    }
    table.sortT > tbody > tr.tr_strrrr:not([style*="display: none"]):not([style*="display:none"]):not(.mhide) {
        display: grid !important;
        grid-template-columns: 48px 32px 60px minmax(0,1fr) 42px 40px !important;
        grid-template-rows: auto auto auto !important;
        gap: 4px 6px !important;
        padding: 10px 10px !important;
        margin: 0 !important;
        border-bottom: 1px solid var(--mfx-border) !important;
        background: #fff;
        width: 100% !important;
        box-sizing: border-box !important;
        align-items: center !important;
    }

    /* Возвращаем скрытые на мобиле td.nomob — они нужны в гриде */
    table.sortT > tbody > tr.tr_strrrr > td.nomob {
        display: block !important;
    }

    /* Подсветка строк с наличием — на всех таблицах кроме каталога KPP */
    table.sortT > tbody > tr.tr_strrrr.has-stock:not(.kpp_prod_row) {
        background: #eaf7d9 !important;
        border-left: 4px solid #6fbf1a !important;
        padding-left: 6px !important;
    }

    /* Подсветка строк со сроком поставки — на всех таблицах кроме каталога KPP */
    table.sortT > tbody > tr.tr_strrrr.has-eta:not(.kpp_prod_row) {
        background: #fff8d6 !important;
        border-left: 4px solid #e6b800 !important;
        padding-left: 6px !important;
    }

    /* Активная карточка товара без has-stock/has-eta — голубая заливка.
       Аналоги сохраняют свой цвет (зелёный/жёлтый/белый). */
    table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active:not(.has-stock):not(.has-eta) {
        background: #eef6ff !important;
        background-color: #eef6ff !important;
    }

    /* Кнопка показать аналоги — на одной вертикали с кнопкой «+» (правый край), приподнята над карточкой */
    table.sortT > tbody > tr.tr_strrrr .analog_toggle {
        position: absolute !important;
        right: 10px !important;
        top: -14px !important;
        bottom: auto !important;
        transform: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 10 !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 36px !important;
        height: 36px !important;
        font-size: 18px !important;
        line-height: 34px !important;
        color: #1a6fd6 !important;
        background: #ffffff !important;
        border: 2px solid #1a6fd6 !important;
        border-radius: 50% !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.25) !important;
        touch-action: manipulation !important;
        font-weight: bold !important;
    }
    /* tr сам станет relative — чтобы absolute работал от карточки целиком */
    table.sortT > tbody > tr.tr_strrrr {
        position: relative !important;
    }
    /* Заголовок Аналоги и кнопка Региональный на мобилке — на всю ширину контейнера.
       ВАЖНО: не перебиваем inline display:none — они скрыты по умолчанию, показываются JS'ом. */
    table.sortT > tbody > tr.analogs_thbody[style*="display: table-row"],
    table.sortT > tbody > tr.analogs_thbody[style*="display:table-row"],
    table.sortT > tbody > tr.regional_toggle[style*="display: table-row"],
    table.sortT > tbody > tr.regional_toggle[style*="display:table-row"],
    table.sortT > tbody > tr.analogs_thbody.kpp_group_active:not(.mhide),
    table.sortT > tbody > tr.regional_toggle.kpp_group_active:not(.mhide) {
        display: block !important;
        width: 100% !important;
    }
    table.sortT > tbody > tr.analogs_thbody.kpp_group_active:not(.mhide) > td,
    table.sortT > tbody > tr.regional_toggle.kpp_group_active:not(.mhide) > td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Базовые сбросы для всех td строки */
    table.sortT > tbody > tr.tr_strrrr > td {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
        text-align: left !important;
        vertical-align: middle !important;
        line-height: 1.3 !important;
        font-size: 13px !important;
        overflow: hidden !important;
        min-width: 0 !important;
        white-space: normal !important;
        width: auto !important;
        justify-self: stretch !important;
        align-self: center !important;
    }

    /* --- Ряд 1: Наименование --- */
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(4) {
        grid-column: 1 / 7 !important; grid-row: 1 / 2 !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        font-weight: 500 !important;
        color: var(--mfx-ink) !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
    }

    /* --- Ряд 2: Фирма · Артикул --- */
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(1) {  /* Фирма */
        grid-row: 2 / 3 !important;
        grid-column: 1 / 3 !important;
        font-weight: 700 !important; color: var(--mfx-ink) !important;
        font-size: 12px !important;
        white-space: nowrap !important; text-overflow: ellipsis !important;
    }
    /* Артикул — overflow visible, чтобы popover-меню каталогов (.kpp-menu) не обрезался (v=25) */
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(3) {  /* Артикул */
        overflow: visible !important;
        grid-row: 2 / 3 !important;
        grid-column: 3 / 7 !important;
        font-weight: 700 !important; color: #2d7700 !important;
        font-size: 13px !important;
        white-space: nowrap !important; text-overflow: ellipsis !important;
    }
    .help-tip {
        cursor: pointer !important;
        pointer-events: auto !important;
    }

    /* --- Ряд 3: Фото · Кол-во · Срок/? · Цена · К-во инпут · Купить --- */
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(2) {  /* Фото */
        grid-row: 3 / 4 !important;
        grid-column: 1 / 2 !important;
        text-align: center !important;
        margin-top: 4px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(2) img {
        width: 44px !important; height: 44px !important;
        object-fit: contain !important; background: #fff !important;
        border: 1px solid #eee !important; border-radius: 4px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(2) > span {
        width: 44px !important; height: 44px !important;
        line-height: 44px !important;
        font-size: 18px !important;
        display: inline-block !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(6) {  /* Наличие-число (шт) */
        grid-row: 3 / 4 !important;
        grid-column: 2 / 3 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 12px !important; color: var(--mfx-ink) !important;
        font-weight: 600 !important;
        margin-top: 4px !important;
        white-space: nowrap !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(6):not(:empty)::after {
        content: "\00a0\0448\0442" !important;
        color: var(--mfx-muted) !important;
        font-size: 10px !important;
        font-weight: 500 !important;
        margin-left: 1px !important;
    }
    /* Если наличие пусто — покажем «—» (тире) чтобы не было два попапа рядом */
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(6):empty::before {
        content: "—" !important;
        color: var(--mfx-muted) !important;
        font-size: 14px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(7) {  /* Срок поставки / ? */
        grid-row: 3 / 4 !important;
        grid-column: 3 / 4 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 11px !important; color: var(--mfx-muted) !important;
        white-space: nowrap !important;
        margin-top: 4px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(7) > span.help-tip {
        margin: 0 !important;
        cursor: pointer !important;
        pointer-events: auto !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(5) {  /* Цена */
        grid-row: 3 / 4 !important;
        grid-column: 4 / 5 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        text-align: right !important;
        font-weight: 700 !important; color: var(--mfx-ink) !important;
        font-size: 14px !important;
        white-space: nowrap !important;
        margin-top: 4px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(5):not(.price-empty)::after {
        content: "\00a0\20bd" !important;
        font-weight: 500 !important;
        color: var(--mfx-muted) !important;
        font-size: 12px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(8) {  /* К-во (input) */
        grid-row: 3 / 4 !important;
        grid-column: 5 / 6 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-top: 4px !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(9) {  /* Купить */
        grid-row: 3 / 4 !important;
        grid-column: 6 / 7 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-top: 4px !important;
        padding: 0 !important;
    }
    table.sortT > tbody > tr.tr_strrrr > td:nth-child(10) {  /* В корзине */
        grid-row: 3 / 4 !important;
        grid-column: 6 / 7 !important;
        justify-self: end !important;
        align-self: start !important;
        margin-top: -2px !important;
        font-size: 10px !important; color: var(--mfx-accent) !important;
        font-weight: 700 !important;
        padding: 0 !important;
        min-width: 0 !important;
        pointer-events: none !important;
    }

    /* Ужимаем инпут К-ва в ряду 3 — скрываем всю обёртку и боковые полоски */
    table.sortT > tbody > tr.tr_strrrr .chkol {
        margin: 0 !important; padding: 0 !important;
        width: 42px !important; height: 30px !important;
        border: 0 !important; background: none !important;
        overflow: visible !important;
    }
    table.sortT > tbody > tr.tr_strrrr .chkol .field {
        width: 42px !important; height: 30px !important;
        background: none !important; overflow: visible !important;
    }
    table.sortT > tbody > tr.tr_strrrr .chkol .field input {
        width: 42px !important; height: 30px !important;
        font-size: 14px !important; padding: 2px 4px !important;
        text-align: center !important;
        border: 1px solid var(--mfx-border) !important;
        border-radius: 4px !important;
        background: #fff !important;
        box-sizing: border-box !important;
    }
    table.sortT > tbody > tr.tr_strrrr .chkol .str { display: none !important; }

    /* Иконка Купить */
    table.sortT > tbody > tr.tr_strrrr img.tocart,
    table.sortT > tbody > tr.tr_strrrr img[src*="cart_add"] {
        width: 32px !important; height: 28px !important;
    }
    table.sortT > tbody > tr.tr_strrrr td:nth-child(9) a {
        display: inline-flex !important; align-items: center !important;
        padding: 2px !important;
    }

    /* Наименование: ссылка */
    table.sortT > tbody > tr.tr_strrrr td a.no-hl {
        color: var(--mfx-brand) !important;
        text-decoration: none !important;
    }

    /* Sale-иконка не ломает layout */
    table.sortT > tbody > tr.tr_strrrr .sale {
        display: inline-block !important; vertical-align: middle !important;
        margin-right: 4px !important;
    }

    /* Внешние ссылки-иконки (KPP-link) рядом с артикулом — уменьшаем */
    table.sortT > tbody > tr.tr_strrrr td:nth-child(3) svg,
    table.sortT > tbody > tr.tr_strrrr td:nth-child(3) img {
        width: 12px !important; height: 12px !important;
        vertical-align: middle !important;
    }
}

/* ============================================================
   3. Пустая корзина / гостевой блок (для .cart-empty)
   Используется в cart.php вместо редиректа
   ============================================================ */
.cart-empty {
    max-width: 520px;
    margin: 32px auto;
    padding: 28px 22px;
    background: var(--mfx-surface);
    border: 1px solid var(--mfx-border);
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.cart-empty__icon {
    width: 64px; height: 64px;
    margin: 0 auto 14px;
    color: var(--mfx-muted);
}
.cart-empty__title {
    font-size: 20px;
    font-weight: 700;
    color: var(--mfx-ink);
    margin: 0 0 8px;
    line-height: 1.3;
}
.cart-empty__text {
    font-size: 15px;
    color: var(--mfx-muted);
    line-height: 1.5;
    margin: 0 0 20px;
}
.cart-empty__actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
.cart-empty__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--mfx-tap);
    padding: 10px 22px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    border: 1px solid transparent;
    cursor: pointer;
    transition: filter .15s, background .15s;
}
.cart-empty__btn--primary {
    background: var(--mfx-brand);
    color: #fff;
}
.cart-empty__btn--primary:hover { filter: brightness(1.1); }
.cart-empty__btn--ghost {
    background: transparent;
    color: var(--mfx-brand);
    border-color: var(--mfx-brand);
}
.cart-empty__btn--ghost:hover { background: rgba(0,67,127,0.05); }

@media (max-width: 640px) {
    .cart-empty {
        margin: 20px 12px;
        padding: 22px 16px;
    }
    .cart-empty__title { font-size: 18px; }
    .cart-empty__btn { width: 100%; }
}

/* --- Красивый попап help-tip (v=17) --- */
.mfx-modal-overlay {
    position: fixed !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
    background: rgba(20,32,56,0.55) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 99999 !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    animation: mfxFadeIn .18s ease-out !important;
}
.mfx-modal {
    background: #fff !important;
    border-radius: 12px !important;
    max-width: 380px !important;
    width: 100% !important;
    box-shadow: 0 12px 40px rgba(0,0,0,0.25) !important;
    overflow: hidden !important;
    animation: mfxSlideUp .22s ease-out !important;
    box-sizing: border-box !important;
}
.mfx-modal-head {
    padding: 14px 18px !important;
    background: linear-gradient(135deg, #00437f 0%, #0059a8 100%) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}
.mfx-modal-head::before {
    content: "?" !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important; height: 24px !important;
    background: rgba(255,255,255,0.2) !important;
    border-radius: 50% !important;
    font-weight: 700 !important;
}
.mfx-modal-body {
    padding: 18px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #2a3550 !important;
}
.mfx-modal-foot {
    padding: 10px 18px 16px !important;
    text-align: right !important;
    background: #f7f9fc !important;
    border-top: 1px solid #eef2f7 !important;
}
.mfx-modal-btn {
    padding: 8px 20px !important;
    background: #00437f !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: background .15s !important;
}
.mfx-modal-btn:hover, .mfx-modal-btn:focus { background: #0059a8 !important; outline: none !important; }
@keyframes mfxFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes mfxSlideUp {
    from { opacity: 0; transform: translateY(20px) scale(0.95); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ============================================================
   4. Карточка товара (show_goods.php) — мобильная (v=21)
   Порядок: название → большое фото → артикул(ссылка каталог) →
   аналоги → вес → описание → таблицы (наличие/аналоги)
   ============================================================ */
@media (max-width: 640px) {

    /* --- Основная таблица карточки: фото + мета-блок --- */
    table.prod-table {
        display: block !important;
        width: 100% !important;
        margin-top: 8px !important;
        border-spacing: 0 !important;
    }
    table.prod-table > tbody { display: block !important; width: 100% !important; }
    table.prod-table > tbody > tr { display: block !important; width: 100% !important; }

    /* Ячейки становятся блоками с адекватным порядком */
    table.prod-table > tbody > tr > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: left !important;
    }

    /* Ячейка с фото (td.prod-img) — сверху, крупная */
    table.prod-table td.prod-img {
        text-align: center !important;
        padding: 4px 0 12px !important;
        order: 0;
    }
    table.prod-table td.prod-img .prod-gallery {
        display: block !important;
        max-width: 320px !important;
        margin: 0 auto !important;
    }
    table.prod-table td.prod-img #gg_main {
        width: 100% !important;
        max-width: 320px !important;
        height: auto !important;
        aspect-ratio: 1/1 !important;
        object-fit: contain !important;
    }
    table.prod-table td.prod-img .prod-thumbs {
        justify-content: center !important;
    }
    table.prod-table td.prod-img .prod-thumbs img {
        width: 48px !important; height: 48px !important;
    }

    /* Название H1 — компактнее */
    h1.product-h1 {
        font-size: 17px !important;
        line-height: 1.25 !important;
        padding: 8px 10px 4px !important;
        margin: 0 0 6px !important;
    }

    /* --- Мета-таблица .list_tab — превращаем в список --- */
    table.list_tab {
        display: block !important;
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: auto !important;
        margin: 0 !important;
    }
    table.list_tab > tbody { display: block !important; }
    table.list_tab tr {
        display: block !important;
        width: 100% !important;
    }
    /* Скрываем декоративные строки-разделители и обрамление */
    table.list_tab tr:not(.tr_str) { display: none !important; }
    table.list_tab tr.tr_str > td.td1_left,
    table.list_tab tr.tr_str > td.td2_left,
    table.list_tab tr.tr_str > td.td1_right,
    table.list_tab tr.tr_str > td.td2_right,
    table.list_tab tr.tr_str > th { display: none !important; }

    /* Скрываем Производителя и Цену — их видно в таблице наличия ниже */
    table.list_tab tr.tr_str[data-field="maker"],
    table.list_tab tr.tr_str[data-field="price"] {
        display: none !important;
    }

    /* Строка = «Название поля: значение» — двумя ячейками */
    table.list_tab tr.tr_str {
        display: grid !important;
        grid-template-columns: 96px minmax(0, 1fr) !important;
        column-gap: 8px !important;
        align-items: baseline !important;
        padding: 6px 10px !important;
        border-bottom: 1px solid #eef1f4 !important;
        background: #fff !important;
        height: auto !important;
    }
    table.list_tab tr.tr_str > td {
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        text-align: left !important;
        height: auto !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
        min-width: 0 !important;
        word-break: break-word !important;
    }
    /* 2-я td — label, 4-я td — value (1-я и 5-я скрыты как td_left/right) */
    table.list_tab tr.tr_str > td:nth-child(2) {
        color: #6a7684 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.02em !important;
    }
    table.list_tab tr.tr_str > td:nth-child(2) span { font-weight: 500 !important; }

    /* Значение — крупнее для Артикула */
    table.list_tab tr.tr_str[data-field="articul"] > td:nth-child(4) {
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #222 !important;
    }
    /* Иконка «каталог» (kpp_link) рядом с артикулом */
    table.list_tab tr.tr_str[data-field="articul"] > td:nth-child(4) a,
    table.list_tab tr.tr_str[data-field="articul"] > td:nth-child(4) img,
    table.list_tab tr.tr_str[data-field="articul"] > td:nth-child(4) svg {
        vertical-align: middle !important;
    }

    /* Аналоги — переносим и слегка сжимаем */
    table.list_tab tr.tr_str[data-field="analog"] > td:nth-child(4) {
        font-size: 12.5px !important;
        color: #333 !important;
        line-height: 1.4 !important;
    }
    /* Описание — комфортно читать */
    table.list_tab tr.tr_str[data-field="description"] > td:nth-child(4) {
        font-size: 13.5px !important;
        color: #333 !important;
        line-height: 1.45 !important;
    }

    /* Порядок строк в мета-блоке: артикул → аналоги → вес → описание */
    table.list_tab tr.tr_str[data-field="articul"]     { order: 1; }
    table.list_tab tr.tr_str[data-field="analog"]      { order: 2; }
    table.list_tab tr.tr_str[data-field="weight"]      { order: 3; }
    table.list_tab tr.tr_str[data-field="description"] { order: 4; }
    /* Родителю нужно flex, чтобы order сработал */
    table.list_tab > tbody { display: flex !important; flex-direction: column !important; }

    /* Убираем скруглённые «трубки» и точки декора */
    table.list_tab .sep_tr { display: none !important; }

    /* --- Разделитель перед таблицей наличия --- */
    div.ostatki {
        margin-top: 12px !important;
        padding-top: 8px !important;
        border-top: 1px solid #e6ebef !important;
    }
    div.ostatki::before {
        content: "Наличие и цены";
        display: block;
        font-weight: 600;
        font-size: 15px;
        color: #222;
        padding: 4px 10px 8px;
    }

    /* Спрятать шумовую подпись «* для сортировки таблицы...» на мобильном */
    div.ostatki > table.sortT { margin-top: 4px !important; }

}

/* maphilight canvas не должен перехватывать клики от <area> на мобильных браузерах */
.maphilighted { position: relative; }
.maphilighted > canvas,
.maphilighted > var { pointer-events: none !important; }
.maphilighted > img.map { pointer-events: auto; }

/* На мобилке maphilight не запускается — используется SVG overlay. Десктопу не мешаем. */
@media (max-width: 900px) {
    .maphilighted { max-width: 100% !important; }
    .maphilighted > img.map { max-width: 100% !important; height: auto !important; }
}

/* ==================================================================
   Общая подсветка has-stock/has-eta — на всех таблицах (search, goods),
   КРОМЕ каталога KPP (tr.kpp_prod_row) — там красятся только активные группы.
   ================================================================== */
table.sortT > tbody > tr.tr_strrrr.has-stock:not(.kpp_prod_row) > td {
    background-color: #eaf7d9 !important;
}
table.sortT > tbody > tr.tr_strrrr.has-stock:not(.kpp_prod_row) > td:first-child {
    border-left: 4px solid #6fbf1a !important;
}
table.sortT > tbody > tr.tr_strrrr.has-eta:not(.kpp_prod_row) > td {
    background-color: #fff8d6 !important;
}
table.sortT > tbody > tr.tr_strrrr.has-eta:not(.kpp_prod_row) > td:first-child {
    border-left: 4px solid #e6b800 !important;
}

/* Каталог KPP: has-stock/has-eta красят ТОЛЬКО активную группу (открытую карточку товара) */
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active.has-stock,
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active.has-stock > td {
    background: #eaf7d9 !important;
    background-color: #eaf7d9 !important;
}
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active.has-stock > td:first-child {
    border-left: 4px solid #6fbf1a !important;
}
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active.has-eta,
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active.has-eta > td {
    background: #fff8d6 !important;
    background-color: #fff8d6 !important;
}
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active.has-eta > td:first-child {
    border-left: 4px solid #e6b800 !important;
}

/* Правило «пусто → голубой» для активной группы (карточка+аналоги+регионалка) */
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active:not(.has-stock):not(.has-eta),
table.sortT > tbody > tr.tr_strrrr.kpp_prod_row.kpp_group_active:not(.has-stock):not(.has-eta) > td,
table.sortT > tbody > tr.analog_row_ins.kpp_group_active:not(.has-stock):not(.has-eta),
table.sortT > tbody > tr.analog_row_ins.kpp_group_active:not(.has-stock):not(.has-eta) > td,
table.sortT > tbody > tr.regional_row_ins.kpp_group_active:not(.has-stock):not(.has-eta),
table.sortT > tbody > tr.regional_row_ins.kpp_group_active:not(.has-stock):not(.has-eta) > td {
    background: #eef6ff !important;
    background-color: #eef6ff !important;
}
/* Плашка «Аналоги» — серая разделительная */
table.sortT > tbody > tr.analogs_thbody.kpp_group_active,
table.sortT > tbody > tr.analogs_thbody.kpp_group_active > td {
    background: #f4f4f4 !important;
    background-color: #f4f4f4 !important;
}
/* Кнопка Региональный склад — тёмнее голубой (как на десктопе) */
table.sortT > tbody > tr.regional_toggle.kpp_group_active,
table.sortT > tbody > tr.regional_toggle.kpp_group_active > td {
    background: #dbeaff !important;
    background-color: #dbeaff !important;
}

/* ============================================================
   Каталог КПП (мобилка): миниатюры сворачиваются, под схемой —
   кнопки "Показать все узлы" + "Следующий узел →"
   ============================================================ */

/* Субтитр в шапке — ФИО контактного лица • организация. Absolute под иконками, смещён вправо. Не увеличивает высоту шапки */
.newhead .newicons { position: relative; }
.newhead .newicons .newlogo-org {
    display: block;
    position: absolute;
    right: 4px;
    bottom: 2px;
    font-size: 9.5px;
    line-height: 1;
    color: #5a6a80;
    letter-spacing: 0.2px;
    font-weight: normal;
    text-decoration: none;
    text-align: right;
    white-space: nowrap;
    pointer-events: none;
    max-width: 60vw;
    overflow: hidden;
    text-overflow: ellipsis;
}
@media (max-width: 900px) {
    .newhead .newicons .newlogo-org {
        font-size: 8.5px;
        bottom: 1px;
        right: 2px;
    }
}

/* Блок кнопок под схемой — только мобилка */
.kpp-mob-actions { display: none; }

@media (max-width: 900px) {
    /* --- Миниатюры узлов: свернуты по умолчанию, разворачиваются toggle --- */
    .pager-divs {
        position: relative !important;
        max-height: 0 !important;
        overflow: hidden !important;
        margin: 0 !important;
        transition: max-height 0.3s ease;
    }
    /* Дочерние <a> и <img> имеют position:absolute от imgZoom — при свёрнутом контейнере их не должно быть видно */
    .pager-divs:not(.pager-open) a,
    .pager-divs:not(.pager-open) img {
        display: none !important;
    }
    .pager-divs.pager-open {
        max-height: 6000px !important;
        margin: 0 auto 15px !important;
        padding: 8px !important;
        overflow: visible !important;
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        box-sizing: border-box !important;
    }
    /* В развёрнутом состоянии: 2 колонки крупных плиток с номером страницы под каждой */
    .pager-divs.pager-open a {
        position: relative !important;
        float: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: auto !important;
        height: auto !important;
        min-height: 140px !important;
        padding: 6px 6px 26px 6px !important;
        background: #fff !important;
        border: 2px solid #d5dde8 !important;
        border-radius: 8px !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
        box-sizing: border-box !important;
        text-decoration: none !important;
        overflow: hidden !important;
    }
    /* Подсветка текущего узла (у него inline border:1px solid green) */
    .pager-divs.pager-open a[style*="green"] {
        border: 3px solid #4a8000 !important;
        background: #f0f8e0 !important;
        box-shadow: 0 2px 6px rgba(74,128,0,0.25) !important;
    }
    .pager-divs.pager-open img {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        object-fit: contain !important;
    }
    /* Номер страницы под миниатюрой — берём из alt картинки через доп. спан, вставленный CSS генератором */
    .pager-divs.pager-open a::after {
        content: attr(title);
        position: absolute !important;
        left: 0; right: 0; bottom: 4px;
        text-align: center;
        font-size: 13px;
        font-weight: bold;
        color: #00437f;
        line-height: 1.2;
        letter-spacing: 0.2px;
    }
    .pager-divs.pager-open a[style*="green"]::after {
        color: #2a5000;
    }
    /* Скрываем clear:both div, он не нужен в grid */
    .pager-divs.pager-open > div[style*="clear"] { display: none !important; }

    /* --- Блок кнопок под схемой --- */
    .kpp-mob-actions {
        display: block;
        margin: 12px auto 20px;
        max-width: 340px;
        text-align: center;
    }

    /* Кнопка "Показать все узлы каталога" */
    .kpp-pager-toggle {
        display: block;
        width: 100%;
        margin: 0 0 10px;
        padding: 10px 14px;
        background: #eaf3ff;
        color: #00437f;
        font-size: 14px;
        font-weight: normal;
        text-align: center;
        border: 1px solid #cfe0f5;
        border-radius: 8px;
        cursor: pointer;
        font-family: inherit;
    }
    .kpp-pager-toggle:before {
        content: "\25BC  ";
        font-size: 10px;
    }
    .kpp-pager-toggle.active {
        background: #dbeaff;
    }
    .kpp-pager-toggle.active:before {
        content: "\25B2  ";
    }

    /* Строка кнопок Предыдущий / Следующий */
    .kpp-nav-row {
        display: flex;
        gap: 8px;
    }
    .kpp-prev-mob,
    .kpp-next-mob {
        flex: 1 1 50%;
        display: block;
        padding: 12px 8px;
        font-size: 15px;
        font-weight: bold;
        text-align: center;
        text-decoration: none;
        border-radius: 8px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.12);
        box-sizing: border-box;
        min-height: 56px;
    }
    .kpp-prev-mob {
        background: #eaf3ff;
        color: #00437f !important;
        border: 1px solid #cfe0f5;
        box-shadow: none;
    }
    .kpp-prev-mob:active { background: #d4e6ff; }

    .kpp-next-mob {
        background: #4a8000;
        color: #fff !important;
    }
    .kpp-next-mob:active { background: #3a6400; }

    .kpp-prev-mob.kpp-nav-disabled {
        opacity: 0.45;
        pointer-events: none;
        cursor: default;
    }

    .kpp-nav-hint {
        display: block;
        font-size: 11px;
        font-weight: normal;
        opacity: 0.9;
        margin-top: 2px;
    }

    /* "К началу" — тот же стиль что и next, но голубой */
    .kpp-next-mob.kpp-back-top-mob {
        background: #eaf3ff;
        color: #00437f !important;
        border: 1px solid #cfe0f5;
        box-shadow: none;
    }
}

/* ============================================================
   МОБИЛЬНАЯ КОРЗИНА (v=68)
   Превращаем table.cart_tab в стек карточек ≤900px
   ============================================================ */
@media (max-width: 900px) {
    /* Обёртка — без горизонтального скролла */
    .cart_tab {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        border-collapse: separate !important;
        border-spacing: 0 !important;
        background: transparent !important;
    }
    .cart_tab colgroup,
    .cart_tab col { display: none !important; }
    .cart_tab thead { display: none !important; }
    .cart_tab tbody { display: block !important; width: 100% !important; }

    /* Заголовок «Региональный склад» */
    .cart_tab tr.section {
        display: block !important;
        margin: 18px 0 8px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
    }
    .cart_tab tr.section td {
        display: block !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
    }
    .cart_tab tr.section h3 {
        font-size: 15px !important;
        margin: 0 0 6px !important;
        color: #00437f !important;
        border-bottom: 1px solid #dbe4ee !important;
        padding-bottom: 4px !important;
    }

    /* Каждая строка товара = карточка (flex вместо grid — работает надёжнее на legacy) */
    .cart_tab tr.tr_str {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        padding: 10px !important;
        margin: 0 0 10px !important;
        background: #fff !important;
        border: 1px solid #e2e6ec !important;
        border-radius: 8px !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
        position: relative !important;
    }
    .cart_tab tr.tr_str td {
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        text-align: left !important;
        vertical-align: top !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
    }

    /* Фото — слева, фиксировано, order:1 */
    .cart_tab tr.tr_str td.photo_col {
        order: 1 !important;
        width: 88px !important;
        min-width: 88px !important;
        height: 88px !important;
        margin-right: 12px !important;
        display: block !important;
    }
    .cart_tab tr.tr_str td.photo_col img,
    .cart_tab tr.tr_str td.photo_col a {
        display: block !important;
        width: 88px !important;
        height: 88px !important;
        max-width: 88px !important;
        max-height: 88px !important;
        object-fit: contain !important;
        border-radius: 4px !important;
    }
    .cart_tab tr.tr_str td.photo_col a img { width:100% !important; height:100% !important; }

    /* Правая колонка: name + meta + price идут рядом с фото, ширина = оставшееся место */
    .cart_tab tr.tr_str td.name_col {
        order: 2 !important;
        display: block !important;
        flex: 1 1 calc(100% - 100px - 32px) !important;
        min-width: 0 !important;
        padding-right: 32px !important; /* место под крестик */
    }
    .cart_tab tr.tr_str td.name_col a {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #00437f !important;
        line-height: 1.25 !important;
        display: block !important;
        word-break: break-word !important;
    }

    /* Мета-строки — сразу под названием, идут одна за другой */
    .cart_tab tr.tr_str td.num_col:nth-of-type(4) {  /* Срок */
        order: 3 !important;
        display: block !important;
        flex: 1 1 calc(100% - 100px) !important;
        font-size: 11px !important;
        color: #667085 !important;
        margin-top: 2px !important;
    }
    .cart_tab tr.tr_str td.num_col:nth-of-type(4)::before { content: "Срок: "; color:#999; }

    .cart_tab tr.tr_str td.num_col:nth-of-type(7) {  /* На складе */
        order: 4 !important;
        display: block !important;
        flex: 1 1 calc(100% - 100px) !important;
        font-size: 11px !important;
        color: #667085 !important;
    }
    .cart_tab tr.tr_str td.num_col:nth-of-type(7)::before { content: "На складе: "; color:#999; }

    .cart_tab tr.tr_str td.num_col:nth-of-type(8) {  /* Вес */
        order: 5 !important;
        display: block !important;
        flex: 1 1 calc(100% - 100px) !important;
        font-size: 11px !important;
        color: #667085 !important;
    }
    .cart_tab tr.tr_str td.num_col:nth-of-type(8)::before { content: "Вес: "; color:#999; }

    /* Крестик удаления — абсолютно позиционирован в правом верхнем углу карточки */
    .cart_tab tr.tr_str td.del_col {
        order: 99 !important;
        position: absolute !important;
        top: 8px !important;
        right: 8px !important;
        width: 28px !important;
        text-align: right !important;
    }
    .cart_tab tr.tr_str td.del_col img.del {
        width: 22px !important;
        height: 22px !important;
        padding: 4px !important;
        opacity: 0.55 !important;
        cursor: pointer !important;
    }
    .cart_tab tr.tr_str td.del_col img.del:active { opacity: 1 !important; }

    /* Строка с ценой — на всю ширину, под фото и мета */
    .cart_tab tr.tr_str td.price_col {
        order: 10 !important;
        display: block !important;
        flex: 1 1 100% !important;
        margin-top: 8px !important;
        padding-top: 8px !important;
        border-top: 1px dashed #eef1f5 !important;
        font-size: 13px !important;
        color: #333 !important;
    }
    .cart_tab tr.tr_str td.price_col::before {
        content: "Цена: ";
        color: #999;
        margin-right: 3px;
    }

    /* Кол-во и стоимость — в одну строку */
    .cart_tab tr.tr_str td.num_col:nth-of-type(6) {  /* Кол-во */
        order: 11 !important;
        display: block !important;
        flex: 0 0 auto !important;
        margin-top: 6px !important;
    }
    .cart_tab tr.tr_str td.cost_col {
        order: 12 !important;
        display: block !important;
        flex: 1 1 auto !important;
        margin-top: 6px !important;
        text-align: right !important;
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #00437f !important;
        align-self: center !important;
    }
    .cart_tab tr.tr_str td.cost_col::before {
        content: "= ";
        color: #999;
        font-weight: normal;
        margin-right: 2px;
    }

    /* Артикул — внизу карточки, серый */
    .cart_tab tr.tr_str td.art_col {
        order: 20 !important;
        display: block !important;
        flex: 1 1 100% !important;
        font-size: 11px !important;
        color: #667085 !important;
        font-family: 'Courier New', monospace !important;
        border-top: 1px dashed #eef1f5 !important;
        padding-top: 5px !important;
        margin-top: 8px !important;
    }
    .cart_tab tr.tr_str td.art_col::before {
        content: "арт. ";
        color: #999;
        font-family: Arial, sans-serif;
    }

    /* Кол-во +/- — крупные тач-кнопки */
    .cart_tab tr.tr_str .chkol {
        display: inline-flex !important;
        align-items: center !important;
        border: 1px solid #ccd3dc !important;
        border-radius: 5px !important;
        overflow: hidden !important;
        background: #fff !important;
    }
    .cart_tab tr.tr_str .chkol .str {
        display: flex !important;
        flex-direction: column !important;
        order: 3 !important;
    }
    .cart_tab tr.tr_str .chkol .str a {
        display: block !important;
        width: 28px !important;
        height: 20px !important;
        background: #f4f6f9 !important;
        border-left: 1px solid #ccd3dc !important;
        position: relative !important;
    }
    .cart_tab tr.tr_str .chkol .str a + a { border-top: 1px solid #ccd3dc !important; }
    .cart_tab tr.tr_str .chkol .str a.more::after {
        content: "+";
        position: absolute; inset: 0;
        display:flex; align-items:center; justify-content:center;
        font-size: 14px; font-weight: bold; color:#00437f;
        line-height: 1;
    }
    .cart_tab tr.tr_str .chkol .str a.less::after {
        content: "−";
        position: absolute; inset: 0;
        display:flex; align-items:center; justify-content:center;
        font-size: 14px; font-weight: bold; color:#00437f;
        line-height: 1;
    }
    .cart_tab tr.tr_str .chkol .str a div { display: none !important; }
    .cart_tab tr.tr_str .chkol .field {
        order: 2 !important;
    }
    .cart_tab tr.tr_str .chkol .field input {
        width: 40px !important;
        height: 40px !important;
        border: none !important;
        text-align: center !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        color: #222 !important;
        padding: 0 !important;
        background: #fff !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    /* -------- Итого -------- */
    .cart_tab tfoot { display: block !important; margin-top: 8px !important; }
    .cart_tab tfoot tr {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        padding: 10px 12px !important;
        margin-top: 4px !important;
        background: #f4f7fb !important;
        border: 1px solid #dbe4ee !important;
        border-radius: 8px !important;
    }
    .cart_tab tfoot tr td { display: none !important; }
    .cart_tab tfoot tr td.lbl {
        display: block !important;
        padding: 0 !important;
        font-size: 14px !important;
        color: #333 !important;
        font-weight: 600 !important;
    }
    .cart_tab tfoot tr td.val {
        display: block !important;
        padding: 0 !important;
        font-size: 12px !important;
        color: #667085 !important;
    }
    .cart_tab tfoot tr td.val::before { content: "вес "; color:#999; }
    .cart_tab tfoot tr td.val::after  { content: " кг"; color:#999; margin-left:2px; }
    .cart_tab tfoot tr td.sum {
        display: block !important;
        padding: 0 !important;
        font-size: 18px !important;
        font-weight: 800 !important;
        color: #00437f !important;
    }

    /* Блок доставки — компактнее */
    .mhtron_delivery_box { padding: 10px !important; margin: 12px 0 !important; font-size: 12px !important; }
    .mhtron_delivery_box .drow { padding: 6px 0 !important; gap: 6px 10px !important; }
    .mhtron_delivery_box select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        font-size: 14px !important;
        padding: 8px !important;
    }
    .mhtron_delivery_box .dlbl {
        display: block !important;
        width: 100% !important;
        margin-bottom: 2px !important;
        font-size: 11px !important;
        color: #667085 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.4px !important;
    }

    /* Кнопка «Оформить» — на всю ширину */
    .mh_btn_primary, .mh_btn_secondary {
        display: block !important;
        width: 100% !important;
        padding: 14px !important;
        font-size: 15px !important;
        margin: 8px 0 !important;
        border-radius: 6px !important;
    }
}

/* v=71 REGION ROW FIX — регионалка вставляется в table.tab_right (не sortT),
   поэтому дублируем grid-раскладку и подсветку для строк .region_row.
   Селектор через .region_row чтобы не задеть НЕ регионалку в tab_right. */
@media screen and (max-width: 700px) {
    /* Grid-карточка для регионалки */
    tr.tr_strrrr.region_row:not([style*="display: none"]):not([style*="display:none"]):not(.mhide) {
        display: grid !important;
        grid-template-columns: 48px 32px 60px minmax(0,1fr) 42px 40px !important;
        grid-template-rows: auto auto auto !important;
        gap: 4px 6px !important;
        padding: 10px 10px !important;
        margin: 0 !important;
        border-bottom: 1px solid var(--mfx-border, #ddd) !important;
        background: #fff;
        width: 100% !important;
        box-sizing: border-box !important;
        align-items: center !important;
    }
    /* Возвращаем td.nomob (в регионалке колонка с фото имеет class="nomob") */
    tr.tr_strrrr.region_row > td.nomob {
        display: block !important;
    }
    /* Подсветка сроком поставки */
    tr.tr_strrrr.region_row.has-eta:not(.kpp_prod_row) {
        background: #fff8d6 !important;
        border-left: 4px solid #f0b400 !important;
        padding-left: 6px !important;
    }
    /* Подсветка наличием */
    tr.tr_strrrr.region_row.has-stock:not(.kpp_prod_row) {
        background: #eaf7d9 !important;
        border-left: 4px solid #6fbf1a !important;
        padding-left: 6px !important;
    }
    /* Скрытые */
    tr.tr_strrrr.region_row[style*="display: none"],
    tr.tr_strrrr.region_row[style*="display:none"],
    tr.tr_strrrr.region_row.mhide {
        display: none !important;
    }
    /* Строки внутри — базовое */
    tr.tr_strrrr.region_row > td {
        display: block;
        padding: 2px 4px !important;
        border: 0 !important;
        background: transparent !important;
        font-size: 13px;
        line-height: 1.3;
        word-break: break-word;
    }
    /* Наименование — на всю ширину сверху */
    tr.tr_strrrr.region_row > td:nth-child(4) {
        grid-column: 1 / -1;
        order: -1;
        font-weight: 600;
        color: #00437f;
        margin-bottom: 4px;
    }
    /* Разделитель регионалки — на всю ширину */
    tr.section > td {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        padding: 8px 10px !important;
        background: #f4f4f4 !important;
        font-weight: bold !important;
        border-top: 1px solid #ddd !important;
        border-bottom: 1px solid #ddd !important;
    }
}
/* region_row_mobile_fix_v1 */
