/* ========== ВСЕ СТИЛИ (полностью) ========== */

/* === SKELETON LOADERS (как в hardware-details.css) === */
.navi-skeleton-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin: 0;
}
.navi-skeleton-grid .navi-skeleton-card {
    flex: 1 1 calc(50% - 10px);
    max-width: calc(50% - 10px);
    background: #fff;
    border-radius: 10px;
    padding: 16px;
    border: 1px solid var(--navi-border, #E3E8EB);
    box-sizing: border-box;
}
.navi-skeleton-img,
.navi-skeleton-line,
.navi-skeleton-badge,
.navi-skeleton-btn {
    background: linear-gradient(90deg, #f0f2f5 25%, #e0e3e8 50%, #f0f2f5 75%);
    background-size: 200% 100%;
    animation: naviShimmer 1.5s infinite;
    border-radius: 8px;
}
.navi-skeleton-img {
    width: 100%;
    height: 120px;
    margin-bottom: 12px;
}
.navi-skeleton-line {
    height: 14px;
    margin-bottom: 8px;
}
.navi-skeleton-line.w-90 { width: 90%; }
.navi-skeleton-line.w-70 { width: 70%; }
.navi-skeleton-line.w-50 { width: 50%; }
.navi-skeleton-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 16px;
    gap: 12px;
}
.navi-skeleton-badge {
    width: 120px;
    height: 34px;
    border-radius: 8px;
}
.navi-skeleton-btn {
    width: 60px;
    height: 34px;
    border-radius: 8px;
}
@keyframes naviShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
@media (max-width: 768px) {
    .navi-skeleton-grid .navi-skeleton-card {
        flex: 1 1 100%;
        max-width: 100%;
    }
}

:root {
    --navi-accent: #30A495;
    --navi-accent-hover: #2A9585;
    --navi-dark: #1F2A2E;
    --navi-gray: #F9FAFB;
    --navi-border: #E3E8EB;
    --navi-radius: 10px;
}
/* === navi-btn* — единственная canonical-версия (1:1 с каталогом) === */
/* Старые дубликаты .navi-btn / .navi-btn-accent / .navi-btn-outline удалены —
   они переопределялись более поздней копией ниже (строка ~713) и были мёртвым кодом. */
.stock-checkbox-wrapper {
    margin: 0 auto;
}
.in-stock-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #5F6F75;
}
/* ========== GRID — фиксированные колонки (wrap, не shrink) как в index.tpl ========== */
/* ПК малые 1024-1279: 4 колонки */
@media (max-width: 1279px) { .search-grid { grid-template-columns: repeat(4, 1fr); } }
/* iPad 768-1023: 3 колонки (сайдбар скрыт) */
@media (max-width: 1023px) { .search-grid { grid-template-columns: repeat(3, 1fr); } }
/* Mobile 575-767: 2 колонки */
@media (max-width: 768px) { .search-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
/* Mobile <575: 1 колонка */
@media (max-width: 480px) { .search-grid { grid-template-columns: 1fr; } }
/* ПК-версия (≥1281px): фото компактнее как в index.tpl (85% + padding 6px) */
@media (min-width: 1281px) {
}
/* Бейдж количества на кнопке корзины (как в index.tpl/hardware-details — .cart-qty-badge) */
/* Для list view — кнопка .navi-btn-accent.add-to-cart-btn тоже с бейджем */
.add-to-cart-btn { position: relative; }
.add-to-cart-btn .cart-qty-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ef4444;
    color: #fff;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;

    line-height: 1;
    z-index: 2;
}
/* Compact cart-control quantity block (mini-card scope — overrides list view rules) */
/* Адаптив grid выполнен выше в секции .search-grid */
.archive-note {
    text-align: center;
    font-size: 14px;
    color: #5F6F75;
    margin: -10px 0 16px;
}
.stock-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    gap: 5px;
    border: 1px solid transparent;
    cursor: help;
    white-space: nowrap;
}
.navi-badge-success {
    background: rgba(48,164,149,.1);
    color: #30A495;
    border-color: rgba(48,164,149,.3);
}
.navi-badge-danger {
    background: rgba(239,68,68,.1);
    color: #ef4444;
    border-color: rgba(239,68,68,.3);
}
.navi-badge-warning {
    background: rgba(255,193,7,.1);
    color: #8a6508;
    border-color: rgba(255,193,7,.3);
}
.stock-badge.navi-badge-success {
    background: rgba(48,164,149,.1);
    color: #30A495;
    border-color: rgba(48,164,149,.3);
}
.stock-badge.navi-badge-danger {
    background: rgba(239,68,68,.1);
    color: #ef4444;
    border-color: rgba(239,68,68,.3);
}
.stock-badge.navi-badge-warning {
    background: rgba(255,193,7,.1);
    color: #8a6508;
    border-color: rgba(255,193,7,.3);
}
.archive-badge {
    cursor: default !important;
}
.archive-badge::after {
    display: none !important;
}
.stock-badge-wrapper {
    position: relative;
    display: inline-flex;
    width: fit-content;
    max-width: fit-content;
    align-self: flex-start;
    flex-shrink: 0;
}
.stock-badge-wrapper .navi-badge::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background: #1F2A2E;
    color: #fff;
    font-size: 12px;
    font-weight: 500;
    padding: 6px 10px;
    border-radius: 6px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s;
    z-index: 100;
}
/* Показываем тултип ТОЛЬКО если есть data-tooltip (не пустой) — иначе пустой чёрный прямоугольник */
.stock-badge-wrapper .navi-badge[data-tooltip]:not([data-tooltip=""])::after { content: attr(data-tooltip); }
.stock-badge-wrapper .navi-badge:not([data-tooltip]):hover::after,
.stock-badge-wrapper .navi-badge[data-tooltip=""]:hover::after { opacity: 0 !important; display: none; }
.stock-badge-wrapper .navi-badge[data-tooltip]:not([data-tooltip=""]):hover::after { opacity: 1; }
.stock-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(0,0,0,0.2);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    margin-left: 4px;
    cursor: help;
}
.stock-badge-wrapper:hover .stock-info-icon {
    background: rgba(0,0,0,0.4);
}
.cart-control {
    display: inline-flex;
    align-items: center;
}
.archive-box {
    margin-top: 40px;
    margin-bottom: 40px;
    background: #fff;
    border-radius: 10px;
    padding: 20px 24px;
    border: 1px solid #E3E8EB;
}
.archive-title {
    font-size: 22px;
    font-weight: 700;
    cursor: pointer;
    color: #1F2A2E;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    user-select: none;
}
.archive-title::before {
    content: "▶";
    display: inline-block;
    transition: transform 0.2s;
    font-size: 14px;
}
.archive-box.open .archive-title::before {
    transform: rotate(90deg);
}
.archive-content {
    display: none;
    margin-top: 16px;
}
.archive-box.open .archive-content {
    display: block;
}
/* === АРХИВ: бейдж "Архивный товар" и кнопка "Подробнее" — в одну строку, одинаковой ширины === */
.archive-grid .navi-detail-footer,
.archive-list .navi-detail-footer {
    grid-template-columns: 1fr 1fr !important;
    grid-template-rows: auto !important;
}
.archive-grid .navi-detail-footer .stock-badge-wrapper,
.archive-list .navi-detail-footer .stock-badge-wrapper {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
}
.archive-grid .navi-detail-footer .stock-badge-wrapper .stock-badge,
.archive-list .navi-detail-footer .stock-badge-wrapper .stock-badge {
    width: 100% !important;
    min-width: 0 !important;
}
.archive-grid .navi-detail-footer .navi-detail-buttons,
.archive-list .navi-detail-footer .navi-detail-buttons {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    justify-content: stretch !important;
}
.archive-grid .navi-detail-footer .navi-detail-buttons .navi-btn,
.archive-list .navi-detail-footer .navi-detail-buttons .navi-btn {
    width: 100% !important;
    justify-content: center !important;
}
/* Кнопка «Подробнее» — на всю ширину col 2, текст центрирован (как в каталоге) */
.navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) { grid-column: 2; grid-row: 2; justify-self: end; width: 100%; justify-content: center; }
/* === LIST VIEW CSS — ПОЛНАЯ копия из hardware-details.tpl (125 блоков, 97 правил navi-view-list) === */
.navi-view-list ~ .navi-skeleton-grid,

