/**
 * Список товаров в каталоге (catalog.section/.default, режим ?display=list)
 *
 * Подключается ПОСЛЕ techopt-override.css и techopt-cards.css.
 * Все правила скоупированы под `table.blank-zakaza` — это контейнер
 * исключительно list-режима. Шаблон itrm_plitka рендерит `<div class="blank-zakaza">`,
 * поэтому селекторы не пересекаются и плитка не задевается.
 *
 * Дизайн:
 *   – брендовый акцент #7B1B16 (тот же, что в techopt-cards.css);
 *   – мягкий контейнер-карточка вокруг таблицы (radius + soft shadow);
 *   – sticky-шапка с burgundy-подчёркиванием, sticky-колонки слева (image, name)
 *     и справа (quantity) с подсветкой по hover;
 *   – квантити-селектор и кнопка сравнения переведены на брендовый burgundy
 *     (раньше были #3e495f — slate, не из палитры сайта).
 */

/* ---------- Контейнер таблицы (скролл + карточка) ---------- */
.blank-zakaza__scroll-wrapper:has(> .blank-zakaza__wrapper > table.blank-zakaza) {
  background: #fff !important;
  border-radius: 12px !important;
  border: 1px solid #ececef !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03), 0 6px 14px rgba(0, 0, 0, 0.04) !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  margin: 4px 16px !important;
}

table.blank-zakaza {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  font-size: 13px !important;
  color: #1a1a1a !important;
  /* На случай если techopt-cards.css когда-то снова "поедет" — фиксируем display */
  display: table !important;
  padding: 0 !important;
  gap: 0 !important;
}

/* ---------- Шапка таблицы ---------- */
table.blank-zakaza thead.blank-zakaza__header tr.blank-zakaza__header-row {
  box-shadow: none !important;
}

table.blank-zakaza thead .blank-zakaza__header-property,
table.blank-zakaza thead .blank-zakaza__header-fullscreen {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  padding: 9px 12px !important;
  background: #faf7f6 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #5a5a5e !important;
  border-bottom: 2px solid #7B1B16 !important;
  text-align: center !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  cursor: pointer !important;
}

table.blank-zakaza thead .blank-zakaza__header-fullscreen {
  left: 0 !important;
  z-index: 60 !important;
  padding: 9px 8px !important;
  cursor: default !important;
}

table.blank-zakaza thead .blank-zakaza__header-fullscreen .list-icons-item {
  padding: 8px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #7B1B16 !important;
}

/* NAME-заголовок (первый .blank-zakaza__header-property = 2-й ребёнок tr) */
table.blank-zakaza thead .blank-zakaza__header-property:nth-child(2) {
  left: 64px !important;
  z-index: 60 !important;
  text-align: left !important;
  padding-left: 14px !important;
}

table.blank-zakaza thead .blank-zakaza__header-property:nth-child(2)::before {
  display: none !important; /* убираем старую тень-разделитель */
}

table.blank-zakaza thead .blank-zakaza__header-property--quantity {
  right: 0 !important;
  z-index: 60 !important;
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  cursor: default !important;
}

table.blank-zakaza thead .blank-zakaza__header-property--quantity::before {
  display: none !important;
}

/* Hover */
table.blank-zakaza thead .blank-zakaza__header-property:hover {
  background: #f3eceb !important;
  color: #7B1B16 !important;
}

/* Активная сортировка — стрелочка в брендовом цвете */
table.blank-zakaza thead .blank-zakaza__header-property.active {
  color: #7B1B16 !important;
  background: #f3eceb !important;
}

table.blank-zakaza thead .blank-zakaza__header-property.active.sort-DESC::after {
  border-bottom-color: #7B1B16 !important;
  transform: translate(4px, -2px) !important;
}

table.blank-zakaza thead .blank-zakaza__header-property.active.sort-ASC::after {
  border-top-color: #7B1B16 !important;
  transform: translate(4px, -2px) !important;
}

/* ---------- Tbody = группа товара ---------- */
/* Перебиваем возможные остатки card-стилей */
table.blank-zakaza tbody.blank-zakaza__item {
  display: table-row-group !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  flex-direction: row !important;
  min-height: 0 !important;
  height: auto !important;
  transition: none !important;
}