.navi-flex-row.navi-view-list .navi-skeleton-card {
    flex-direction: column;
}

.navi-flex-row { display:flex; flex-wrap:wrap; align-items:stretch; }

.navi-product-item { height:inherit; }

/* cursor: pointer убран с карточки — клик по карточке отключён в v32.
   Кликабельны только фото (<a href>) и кнопка «Подробнее» (cursor наследуется от UA-стилей). */

.navi-product-item:hover .navi-product-detail { box-shadow: 0 6px 18px rgba(0,0,0,.08); }

.navi-product-detail { background:#fff; border-radius:var(--navi-radius); padding:16px; box-shadow:0 2px 8px rgba(0,0,0,.03); border:1px solid var(--navi-border); height:100%; display:flex; flex-direction:column; }

.navi-product-detail:hover { box-shadow:0 6px 18px rgba(0,0,0,.06); }

.navi-detail-name { font-size:16px; font-weight:600; color:var(--navi-dark); margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--navi-border); display:flex; justify-content:space-between; align-items:center; }

.navi-detail-image { position: relative; border-radius:8px; overflow:hidden; background:#fff; margin-bottom:10px; text-align:center; }

.navi-detail-image img { width:100%; height:auto; max-height:160px; object-fit:contain; }

.navi-flex-row:not(.navi-view-list) .navi-detail-image {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 180px !important;
}

.navi-flex-row:not(.navi-view-list) .navi-detail-image a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
}

.navi-flex-row:not(.navi-view-list) .navi-detail-image img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 160px !important;
    object-fit: contain !important;
}

.navi-detail-model { font-size:14px; font-weight:500; color:var(--navi-dark); margin-bottom:6px; }

.navi-detail-model--full {
    margin: 0 0 12px 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.3;
    color: var(--navi-dark);
    font-weight: 500;
}