table.blank-zakaza tbody.blank-zakaza__item:hover {
  transform: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* ---------- Строка товара ---------- */
table.blank-zakaza tr.product {
  background: #fff !important;
  transition: background-color 0.15s ease !important;
}

/* Hover-подсветка всей строки, включая sticky-ячейки.
   Sticky-ячейкам нужен собственный background — иначе под ними просвечивается контент. */
table.blank-zakaza tr.product:hover,
table.blank-zakaza tr.product:hover > td.product__property {
  background: #fdf6f5 !important;
}

table.blank-zakaza tr.product.product--offer {
  background: #fbf6ec !important;
}

table.blank-zakaza tr.product.product--offer > td.product__property {
  background: #fbf6ec !important;
}

/* ---------- Базовые ячейки ---------- */
table.blank-zakaza td.product__property {
  padding: 4px 10px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  vertical-align: middle !important;
  text-align: center !important;
  background: #fff !important;
  max-width: none !important;
  height: 1px; /* трюк: позволяет inner-блокам растягиваться на 100% высоты строки */
}

/* Последняя строка без бордера */
table.blank-zakaza tbody.blank-zakaza__item:last-of-type tr.product > td.product__property {
  border-bottom: none !important;
}

/* ---------- Изображение (sticky слева) ---------- */
table.blank-zakaza td.product__property--image {
  position: sticky !important;
  left: 0 !important;
  z-index: 5 !important;
  width: 64px !important;
  min-width: 64px !important;
  padding: 4px 6px !important;
}

table.blank-zakaza td.product__property--image .product__image-wrapper {
  width: 48px !important;
  height: 48px !important;
  border-radius: 8px !important;
  background: #f7f5f5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 4px !important;
  box-sizing: border-box !important;
  margin: 0 auto !important;
  transition: transform 0.2s ease !important;
}

table.blank-zakaza tr.product:hover td.product__property--image .product__image-wrapper {
  transform: scale(1.06) !important;
}

table.blank-zakaza td.product__property--image .product__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* ---------- Название (sticky слева) ---------- */
table.blank-zakaza td.product__property--name {
  position: sticky !important;
  left: 64px !important;
  z-index: 5 !important;
  text-align: left !important;
  padding: 4px 14px !important;
  min-width: 280px !important;
  max-width: 460px !important;
  /* Гарантируем вертикальное центрирование контента (link + artnumber)
     даже если кто-то выставит min-height на ссылке. */
  vertical-align: middle !important;
}

table.blank-zakaza td.product__property--name::before {
  display: none !important; /* убираем старую тень-разделитель */
}

/* Внутренний flex-wrap для надёжного вертикального центрирования
   при коротких/длинных названиях. */
table.blank-zakaza td.product__property--name > * {
  /* Сбрасываем потенциальный leak от карточных правил */
  min-height: 0 !important;
}

table.blank-zakaza td.product__property--name .product__link {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  margin: 0 0 2px 0 !important;
  max-width: none !important;
  min-height: 0 !important; /* перебиваем legacy min-height: 58px на всякий случай */
  word-break: normal !important;
  word-wrap: break-word !important;
  white-space: normal !important;
  text-align: left !important;
  transition: color 0.15s ease !important;
}

table.blank-zakaza td.product__property--name .product__link:hover {
  color: #7B1B16 !important;
  text-decoration: none !important;
}

table.blank-zakaza td.product__property--name .product__link.special_price {
  color: #7B1B16 !important;
}

table.blank-zakaza td.product__property--name .product__artnumber {
  font-size: 11px !important;
  font-weight: 400 !important;
  color: #a0a0a0 !important;
  letter-spacing: 0.2px !important;
}

/* ---------- Доставка ---------- */
table.blank-zakaza td.product__property--dilevery {
  font-size: 12px !important;
  color: #5a5a5e !important;
  max-width: 160px !important;
  line-height: 1.4 !important;
}

/* ---------- Наличие ---------- */
table.blank-zakaza td.product__property--avaliable {
  font-size: 12px !important;
  color: #4a4a4e !important;
  min-width: 110px !important;
}

table.blank-zakaza td.product__property--avaliable .item-quantity__general {
  color: #2e7d32 !important;
  font-weight: 700 !important;
}

table.blank-zakaza td.product__property--avaliable .item-quantity {
  display: inline !important;
}

/* ---------- Цена ---------- */
table.blank-zakaza td.product__property--price {
  font-weight: 700 !important;
  color: #1a1a1a !important;
  font-size: 14px !important;
  white-space: nowrap !important;
  min-width: 90px !important;
}

table.blank-zakaza td.product__property--price .wrap-product__property--price {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}

table.blank-zakaza .product__property--discount-price {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #b0b0b0 !important;
  text-decoration: line-through !important;
}

table.blank-zakaza td.product__property--price .special_price {
  color: #7B1B16 !important;
}

/* Единица измерения */
table.blank-zakaza td.product__property--measure {
  font-size: 12px !important;
  color: #6a6a6e !important;
  white-space: nowrap !important;
}

/* Бренд / свойства по-умолчанию */
table.blank-zakaza td.product__property--default {
  font-size: 11.5px !important;
  color: #6a6a6e !important;
  max-width: 160px !important;
  letter-spacing: 0.2px !important;
}

table.blank-zakaza td.product__property--default[title=""] {
  color: transparent !important;
}

/* ---------- Количество (sticky справа) ---------- */
table.blank-zakaza td.product__property--quantity {
  position: sticky !important;
  right: 0 !important;
  z-index: 5 !important;
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  padding: 6px 12px !important;
}

table.blank-zakaza td.product__property--quantity::before {
  display: none !important; /* убираем старую тень-разделитель */
}

/* ---------- Селектор количества (брендовый burgundy) ---------- */
table.blank-zakaza .quantity-selector {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: auto !important;
}

table.blank-zakaza .quantity-selector__decrement,
table.blank-zakaza .quantity-selector__increment {
  width: 30px !important;
  height: 30px !important;
  background-color: #7B1B16 !important;
  background-image: none !important; /* отключаем legacy moveAround анимацию */
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.15s ease, transform 0.1s ease !important;
  animation: none !important;
}

table.blank-zakaza .quantity-selector__decrement:hover,
table.blank-zakaza .quantity-selector__increment:hover {
  background-color: #932220 !important;
}

table.blank-zakaza .quantity-selector__decrement:active,
table.blank-zakaza .quantity-selector__increment:active {
  background-color: #5a1210 !important;
  transform: scale(0.95) !important;
  animation: none !important;
}

table.blank-zakaza .quantity-selector__decrement:disabled,
table.blank-zakaza .quantity-selector__increment:disabled {
  background-color: #d7b9b7 !important;
  background-image: none !important;
  animation: none !important;
  cursor: not-allowed !important;
}

table.blank-zakaza .quantity-selector__value {
  width: 48px !important;
  height: 30px !important;
  margin: 0 6px !important;
  padding: 0 !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  background: #fff !important;
  border: 1px solid #e0e0e0 !important;
  border-top: 1px solid #e0e0e0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  border-radius: 8px !important;
  outline: none !important;
  -moz-appearance: textfield !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}

table.blank-zakaza .quantity-selector__value:focus {
  border-color: #7B1B16 !important;
  box-shadow: 0 0 0 2px rgba(123, 27, 22, 0.12) !important;
}

table.blank-zakaza .quantity-selector__value::-webkit-outer-spin-button,
table.blank-zakaza .quantity-selector__value::-webkit-inner-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

/* ---------- Кнопка "Сравнить" ---------- */
table.blank-zakaza .add-to-compare {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin-left: 8px !important;
  border-radius: 8px !important;
  opacity: 0.5 !important;
  transition: opacity 0.15s ease, background-color 0.15s ease !important;
}

table.blank-zakaza .add-to-compare:hover {
  opacity: 1 !important;
  background-color: rgba(123, 27, 22, 0.08) !important;
}

table.blank-zakaza .add-to-compare svg {
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

/* ---------- Offers (предложения) ---------- */
table.blank-zakaza .offers-info {
  background-color: #7B1B16 !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 6px 10px !important;
  border-radius: 8px !important;
  color: #fff !important;
  cursor: pointer !important;
  font-size: 12px !important;
  transition: background-color 0.15s ease !important;
}

table.blank-zakaza .offers-info:hover {
  background-color: #932220 !important;
}

table.blank-zakaza .offers-info__count {
  background-color: #fff !important;
  color: #7B1B16 !important;
  border-radius: 10px !important;
  padding: 0 8px !important;
  margin-left: 6px !important;
  font-weight: 700 !important;
}

/* ---------- Пагинация ---------- */
table.blank-zakaza + .blank-zakaza__pagination,
.blank-zakaza__pagination--top:has(+ .blank-zakaza__wrapper > table.blank-zakaza) {
  padding: 4px 20px !important;
}

/* ---------- Пустое состояние "Ничего не показано" ---------- */
table.blank-zakaza .nothing_to_show {
  padding: 60px 20px !important;
  text-align: center !important;
  font-size: 14px !important;
  color: #888 !important;
}

/* ---------- Адаптив ---------- */
@media (max-width: 1200px) {
  table.blank-zakaza td.product__property--name {
    max-width: 320px !important;
    min-width: 240px !important;
  }
}

@media (max-width: 900px) {
  table.blank-zakaza td.product__property--image {
    width: 60px !important;
    min-width: 60px !important;
  }
  table.blank-zakaza td.product__property--image .product__image-wrapper {
    width: 44px !important;
    height: 44px !important;
  }
  table.blank-zakaza td.product__property--name,
  table.blank-zakaza thead .blank-zakaza__header-property:nth-child(2) {
    left: 60px !important;
  }
  table.blank-zakaza td.product__property--name {
    min-width: 200px !important;
    max-width: 260px !important;
  }
  table.blank-zakaza td.product__property--quantity,
  table.blank-zakaza thead .blank-zakaza__header-property--quantity {
    width: 140px !important;
    min-width: 140px !important;
    max-width: 140px !important;
  }
}

@media (max-width: 640px) {
  .blank-zakaza__scroll-wrapper:has(> .blank-zakaza__wrapper > table.blank-zakaza) {
    margin: 8px !important;
    border-radius: 8px !important;
  }
  table.blank-zakaza {
    font-size: 12px !important;
  }
  table.blank-zakaza td.product__property,
  table.blank-zakaza thead .blank-zakaza__header-property,
  table.blank-zakaza thead .blank-zakaza__header-fullscreen {
    padding: 8px !important;
  }
  table.blank-zakaza thead .blank-zakaza__header-property,
  table.blank-zakaza thead .blank-zakaza__header-fullscreen {
    font-size: 10px !important;
    padding: 10px 8px !important;
  }
}

/* ============================================================
   КАТАЛОГ — LIST VIEW: МОБИЛЬНЫЙ РЕДИЗАЙН (≤767)
   Стратегия: оставляем только важные колонки (изображение, название,
   цена, наличие, количество), остальное скрываем чтобы убрать
   горизонтальный скролл и сделать таблицу читаемой на телефоне.
   ============================================================ */
@media (max-width: 767.98px) {
  /* Контейнер таблицы */
  .blank-zakaza__scroll-wrapper:has(> .blank-zakaza__wrapper > table.blank-zakaza),
  .table-responsive {
    margin: 0 !important;
    border-radius: 10px !important;
    border: none !important;
    box-shadow: none !important;
    overflow-x: auto !important;
  }

  table.blank-zakaza {
    font-size: 12px !important;
    width: 100% !important;
  }

  /* Заголовки — компактные */
  table.blank-zakaza thead .blank-zakaza__header-property,
  table.blank-zakaza thead .blank-zakaza__header-fullscreen {
    padding: 9px 6px !important;
    font-size: 9.5px !important;
    letter-spacing: 0.3px !important;
  }

  /* Чек-бокс выбора (sticky left, первая колонка) */
  table.blank-zakaza thead .blank-zakaza__header-fullscreen,
  table.blank-zakaza td.product__property:first-child {
    width: 36px !important;
    min-width: 36px !important;
    padding: 6px 4px !important;
  }
  table.blank-zakaza thead .blank-zakaza__header-fullscreen .list-icons-item {
    padding: 4px !important;
  }

  /* Изображение — компактное */
  table.blank-zakaza td.product__property--image {
    width: 60px !important;
    min-width: 60px !important;
    padding: 6px !important;
  }
  table.blank-zakaza td.product__property--image .product__image-wrapper {
    width: 48px !important;
    height: 48px !important;
    padding: 4px !important;
    border-radius: 8px !important;
  }

  /* Название — sticky слева, корректное смещение */
  table.blank-zakaza thead .blank-zakaza__header-property:nth-child(2) {
    left: 60px !important;
    padding: 10px 8px !important;
  }
  table.blank-zakaza td.product__property--name {
    left: 60px !important;
    padding: 8px !important;
    min-width: 150px !important;
    max-width: 220px !important;
  }
  table.blank-zakaza td.product__property--name .product__link {
    font-size: 12px !important;
    line-height: 1.35 !important;
    -webkit-line-clamp: 2 !important;
  }
  table.blank-zakaza td.product__property--name .product__artnumber {
    font-size: 10px !important;
  }

  /* Скрываем колонки не критичные на мобильном:
     доставка, бренд/default свойства, единица измерения */
  table.blank-zakaza td.product__property--dilevery,
  table.blank-zakaza td.product__property--default,
  table.blank-zakaza td.product__property--measure,
  table.blank-zakaza thead th:has(.thead-item):not(:first-child):not(:nth-child(2)):not(:nth-last-child(-n+3)) {
    display: none !important;
  }
  /* Fallback для браузеров без :has — точечное скрытие по thead-item тексту проблематично,
     поэтому полагаемся на скрытие td с конкретными классами. Шапка может остаться,
     но в этом случае таблица станет шире за счёт пустых ячеек — приемлемо. */

  /* Цена */
  table.blank-zakaza td.product__property--price {
    font-size: 13px !important;
    min-width: 70px !important;
    padding: 8px 6px !important;
  }
  table.blank-zakaza .product__property--discount-price {
    font-size: 10px !important;
  }

  /* Наличие */
  table.blank-zakaza td.product__property--avaliable {
    font-size: 11px !important;
    min-width: 70px !important;
    padding: 8px 6px !important;
  }

  /* Количество (sticky справа) — компактный селектор */
  table.blank-zakaza thead .blank-zakaza__header-property--quantity,
  table.blank-zakaza td.product__property--quantity {
    width: 120px !important;
    min-width: 120px !important;
    max-width: 120px !important;
    padding: 6px !important;
  }
  table.blank-zakaza .quantity-selector__decrement,
  table.blank-zakaza .quantity-selector__increment {
    width: 26px !important;
    height: 26px !important;
    font-size: 14px !important;
    border-radius: 6px !important;
  }
  table.blank-zakaza .quantity-selector__value {
    width: 36px !important;
    height: 26px !important;
    margin: 0 4px !important;
    font-size: 12px !important;
    border-radius: 6px !important;
  }
  table.blank-zakaza .add-to-compare {
    width: 26px !important;
    height: 26px !important;
    margin-left: 4px !important;
  }
  table.blank-zakaza .add-to-compare svg {
    width: 13px !important;
    height: 13px !important;
  }

  /* Offers chip */
  table.blank-zakaza .offers-info {
    padding: 4px 8px !important;
    font-size: 11px !important;
  }
  table.blank-zakaza .offers-info__count {
    padding: 0 6px !important;
    margin-left: 4px !important;
  }

  /* Базовые ячейки */
  table.blank-zakaza td.product__property {
    padding: 8px 6px !important;
  }
}

/* --- Узкие мобильные (≤480) — ещё компактнее --- */
@media (max-width: 480px) {
  table.blank-zakaza td.product__property--image {
    width: 50px !important;
    min-width: 50px !important;
    padding: 5px !important;
  }
  table.blank-zakaza td.product__property--image .product__image-wrapper {
    width: 40px !important;
    height: 40px !important;
    padding: 3px !important;
  }
  table.blank-zakaza thead .blank-zakaza__header-property:nth-child(2),
  table.blank-zakaza td.product__property--name {
    left: 50px !important;
    min-width: 130px !important;
    max-width: 180px !important;
  }
  table.blank-zakaza thead .blank-zakaza__header-property--quantity,
  table.blank-zakaza td.product__property--quantity {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }
  table.blank-zakaza .quantity-selector__value {
    width: 32px !important;
  }
}

/* ============================================================================
 * СПЕЦ. ЦЕНА — акцент списочного вида (tr.product--special)
 * Бейдж в списке не выводится — выделяем всю строку фоном. Бейдж только в плитке.
 * ============================================================================ */

/* Подсветка всей строки со спец. ценой (включая sticky-ячейки) */
table.blank-zakaza tr.product.product--special,
table.blank-zakaza tr.product.product--special > td.product__property {
  background: #fbeeed !important;
}
table.blank-zakaza tr.product.product--special:hover,
table.blank-zakaza tr.product.product--special:hover > td.product__property {
  background: #f7e1df !important;
}

/* Sticky image-wrapper тоже перекрываем (иначе под ним просвечивает свой фон) */
table.blank-zakaza tr.product.product--special td.product__property--image .product__image-wrapper {
  background: #fbeeed !important;
}

/* Бордовая акцентная полоса слева у строки */
table.blank-zakaza tr.product.product--special > td.product__property--image {
  box-shadow: inset 4px 0 0 0 #7B1B16 !important;
}

/* Усиленная оптовая цена */
table.blank-zakaza td.product__property--price .special_price {
  color: #7B1B16 !important;
  font-weight: 800 !important;
}