.navi-detail-manufacturer { font-size:13px; color:#666; margin-bottom:4px; }

.navi-detail-manufacturer span { font-weight:700; color:var(--navi-dark); }

.navi-detail-info { padding-left:5px !important; }

.navi-detail-price { font-size:15px; color:var(--navi-dark); margin:8px 0; font-weight:500; white-space:nowrap; }

.navi-detail-price strong { font-size:18px; color:var(--navi-accent); margin-left:4px; }

.navi-detail-price small { font-weight:400; font-size:13px; color:var(--navi-dark); }

.navi-detail-short { margin-top:10px; }

.navi-detail-short-title { font-weight:600; margin-bottom:6px; color:var(--navi-dark); font-size:13px; text-decoration:underline; }

.navi-detail-params ul { list-style:none; padding:0; margin:0; }

.navi-detail-params li { padding:2px 0; font-size:13px; color:#555; }

.navi-detail-text { font-size:13px; color:#777; line-height:1.4; margin-top:6px; }

.navi-detail-footer { margin-top: auto; padding-top: 8px; border-top: 1px solid var(--navi-border); display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; align-items: center; column-gap: 16px; row-gap: 8px; }

.navi-detail-actions { display: contents !important; }

.navi-detail-status { display: contents !important; }

.navi-detail-status .d-md-none { display: contents !important; }

.navi-detail-buttons { display: contents !important; }

/* === FOOTER — ЕДИНЫЕ правила для ВСЕХ устройств (ПК/iPad/Mobile) и режимов (grid + list) ===
   Ряд 1: [🛒 корзина (растягивается) | ❤ избранное (фикс)] = ширина row 1
   Ряд 2: [Подробнее] = ширина row 2
   Обе строки ОДИНАКОВОЙ ширины */
.navi-detail-footer .navi-mobile-price { grid-column: 1; grid-row: 1; justify-self: start; text-align: left; font-size: 15px; font-weight: 500; color: var(--navi-dark); white-space: nowrap; margin: 0; }
.navi-detail-footer .navi-mobile-price::before { content: "Цена: "; font-weight: 500; }
.navi-detail-footer .navi-mobile-price strong { font-size: 18px; color: var(--navi-accent); margin-left: 4px; }
.navi-detail-footer .navi-mobile-price small { font-weight: 400; font-size: 13px; color: var(--navi-dark); }
.navi-detail-footer .stock-badge-wrapper { grid-column: 1; grid-row: 2; justify-self: start; }  /* наличие слева */
.navi-detail-footer .navi-list-icon-row { grid-column: 2; grid-row: 1; display: flex; flex-direction: row; align-items: stretch; gap: 6px; width: 100%; }  /* ряд 1: корзина + избранное */
.navi-detail-footer .navi-list-icon-row .navi-btn { white-space: nowrap; }
.navi-detail-footer .navi-list-icon-row .cart-control { flex: 1 1 0; min-width: 0; display: flex; }  /* cart-control растягивается (прямой потомок flex-контейнера) */
.navi-detail-footer .navi-list-icon-row .cart-control .add-to-cart-btn { width: 100%; flex: 1 1 0; min-width: 0; justify-content: center; }  /* кнопка внутри — на всю ширину cart-control */
.navi-detail-footer .navi-list-icon-row .favorite-toggle-btn { flex: 0 0 auto; }  /* избранное фикс ширина */
.navi-detail-footer .navi-detail-buttons { grid-column: 2; grid-row: 2; display: flex; justify-content: flex-end; }
.navi-flex-row:not(.navi-view-list) .navi-detail-info > .d-none.d-md-block { display: none !important; }

/* На ПК ≥1280: добавляем текст "В корзину" к кнопке корзины в grid view */
@media (min-width: 1280px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control .add-to-cart-btn {
        padding: 7px 16px;
        justify-content: center;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control .add-to-cart-btn::after {
        content: "\00a0В корзину";
        font-size: 13px;
        font-weight: 600;
    }
}

.stock-badge { display:inline-flex; align-items:center; padding:8px 16px; border-radius:8px; font-size:13px; font-weight:600; gap:6px; white-space:normal; position: relative; min-height:34px; max-width:100%; justify-content:center; border: none !important; box-shadow: none !important; }

.navi-badge-success { background:rgba(48,164,149,.1); color:#30A495; }

.navi-badge-danger { background:rgba(239,68,68,.1); color:#ef4444; }

.navi-badge-warning { background:rgba(255,193,7,.1); color:#b8860b; }

.stock-badge.navi-badge-success { background:rgba(48,164,149,.1); color:#30A495; }

.stock-badge.navi-badge-danger { background:rgba(239,68,68,.1); color:#ef4444; }

.stock-badge.navi-badge-warning { background:rgba(255,193,7,.1); color:#b8860b; }

.navi-title-badge { display:inline-block; padding:5px 14px; border-radius:8px; font-size:13px; font-weight:600; color:#fff; white-space:nowrap; letter-spacing:0.3px; flex-shrink:0; text-transform:uppercase; animation: gentleBlink 2s ease-in-out 3; }

.navi-detail-image .navi-title-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    pointer-events: auto;
    box-shadow: 0 2px 8px rgba(0,0,0,.15);
}

.navi-btn { display:inline-flex; align-items:center; padding:8px 15px; border-radius:8px; font-size:13px; font-weight:600; transition:all .18s; text-decoration:none; border:2px solid transparent; cursor:pointer; gap:5px; white-space:nowrap; min-height:34px; box-sizing:border-box; }

.navi-btn.navi-btn-icon { padding: 7px 9px; }

.navi-btn-accent { background:var(--navi-accent); color:#fff; border-color:var(--navi-accent); }

.navi-btn-accent:hover { background:var(--navi-accent-hover); border-color:var(--navi-accent-hover); transform:translateY(-1px); box-shadow:0 4px 12px rgba(48, 164, 149,.25); }

.navi-btn-outline { background:transparent; color:#5F6F75; border-color:rgba(0,0,0,.15); }

.navi-btn-outline:hover { background:var(--navi-accent); color:#fff; border-color:var(--navi-accent); transform:translateY(-1px); box-shadow:0 4px 12px rgba(48, 164, 149,.25); }

.navi-btn-outline:disabled { opacity:0.5; cursor:not-allowed; background:rgba(0,0,0,0.03); color:#999; border-color:rgba(0,0,0,0.1); }

.navi-btn-outline:disabled:hover { transform:none; box-shadow:none; background:rgba(0,0,0,0.03); color:#999; }

@media (max-width:768px) {
  .catalog-wrapper { overflow-x: clip; }
  
  .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row { display: grid !important; grid-template-columns: 1fr; gap: 8px; margin: 0 !important; }
  .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row > .col-lg-6 { width: 100% !important; max-width: 100% !important; padding: 0 !important; }
  
  .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row > .col-lg-6:first-child { grid-row: 2; }
  
  .navi-flex-row:not(.navi-view-list) .navi-detail-info { display: contents !important; }
  .navi-flex-row:not(.navi-view-list) .navi-detail-info .navi-detail-manufacturer { grid-row: 1; margin-bottom: 4px !important; }
  .navi-flex-row:not(.navi-view-list) .navi-detail-info .navi-detail-model,
  .navi-flex-row:not(.navi-view-list) .navi-detail-info .navi-detail-model--full { grid-row: 1; }
  .navi-flex-row:not(.navi-view-list) .navi-detail-info .navi-detail-short { grid-row: 3; margin-top: 8px; }
  .navi-flex-row:not(.navi-view-list) .navi-detail-info .navi-detail-price { grid-row: 3; }
  .navi-flex-row:not(.navi-view-list) .navi-detail-info > .d-none.d-md-block { grid-row: 3; }
  /* === FOOTER для grid-режима — идентично list-режиму ===
     CSS Grid 2 колонки × 2 ряда
     Col 1 (1fr): цена (row 1, центр), наличие (row 2, центр)
     Col 2 (auto): [🛒❤⚖] (row 1, вправо), [Подробнее] (row 2, вправо) */
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer {
      display: grid !important;
      grid-template-columns: 1fr auto !important;
      grid-template-rows: auto auto !important;
      align-items: center !important;
      column-gap: 12px !important;
      row-gap: 8px !important;
      margin: 0 !important;
      padding: 8px 0 0 0 !important;
      border-top: 1px solid var(--navi-border);
  }
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-actions {
      display: contents !important;
  }
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-status {
      display: contents !important;
  }
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-status .d-md-none {
      display: contents !important;
  }
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-buttons {
      display: contents !important;
  }
  /* Col 1: цена (row 1) — слева (как на ПК) */
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price {
      justify-self: start !important;
      text-align: left !important;
  }
  /* Col 1: наличие (row 2) — слева (как на ПК) */
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper {
      justify-self: start !important;
  }
  /* Col 2: обёртка кнопок-иконок (row 1) — width:100% от col 2, крупные, выровнены с "Подробнее" */
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row {
      grid-column: 2 !important;
      grid-row: 1 !important;
      display: flex !important;
      flex-direction: row;
      align-items: stretch;  /* растягиваем иконки на всю высоту */
      justify-content: stretch;
      gap: 8px;
      width: 100% !important;
  }
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .navi-btn {
      min-height: 44px !important;
      font-size: 16px !important;
      padding: 8px !important;
      justify-content: center !important;
  }
  /* Col 2: Подробнее (row 2) — width:100% от col 2 */
  .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) {
      grid-column: 2 !important;
      grid-row: 2 !important;
      justify-self: end !important;
      width: 100% !important;
      justify-content: center !important;
  }
  /* Общие для мобильных кнопок (grid и list) */
  .navi-detail-buttons .detail-text { display: inline; }
  .navi-mobile-price { font-size: 15px; font-weight: 500; color: var(--navi-dark); white-space: nowrap; }
  .navi-mobile-price strong { font-size: 18px; color: var(--navi-accent); margin-right: 0; }
  .navi-mobile-price small { font-size: 13px; color: var(--navi-dark); }
  .navi-filter-toggle { font-size:14px; padding:10px 16px; }
  .navi-description-block { padding:20px; }
  .navi-detail-image { position: relative; }
  .navi-detail-name { font-size: 18px; }
  .navi-detail-model { font-size: 15px; }
  .navi-detail-manufacturer { font-size: 14px; }
  .navi-detail-params li { font-size: 14px; }
  .navi-detail-text { font-size: 13px; line-height: 1.5; }
  .navi-detail-price { font-size: 16px; }
  .navi-detail-price strong { font-size: 20px; }
  .navi-mobile-price { font-size: 16px; }
  .navi-mobile-price strong { font-size: 20px; }
  .navi-btn { font-size: 14px; padding: 8px 18px; }
  .stock-badge { font-size: 14px; }
  .navi-detail-short-title { font-size: 15px; }
  
  .navi-detail-image .navi-title-badge {
    font-size: 12px !important;
    padding: 4px 9px !important;
    top: 6px !important;
    left: 6px !important;
    letter-spacing: 0.2px;
    line-height: 1.2;
    max-width: calc(100% - 12px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

.cart-control { display: inline-flex; align-items: center; }

.add-to-cart-btn { position: relative; }

.add-to-cart-btn .cart-qty-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background: #ef4444;
    color: #fff;
    border-radius: 50%;
    min-width: 18px;
    height: 18px;
    font-size: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;

    line-height: 1;
}






.stock-info-icon { display: none !important; }

.stock-badge-wrapper:hover .stock-info-icon { display: none !important; }

.stock-badge-wrapper { position: relative; display: inline-flex; padding: 2px; cursor: help; align-self: flex-start; flex-shrink: 0; width: 184px; }

.stock-badge-wrapper .stock-badge { min-width: 180px; justify-content: center; width: 100%; }

.stock-badge-wrapper .stock-badge::after { content: attr(data-tooltip); position: absolute; bottom: 120%; left: 50%; transform: translateX(-50%); background: var(--navi-dark); color: #fff; font-size: 12px; font-weight: 500; padding: 6px 10px; border-radius: 6px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity 0.2s; z-index: 100; }

.stock-badge-wrapper:hover .stock-badge::after { opacity: 1; }

.favorite-toggle-btn.active {
    background: #e25563 !important;
    color: #fff !important;
    border-color: #e25563 !important;
}

.favorite-toggle-btn:not(.active) { color: #5F6F75; }

.favorite-toggle-btn:not(.active):hover { color: #e25563; border-color: #e25563; background: rgba(226,85,99,.06); }

@media (max-width: 768px) {
    .stock-badge-wrapper .stock-badge::after,
}

.navi-flex-row.navi-view-list {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.navi-flex-row.navi-view-list .navi-product-item {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.navi-view-list .navi-product-detail {
    display: grid !important;
    grid-template-columns: 100px 1fr auto;
    grid-template-rows: auto auto auto;
    align-items: center;
    column-gap: 16px;
    row-gap: 3px;
    padding: 10px 16px;
}

.navi-view-list .navi-product-detail > .row {
    display: contents !important;
    margin: 0 !important;
}

.navi-view-list .navi-product-detail > .row > .col-lg-6 {
    flex: none !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
}

.navi-view-list .navi-product-detail > .row > .col-lg-6:first-child {
    grid-column: 1;
    grid-row: 1 / 4;
}

.navi-view-list .navi-detail-image {
    margin-bottom: 0 !important;
    border: none;
    min-height: 80px !important;
    height: 80px;
}

.navi-view-list .navi-detail-image img {
    height: 80px !important;
    max-height: 80px !important;
    width: 100% !important;
    object-fit: contain !important;
}

.navi-title-badge--grid {
    
}

.navi-title-badge--list {
    display: none; 
}

.navi-view-list .navi-detail-image .navi-title-badge {
    display: none !important;
}

.navi-view-list .navi-title-badge--list {
    display: inline-block !important;
    position: static !important;
    font-size: 13px !important;
    padding: 3px 8px !important;
    margin-right: 8px;
    vertical-align: middle;
    box-shadow: none;
    flex-shrink: 0;
    white-space: nowrap;
}

.navi-view-list .navi-detail-name {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

.navi-view-list .navi-detail-name > span:last-child {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.navi-view-list .navi-detail-name {
    grid-column: 2;
    grid-row: 1;
    font-size: 14px;
    margin: 0;
    padding: 0;
    border-bottom: none;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.navi-view-list .navi-detail-model--full {
    grid-column: 2;
    grid-row: 2;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 1.3;
    border-bottom: none;
    white-space: normal !important;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    max-height: 2.6em;
    align-self: start;
}

.navi-view-list .navi-detail-info {
    grid-column: 2;
    grid-row: 3;
    padding: 0 !important;
    min-width: 0;
    text-align: left;
    align-self: center;
}

.navi-view-list .navi-detail-short { display: none !important; }

.navi-view-list .navi-detail-model { font-size: 13px; margin-bottom: 2px; }

.navi-view-list .navi-detail-manufacturer { font-size: 13px; margin-bottom: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.navi-view-list .navi-detail-info .navi-detail-price { display: none; }

.navi-view-list .navi-detail-status .d-md-none { display: block !important; }

.navi-view-list .navi-detail-footer {
    grid-column: 3;
    grid-row: 1 / 4;
    margin: 0;
    padding: 0;
    border-top: none;
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 16px;
    row-gap: 8px;
    justify-self: end;
}

.navi-view-list .navi-detail-footer .navi-detail-actions {
    display: contents !important;
}

.navi-view-list .navi-detail-footer .navi-detail-status {
    display: contents !important;
}

.navi-view-list .navi-detail-footer .navi-detail-status .d-md-none {
    display: contents !important;
}

.navi-view-list .navi-detail-footer .navi-detail-buttons {
    display: contents !important;
}

/* List view: кнопка «Подробнее» — на всю ширину col 2, текст центрирован */
.navi-view-list .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    width: 100%;
    justify-content: center;
}

.navi-view-list .navi-detail-footer .navi-mobile-price {
    grid-column: 1;
    grid-row: 1;
    font-size: 16px;
    font-weight: 700;
    color: var(--navi-dark);
    white-space: nowrap;
    margin: 0;
    justify-self: start;
    text-align: left;
}

.navi-view-list .navi-detail-footer .navi-mobile-price strong {
    font-size: 18px;
    color: var(--navi-accent);
}

.navi-view-list .navi-detail-footer .navi-detail-price {
    grid-column: 1;
    grid-row: 1;
    font-size: 16px;
    font-weight: 700;
    color: var(--navi-dark);
    white-space: nowrap;
    margin: 0;
    justify-self: start;
    text-align: left;
}

.navi-view-list .navi-detail-footer .navi-detail-price strong {
    font-size: 18px;
    color: var(--navi-accent);
}

.navi-view-list .navi-detail-footer .stock-badge-wrapper {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
}

.navi-view-list .navi-detail-footer .navi-list-icon-row {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.navi-view-list .navi-detail-footer .navi-btn {
    font-size: 13px;
    padding: 7px 10px;
}

@media (max-width: 768px) {
    .navi-view-list .navi-product-detail {
        display: block !important;
        padding: 10px 14px !important;
    }
    .navi-view-list .navi-product-detail > .row {
        display: flex !important;
        flex-direction: column !important;
        margin: 0 !important;
        gap: 8px;
    }
    .navi-view-list .navi-product-detail > .row > .col-lg-6 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
    /* Фото — после инфо (производитель над фото) */
    .navi-view-list .navi-product-detail > .row > .col-lg-6:first-child {
        order: 2;
    }
    .navi-view-list .navi-product-detail > .row > .navi-detail-info {
        order: 1;
    }
    /* Название — с переносом, не обрезается */
    .navi-view-list .navi-detail-name {
        display: flex !important;
        align-items: center;
        gap: 8px;
        font-size: 15px !important;
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        border: none !important;
        flex-wrap: wrap;
    }
    .navi-view-list .navi-detail-name > span:last-child {
        flex: 1 1 auto;
        min-width: 0;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-break: break-word;
    }
    /* Модель — до 2 строк */
    .navi-view-list .navi-detail-model--full {
        margin: 0 0 4px 0 !important;
        padding: 0 !important;
        font-size: 13px !important;
        line-height: 1.3;
        white-space: normal !important;
        overflow: hidden;
        display: -webkit-box !important;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        max-height: 2.6em;
    }
    /* Производитель — над фото (просто блок, идёт перед .row в HTML) */
    .navi-view-list .navi-detail-info {
        display: block !important;
        text-align: left;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
    }
    .navi-view-list .navi-detail-info .navi-detail-manufacturer {
        font-size: 13px;
        margin-bottom: 0;
    }
    .navi-view-list .navi-detail-info .navi-detail-price { display: none !important; }
    .navi-view-list .navi-detail-info .navi-detail-short { display: none !important; }
    .navi-view-list .navi-detail-info .navi-detail-model { display: none !important; }
    .navi-view-list .navi-detail-info > .d-none,
    .navi-view-list .navi-detail-info > .d-none.d-md-block { display: none !important; }
    .navi-view-list .navi-detail-info hr { display: none !important; }
    /* Фото — компактное */
    .navi-view-list .navi-detail-image {
        position: relative !important;
        margin: 0 0 8px 0 !important;
        border: none !important;
        border-radius: 8px;
        min-height: 100px !important;
        height: 100px !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }
    .navi-view-list .navi-detail-image img {
        width: auto !important;
        max-width: 100% !important;
        height: 100px !important;
        max-height: 100px !important;
        object-fit: contain !important;
    }
    /* Пилюля на фото скрыта (она в названии) */
    .navi-view-list .navi-detail-image .navi-title-badge {
        display: none !important;
    }
    /* FOOTER — 1в1 как в полном (десктопном) виде:
       CSS Grid 2 колонки × 2 ряда
       Col 1 (1fr): цена (row 1, центр), наличие (row 2, центр)
       Col 2 (auto): [🛒❤⚖] (row 1, вправо), [Подробнее] (row 2, вправо)
       Col 2 = auto → ширина по самому широкому элементу.
       Обе строки в col 2 — width:100% → одинаковая ширина. */
    .navi-view-list .navi-detail-footer {
        display: grid !important;
        grid-template-columns: 1fr auto !important;
        grid-template-rows: auto auto !important;
        align-items: center !important;
        column-gap: 12px !important;
        row-gap: 8px !important;
        margin: 0 !important;
        padding: 8px 0 0 0 !important;
        border-top: 1px solid var(--navi-border);
    }
    .navi-view-list .navi-detail-footer .navi-detail-actions {
        display: contents !important;
    }
    .navi-view-list .navi-detail-footer .navi-detail-status {
        display: contents !important;
    }
    .navi-view-list .navi-detail-footer .navi-detail-status .d-md-none {
        display: contents !important;
    }
    .navi-view-list .navi-detail-footer .navi-detail-buttons {
        display: contents !important;
    }
    /* Col 1: цена (row 1) — слева */
    .navi-view-list .navi-detail-footer .navi-mobile-price {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        text-align: left !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        color: var(--navi-dark) !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }
    .navi-view-list .navi-detail-footer .navi-mobile-price strong {
        font-size: 18px !important;
        color: var(--navi-accent) !important;
    }
    /* Col 1: наличие (row 2) — слева */
    .navi-view-list .navi-detail-footer .stock-badge-wrapper {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        width: auto !important;
    }
    .navi-view-list .navi-detail-footer .stock-badge-wrapper .stock-badge {
        min-width: 120px !important;
        width: 100% !important;
    }
    /* Col 2: обёртка 3 кнопок-иконок (row 1) — width:100% от col 2, растягиваются равномерно */
    .navi-view-list .navi-detail-footer .navi-list-icon-row {
        grid-column: 2 !important;
        grid-row: 1 !important;
        display: flex !important;
        flex-direction: row;
        align-items: stretch;
        justify-content: stretch;
        gap: 8px;
        width: 100% !important;
    }
    .navi-view-list .navi-detail-footer .navi-list-icon-row .navi-btn {
        min-height: 44px !important;
        font-size: 16px !important;
        padding: 8px !important;
        justify-content: center !important;
    }
    /* Col 2: Подробнее (row 2) — 1в1 как на десктопе + крупная */
    .navi-view-list .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
        width: 100% !important;
        justify-content: center !important;
    }
    .navi-view-list .navi-detail-footer .navi-btn {
        font-size: 13px;
        padding: 7px 10px;
    }
}


/* ========== ЗАГОЛОВОК РЕЗУЛЬТАТОВ (как в каталоге hardware-details) ========== */
.search-results-header {
    margin: 0 0 16px 0;
    padding: 0;
    text-align: left;
    position: relative;
}
.search-results-title {
    font-size: 26px;
    font-weight: 700;
    color: #1F2A2E;
    margin: 0;
    padding: 0 0 8px 0;
    text-align: left;
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap;
    position: relative;
    border-bottom: 3px solid #30A495;
}
.search-results-label {
    font-weight: 700;
    color: #1F2A2E;
    font-size: 26px;
}
.search-results-count {
    color: #30A495;  /* акцентный teal */
    font-weight: 400;  /* как искомое слово — только цвет другой */
    font-size: 26px;
}
/* Запрос — без жирности */
.search-results-query { font-weight: 400; color: #1F2A2E; }
/* H1 поиска: всё в одну строку, запрос не жирный, счётчик зелёный */
.search-results-title--query {
    display: inline-flex;
    flex-wrap: nowrap;
    max-width: 100%;
    overflow: hidden;
    border-bottom: 3px solid #30A495;
    padding: 0 0 8px 0;
}
.search-results-title--query .search-results-label,
.search-results-title--query .search-results-count { flex: 0 0 auto; }
.search-results-title--query .search-results-query {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-results-label--mobile { display: none; }
@media (max-width: 768px) {
    .search-results-label--desktop { display: none; }
    .search-results-label--mobile { display: inline; }
    .search-results-count-word { display: none; }
}

/* ========== ПАНЕЛЬ УПРАВЛЕНИЯ ========== */
.search-controls-bar {
    background: #fff;
    border: 1px solid #E3E8EB;
    border-radius: 12px;
    padding: 12px 20px;
    margin-bottom: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

/* === БЛОК СОРТИРОВКИ === */
.navi-sort-bar {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: nowrap;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #E3E8EB;
    border-radius: 10px;
    margin-bottom: 20px;
    box-sizing: border-box;
}
/* КАЖДЫЙ элемент сортировки — одинаковая высота + flex */
.navi-sort-item {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    font-size: 13px;
    font-weight: 500;
    color: #5F6F75;
    white-space: nowrap;
    flex-shrink: 0;
}
.navi-sort-item span {
    font-size: 13px;
    font-weight: 500;
    color: #5F6F75;
}
/* Чекбокс */
.navi-sort-check {
    width: 16px;
    height: 16px;
    accent-color: #30A495;
    cursor: pointer;
    margin: 0;
    flex-shrink: 0;
}
/* Dropdown сортировки — по центру */
.navi-sort-item--dropdown {
    position: relative;
    margin: 0 auto;
}
/* Dropdown «Показывать» — не растягивается, на своём месте */
.navi-sort-item--perpage {
    position: relative;
    flex-shrink: 0;
}
.navi-sort-trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #E3E8EB;
    border-radius: 8px;
    background: #fff;
    color: #37474F;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color .15s ease;
}
.navi-sort-trigger:hover { border-color: #30A495; }
.navi-sort-trigger i { font-size: 11px; color: #5F6F75; }
.navi-sort-menu {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    min-width: 200px;
    background: #fff;
    border: 1px solid #E3E8EB;
    border-radius: 8px;
    box-shadow: 0 4px 14px rgba(0,0,0,.08);
    z-index: 1000;
    padding: 4px;
}
.navi-sort-menu.open { display: block; }
.navi-sort-menu > div {
    padding: 8px 12px;
    font-size: 13px;
    color: #37474F;
    cursor: pointer;
    border-radius: 6px;
    white-space: nowrap;
    transition: background .15s ease, color .15s ease;
}
.navi-sort-menu > div:hover { background: #EEFAF7; color: #30A495; }
/* Вид toggle — прижат вправо */
.navi-sort-item--view {
    margin-left: auto;
    gap: 6px;
}
/* Скрыть "Сортировать:", "Показывать:" и "Вид:" на iPad/mobile */
@media (max-width: 1023px) {
    .navi-sort-item--dropdown > span:first-child,
    .navi-sort-item--perpage > span:first-child,
    .navi-sort-item--view > span:first-child {
        display: none !important;
    }
}
.navi-view-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    color: #5F6F75;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    transition: background .15s ease, color .15s ease;
}
.navi-view-btn:hover { background: #EEFAF7; color: #30A495; }
.navi-view-btn.active { background: #30A495; color: #fff; }

/* === ПАГИНАЦИЯ "Показать ещё" === */
.search-pagination {
    padding: 12px 16px;
}
.search-pagination .navi-btn {
    min-height: 44px;
    padding: 10px 24px;
    font-size: 14px;
}

/* ========== ПУСТОЕ СОСТОЯНИЕ (NO RESULTS) ========== */
.search-empty-state {
    text-align: center;
    padding: 60px 24px;
    background: #fff;
    border-radius: 10px;
    border: 1px solid #E3E8EB;
}
.search-empty-icon {
    font-size: 56px;
    color: #30A495;
    margin-bottom: 18px;
    opacity: .55;
}
.search-empty-title {
    margin: 0 0 8px;
    color: #1F2A2E;
    font-size: 22px;
    font-weight: 700;
}
.search-empty-text {
    color: #5F6F75;
    margin: 0 0 22px;
    font-size: 14px;
    line-height: 1.5;
}
.search-empty-actions {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
}
/* (legacy .search-actions* rules removed — compact mini-cards don't use them) */
@media (max-width: 768px) {
    .catalog-wrapper {
        padding: 10px 0 !important;
        overflow-x: clip !important;
    }
    .container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 15px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    /* Compact mini-card mobile tweaks */
    /* List view cart-control compactness */
    .archive-box {
        padding: 15px !important;
    }
    .archive-title {
        font-size: 18px !important;
    }
    /* List view mobile — 2 колонки: фото + контент, действия вниз */
    .archive-box {
        padding: 15px !important;
    }
    .archive-title {
        font-size: 18px !important;
    }
    .d-none.d-md-none {
        display: inline !important;
    }
    
    /* ========== НОВОЕ: АДАПТАЦИЯ ТУЛТИПОВ ДЛЯ МОБИЛЬНЫХ ========== */
    .stock-badge-wrapper .navi-badge::after,
}
.d-inline {
    display: inline;
}
.d-md-none {
    display: none;
}
@media (max-width: 768px) {
    .d-md-none {
        display: inline !important;
    }
}

/* ========== НОВОЕ: ПОКАЗ ТУЛТИПА ПО КЛИКУ (МОБИЛЬНЫЕ) ========== */
.stock-badge-wrapper.tooltip-active .navi-badge::after,
/* ========== ACCESSIBILITY: prefers-reduced-motion ========== */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ===== Мобильная адаптация поиска и каталога (карточки не должны быть шире экрана) ===== */
@media (max-width: 991px) {
    .search-main-zone { align-items: stretch; }
    .search-content-col { width: 100%; max-width: 100%; min-width: 0; }
    .search-products-zone { width: 100%; max-width: 100%; min-width: 0; }
    #searchGridRows.row,
    #naviProductsGridFinal.row,
    .navi-flex-row.row {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    #searchGridRows > [class*="col-"],
    #naviProductsGridFinal > [class*="col-"],
    .navi-flex-row > .navi-product-item {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .navi-product-item,
    .navi-product-detail { min-width: 0 !important; max-width: 100% !important; }
    .navi-product-detail > .row { margin-left: 0 !important; margin-right: 0 !important; }
    .navi-detail-image img { max-width: 100% !important; height: auto !important; }
    .navi-detail-name { word-break: break-word; overflow-wrap: anywhere; }
}
@media (max-width: 480px) {
    #searchGridRows > [class*="col-"],
    #naviProductsGridFinal > [class*="col-"] { flex: 0 0 100% !important; width: 100% !important; }
}

/* ===== Мобильная панель сортировки поиска: перенос строк, компактные элементы ===== */
@media (max-width: 991px) {
    .navi-sort-bar {
        flex-wrap: wrap;
        gap: 8px 10px;
        padding: 8px 10px;
    }
    .navi-sort-item {
        height: auto;
        min-height: 32px;
        font-size: 12.5px;
        max-width: 100%;
    }
    .navi-sort-item--dropdown { margin: 0; }
    .navi-sort-item--view { margin-left: auto; }
    .navi-sort-trigger {
        height: 32px;
        padding: 0 10px;
        font-size: 12.5px;
        max-width: 100%;
    }
    .navi-sort-menu { min-width: 160px; }
    .navi-sort-item--dropdown, .navi-sort-item--perpage { flex: 0 1 auto; min-width: 0; }
}
@media (max-width: 480px) {
    .navi-sort-bar { gap: 8px; }
    .navi-sort-item { font-size: 12px; }
    .navi-sort-trigger { padding: 0 8px; font-size: 12px; }
    .navi-view-btn { width: 28px; height: 28px; font-size: 13px; }
}

/* ===== Мобильный низ карточки поиска: в одну колонку (цена / кнопки / подробнее) ===== */
@media (max-width: 991px) {
    .navi-detail-footer {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        row-gap: 10px;
    }
    .navi-detail-footer .navi-mobile-price {
        grid-column: 1 !important;
        grid-row: 1 !important;
        white-space: normal !important;
        max-width: 100%;
    }
    .navi-detail-footer .navi-list-icon-row {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
    }
    .navi-detail-footer .navi-list-icon-row .cart-control { flex: 1 1 auto; min-width: 0; }
    .navi-detail-footer .navi-list-icon-row .add-to-cart-btn { width: 100%; }
    .navi-detail-footer .navi-detail-buttons {
        grid-column: 1 !important;
        grid-row: 3 !important;
        justify-content: stretch !important;
        width: 100%;
    }
    .navi-detail-footer .navi-detail-buttons .navi-btn {
        width: 100%;
        justify-content: center;
    }
    .navi-detail-footer .stock-badge-wrapper {
        grid-column: 1 !important;
        grid-row: 4 !important;
        justify-self: start;
        max-width: 100%;
    }
}

/* ===== Перекрытие мобильного футера карточки (grid view): одна колонка ===== */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto auto !important;
        column-gap: 0 !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        justify-content: stretch !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) {
        grid-column: 1 !important;
        grid-row: 3 !important;
        justify-self: stretch !important;
        width: 100% !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper {
        grid-column: 1 !important;
        grid-row: 4 !important;
        justify-self: start !important;
    }
}

/* Мобильный футер: кнопка «в корзину» растягивается, избранное — фикс. ширина */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control { flex: 1 1 auto !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control .add-to-cart-btn { width: 100% !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .favorite-toggle-btn { flex: 0 0 44px !important; }
}

/* Кнопки карточки в мобильном поиске — компактные иконки 44×44 (не растягивать) */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row {
        justify-content: flex-start !important;
        gap: 8px !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control {
        flex: 0 0 auto !important;
        width: auto !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control .add-to-cart-btn {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        flex: 0 0 44px !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .favorite-toggle-btn {
        flex: 0 0 44px !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
    }
}

/* ===== Низ карточки поиска — как в каталоге: цена/наличие слева, кнопки/«Подробнее» справа ===== */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer {
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto auto !important;
        column-gap: 12px !important;
        row-gap: 8px !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price {
        grid-column: 1 !important;
        grid-row: 1 !important;
        white-space: normal !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper {
        grid-column: 1 !important;
        grid-row: 2 !important;
        justify-self: start !important;
        max-width: 100% !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row {
        grid-column: 2 !important;
        grid-row: 1 !important;
        width: auto !important;
        justify-content: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .cart-control { flex: 0 0 auto !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .add-to-cart-btn { width: 44px !important; min-width: 44px !important; height: 44px !important; padding: 0 !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row .favorite-toggle-btn { flex: 0 0 44px !important; width: 44px !important; min-width: 44px !important; height: 44px !important; padding: 0 !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-self: end !important;
        width: 100% !important;
        min-width: 110px !important;
    }
}

/* Цена в мобильной карточке поиска — в одну строку, как в каталоге */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price {
        white-space: nowrap !important;
    }
}

/* Цена в мобильной карточке поиска — переносится, чтобы не наезжать на кнопки */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price {
        white-space: normal !important;
        font-size: 14px !important;
        line-height: 1.25 !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price strong {
        font-size: 16px !important;
    }
}

/* ===== Бейдж наличия в карточке (моб.): на всю ширину и в одну строку ===== */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer {
        grid-template-rows: auto auto auto !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
        justify-self: stretch !important;
        max-width: 100% !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper .stock-badge {
        white-space: nowrap !important;
        max-width: 100% !important;
        font-size: 12px !important;
        padding: 6px 10px !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.favorite-toggle-btn) {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: stretch !important;
        width: 100% !important;
    }
}

/* Бейдж наличия: снимаем фиксированную ширину 184px — на всю ширину карточки */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        align-self: stretch !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .stock-badge-wrapper .stock-badge {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        font-size: 12px !important;
        padding: 6px 10px !important;
    }
}

/* «Подробнее» в мобильной карточке — отдельная строка под бейджем (перебиваем правило с :not(.compare-toggle-btn)) */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-detail-buttons .navi-btn:not(.navi-btn-icon):not(.compare-toggle-btn):not(.favorite-toggle-btn) {
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        justify-self: stretch !important;
        width: 100% !important;
    }
}

/* Цена в мобильной карточке — чуть меньше, чтобы влезала в одну строку */
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price {
        font-size: 13px !important;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price strong {
        font-size: 15px !important;
    }
}

/* Цена в карточках — чёрная, жирная, чуть крупнее */
.navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price,
.navi-view-list .navi-detail-footer .navi-mobile-price,
.navi-detail-footer .navi-mobile-price {
    color: #111827 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
}
.navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price strong,
.navi-view-list .navi-detail-footer .navi-mobile-price strong,
.navi-detail-footer .navi-mobile-price strong {
    color: #111827 !important;
    font-weight: 700 !important;
    font-size: 20px !important;
}
.navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price small,
.navi-view-list .navi-detail-footer .navi-mobile-price small,
.navi-detail-footer .navi-mobile-price small {
    color: #111827 !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}
@media (max-width: 768px) {
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price,
    .navi-detail-footer .navi-mobile-price { font-size: 15px !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price strong,
    .navi-detail-footer .navi-mobile-price strong { font-size: 18px !important; }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-mobile-price small,
    .navi-detail-footer .navi-mobile-price small { font-size: 13px !important; }
}

/* ===== Плотная внутренняя сетка карточки (десктоп): меньше отступов, шире фото/характеристики ===== */
@media (min-width: 992px) {
    .navi-flex-row:not(.navi-view-list) .navi-product-detail {
        padding: 14px 14px 12px;
    }
    /* Название и подпись — плотнее */
    .navi-flex-row:not(.navi-view-list) .navi-detail-name {
        margin: 0 0 6px;
        padding-bottom: 6px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-model {
        margin: 0 0 8px;
    }
    /* Две колонки: фото шире, характеристики шире, зазор меньше */
    .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row {
        margin-left: 0;
        margin-right: 0;
        --bs-gutter-x: 0;
    }
    .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row > .col-lg-6 {
        padding-left: 0;
        padding-right: 0;
    }
    .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row > .col-lg-6:first-child {
        flex: 0 0 46%;
        max-width: 46%;
        padding-right: 10px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-product-detail > .row > .col-lg-6:last-child {
        flex: 0 0 54%;
        max-width: 54%;
        padding-left: 0;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-image {
        margin-bottom: 6px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-manufacturer {
        margin-bottom: 2px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-short {
        margin-top: 6px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-params li {
        padding: 1px 0;
    }
    /* Нижняя панель — компактнее */
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer {
        padding-top: 6px;
        row-gap: 6px;
        column-gap: 12px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-list-icon-row {
        gap: 4px;
    }
    .navi-flex-row:not(.navi-view-list) .navi-detail-footer .navi-btn {
        min-height: 36px;
        padding: 6px 10px;
    }
}
