/* Редизайн digimarket, слой поверх темы.
   [2026-09-13] v1 - бейджи срока доставки.
   Цвета и радиусы из дизайн-системы задания на вёрстку. */

.dm-term {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 8px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  vertical-align: middle;
}

.dm-term-small {
  font-size: 13px;
  padding: 4px 8px;
}

.dm-term-large {
  font-size: 15px;
  padding: 8px 12px;
}

/* иконки Lucide из спрайта */
.dm-ico {
  flex: none;
  stroke-width: 1.5;
  color: currentColor;
}

.dm-term-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

/* со склада в Израиле */
.dm-term-stock {
  background: #EAF3ED;
  color: #2E7D4F;
}

/* ближайшая поставка */
.dm-term-soon {
  background: #EAF0F1;
  color: #146678;
}

/* предзаказ с фабрики */
.dm-term-preorder {
  background: #FFFFFF;
  color: #5C6A72;
  border: 1px solid #E3E8EC;
}

/* ------------------------------------------------------------------
   Карточка товара: чистка по макету.
   Цена перестаёт быть красной в рамке, у кнопок убирается блок в блоке.
   ------------------------------------------------------------------ */

/* строка доверия над кнопками покупки */
.dm-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin: 0 0 12px;
}

.dm-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #5C6A72;
}

.dm-trust-item .dm-ico {
  color: #2E7D4F;
}

/* предупреждение про оттенок цвета: оставляем, но перестаём кричать им
   на первом экране. Окончательно уедет в характеристики вместе с табами. */
#product .product_extra-420 .block-content,
#product .product_extra-420 .block-content span {
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #5C6A72 !important;
  font-family: inherit !important;
}

/* строки, которые теперь дублируются новыми блоками, с первого экрана убираем:
   срок доставки, размеры, бонусные очки, цена в баллах, счётчик просмотров */
#product .product-stats .product-stock,
#product .product-stats .product-dimension,
#product .product-stats .product-reward,
#product .product-points,
#product .custom-stats .product-views {
  display: none;
}

/* остальное сводим в одну спокойную строку: бренд, артикул, SKU */
#product .product-stats ul {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin: 0 0 16px;
  padding: 0;
}

#product .product-stats li {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  color: #5C6A72;
  border: 0;
}

#product .product-stats li b {
  font-weight: 400;
  color: #5C6A72;
}

#product .product-stats li span,
#product .product-stats li a {
  color: #1C2529;
}

#product .product-stats li a {
  color: #146678;
}

/* блок расчёта доставки и сборки */
#product .dmc-wrap {
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  padding: 16px;
  margin: 0 0 16px;
}

#product .dmc-cap-title {
  display: inline-block;
  margin: 0 0 10px;
  padding: 4px 8px;
  border-radius: 8px;
  background: #EAF0F1;
  color: #146678;
  font-size: 13px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
}

#product .dmc-btn {
  width: 100%;
  min-height: 48px;
  border-radius: 8px;
  border: 1px solid #146678;
  background: #FFFFFF;
  color: #146678;
  font-size: 15px;
  font-weight: 500;
}

#product .dmc-btn:hover {
  background: #F7F6F3;
}

#product .product-price-group .product-price,
#product .product-price-group .product-price-new {
  color: #1C2529;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.25;
}

#product .product-price-group .product-price-old {
  color: #5C6A72;
  font-size: 17px;
  font-weight: 400;
  text-decoration: line-through;
}

/* цена рядом с кнопкой корзины: была красная в рамке.
   Перебиваем !important из встроенных стилей темы. */
#product .dm-cart-price {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 0 0 4px !important;
  color: #1C2529 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  text-align: start !important;
}

/* «Позвонить» это запасной путь, а не главное действие: белая с рамкой */
#product a.dm-act-call {
  background: #FFFFFF !important;
  border: 1px solid #146678 !important;
  color: #146678 !important;
}

#product a.dm-act-call .dm-act-ic svg,
#product a.dm-act-call .dm-act-t {
  color: #146678 !important;
  fill: currentColor;
}

/* длинное название кнопки WhatsApp должно помещаться */
#product a.dm-act-wa,
#product a.dm-act-call {
  white-space: normal !important;
  line-height: 1.2 !important;
  min-height: 52px;
  height: auto !important;
  padding: 8px 12px !important;
  font-size: 15px !important;
  border-radius: 8px !important;
}

/* тема обрезает подпись кнопки многоточием, нам нужен весь текст */
#product a.dm-act-wa .dm-act-t,
#product a.dm-act-call .dm-act-t {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  max-width: none !important;
}

/* срок доставки теперь рассказывает отдельный блок, метка на фото не нужна */
.product-label-342 {
  display: none !important;
}

/* отзывы уходят вниз страницы, на первом экране им не место */
#product .product-info .rating {
  display: none;
}

/* обёртка вокруг группы кнопок: рамка внутри рамки */
#product .button-group-page,
#product .buttons-wrapper {
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* главное действие страницы */
#product .btn-cart {
  background: #146678;
  border: 1px solid #146678;
  color: #FFFFFF;
  min-height: 52px;
  border-radius: 8px;
  font-weight: 500;
}

#product .btn-cart:hover {
  background: #0F4E5B;
  border-color: #0F4E5B;
  color: #FFFFFF;
}

/* закладки и сравнение: вторичные действия, а не равные кнопки */
#product .btn-wishlist,
#product .btn-compare {
  background: transparent;
  border: 0;
  color: #5C6A72;
  font-size: 13px;
  min-height: 36px;
  box-shadow: none;
}

#product .btn-wishlist:hover,
#product .btn-compare:hover {
  color: #146678;
  background: transparent;
}

/* ------------------------------------------------------------------
   Опции товара: поля и варианты по дизайн-системе.
   Подсветку обязательных опций (dm-req) не трогаем, она сильнее.
   ------------------------------------------------------------------ */

#product .product-options .form-group {
  margin: 0 0 16px;
}

#product .product-options .control-label {
  display: block;
  margin: 0 0 8px;
  font-size: 15px;
  font-weight: 500;
  color: #1C2529;
}

#product .product-options select.form-control,
#product .product-options input.form-control,
#product .product-options textarea.form-control {
  min-height: 48px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
  color: #1C2529;
  font-size: 15px;
  box-shadow: none;
}

#product .product-options select.form-control:focus,
#product .product-options input.form-control:focus,
#product .product-options textarea.form-control:focus {
  border-color: #146678;
  box-shadow: none;
  outline: none;
}

/* Варианты с картинкой: раскладка плитками.
   Настоящая разметка темы: .radio|.checkbox > label > input + img + span.option-value */
#product .product-options .form-group > div[id^="input-option"] {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* группа без картинок это список модулей комплекта: столбиком, во всю ширину */
#product .product-options .form-group > div[id^="input-option"]:not(:has(img)) {
  flex-direction: column;
}

#product .product-options .form-group > div[id^="input-option"]:not(:has(img)) .checkbox,
#product .product-options .form-group > div[id^="input-option"]:not(:has(img)) .radio {
  width: 100%;
}

#product .product-options .radio,
#product .product-options .checkbox {
  margin: 0;
  padding: 0;
}

/* у модуля без фото по заданию стоит иконка 26 px в квадрате 52 px */
#product .product-options .checkbox label:not(:has(img))::before,
#product .product-options .radio label:not(:has(img)):not(:has(.option-value:only-child))::before {
  content: "";
  flex: none;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #F7F6F3 url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="%235C6A72" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"/><path d="M3.3 7 12 12l8.7-5"/><path d="M12 22V12"/></svg>') center center no-repeat;
}

/* цена модуля прижата вправо */
#product .product-options .checkbox label .option-value,
#product .product-options .radio label .option-value {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1 1 auto;
}

#product .product-options .option-price {
  margin-inline-start: auto;
  color: #5C6A72;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

#product .product-options .radio label,
#product .product-options .checkbox label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  margin: 0;
  padding: 8px 12px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
  font-size: 15px;
  font-weight: 400;
  color: #1C2529;
  cursor: pointer;
}

#product .product-options .radio label:hover,
#product .product-options .checkbox label:hover {
  border-color: #146678;
}

/* вариант с картинкой: миниатюра сверху, подпись снизу */
#product .product-options .radio label:has(img),
#product .product-options .checkbox label:has(img) {
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  width: 116px;
  padding: 8px;
  text-align: center;
}

#product .product-options .radio label img,
#product .product-options .checkbox label img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 0;
  display: block;
}

#product .product-options .radio label .option-value,
#product .product-options .checkbox label .option-value {
  font-size: 13px;
  line-height: 1.3;
  color: #5C6A72;
}

/* выбранный вариант: тема красит его красным, нам нужен фирменный */
#product .product-options .radio input:checked + img,
#product .product-options .checkbox input:checked + img {
  border: 0 !important;
  outline: 2px solid #146678;
  outline-offset: 1px;
}

#product .product-options .radio label:has(input:checked),
#product .product-options .checkbox label:has(input:checked) {
  border-color: #146678;
  background: #EAF0F1;
}

#product .product-options .radio label:has(input:checked) .option-value,
#product .product-options .checkbox label:has(input:checked) .option-value {
  color: #146678;
  font-weight: 500;
}

/* итог за выбранный комплект */
.dm-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: #F7F6F3;
}

.dm-total-label {
  font-size: 15px;
  color: #5C6A72;
}

.dm-total-value {
  font-size: 24px;
  font-weight: 700;
  color: #1C2529;
  font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------------
   Табы под карточкой товара. Собираются скриптом из блоков темы.
   ------------------------------------------------------------------ */

.dm-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0 32px;
  margin: 32px 0 0;
  border-top: 1px solid #E3E8EC;
  border-bottom: 1px solid #E3E8EC;
  background: #FFFFFF;
}

.dm-tab {
  appearance: none;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 18px 0;
  margin-bottom: -1px;
  font-size: 17px;
  font-weight: 500;
  color: #5C6A72;
  cursor: pointer;
  min-height: 44px;
}

.dm-tab:hover {
  color: #146678;
}

.dm-tab-active {
  color: #146678;
  border-bottom-color: #146678;
}

.dm-tab-panels {
  padding-top: 24px;
}

.dm-tab-panel .block-body {
  border: 0;
  padding: 0;
}

/* ------------------------------------------------------------------
   Блоки товаров под карточкой: сопутствующие, того же бренда, просмотренные.
   ------------------------------------------------------------------ */

.module-products .nav-tabs {
  border-bottom: 1px solid #E3E8EC;
  margin: 0 0 20px;
  gap: 24px;
}

.module-products .nav-tabs > li > a {
  padding: 14px 0;
  border: 0;
  border-bottom: 2px solid transparent;
  font-size: 20px;
  font-weight: 500;
  color: #5C6A72;
  background: transparent;
  text-transform: none;
}

.module-products .nav-tabs > li.active > a,
.module-products .nav-tabs > li > a:hover {
  color: #146678;
  border-bottom-color: #146678;
  background: transparent;
}

/* карточка товара в подборке: одна поверхность, без рамки в рамке */
.module-products .product-thumb,
.product-grid .product-thumb {
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: none;
  overflow: hidden;
}

.module-products .product-thumb .caption,
.product-grid .product-thumb .caption {
  padding: 12px;
}

.module-products .product-thumb .name a,
.product-grid .product-thumb .name a {
  font-size: 15px;
  line-height: 1.4;
  color: #1C2529;
}

.module-products .product-thumb .price,
.product-grid .product-thumb .price {
  font-size: 17px;
  font-weight: 700;
  color: #1C2529;
}

.module-products .product-thumb .price-old,
.product-grid .product-thumb .price-old {
  font-size: 13px;
  font-weight: 400;
  color: #5C6A72;
  text-decoration: line-through;
}

/* в плитке товара бейдж стоит над названием */
.product-thumb .dm-term {
  margin: 0 0 6px;
}

[dir="rtl"] .dm-term {
  direction: rtl;
}

/* ------------------------------------------------------------------
   Правая колонка карточки: порядок блоков по макету.
   Разметку темы не двигаем, переставляем показом (order у флекса).
   Порядок макета: мета, название, коллекция, цена, срок, доверие,
   габариты, опции, кнопки, строка расчёта.
   ------------------------------------------------------------------ */

@media (min-width: 992px) {
  body[class*="product-product"] #product.product-details {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  body[class*="product-product"] #product.product-details > * {
    margin: 0;
  }

  body[class*="product-product"] #product .dm-meta            { order: 1; }
  body[class*="product-product"] #product > .title            { order: 2; }
  body[class*="product-product"] #product .dm-coll            { order: 3; }
  body[class*="product-product"] #product .product-price-group{ order: 4; }
  body[class*="product-product"] #product .dm-note-partial    { order: 5; }
  /* [2026-09-14] габариты идут сразу за ценой, до плашки срока */
  body[class*="product-product"] #product .dm-dims            { order: 6; }
  body[class*="product-product"] #product .dm-delivery-card   { order: 7; }
  body[class*="product-product"] #product .product-options    { order: 8; }
  /* выбор ткани — такая же опция, ставим её к остальным, а не под название */
  body[class*="product-product"] #product #fc2_container      { order: 8; }
  body[class*="product-product"] #product .dm-total           { order: 9; }
  body[class*="product-product"] #product .button-group-page  { order: 10; }
  body[class*="product-product"] #product .dmc-wrap           { order: 11; }
  body[class*="product-product"] #product .rating             { order: 12; }
  /* [2026-09-14] блоки темы (в том числе «Выбор покупателей») ставим под
     кнопками: первый экран у всех товаров должен начинаться одинаково */
  body[class*="product-product"] #product .product-blocks.blocks-top { order: 13; }

  /* цену показываем один раз - строкой итога над кнопками */
  body[class*="product-product"] #product .dm-cart-price { display: none; }
}

/* Кнопка «Вся коллекция»: разметка и логика сайта, вид по макету.
   [2026-09-13] раньше была таблеткой с тенью и подпрыгивала на наведении. */
body.dm-frame-on a.dm-coll {
  /* колонка - флекс, иначе кнопка растягивается во всю ширину */
  align-self: flex-start;
  border-radius: 14px;
  padding: 13px 20px;
  gap: 10px;
  font-size: 15px !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  transform: none !important;
}

body.dm-frame-on a.dm-coll:hover,
body.dm-frame-on a.dm-coll:focus {
  background: #0F4E5B !important;
  box-shadow: none !important;
  transform: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

body.dm-frame-on a.dm-coll .dm-coll-nm {
  font-weight: 700 !important;
}

/* [2026-09-14] Тема вешает тень на каждый блок колонки покупки: на название,
   на строку поставщика, на цену, на сроки, на опции. В макете теней нет нигде,
   карточки отделяются только рамкой. Снимаем разом.
   Заодно убираем верхний отступ колонки: строка поставщика должна начинаться
   на одной высоте со снимком. */
body[class*="product-product"] .product-info .product-right .product-details {
  padding-top: 0 !important;
}

body[class*="product-product"] .product-info .product-right,
body[class*="product-product"] .product-info .product-right .product-details,
body[class*="product-product"] .product-info .product-right .product-details > *,
body[class*="product-product"] .product-info .product-left,
body[class*="product-product"] .product-info .product-left > * {
  box-shadow: none !important;
}

body[class*="product-product"] .product-image .main-image a.btn-wishlist.dm-fav {
  box-shadow: none !important;
}

/* Цена: чип скидки рядом и строка про НДС под ней. */
body[class*="product-product"] #product .price-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.dm-off {
  display: inline-flex;
  align-items: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 8px;
  background: #C9463B;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}

.dm-vat {
  width: 100%;
  margin-top: 2px;
  font-size: 13px;
  color: #5C6A72;
}

/* Сердечко на снимке: кнопка штатная, её сюда переносит dm-gallery.js. */
body[class*="product-product"] .product-image .main-image a.btn-wishlist.dm-fav {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  z-index: 5;
  width: 44px;
  height: 44px;
  min-width: 0;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border: 1px solid #E3E8EC;
  border-radius: 12px;
  color: #5C6A72;
  font-size: 18px;
}

body[class*="product-product"] .product-image .main-image a.btn-wishlist.dm-fav .btn-text {
  display: none;
}

body[class*="product-product"] .product-image .main-image a.btn-wishlist.dm-fav:hover {
  color: #C9463B;
  border-color: #C9463B;
  background: #FFFFFF;
}

/* строка «в закладки / сравнить» под кнопками: сердечко уехало на снимок */
body[class*="product-product"] #product .wishlist-compare {
  gap: 16px;
}

/* заголовок карточки по макету */
body[class*="product-product"] #product > .title.page-title {
  font-size: 32px;
  font-weight: 600;
  line-height: 1.25;
  color: #1C2529;
  margin: 0;
}

/* строка расчёта доставки: по макету это ссылка под кнопками, а не карточка */
body[class*="product-product"] #product .dmc-wrap {
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
}

body[class*="product-product"] #product .dmc-cap-title {
  display: none;
}

body[class*="product-product"] #product .dmc-btn {
  width: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: #146678;
  font-size: 15px;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body[class*="product-product"] #product .dmc-btn:hover {
  background: transparent;
  color: #0F4E5B;
}

body[class*="product-product"] #product .dmc-hint {
  margin: 0;
  font-size: 13px;
  color: #5C6A72;
  text-align: start;
}

/* Заголовок по макету стоит внутри колонки покупки, а не над двумя колонками.
   У темы есть оба варианта: внешний показан, внутренний скрыт. Меняем местами
   только на широком экране, на телефоне оставляем как было. */
@media (min-width: 992px) {
  body[class*="product-product"] #content > h1.page-title,
  body[class*="product-product"] #content > .title.page-title {
    display: none;
  }

  body[class*="product-product"] #product.product-details > .title.page-title {
    display: block;
  }
}

/* мета-строка темы дублирует нашу (бренд, артикул, SKU) */
#product .product-stats,
#product .custom-stats {
  display: none !important;
}

/* отзывы уезжают вниз страницы, в табы */
#product .rating {
  display: none !important;
}

/* ==================================================================
   Карточка товара по макету «Карточка товара.dc.html».
   Значения взяты из инлайновых стилей макета.
   ================================================================== */

/* мета-строка: бренд, артикул, код, разделители точками */
.dm-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  color: #5C6A72;
}

.dm-meta-brand {
  /* по макету это простой текст, а не чип в рамке */
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #1C2529;
  text-decoration: none;
}

.dm-meta-brand:hover { color: #146678; }

.dm-meta-dot {
  width: 4px;
  height: 4px;
  background: #E3E8EC;
  border-radius: 50%;
  display: inline-block;
}

/* кнопка коллекции: брендовая заливка, высота 48 */
a.dm-collection {
  height: 48px;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 18px;
  background: #146678;
  color: #FFFFFF !important;
  font-size: 15px;
  font-weight: 500;
  border-radius: 8px;
  border: 0;
  text-decoration: none;
}

a.dm-collection:hover { background: #0F4E5B; }
a.dm-collection b { font-weight: 700; }
[dir="rtl"] a.dm-collection .dm-ico:last-child { transform: scaleX(-1); }

/* жёлтая плашка: цена не за весь комплект */
.dm-note-partial {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #FDF6E7;
  border: 1px solid #EBD9AE;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 15px;
  line-height: 1.45;
  color: #1C2529;
}

.dm-note-partial .dm-ico { color: #9A7B1F; }

/* карточка срока доставки с четырьмя признаками */
.dm-delivery-card {
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.dm-delivery-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.dm-delivery-head .dm-ico { color: #146678; }
.dm-delivery-stock .dm-delivery-head .dm-ico { color: #2E7D4F; }

.dm-delivery-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dm-delivery-title {
  font-size: 20px;
  font-weight: 600;
  color: #1C2529;
}

.dm-delivery-note {
  font-size: 15px;
  line-height: 1.45;
  color: #5C6A72;
}

.dm-delivery-line {
  height: 1px;
  background: #E3E8EC;
}

.dm-delivery-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dm-delivery-features span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: #1C2529;
}

.dm-delivery-features .dm-ico { color: #146678; }

/* габариты: иконка в квадрате, подпись и значение */
.dm-dims {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dm-dim {
  flex: 1;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.dm-dim-ico {
  width: 32px;
  height: 32px;
  border: 1.5px solid #146678;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  color: #146678;
}

.dm-dim-text {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  min-width: 0;
}

.dm-dim-label {
  font-size: 13px;
  color: #5C6A72;
}

.dm-dim-value {
  font-size: 17px;
  font-weight: 600;
  color: #1C2529;
  white-space: nowrap;
}

/* кнопки покупки: 56 px, как в макете */
@media (min-width: 992px) {
  body[class*="product-product"] #product .btn-cart {
    min-height: 56px !important;
    font-size: 17px !important;
    border-radius: 8px !important;
  }

  body[class*="product-product"] #product a.dm-act-wa,
  body[class*="product-product"] #product a.dm-act-call {
    min-height: 56px !important;
    font-size: 17px !important;
  }

  body[class*="product-product"] #product .stepper {
    min-height: 56px;
  }
}

/* ==================================================================
   Галерея карточки по макету: превью слева, большое фото в карточке.
   ================================================================== */

/* [2026-09-14] Блоки под снимком (галерея клиентов «Наши товары у вас дома»,
   предупреждение про оттенок) на первом экране не нужны: их переносит вниз
   страницы dm-tabs.js. Раньше они были просто спрятаны, и галерея клиентов
   пропадала вместе с ними. */
@media (min-width: 992px) {
  body[class*="product-product"] #content > .product-blocks.blocks-image {
    display: block;
    margin-top: 40px;
  }

  body[class*="product-product"] #content > .product-blocks.blocks-image .grid-rows,
  body[class*="product-product"] #content > .product-blocks.blocks-image .grid-cols,
  body[class*="product-product"] #content > .product-blocks.blocks-image .grid-col {
    width: 100%;
  }

  /* заголовок блока по макету */
  body[class*="product-product"] #content > .product-blocks.blocks-image .module-title,
  body[class*="product-product"] #content > .product-blocks.blocks-image h3.title {
    font-size: 24px;
    font-weight: 600;
    color: #1C2529;
    margin: 0 0 16px;
    text-align: start;
  }

  /* снимки клиентов квадратами, как в макете */
  body[class*="product-product"] #content > .product-blocks.blocks-image .module-gallery img {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 14px;
    border: 1px solid #E3E8EC;
    background: #FFFFFF;
  }
}

.dm-gallery {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  background: transparent;
}

.dm-gallery-thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dm-gallery-thumb,
.dm-gallery-more {
  width: 88px;
  height: 88px;
  padding: 0;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
  overflow: hidden;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dm-gallery-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dm-gallery-thumb:hover { border-color: #146678; }
.dm-gallery-thumb-active { border-color: #146678; }

.dm-gallery-more {
  flex-direction: column;
  gap: 2px;
  color: #146678;
  font-size: 13px;
  font-weight: 500;
}

/* Главное фото квадратное, как в макете: ширина равна высоте, поэтому внутри
   не остаётся пустых белых полей и не получается плашка в плашке.
   Размер ограничен экраном, чтобы карточка помещалась на мониторе целиком. */
.dm-gallery-main {
  position: relative;
  width: min(100%, 62vh);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  background: #FFFFFF;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  overflow: hidden;
}

.dm-gallery-main img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  cursor: zoom-in;
}

.dm-gallery-off {
  position: absolute;
  top: 16px;
  inset-inline-start: 16px;
  background: #C9463B;
  color: #FFFFFF;
  font-size: 13px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 8px;
}

.dm-gallery-fav {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: #FFFFFF;
  border: 1px solid #E3E8EC;
  color: #5C6A72;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.dm-gallery-fav:hover { color: #C9463B; border-color: #C9463B; }

.dm-gallery-zoom {
  position: absolute;
  bottom: 16px;
  inset-inline-end: 16px;
  height: 36px;
  padding: 0 12px;
  border-radius: 8px;
  background: #FFFFFF;
  border: 1px solid #E3E8EC;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #5C6A72;
  cursor: pointer;
}

.dm-gallery-zoom:hover { color: #146678; border-color: #146678; }

/* просмотр крупно */
.dm-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(28, 37, 41, .8);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
}

.dm-lightbox[hidden] { display: none; }

.dm-lightbox img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 14px;
  background: #FFFFFF;
}

.dm-lightbox-close {
  position: absolute;
  top: 24px;
  inset-inline-end: 32px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 8px;
  background: #FFFFFF;
  color: #1C2529;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

/* Наведение не должно менять ни размер, ни жирность: тема сбрасывает их
   своими правилами, поэтому фиксируем оба состояния явно. */
body.dm-frame-on a.dm-collection,
body.dm-frame-on a.dm-collection:hover,
body.dm-frame-on a.dm-collection:focus {
  font-size: 15px !important;
  font-weight: 500 !important;
}

body.dm-frame-on .dm-gallery-zoom,
body.dm-frame-on .dm-gallery-zoom:hover,
body.dm-frame-on .dm-gallery-zoom:focus,
body.dm-frame-on .dm-gallery-more,
body.dm-frame-on .dm-gallery-more:hover {
  font-size: 13px !important;
  font-weight: 500 !important;
}

body.dm-frame-on .dm-gallery-thumb,
body.dm-frame-on .dm-gallery-thumb:hover,
body.dm-frame-on .dm-gallery-fav,
body.dm-frame-on .dm-gallery-fav:hover {
  font-size: 0 !important;
}

/* Под кнопками тема оставляла два блока. Срок доставки дублирует нашу карточку,
   поэтому скрыт. Ссылка на каталог фабрики полезна, оставляем аккуратной карточкой. */
#product .product_extra-353 {
  display: none !important;
}

#product .product-blocks.blocks-bottom .product_extra-1140 {
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  padding: 16px;
  margin-top: 16px;
}

#product .product-blocks.blocks-bottom .product_extra-1140 .title {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 8px;
}

/* листание в увеличенном виде */
.dm-lightbox-prev,
.dm-lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 52px;
  height: 52px;
  border: 0;
  border-radius: 8px;
  background: #FFFFFF;
  color: #1C2529;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.dm-lightbox-prev { inset-inline-start: 24px; }
.dm-lightbox-next { inset-inline-end: 24px; }
.dm-lightbox-prev .dm-ico { transform: scaleX(-1); }

.dm-lightbox-prev:hover,
.dm-lightbox-next:hover { color: #146678; }

.dm-lightbox-count {
  position: absolute;
  bottom: 24px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  padding: 4px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  color: #1C2529;
  font-size: 13px;
  font-weight: 500;
}

/* ==================================================================
   Галерея темы (превью слева) под макет «Карточка товара».
   [2026-09-13] v2 - одна белая плашка вместо трёх, превью ровными
   квадратами, бейдж чипом, точки листалки убраны, стрелки превью
   вынесены под колонку. Родной просмотрщик с подписями и свайпом
   остаётся рабочим.
   ================================================================== */

@media (min-width: 992px) {
  /* Плашка в карточке ровно одна - у самого фото. Тема рисует ещё две:
     тень на колонке и белую подложку вокруг галереи. Обе снимаем. */
  body[class*="product-product"] .product-info .product-left {
    box-shadow: none !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  body[class*="product-product"] .product-image,
  body[class*="product-product"] .product-image.position-left {
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  /* Раскладку делает сама тема: превью слева, фото справа.
     Мы только сужаем полосу превью до 88 px по макету и возвращаем
     главному фото освободившуюся ширину. Тема резервирует 200 px
     инлайновым стилем, поэтому ширину перебиваем важным правилом. */
  body[class*="product-product"] .product-image.position-left .additional-images {
    width: 88px !important;
    /* тема сдвигала полосу на 10 и 5 px, компенсируя отступ внутри
       превью; отступа больше нет, сдвиг снимаем */
    margin: 0 !important;
  }

  body[class*="product-product"] .product-image.position-left .swiper.main-image {
    width: calc(100% - 104px) !important;
    margin-inline-start: 16px !important;
  }

  body[class*="product-product"] .product-image .main-image {
    position: relative;
    background: #FFFFFF;
    border: 1px solid #E3E8EC;
    border-radius: 14px;
    overflow: hidden;
  }

  body[class*="product-product"] .product-image .main-image .swiper-container,
  body[class*="product-product"] .product-image .main-image .swiper-wrapper,
  body[class*="product-product"] .product-image .main-image .swiper-slide {
    height: 100%;
  }

  body[class*="product-product"] .product-image .main-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  /* Превью: квадраты 88. Тема держит их отступом внутри слайда, а у
     картинки max-width:100%, из-за чего квадрат становился 78 в ширину.
     Отступ снимаем, зазор даёт нижний margin слайда. */
  body[class*="product-product"] .product-image .additional-images .swiper-slide {
    width: 88px !important;
    height: 88px !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  body[class*="product-product"] .product-image .additional-image img,
  body[class*="product-product"] .product-image .additional-images img {
    width: 88px !important;
    height: 88px !important;
    max-width: none !important;
    margin: 0 !important;
    object-fit: cover;
    border: 1px solid #E3E8EC;
    border-radius: 8px;
    background: #FFFFFF;
  }

  body[class*="product-product"] .product-image .additional-images .swiper-slide-thumb-active img,
  body[class*="product-product"] .product-image .additional-images img:hover {
    border-color: #146678;
  }

  /* Точки листалки: в макете их нет, полоса превью листается стрелками. */
  body[class*="product-product"] .product-image .swiper-pagination {
    display: none !important;
  }

  /* Стрелки полосы превью стояли поверх нижнего снимка. Уводим их под
     колонку двумя маленькими кнопками. Место под них оставляет
     dm-gallery.js, он же равняет высоту полосы по фото. */
  body[class*="product-product"] .product-image .additional-images .swiper-buttons {
    pointer-events: none;
  }

  body[class*="product-product"] .product-image .additional-images .swiper-button-prev,
  body[class*="product-product"] .product-image .additional-images .swiper-button-next {
    pointer-events: auto;
    top: auto !important;
    bottom: 0 !important;
    width: 42px !important;
    height: 28px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    background: #FFFFFF !important;
    border: 1px solid #E3E8EC !important;
    border-radius: 8px !important;
    color: #146678 !important;
    opacity: 1;
    /* тема центрует стрелки сдвигом, из-за него они уезжали за колонку */
    transform: none !important;
  }

  body[class*="product-product"] .product-image .additional-images .swiper-button-prev {
    inset-inline-start: 0 !important;
    inset-inline-end: auto !important;
  }

  body[class*="product-product"] .product-image .additional-images .swiper-button-next {
    inset-inline-start: auto !important;
    inset-inline-end: 0 !important;
  }

  body[class*="product-product"] .product-image .additional-images .swiper-button-prev:hover,
  body[class*="product-product"] .product-image .additional-images .swiper-button-next:hover {
    border-color: #146678 !important;
    background: #F7F6F3 !important;
  }

  body[class*="product-product"] .product-image .additional-images .swiper-button-disabled {
    opacity: .35 !important;
    pointer-events: none;
  }

  /* Бейдж поверх фото: чип по содержимому в левом верхнем углу.
     Цвет у каждой метки свой, он приходит из админки, мы его не трогаем:
     красим не саму метку, а только её внутренний блок. */
  body[class*="product-product"] .product-image .product-labels {
    width: auto !important;
    height: auto !important;
    inset-inline-start: 16px;
    inset-inline-end: auto;
    top: 16px;
    align-items: flex-start !important;
    gap: 6px;
  }

  body[class*="product-product"] .product-image .product-label {
    background: transparent !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: start !important;
    justify-content: flex-start !important;
    box-shadow: none !important;
  }

  body[class*="product-product"] .product-image .product-label b {
    border-radius: 8px;
    padding: 4px 10px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.3;
    white-space: nowrap;
  }
}

/* Квадрат главного фото: карусель ставит высоту по картинке, поэтому задаём
   пропорцию контейнеру и растягиваем внутренности на всю его высоту. */
@media (min-width: 992px) {
  body[class*="product-product"] .product-image .swiper.main-image {
    position: relative;
    aspect-ratio: 1 / 1;
    height: auto !important;
    min-height: 0;
    max-height: 62vh;
  }

  /* карусель кладём внутрь квадрата абсолютом: иначе её содержимое
     само задаёт высоту и пропорция 1:1 не держится */
  body[class*="product-product"] .product-image .main-image > .swiper-container {
    position: absolute !important;
    inset: 0;
    height: 100% !important;
    width: 100% !important;
  }

  body[class*="product-product"] .product-image .main-image .swiper-wrapper,
  body[class*="product-product"] .product-image .main-image .swiper-slide {
    height: 100% !important;
  }

  body[class*="product-product"] .product-image .main-image .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  /* высоту полосы превью и место под стрелки считает dm-gallery.js:
     столбик кончается целым квадратом, а не половиной снимка */
}

/* ==================================================================
   [2026-09-14] v2 Опции карточки: все группы строками, как в макете.
   Строка: отметка, снимок, название, справа доплата. Разметку темы не
   трогаем: отметку рисуем на самой строке, штатный переключатель
   остаётся на месте и продолжает работать.
   ================================================================== */

body[class*="product-product"] #product .product-options > div[id^="input-option"],
body[class*="product-product"] #product .product-options .form-group > div[id^="input-option"] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

body[class*="product-product"] #product .product-options .checkbox,
body[class*="product-product"] #product .product-options .radio {
  width: 100%;
  margin: 0;
  padding: 0;
  height: auto !important;
  min-height: 0 !important;
}

body[class*="product-product"] #product .product-options .checkbox label,
body[class*="product-product"] #product .product-options .radio label {
  display: flex;
  /* у строки со снимком тема разворачивает содержимое в столбик */
  flex-direction: row !important;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  width: 100%;
  height: auto !important;
  min-height: 64px;
  /* воздух по краям: подпись и цена не липнут к рамке */
  padding: 14px 20px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  cursor: pointer;
}

body[class*="product-product"] #product .product-options .checkbox label:hover,
body[class*="product-product"] #product .product-options .radio label:hover {
  border-color: #146678;
}

/* отметка: квадрат у галочек, кружок у переключателей */
body[class*="product-product"] #product .product-options .checkbox label::before,
body[class*="product-product"] #product .product-options .radio label::before {
  content: '';
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 1px solid #C9D2D8;
  border-radius: 6px;
  background: #FFFFFF center no-repeat;
  background-size: 14px;
}

body[class*="product-product"] #product .product-options .radio label::before {
  border-radius: 50%;
}

body[class*="product-product"] #product .product-options .checkbox label:has(input:checked),
body[class*="product-product"] #product .product-options .radio label:has(input:checked) {
  border-color: #146678;
  background: #F2F8F9;
}

body[class*="product-product"] #product .product-options .checkbox label:has(input:checked)::before,
body[class*="product-product"] #product .product-options .radio label:has(input:checked)::before {
  border-color: #146678;
  background-color: #146678;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

body[class*="product-product"] #product .product-options .checkbox label img,
body[class*="product-product"] #product .product-options .radio label img {
  flex: 0 0 56px;
  width: 56px !important;
  height: 56px !important;
  margin: 0 !important;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid #E3E8EC;
  background: #FFFFFF;
  box-shadow: none !important;
}

/* тема прячет подпись у опции со снимком и отводит ей 120 px снизу */
body[class*="product-product"] #product .product-options input + img + .option-value {
  display: flex !important;
}

body[class*="product-product"] #product .product-options .checkbox label .option-value,
body[class*="product-product"] #product .product-options .radio label .option-value {
  position: static !important;
  margin: 0 !important;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: auto;
  padding: 0;
  border: 0;
  font-size: 16px;
  font-weight: 500;
  color: #1C2529;
  text-align: start;
}

body[class*="product-product"] #product .product-options .option-price {
  font-size: 16px;
  font-weight: 600;
  color: #1C2529;
  white-space: nowrap;
}

body[class*="product-product"] #product .product-options .form-group > .control-label {
  font-size: 20px;
  font-weight: 600;
  color: #1C2529;
}

body[class*="product-product"] #product .product-options img {
  box-shadow: none !important;
}

/* Характеристики внутри описания: по макету таблица видна всегда. */
.dm-tab-panel .dm-specs {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid #E3E8EC;
}

.dm-tab-panel .dm-specs-title {
  display: block !important;
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
  color: #1C2529;
}

/* ==================================================================
   [2026-09-14] Спокойные цвета вместо тревожного красного.
   Подсветка обязательных опций досталась от старого кода: там всё было
   алым, вплоть до баннера во весь экран. По дизайн-системе это
   предупреждение: #FDF6E7 фон, #EBD9AE рамка, #9A7B1F текст.
   Разметку и логику не трогаем, меняем только цвета.
   ================================================================== */

#product .dm-req-badge {
  background: #FDF6E7 !important;
  color: #9A7B1F !important;
  border-color: #EBD9AE !important;
  font-weight: 500 !important;
}

body #product .dm-req-group.dm-req-error,
body #product .dm-req-group.dm-req-error.dm-req-pulse {
  border: 1px solid #EBD9AE !important;
  border-inline-start: 4px solid #EBD9AE !important;
  background-color: #FDF6E7 !important;
  background-image: none !important;
  box-shadow: none !important;
}

body #product .dm-req-group.dm-req-error .control-label,
body #product .dm-req-group.dm-req-error label.control-label {
  color: #9A7B1F !important;
  font-weight: 600 !important;
}

body #product .dm-req-group.dm-req-error .dm-req-badge {
  background: #9A7B1F !important;
  color: #FFFFFF !important;
  border-color: #9A7B1F !important;
}

#product .dm-req-msg,
.dm-req-banner {
  background: #FDF6E7 !important;
  border: 1px solid #EBD9AE !important;
  color: #9A7B1F !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

#product .dm-req-hint,
#product .dm-req-hint.dm-req-hint-alert {
  background: #FDF6E7 !important;
  border-color: #EBD9AE !important;
  color: #9A7B1F !important;
  font-weight: 500 !important;
}

/* красная звёздочка у обязательных полей */
#product .product-options .control-label:after,
#product .product-options .required .control-label:after,
#product .form-group.required .control-label:after {
  color: #9A7B1F !important;
}

/* ==================================================================
   Плашка срока в цвете своего статуса (дизайн-система).
   ================================================================== */

.dm-delivery-stock {
  background: #EAF3ED;
  border-color: #CFE3D6;
}

.dm-delivery-stock .dm-delivery-head .dm-ico,
.dm-delivery-stock .dm-delivery-title {
  color: #2E7D4F;
}

.dm-delivery-stock .dm-delivery-line { background: #CFE3D6; }

.dm-delivery-soon {
  background: #EAF0F1;
  border-color: #CFE0E3;
}

.dm-delivery-soon .dm-delivery-head .dm-ico,
.dm-delivery-soon .dm-delivery-title {
  color: #146678;
}

.dm-delivery-soon .dm-delivery-line { background: #CFE0E3; }

.dm-delivery-preorder {
  background: #F3F5F6;
  border-color: #E3E8EC;
}

.dm-delivery-preorder .dm-delivery-head .dm-ico,
.dm-delivery-preorder .dm-delivery-title {
  color: #5C6A72;
}

/* ==================================================================
   Характеристики колонкой справа от описания, как в макете.
   ================================================================== */

.dm-tab-panels .dm-tab-panel:has(.dm-specs) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 8px 48px;
  align-items: start;
}

.dm-tab-panel .dm-specs {
  margin: 0;
  padding: 24px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
}

.dm-tab-panel .dm-specs-title {
  display: block !important;
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
  color: #1C2529;
}

.dm-tab-panel .dm-specs .block-content,
.dm-tab-panel .dm-specs .table-responsive {
  padding: 0;
  border: 0;
  background: transparent;
}

.dm-tab-panel .dm-specs table {
  width: 100%;
  border: 0;
  margin: 0;
}

.dm-tab-panel .dm-specs table td {
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #E3E8EC;
  font-size: 15px;
  line-height: 1.4;
  vertical-align: top;
}

.dm-tab-panel .dm-specs table tbody tr td:first-child {
  width: 45%;
  color: #5C6A72;
}

.dm-tab-panel .dm-specs table tbody tr td:last-child {
  font-weight: 500;
  color: #1C2529;
  text-align: end;
}

/* серые строки-заголовки групп внутри таблицы */
.dm-tab-panel .dm-specs table thead td {
  padding: 18px 0 8px;
  background: transparent !important;
  border-bottom: 1px solid #E3E8EC;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #5C6A72;
}

.dm-tab-panel .dm-specs table thead:first-child td {
  padding-top: 0;
}

@media (max-width: 991px) {
  .dm-tab-panels .dm-tab-panel:has(.dm-specs) {
    display: block;
  }

  .dm-tab-panel .dm-specs {
    margin-top: 24px;
  }
}

/* Описание: текст лежит на фоне страницы, белую подложку темы снимаем.
   Заголовки разделов по макету: «Описание» 24, «Характеристики» 20. */
.dm-tab-panel .block-body,
.dm-tab-panel .block-wrapper,
.dm-tab-panel .block-content {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.dm-tab-panel .dm-specs .block-content {
  background: transparent !important;
}

.dm-tab-panel > .title,
.dm-tab-panel > h3.title {
  display: block !important;
  /* панель — сетка в две колонки, заголовок идёт над обеими */
  grid-column: 1 / -1;
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.25;
  color: #1C2529;
  text-align: start;
}

.dm-tab-panel .block-content p,
.dm-tab-panel .block-content li {
  font-size: 17px;
  line-height: 1.6;
  color: #1C2529;
}

.dm-tab-panel .block-content p {
  margin: 0 0 14px;
}

/* строка-калькулятор в плашке срока и сноска про склад поставщика */
.dm-delivery-features .dm-feat-calc {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  font-family: inherit;
  font-size: 15px;
  font-weight: 400;
  color: #146678;
  text-align: start;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.dm-delivery-features .dm-feat-calc:hover,
.dm-delivery-features .dm-feat-calc:focus {
  color: #0F4E5B;
  font-size: 15px;
  font-weight: 400;
}

.dm-delivery-features .dm-feat-calc .dm-ico {
  color: #146678;
  flex: 0 0 auto;
}

.dm-delivery-star {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.45;
  color: #5C6A72;
}

/* ==================================================================
   [2026-09-14] Кнопки покупки по макету: количество, «В корзину» и
   «Заказать в WhatsApp» стоят одной строкой, под ними ссылка на расчёт
   доставки. Лишнего не показываем: цена уже есть строкой итога выше,
   телефон — в шапке, сравнение в макете не предусмотрено.
   ================================================================== */
@media (min-width: 992px) {
  body[class*="product-product"] #product .dm-cart-price {
    display: none !important;
  }

  body[class*="product-product"] #product .button-group-page .stepper-group.cart-group {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
  }

  body[class*="product-product"] #product .button-group-page .stepper {
    flex: 0 0 auto;
    margin: 0 !important;
  }

  body[class*="product-product"] #product .button-group-page #button-cart.btn-cart {
    flex: 1 1 220px;
    margin: 0 !important;
  }

  body[class*="product-product"] #product .button-group-page .dm-act {
    flex: 1 1 240px;
    display: flex;
    align-self: center;
    align-items: center;
    gap: 12px;
    margin: 0 !important;
  }

  body[class*="product-product"] #product .button-group-page .dm-act-call {
    display: none !important;
  }

  body[class*="product-product"] #product .button-group-page .dm-act-wa {
    flex: 1;
    height: 56px !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  body[class*="product-product"] #product .wishlist-compare {
    display: none;
  }
}

/* ==================================================================
   [2026-09-14] Белая карточка покупки: итог, кнопки и расчёт доставки
   лежат вместе, как в макете. Собирает её dm-total.js, здесь оформление.
   ================================================================== */
@media (min-width: 992px) {
  body[class*="product-product"] #product .dm-buy {
    order: 9;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    border: 1px solid #E3E8EC;
    border-radius: 14px;
    background: #FFFFFF;
  }

  body[class*="product-product"] #product .dm-buy .dm-total {
    margin: 0;
    padding: 0;
    background: transparent;
  }

  body[class*="product-product"] #product .dm-buy .button-group-page,
  body[class*="product-product"] #product .dm-buy .dmc-wrap {
    margin: 0;
    padding: 0;
  }

  body[class*="product-product"] #product .dm-buy .dmc-wrap {
    width: 100%;
  }
}

/* значок WhatsApp был зелёным на зелёном */
.dm-act-wa svg,
.dm-act-wa svg path {
  fill: #FFFFFF !important;
}

/* подписи кнопок ровно как в макете, без капса */
body[class*="product-product"] #product #button-cart,
body[class*="product-product"] #product #button-cart:hover,
body[class*="product-product"] #product #button-cart:focus,
body[class*="product-product"] #product #button-cart .btn-text {
  text-transform: none !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: normal !important;
}

body.dm-frame-on a.dm-act-wa,
body.dm-frame-on a.dm-act-wa:hover,
body.dm-frame-on a.dm-act-wa:focus,
body.dm-frame-on a.dm-act-wa .dm-act-t {
  font-size: 17px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

/* ==================================================================
   Полоса вкладок: белая лента во всю ширину окна, текст по сетке
   страницы, под ней отступ 40, как в макете.
   ================================================================== */
@media (min-width: 992px) {
  body.dm-frame-on .dm-tabs {
    width: 100vw;
    margin-inline-start: calc(50% - 50vw);
    margin-block: 40px 0;
    padding-inline: max(clamp(16px, 3vw, 40px), calc(50vw - 620px));
    gap: 0 32px;
  }

  body.dm-frame-on .dm-tab-panels {
    padding-top: 40px;
  }
}

/* ==================================================================
   [2026-09-14] Выбор ткани — такая же опция, как остальные: строка во
   всю ширину, белая, с рамкой, без тени и серой заливки темы.
   Окно с тканями открывает штатный скрипт, его не трогаем.
   ================================================================== */
body[class*="product-product"] #product .fc2.dm-req-group {
  display: flex;
  flex-direction: column;
  /* строка тянется во всю ширину, значок «обязательно» остаётся по левому краю */
  align-items: stretch;
  gap: 10px;
}

body[class*="product-product"] #product .fc2 .dm-req-badge {
  align-self: flex-start;
  height: auto;
}

body[class*="product-product"] #product .fc2 .btn-wrap {
  /* у ткани ширина была ограничена половиной колонки */
  width: 100%;
  max-width: none !important;
}

body[class*="product-product"] #product .fc2 .btn-wrap a.btn,
body[class*="product-product"] #product .fc2 .btn-wrap a.btn:hover,
body[class*="product-product"] #product .fc2 .btn-wrap a.btn:focus {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  width: 100%;
  min-height: 64px;
  height: auto;
  padding: 14px 20px;
  border: 1px solid #E3E8EC !important;
  border-radius: 14px !important;
  /* [2026-09-14] Выбранную ткань скрипт показывает фоновой картинкой на самой
     кнопке. Поэтому меняем только цвет фона, а картинку ставим слева
     квадратом: тогда выбранная ткань видна и обновляется сама. */
  /* картинку ткани переносим в квадрат, у самой строки фона нет */
  background-color: #FFFFFF !important;
  background-image: none !important;
  box-shadow: none !important;
  color: #1C2529 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  text-align: start;
}

[dir="rtl"] body[class*="product-product"] #product .fc2 .btn-wrap a.btn {
  background-position: right 20px center !important;
}

body[class*="product-product"] #product .fc2 .btn-wrap a.btn:hover {
  border-color: #146678 !important;
  color: #146678 !important;
}

/* Строка ткани: квадрат выбранной ткани, её название, кнопка с палитрой.
   Содержимое собирает dm-frame.js из того, что печатает скрипт выбора. */
.dm-fab-swatch {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #F7F6F3 center/cover no-repeat;
}

.dm-fab-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dm-fab-cap {
  font-size: 13px;
  font-weight: 400;
  color: #5C6A72;
}

.dm-fab-name {
  font-size: 16px;
  font-weight: 500;
  color: #1C2529;
}

.dm-fab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 16px;
  border: 1px solid #146678;
  border-radius: 8px;
  color: #146678;
  font-size: 15px;
  font-weight: 500;
  white-space: nowrap;
}

body[class*="product-product"] #product .fc2 .btn-wrap a.btn:hover .dm-fab-btn {
  background: #F2F8F9;
}

body[class*="product-product"] #product #fc2_container hr {
  display: none;
}

body[class*="product-product"] #product #fc2_container h3 {
  font-size: 20px;
  font-weight: 600;
  color: #1C2529;
  margin: 0 0 12px;
}

/* [2026-09-14] Примечание про оттенок на мониторе: мелкой строкой под
   каталожными снимками, а не отдельным блоком. */
body[class*="product-product"] .product-left .dm-photo-note {
  margin-top: 12px;
}

body[class*="product-product"] .product-left .dm-photo-note,
body[class*="product-product"] .product-left .dm-photo-note span,
body[class*="product-product"] .product-left .dm-photo-note div,
body[class*="product-product"] .product-left .dm-photo-note p {
  font-size: 12px !important;
  line-height: 1.45;
  color: #5C6A72 !important;
}

body[class*="product-product"] .product-left .dm-photo-note .block-body,
body[class*="product-product"] .product-left .dm-photo-note .block-wrapper,
body[class*="product-product"] .product-left .dm-photo-note .block-content {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Снимки клиентов вдвое мельче: по макету это лента квадратиков. */
@media (min-width: 992px) {
  body[class*="product-product"] #content > .product-blocks.blocks-image .module-gallery .module-item {
    width: 104px !important;
    height: 104px !important;
  }

  body[class*="product-product"] #content > .product-blocks.blocks-image .module-gallery .module-body {
    flex-wrap: wrap;
    gap: 12px;
    width: auto !important;
    height: auto !important;
  }
}

/* [2026-09-14] Калькулятор отдельной карточкой под покупкой: заголовок,
   кнопка и обещание про окончательную цену. Подписи меняются по товару:
   фильтры ставят, матрасы привозят, мебель собирают. */
body[class*="product-product"] #product .dm-buy .dmc-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  margin-top: 4px !important;
  padding-top: 16px !important;
  border-top: 1px solid #E3E8EC;
}

body[class*="product-product"] #product .dm-buy .dmc-cap-title {
  display: block;
  padding: 0;
  background: transparent;
  border: 0;
  font-size: 17px;
  font-weight: 600;
  color: #1C2529;
}

body[class*="product-product"] #product .dm-buy .dmc-hint {
  display: block;
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: #5C6A72;
}

body[class*="product-product"] #product .dm-buy .dmc-btn,
body[class*="product-product"] #product .dm-buy .dmc-btn:hover,
body[class*="product-product"] #product .dm-buy .dmc-btn:focus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 48px;
  padding: 0 20px;
  border: 1px solid #146678;
  border-radius: 8px;
  background: #FFFFFF;
  color: #146678 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  text-decoration: none;
  cursor: pointer;
}

body[class*="product-product"] #product .dm-buy .dmc-btn:hover {
  background: #F2F8F9;
}

body[class*="product-product"] #product .dm-buy .dmc-btn svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
}

/* [2026-09-14] Секция «С этим товаром покупают» под карточкой. */
@media (min-width: 992px) {
  body[class*="product-product"] #content > .dm-also {
    display: block;
    margin-top: 40px;
  }

  body[class*="product-product"] #content > .dm-also .module-products {
    width: 100%;
  }

  body[class*="product-product"] #content > .dm-also .dm-also-title {
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: 600;
    color: #1C2529;
    text-align: start;
  }

  body[class*="product-product"] #content .module-products-262 .tab-container > .nav-tabs {
    display: none !important;
  }
}

@media (min-width: 992px) {
  body[class*="product-product"] #content > .dm-also .product-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
  }

  body[class*="product-product"] #content > .dm-also .product-layout {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
    padding: 0 !important;
  }
}

/* ==================================================================
   [2026-09-14] Невысокие экраны (ноутбуки от 800 px): сжимаем ритм,
   чтобы кнопка «В корзину» оставалась ближе к первому экрану.
   Содержимое не режем, меняются только отступы.
   ================================================================== */
@media (min-width: 992px) and (max-height: 900px) {
  body[class*="product-product"] #product.product-details {
    gap: 14px;
  }

  body[class*="product-product"] #product > .title.page-title {
    font-size: 28px;
  }

  body[class*="product-product"] #product a.dm-coll {
    padding: 10px 18px;
  }

  body[class*="product-product"] .dm-delivery-card {
    padding: 14px 16px;
    gap: 10px;
  }

  body[class*="product-product"] .dm-delivery-features {
    gap: 8px;
  }

  body[class*="product-product"] .dm-dim {
    padding: 8px 12px;
  }

  body[class*="product-product"] .dm-note-partial {
    padding: 10px 12px;
  }
}

/* ==================================================================
   [2026-09-14] «С этим товаром покупают»: белая лента во всю ширину,
   карточки мельче, ряд прокручивается стрелками.
   ================================================================== */
@media (min-width: 992px) {
  body[class*="product-product"] #content > .dm-also {
    position: relative;
    width: 100vw;
    margin-inline-start: calc(50% - 50vw);
    margin-top: 40px;
    padding: 32px max(clamp(16px, 3vw, 40px), calc(50vw - 620px));
    background: #FFFFFF;
    border-top: 1px solid #E3E8EC;
    border-bottom: 1px solid #E3E8EC;
  }

  body[class*="product-product"] #content > .dm-also .product-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline-start: 0;
    padding-bottom: 8px;
    scrollbar-width: thin;
  }

  body[class*="product-product"] #content > .dm-also .product-layout {
    flex: 0 0 200px !important;
    width: 200px !important;
    max-width: 200px !important;
    scroll-snap-align: start;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .image,
  body[class*="product-product"] #content > .dm-also .product-thumb .product-img {
    height: 180px !important;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .image img {
    height: 100% !important;
    object-fit: contain;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .name a {
    font-size: 14px !important;
    line-height: 1.35;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .price {
    font-size: 16px !important;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .caption {
    padding: 10px 12px !important;
  }

  /* Стрелки ленты: крупные, по краям блока, полупрозрачные. */
  .dm-also-nav button {
    position: absolute;
    /* без transform: общее правило снимает его на наведении, и стрелка прыгала */
    top: calc(50% - 28px);
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E3E8EC;
    border-radius: 50%;
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(2px);
    color: #146678;
    cursor: pointer;
    z-index: 3;
  }

  .dm-also-nav button:hover {
    background: #FFFFFF;
    border-color: #146678;
  }

  .dm-also-nav .dm-also-prev {
    inset-inline-start: 12px;
  }

  .dm-also-nav .dm-also-next {
    inset-inline-end: 12px;
  }

  .dm-also-nav .dm-also-prev .dm-ico {
    transform: scaleX(-1);
  }

  [dir="rtl"] .dm-also-nav .dm-also-prev .dm-ico {
    transform: none;
  }

  [dir="rtl"] .dm-also-nav .dm-also-next .dm-ico {
    transform: scaleX(-1);
  }

  /* Карточка в ленте: кнопки внутри плашки, во всю ширину. */
  body[class*="product-product"] #content > .dm-also .product-thumb {
    display: flex;
    flex-direction: column;
    height: 100%;
    border-radius: 14px;
    overflow: hidden;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .caption {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex: 1;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .buttons-wrapper {
    /* тема показывает кнопку поверх снимка и только на наведении,
       в ленте она нужна всегда и в потоке */
    position: static !important;
    order: 9;
    width: 100%;
    margin: 0;
    padding: 0;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    max-height: none !important;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .button-group,
  body[class*="product-product"] #content > .dm-also .product-thumb .cart-group {
    width: 100%;
    display: flex;
    gap: 8px;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .btn-cart {
    flex: 1;
    width: 100% !important;
    min-width: 0;
    height: 36px !important;
    border-radius: 8px !important;
    background: #146678 !important;
    border-color: #146678 !important;
    color: #FFFFFF !important;
    font-size: 13px !important;
    text-transform: none !important;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .btn-cart .btn-text {
    font-size: 13px !important;
    text-transform: none !important;
    color: #FFFFFF !important;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .dm-wa-cat {
    position: static !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    max-width: 100%;
    height: 34px;
    margin: 0;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 12px !important;
    white-space: nowrap;
    overflow: hidden;
  }

  body[class*="product-product"] #content > .dm-also .dm-term {
    font-size: 11px !important;
    padding: 3px 8px !important;
    white-space: nowrap;
  }

  body[class*="product-product"] #content > .dm-also .product-thumb .btn-wishlist,
  body[class*="product-product"] #content > .dm-also .product-thumb .btn-compare,
  body[class*="product-product"] #content > .dm-also .product-thumb .btn-quickview {
    display: none !important;
  }

  /* Заголовок блока фотографий клиентов по дизайн-системе */
  body[class*="product-product"] #content > .product-blocks.blocks-image .title-module h3,
  body[class*="product-product"] #content > .product-blocks.blocks-image .title-wrapper h3 {
    font-size: 24px !important;
    font-weight: 600 !important;
    color: #1C2529 !important;
    margin: 0 0 4px;
    text-align: start;
  }
}

/* ==================================================================
   [2026-09-14] «Состав комплекта»: модули этой же коллекции, каждый
   можно заказать отдельно. Данные берутся по дереву категорий.
   ================================================================== */
.dm-set {
  margin: 40px 0 0;
}

.dm-set-head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 20px;
}

.dm-set-head h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #1C2529;
}

.dm-set-head span {
  font-size: 13px;
  color: #5C6A72;
}

.dm-set-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.dm-set-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  color: #1C2529;
  text-decoration: none;
}

.dm-set-card:hover {
  border-color: #146678;
}

.dm-set-pic {
  display: block;
  position: relative;
  height: 120px;
  border-radius: 8px;
  overflow: hidden;
  background: #F7F6F3;
}

.dm-set-pic img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* [2026-09-29] Имя предмета комплекта показываем целиком: обрезка по двум
   строкам давала «Витрина TOLEDO -…» */
.dm-set-name {
  font-size: 14px;
  line-height: 1.35;
  min-height: 38px;
}

.dm-set-price {
  font-size: 16px;
  font-weight: 600;
}

@media (max-width: 1279px) {
  .dm-set-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 991px) {
  .dm-set-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* [2026-09-15] Состав комплекта: квадратные карточки и поля по бокам,
   чтобы кнопка доступности не наезжала на плитку. */
@media (min-width: 992px) {
  body[class*="product-product"] #content > .dm-set {
    padding-inline: max(0px, calc(84px - max(0px, (100vw - 1320px) / 2)));
  }

  .dm-set-pic {
    height: auto;
    aspect-ratio: 1 / 1;
  }

  /* второй блок товаров внизу («Того же бренда») в макете не предусмотрен */
  /* [2026-09-15] правило сузили до блока сопутствующих: в той же обёртке
     живёт модуль «Вы смотрели», и он пропадал вместе с лишними вкладками */
  body[class*="product-product"] #content .module-products-262 .nav-tabs,
  body[class*="product-product"] #content .module-products-262 .tab-pane:nth-child(n+2) {
    display: none !important;
  }
}

/* кнопка «Все фото» под снимками клиентов */
.dm-photo-hidden { display: none !important; }

.dm-photos-more {
  margin-top: 12px;
  height: 44px;
  padding: 0 20px;
  border: 1px solid #146678;
  border-radius: 8px;
  background: #FFFFFF;
  color: #146678;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
}

.dm-photos-more:hover { background: #F2F8F9; }

/* [2026-09-15] Модуль просмотренных вернули теме как был: свои вкладки,
   свой порядок. Мы его не трогаем. */

/* [2026-09-15] Пустая полоса «bottom» под лентой сопутствующих: тема держит
   ряд-заготовку без содержимого, он давал две пустые колонки перед подвалом. */
body[class*="product-product"] .bottom.top-row:not(:has(img)):not(:has(a)):not(:has(p)) {
  display: none !important;
}

/* строка размеров в карточке состава комплекта */
.dm-set-dims {
  font-size: 13px;
  color: #5C6A72;
  margin-top: -4px;
}

/* строка «цена за комплект из N модулей»: всегда под ценой и чипом скидки */
body[class*="product-product"] #product .price-group .dm-set-note {
  order: 9;
}

.dm-set-note {
  width: 100%;
  flex: 0 0 100%;
  text-align: start;
  margin-top: 4px;
  font-size: 13px;
  color: #5C6A72;
}

/* [2026-09-16] Обложки коллекций широкие (2000×1100), в квадрате оставалось
   пустое место. В плитке новинок держим их пропорцию и кадрируем по ширине. */
.dm-fresh .dm-set-pic {
  aspect-ratio: 16 / 9;
  height: auto;
}

.dm-fresh .dm-set-pic img {
  object-fit: cover;
}

/* [2026-09-23] Сколько таких модулей в наборе: три одинаковые витрины это одна
   карточка, поэтому количество ставим пометкой у названия. */
.dm-set-qty {
  position: absolute;
  inset-block-start: 6px;
  inset-inline-start: 6px;
  padding: 2px 8px;
  border-radius: 10px;
  background: #5C6A72;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
}

/* ============================================================
   [2026-09-23] Блок описания товара по макету дизайнера
   (description-desktop-1440.png, description-mobile-390@2x.png).
   Слева колонка текста не шире 720, справа липкая карточка
   характеристик. Содержимое описаний не переписывалось: разметку
   раскладывает dm-frame.js, здесь только оформление.
   ============================================================ */

/* панель описания: ширины колонок задаёт правило .dm-tab-panel:has(.dm-specs),
   здесь только карточка характеристик во второй колонке */
.dm-desc > .dm-spec {
  position: sticky;
  top: 16px;
  align-self: start;
}

.dm-desc .block-content {
  max-width: 720px;
}

.dm-desc h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  color: #1C2529;
}

.dm-desc h3 {
  margin: 36px 0 12px;
  padding: 0;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
  color: #1C2529;
  border: 0;
}

.dm-desc p {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.6;
  color: #1C2529;
}

/* вводный абзац крупнее: он держит первый экран описания */
.dm-desc .dm-chips + p,
.dm-desc h2 + p {
  margin-top: 24px;
  font-size: 20px;
  line-height: 1.5;
}

/* --- чипы-якоря на подзаголовки --- */

.dm-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.dm-chip {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 12px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  line-height: 1;
  color: #1C2529;
  white-space: nowrap;
  text-decoration: none;
}

.dm-chip:hover {
  border-color: #146678;
  color: #146678;
}

/* --- список «что понравится»: галочки вместо маркеров --- */

.dm-desc ul {
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}

.dm-desc ul li {
  position: relative;
  margin-bottom: 10px;
  padding-inline-start: 32px;
  font-size: 17px;
  line-height: 1.6;
}

.dm-desc ul li::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 3px;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%232E7D4F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center;
}

/* --- плашка про оплату сборки и доставки: жёлтая только она --- */

.dm-desc p.dm-note {
  position: relative;
  margin: 24px 0;
  padding: 14px 16px;
  padding-inline-start: 46px;
  border: 1px solid #EBD9AE;
  border-radius: 8px;
  background: #FDF6E7;
  font-size: 15px;
  line-height: 1.5;
}

.dm-desc p.dm-note::before {
  content: '';
  position: absolute;
  inset-inline-start: 16px;
  top: 15px;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%239A7B1F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12V7H5a2 2 0 0 1 0-4h14v4'/%3E%3Cpath d='M3 5v14a2 2 0 0 0 2 2h16v-5'/%3E%3Cpath d='M18 12a2 2 0 0 0 0 4h4v-4Z'/%3E%3C/svg%3E") no-repeat center;
}

/* --- частые вопросы --- */

.dm-desc h3.dm-faq-title {
  margin-top: 36px;
}

.dm-faq {
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

.dm-faq details + details {
  border-top: 1px solid #E3E8EC;
}

.dm-faq summary {
  position: relative;
  padding: 18px 52px 18px 20px;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
  color: #1C2529;
  cursor: pointer;
  list-style: none;
}

.dm-faq summary::-webkit-details-marker { display: none; }

.dm-faq summary::after {
  content: '';
  position: absolute;
  inset-inline-end: 20px;
  top: 19px;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235C6A72' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E") no-repeat center;
}

.dm-faq details[open] summary::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23146678' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}

.dm-faq-answer {
  padding: 0 20px 18px;
  font-size: 15px;
  line-height: 1.6;
  color: #5C6A72;
}

.dm-faq-answer p { font-size: 15px; color: #5C6A72; }

/* --- гео-строка: без заливки и полосы --- */

.dm-desc p.dm-geo {
  position: relative;
  margin: 28px 0 0;
  padding: 16px 0;
  padding-inline-start: 30px;
  border-top: 1px solid #E3E8EC;
  background: none;
  border-radius: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #5C6A72;
}

.dm-desc p.dm-geo::before {
  content: '';
  position: absolute;
  inset-inline-start: 0;
  top: 17px;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235C6A72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center;
}

/* --- карточка характеристик --- */



.dm-spec {
  padding: 24px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

.dm-spec-title {
  font-size: 20px;
  font-weight: 600;
  color: #1C2529;
}

.dm-spec-group {
  margin-top: 20px;
  font-size: 13px;
  font-weight: 600;
  color: #5C6A72;
}

.dm-spec-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-bottom: 1px solid #E3E8EC;
}

.dm-spec-row:last-child { border-bottom: 0; }

.dm-spec-name {
  font-size: 15px;
  color: #5C6A72;
  white-space: nowrap;
}

.dm-spec-value {
  font-size: 15px;
  color: #1C2529;
  text-align: end;
}

.dm-spec-cubes {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}

.dm-spec-cube {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 10px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
}

.dm-spec-cube-name { font-size: 13px; color: #5C6A72; }
.dm-spec-cube-value { font-size: 17px; font-weight: 600; color: #1C2529; }

.dm-spec-unit {
  margin-top: 6px;
  font-size: 13px;
  color: #5C6A72;
  text-align: center;
}

/* карточка, если скрипт не отработал: не разваливаем страницу */
.blocks-default > .dm-spec {
  max-width: 400px;
  margin: 0 0 24px;
}

/* --- телефон --- */

@media (max-width: 767px) {
  .dm-desc {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .dm-desc { max-width: none; }
  .dm-desc h2 { font-size: 20px; }
  .dm-desc h3 { margin-top: 24px; font-size: 17px; }
  .dm-desc p { font-size: 15px; }
  .dm-desc .dm-chips + p,
  .dm-desc h2 + p { font-size: 17px; }
  .dm-desc ul li { font-size: 15px; }

  /* чипы лентой, полосу прокрутки не показываем */
  .dm-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-inline: -16px;
    padding-inline: 16px;
  }

  .dm-chips::-webkit-scrollbar { display: none; }
  .dm-chip { height: 44px; }

  .dm-faq summary { padding: 16px 52px 16px 16px; min-height: 44px; font-size: 16px; }
  .dm-faq-answer { padding: 0 16px 16px; }

  /* характеристики сворачиваются и стоят под первым абзацем */
  .dm-spec-drop {
    margin: 20px 0 24px;
    border: 1px solid #E3E8EC;
    border-radius: 14px;
    background: #fff;
  }

  .dm-spec-drop > summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 52px;
    padding: 0 48px 0 16px;
    font-size: 17px;
    font-weight: 600;
    color: #1C2529;
    cursor: pointer;
    list-style: none;
  }

  .dm-spec-drop > summary::-webkit-details-marker { display: none; }

  .dm-spec-drop > summary::after {
    content: '';
    position: absolute;
    inset-inline-end: 16px;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235C6A72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat center;
  }

  .dm-spec-drop[open] > summary::after { transform: rotate(180deg); }

  .dm-spec-drop .dm-spec {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 0 16px 16px;
  }

  .dm-spec-drop .dm-spec-title { display: none; }
}

/* --- иврит --- */

[dir="rtl"] .dm-spec-value { text-align: start; }
[dir="rtl"] .dm-faq summary { padding: 18px 20px 18px 52px; }
[dir="rtl"] .dm-spec-cube-value { direction: ltr; }

/* [2026-09-23] Правки после первой примерки на карточке.
   Родной модуль темы «Технические характеристики» прячем: ту же таблицу
   собирает карточка .dm-spec, и по макету она одна. Заголовок модуля
   «Описание» тоже лишний — вкладка уже так называется. */
/* .product_extra-330 — родные «Технические характеристики», показываем */

.dm-desc .module-title { display: none; }

.dm-desc .product-blocks,
.dm-desc .product_extra,
.dm-desc .block-body,
.dm-desc .block-wrapper {
  display: block;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}

.dm-desc .block-content {
  max-width: 720px;
}

.dm-desc .expand-block { max-height: none; }
.dm-desc .block-expand-overlay { display: none; }

@media (max-width: 767px) {
  .dm-desc .block-content { max-width: none; }
}

/* [2026-09-23] Модуль описания приходит с шириной колонки темы: внутри нашей
   сетки она не нужна, иначе текст сжимается в узкий столбик. */
.dm-desc > [class*="product_extra-"],
.dm-desc .dm-tab-panel,
.dm-desc .block-body,
.dm-desc .block-wrapper {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  float: none !important;
}

.dm-desc .block-content {
  width: auto;
  max-width: 720px;
}

/* заголовок модуля внутри панели не нужен: вкладка уже называется «Описание» */
.dm-desc .title.module-title,
.dm-desc .dm-specs-title { display: none !important; }

/* родная таблица характеристик остаётся на месте: сравниваем её с новой
   карточкой, решение по ней за Светланой (23.09) */

/* [2026-09-23] Пока в панели стоят обе таблицы, новая карточка идёт над родной. */
.dm-desc > .dm-spec { margin-bottom: 16px; }
.dm-desc .dm-specs { margin-top: 0; }

/* [2026-09-23] Обе карточки характеристик держим во второй колонке: без этого
   третий элемент сетки уходит в новый ряд под текст. */
.dm-desc > .dm-desc-side {
  grid-column: 2;
  position: sticky;
  top: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-self: start;
}

.dm-desc-side .dm-spec,
.dm-desc-side .dm-specs { margin: 0; }

/* [2026-09-23] Размер чипов задаёт тема (в панели описания у ссылок свой
   размер 17), поэтому наш 13 не доезжал: чипы выходили втрое крупнее макета.
   Держим макет жёстко. */
.dm-desc .dm-chips .dm-chip {
  height: 32px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.dm-desc .dm-chips { gap: 8px !important; margin-top: 20px; }

@media (max-width: 767px) {
  .dm-desc .dm-chips .dm-chip {
    height: 44px !important;   /* палец, а не курсор */
    font-size: 13px !important;
  }
}

/* [2026-09-23] Родная таблица характеристик: значения обычным начертанием,
   жирные только числа размеров (решение Светланы). Точность правил подобрана
   под правило темы от 14.09, иначе не перебивает. */
.dm-tab-panel .dm-specs table tbody tr td:last-child,
.dm-tab-panel .dm-specs table tbody tr td strong,
.dm-tab-panel .dm-specs table tbody tr td b {
  font-weight: 400;
}

.dm-tab-panel .dm-specs table tbody.dm-specs-dims tr td:last-child {
  font-weight: 600;
}

.dm-tab-panel .dm-specs table tbody.dm-specs-dims tr td:first-child {
  font-weight: 400;
}

/* [2026-09-23] «Европейские новинки»: плитки коллекций были по шесть в ряд и
   читались мелко. Ставим по четыре — кадр и подпись крупнее. Сам блок состава
   комплекта на карточке товара остаётся по шесть. */
.dm-fresh.dm-set-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.dm-fresh .dm-set-name {
  font-size: 16px;
  font-weight: 600;
}

.dm-fresh .dm-set-dims {
  font-size: 14px;
}

@media (max-width: 1279px) {
  .dm-fresh.dm-set-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
  .dm-fresh.dm-set-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
  .dm-fresh.dm-set-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ============================================================
   [2026-09-23] Плитка товара в каталоге по макету
   («Каталог уровни 4-5»: четыре в ряд, gap 20, карточка белая,
   рамка #E3E8EC, радиус 14, кадр 220, имя 15/1.4, цена 20/700,
   бейдж срока и кнопка на всю ширину внизу).
   Плитка одна на весь сайт: каталог, коллекция, цвет, поиск.
   ============================================================ */

/* Раскладку списка делает тема (у неё свои проценты и брейкпоинты).
   Мы задаём только ширину колонки: по макету четыре в ряд. */
.main-products.product-grid .product-layout {
  width: 25%;
  max-width: 25%;
  flex: 0 0 25%;
}

.main-products.product-grid .product-thumb {
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
  box-shadow: none;
}



.main-products.product-grid .product-thumb .caption {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  padding: 14px;
  text-align: start;
}

/* порядок по макету: поставщик, имя, размеры, цена, срок, кнопки */
.main-products.product-grid .caption .stats { order: 1; margin: 0; }
.main-products.product-grid .caption .name { order: 2; margin: 0; }
.main-products.product-grid .caption .price { order: 4; margin: 0; }
.main-products.product-grid .caption .dm-term { order: 5; margin: 0; }
.main-products.product-grid .caption .buttons-wrapper { order: 6; margin-top: auto; }

/* лишнее в плитке: отзывные звёзды, кусок описания, счётчик количества,
   избранное и сравнение — в макете их нет */
.main-products.product-grid .caption .description,
.main-products.product-grid .caption .rating,
.main-products.product-grid .caption .stepper,
.main-products.product-grid .caption .wish-group {
  display: none !important;
}

.main-products.product-grid .caption .stats .stat-1 {
  font-size: 13px;
  color: #5C6A72;
}

.main-products.product-grid .caption .stats .stat-2 {
  order: 3;
  font-size: 13px;
  color: #5C6A72;
}

.main-products.product-grid .caption .stats {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.main-products.product-grid .caption .stats .stats-label { display: none; }

.main-products.product-grid .caption .name a {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  color: #1C2529;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
}

.main-products.product-grid .caption .price {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.main-products.product-grid .caption .price-new,
.main-products.product-grid .caption .price > span:not(.price-old) {
  font-size: 20px;
  font-weight: 700;
  color: #1C2529;
}

.main-products.product-grid .caption .price-old {
  font-size: 14px;
  color: #5C6A72;
}

/* кнопка на всю ширину, как в макете */
.main-products.product-grid .caption .button-group,
.main-products.product-grid .caption .cart-group {
  display: block;
  width: 100%;
}

.main-products.product-grid .caption .btn-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 44px;
  border-radius: 8px;
  background: #146678;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}

.main-products.product-grid .caption .dm-wa-cat {
  width: 100%;
  height: 36px;
  margin-top: 8px;
  font-size: 13px;
}

@media (max-width: 1279px) {
  .main-products.product-grid .product-layout {
    width: 33.333%; max-width: 33.333%; flex: 0 0 33.333%;
  }
}

@media (max-width: 991px) {
  .main-products.product-grid .product-layout {
    width: 50%; max-width: 50%; flex: 0 0 50%;
  }

}

@media (max-width: 575px) {
  .main-products.product-grid .caption { padding: 12px; }
}

/* [2026-09-23] Порядок внутри плитки задаёт тема, поэтому свой порядок пишем
   жёстко: поставщик и размеры, имя, цена, срок, кнопки внизу. */
.main-products.product-grid .caption .stats { order: 1 !important; }
.main-products.product-grid .caption .name { order: 2 !important; }
.main-products.product-grid .caption .price { order: 3 !important; }
.main-products.product-grid .caption .dm-term { order: 4 !important; }
.main-products.product-grid .caption .buttons-wrapper { order: 5 !important; margin-top: auto !important; }

/* бейдж срока переносится по словам и не вылезает за карточку */
.main-products.product-grid .caption .dm-term {
  display: inline-flex;
  align-items: flex-start;
  gap: 6px;
  width: 100%;
  white-space: normal;
  line-height: 1.3;
  font-size: 12px;
  padding: 6px 8px;
}

.main-products.product-grid .caption .stats .stat-1,
.main-products.product-grid .caption .stats .stat-2 {
  background: none;
  padding: 0;
  border: 0;
}

/* [2026-09-23] Кнопка WhatsApp — под «В корзину», а не сразу под кадром. */
.main-products.product-grid .caption .dm-wa-cat {
  order: 6 !important;
  margin-top: 8px !important;
}



/* бейдж срока в плитке — одной строкой */
.main-products.product-grid .caption .dm-term {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.2;
  padding: 6px 8px;
}

/* [2026-09-23] Название товара показываем целиком: обрезка двумя строками
   прячет отличия моделей («219 см» против «180 см»), а покупатель по ним и
   выбирает. Высота карточек в ряду выравнивается по самому длинному имени. */
.main-products.product-grid .caption .name a {
  display: block !important;
  -webkit-line-clamp: none !important;
  overflow: visible !important;
  min-height: 42px;
}

.main-products.product-grid .product-layout { display: flex; }
.main-products.product-grid .product-thumb { flex: 1; }

/* ============================================================
   [2026-09-23] Боковая колонка каталога по макету «Каталог уровни 1-2»:
   ширина 280, блоки белыми карточками с рамкой #E3E8EC и радиусом 14,
   заголовок блока 13 прописными, пункты 15 обычным цветом текста.
   Колонка по макету стоит слева от списка товаров.
   ============================================================ */

/* колонка налево и уже */
body[class*="product-category"] .grid-col-column-right-1-1,
body[class*="product-category"] .grid-col-column-right-1-2,
body[class*="product-search"] .grid-col-column-right-1-1,
body[class*="product-search"] .grid-col-column-right-1-2 {
  order: -1;
}

body[class*="product-category"] #content,
body[class*="product-search"] #content {
  order: 2;
}

/* волна-украшение сверху колонки в макете отсутствует */
.grid-row-column-right-1 > .wave { display: none; }

/* --- общий вид блоков колонки --- */

.accordion-menu-19,
.module-filter-36 {
  padding: 20px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  margin-bottom: 24px;
}

.accordion-menu-19 > .title,
.module-filter-36 > .title {
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #5C6A72;
}

.accordion-menu-19 .j-menu {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.accordion-menu-19 .menu-item > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 0;
  font-size: 15px;
  line-height: 1.35;
  color: #5C6A72;
}

.accordion-menu-19 .menu-item > a:hover,
.accordion-menu-19 .menu-item.active > a {
  color: #146678;
}

/* цветные пункты каталога в колонке гасим: в макете список одноцветный */
.accordion-menu-19 .menu-item > a,
.accordion-menu-19 .menu-item > a .links-text {
  color: inherit;
}

.accordion-menu-19 .menu-item > a svg,
.accordion-menu-19 .menu-item > a img {
  width: 16px;
  height: 16px;
  opacity: .6;
}

/* вложенные уровни: коллекции и цвета */
.accordion-menu-19 .menu-item .j-menu {
  margin-inline-start: 12px;
  padding-inline-start: 10px;
  border-inline-start: 1px solid #E3E8EC;
}

.accordion-menu-19 .menu-item .j-menu a {
  font-size: 14px;
  padding: 6px 0;
}

/* --- блоки-подсказки под деревом --- */

.dm-side-note {
  padding: 20px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  margin-bottom: 24px;
}

.dm-side-note b {
  display: block;
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 600;
  color: #1C2529;
}

.dm-side-note p {
  margin: 0 0 8px;
  font-size: 14px;
  line-height: 1.5;
  color: #5C6A72;
}

.dm-side-note p:last-child { margin-bottom: 0; }

.dm-side-wa {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 44px;
  margin-top: 12px;
  border-radius: 8px;
  background: #25D366;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
}

.dm-side-wa:hover { color: #fff; opacity: .92; }

@media (max-width: 991px) {
  .accordion-menu-19,
  .module-filter-36,
  .dm-side-note { margin-bottom: 16px; }
}

/* [2026-09-23] Правки колонки после первой примерки: строчные буквы вместо
   прописных, текст слева, цветные пункты приведены к общему цвету, шапка
   «Расширенный поиск» не наезжает на кнопку «Очистить». */
.accordion-menu-19 .menu-item > a {
  justify-content: flex-start !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
  color: #5C6A72 !important;
}

.accordion-menu-19 .menu-item > a .links-text {
  color: inherit !important;
  text-transform: none !important;
  font-weight: inherit !important;
}

.accordion-menu-19 .menu-item > a:hover,
.accordion-menu-19 .menu-item > a:hover .links-text,
.accordion-menu-19 .menu-item.active > a,
.accordion-menu-19 .menu-item.active > a .links-text {
  color: #146678 !important;
}

/* «плюс» раскрытия уезжает к правому краю */
.accordion-menu-19 .menu-item > a > .accordion-button,
.accordion-menu-19 .menu-item > a > i,
.accordion-menu-19 .menu-item > .accordion-button {
  margin-inline-start: auto;
}

/* шапка блока фильтров: заголовок и кнопка в строку */
.module-filter-36 > .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.module-filter-36 > .title .reset-filter {
  position: static;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 12px;
}

.module-filter-36 .panel-group .panel-heading,
.module-filter-36 .panel-group .panel-title {
  text-transform: none;
  letter-spacing: 0;
}

/* [2026-09-23] Ширина страницы: содержимое идёт почти во всю ширину экрана,
   как шапка. Левый край колонки — под логотипом, правый край карточек — под
   переключателем языка. Поля по краям небольшие. */
@media (min-width: 992px) {
  .container:has(> .row > #content),
  .container:has(> #content) {
    max-width: none;
    padding-inline: 40px;
  }
}

@media (min-width: 1600px) {
  .container:has(> .row > #content),
  .container:has(> #content) {
    padding-inline: 60px;
  }
}

/* [2026-09-23] «Плюс» раскрытия наезжал на длинные названия: оставляем ему
   место справа. Шапка блока фильтров — заголовок и «Очистить» в одну строку. */
.accordion-menu-19 .menu-item > a {
  position: relative;
  padding-inline-end: 28px;
}

.accordion-menu-19 .menu-item > a > *:not(.links-text):not(svg):not(img),
.accordion-menu-19 .menu-item > .accordion-button,
.accordion-menu-19 .menu-item > a + .accordion-button {
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  transform: translateY(-50%);
}

.module-filter-36 > .title {
  position: relative;
  flex-wrap: wrap;
  padding-inline-end: 84px;
  min-height: 28px;
}

.module-filter-36 > .title .reset-filter {
  position: absolute;
  inset-inline-end: 0;
  top: 0;
}

/* [2026-09-23] Ширина всей темы: страницы идут почти во всю ширину экрана —
   главная, разделы, коллекции, информационные. Левый край содержимого под
   логотипом, правый под переключателем языка, поля по краям небольшие. */
@media (min-width: 992px) {
  .container {
    max-width: none !important;
    padding-inline: 40px;
  }
}

@media (min-width: 1600px) {
  .container { padding-inline: 60px; }
}

/* внутренние обёртки модулей тоже тянутся */
@media (min-width: 992px) {
  .journal-carousel .container,
  .module .container { padding-inline: 0; }
}

/* [2026-09-23] Кадр в плитке рисует тема: свои размеры и посадку сняли,
   из-за них ломалась подмена снимка при наведении. */
.main-products.product-grid .product-thumb .image { margin: 0; }

/* [2026-09-23] Воздух в колонке и отступ под «плюс» (замечания Светланы).
   Колонка не должна липнуть к списку товаров, пункты не должны наезжать
   на значок раскрытия. */
@media (min-width: 992px) {
  .grid-col-column-right-1-1,
  .grid-col-column-right-1-2 {
    padding-inline-end: 28px;
  }
}

.accordion-menu-19,
.module-filter-36,
.dm-side-note {
  margin-bottom: 20px;
}

.accordion-menu-19 .j-menu { gap: 4px; }

.accordion-menu-19 .menu-item > a {
  position: relative;
  padding: 10px 36px 10px 0;
  line-height: 1.35;
}

[dir="rtl"] .accordion-menu-19 .menu-item > a { padding: 10px 0 10px 36px; }

.accordion-menu-19 .menu-item > a > .open-menu {
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  text-align: center;
  opacity: .55;
}

.accordion-menu-19 .menu-item > a > .open-menu i { font-size: 12px; }

/* текущая ветка: заголовок раздела и активный пункт */
.accordion-menu-19 .dm-here > a,
.accordion-menu-19 .dm-here > a .links-text {
  color: #1C2529 !important;
  font-weight: 600 !important;
}

.accordion-menu-19 .dm-parent > a,
.accordion-menu-19 .dm-parent > a .links-text {
  color: #5C6A72 !important;
}

.accordion-menu-19 .dm-open > .j-dropdown,
.accordion-menu-19 .dm-open > .dropdown-menu {
  display: block !important;
  height: auto !important;
  position: static !important;
  float: none !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin-block: 4px 0 !important;
  background: none !important;
}

/* [2026-09-23] Колонка шире, карточки мельче (Светлана): места на широком
   экране хватает, а плитки были крупными. Колонка 320, карточек в ряд шесть
   на больших экранах, пять на средних. */
@media (min-width: 992px) {
  #column-right.side-column {
    width: 320px;
    max-width: 320px;
    flex: 0 0 320px;
  }

  #content.col-sm-9 {
    width: calc(100% - 320px);
    max-width: calc(100% - 320px);
    flex: 1 1 auto;
  }
}

@media (min-width: 1600px) {
  .main-products.product-grid .product-layout {
    width: 20%; max-width: 20%; flex: 0 0 20%;
  }
}

@media (min-width: 1280px) and (max-width: 1599px) {
  .main-products.product-grid .product-layout {
    width: 25%; max-width: 25%; flex: 0 0 25%;
  }
}

/* в мелкой плитке уменьшаем кегли, чтобы не разъезжалось */
@media (min-width: 1280px) {
  .main-products.product-grid .caption { padding: 12px; gap: 6px; }
  .main-products.product-grid .caption .name a { font-size: 14px; min-height: 40px; }
  .main-products.product-grid .caption .price-new,
  .main-products.product-grid .caption .price > span:not(.price-old) { font-size: 17px; }
  .main-products.product-grid .caption .btn-cart { height: 40px; font-size: 14px; }
  .main-products.product-grid .caption .dm-wa-cat { height: 32px; font-size: 12px; }
  .main-products.product-grid .caption .dm-term { font-size: 11px; padding: 5px 7px; }
}

/* [2026-09-23] Иврит: стрелка в хлебных крошках смотрит по направлению чтения.
   В теме разворот привязан к классу виджета доступности (.wfd-he) и на части
   страниц не срабатывает — вешаем на сам признак RTL. */
[dir="rtl"] .breadcrumb > li + li::before,
html[lang="he"] .breadcrumb > li + li::before {
  transform: rotate(180deg);
}

/* [2026-09-23] Блок «Не знаете, что подойдёт?» по макету: тёмно-бирюзовая
   карточка, заголовок белый, текст приглушённый, кнопка зелёная. */
.dm-side-note.dm-side-ask {
  background: #0F4E5B;
  border-color: #0F4E5B;
}

.dm-side-note.dm-side-ask b {
  color: #fff;
  font-size: 17px;
}

.dm-side-note.dm-side-ask p {
  color: #B9D3D8;
  font-size: 15px;
  line-height: 1.45;
}

.dm-side-note.dm-side-ask::before {
  content: '';
  display: block;
  width: 24px;
  height: 24px;
  margin-bottom: 10px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237FD3A0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E") no-repeat center;
}

/* [2026-09-23] Блок «Разделы» по макету уровня 3: белая карточка, заголовок
   прописными, путь наверх, список подразделов или коллекций, текущий выделен. */
.dm-razdely {
  padding: 20px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  margin-bottom: 20px;
}

.dm-razdely-title {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #5C6A72;
}

.dm-razdely-up {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-size: 15px;
  color: #5C6A72;
}

.dm-razdely-up::before {
  content: '';
  width: 16px;
  height: 16px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235C6A72' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") no-repeat center;
}

[dir="rtl"] .dm-razdely-up::before { transform: rotate(180deg); }

.dm-razdely-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 10px;
}

.dm-razdely-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.35;
  color: #5C6A72;
}

.dm-razdely-item span {
  font-size: 13px;
  color: #9AA7AE;
}

.dm-razdely-item:hover { background: #F4F6F7; color: #146678; }

.dm-razdely-here {
  background: #EAF0F1;
  color: #1C2529;
  font-weight: 600;
}

.dm-razdely-small {
  margin-inline-start: 10px;
  padding-inline-start: 12px;
  border-inline-start: 1px solid #E3E8EC;
  border-radius: 0 8px 8px 0;
  font-size: 14px;
}

[dir="rtl"] .dm-razdely-small { border-radius: 8px 0 0 8px; }

.dm-razdely-more {
  padding: 8px 10px;
  font-size: 14px;
  color: #146678;
}

/* ============================================================
   [2026-09-23] Страница категории по заданию «Категория товаров»
   (макеты K1 десктоп, K2 состояния плитки, K3 телефон).
   Ширина страницы и пять карточек в ряд остаются как договорились
   23.09 — из макета берём оформление, а не сетку.
   ============================================================ */

/* --- чипы соседних разделов под вводным текстом --- */

.dm-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 4px;
}

.dm-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 14px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #fff;
  color: #1C2529;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
}

.dm-chip:hover { border-color: #146678; color: #146678; }

.dm-chip-on {
  background: #EAF0F1;
  border-color: #EAF0F1;
  color: #0F4E5B;
  font-weight: 500;
}

.dm-chip span { color: #5C6A72; font-size: 13px; }
.dm-chip-on span { color: #0F4E5B; }

/* --- легенда сроков доставки одной строкой над сеткой --- */

.dm-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 20px;
  margin: 0 0 16px;
}

.dm-legend-item { display: inline-flex; align-items: center; gap: 8px; }
.dm-legend-note { color: #5C6A72; font-size: 13px; }

/* --- панель над сеткой: число моделей, сортировка, вид --- */

.main-products-wrapper .products-filter {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.main-products-wrapper .products-filter .dm-cat-count {
  margin: 0 auto 0 0;
  font-size: 15px;
  color: #1C2529;
}

.products-filter .sort-by .form-control {
  height: 36px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  font-size: 14px;
  color: #1C2529;
  background: #fff;
}

/* --- группа фильтров «Срок доставки» первой в колонке --- */

.dm-flt-term {
  margin: 0 0 18px;
  padding: 0 0 16px;
  border-bottom: 1px solid #E3E8EC;
}

.dm-flt-title {
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #5C6A72;
}

.dm-flt-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 400;
  color: #1C2529;
  cursor: pointer;
}

.dm-flt-row input { margin: 0; flex: 0 0 auto; }
.dm-flt-name { flex: 1 1 auto; }
.dm-flt-count { color: #5C6A72; font-size: 13px; }
.dm-flt-on .dm-flt-name { color: #146678; font-weight: 500; }

/* --- плашка на фото: одна, слева сверху --- */

.dm-plates {
  position: absolute;
  inset-block-start: 10px;
  inset-inline-start: 10px;
  z-index: 3;
}

.dm-plate {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}

.dm-plate-oos  { background: #1C2529; color: #fff; }
.dm-plate-sale { background: #C9463B; color: #fff; }
.dm-plate-hit  { background: #146678; color: #fff; }
.dm-plate-new  { background: #0F4E5B; color: #fff; }
.dm-plate-coll { background: #fff; border: 1px solid #E3E8EC; color: #146678; }

/* --- цена «от» у товаров с обязательными опциями --- */

.main-products .caption .dm-from {
  font-size: 13px;
  color: #5C6A72;
  margin-inline-end: 2px;
}

/* --- строка вместо плашки срока у товара без наличия --- */

.main-products .caption .dm-term-none {
  order: 4 !important;
  font-size: 13px;
  line-height: 1.3;
  color: #5C6A72;
}

/* --- кнопки по ситуации --- */

.main-products .caption .dm-actions {
  order: 5 !important;
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: auto;
}

.main-products .caption .dm-actions .buttons-wrapper { flex: 1 1 auto; min-width: 0; }

.main-products .caption .dm-btn-ask,
.main-products .caption .dm-btn-opts {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  height: 44px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}

.main-products .caption .dm-btn-opts {
  background: #146678;
  color: #fff;
}

.main-products .caption .dm-btn-ask {
  background: #fff;
  border: 1px solid #E3E8EC;
  color: #1C2529;
}

.main-products .caption .dm-btn-ask .dm-ico { color: #25D366; }

/* WhatsApp в плитке — квадрат с контуром, а не зелёная кнопка во всю ширину */
.main-products .caption .dm-actions .dm-wa-cat {
  order: 0 !important;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #E3E8EC !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #146678 !important;
  font-size: 0 !important;
}

.main-products .caption .dm-actions .dm-wa-cat:hover {
  border-color: #146678 !important;
  background: #fff !important;
}

.main-products .caption .dm-actions .dm-wa-cat .dm-wa-cat-i {
  width: 20px !important;
  height: 20px !important;
  background: none !important;
  padding: 0 !important;
}

/* --- товара нет в наличии --- */

.main-products .dm-card-oos .image img { filter: grayscale(1); opacity: .55; }
.main-products .dm-card-oos .caption .name a,
.main-products .dm-card-oos .caption .price,
.main-products .dm-card-oos .caption .price-new,
.main-products .dm-card-oos .caption .price > span { color: #5C6A72 !important; }

/* --- товар без снимка --- */

.main-products .image.dm-noimg {
  position: relative;
  background: #F7F6F3;
}

.main-products .image.dm-noimg img { opacity: 0; }

.main-products .image.dm-noimg::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 48px;
  height: 48px;
  background: currentColor;
  color: #C3CCD2;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='18' height='18' x='3' y='3' rx='2'/%3E%3Ccircle cx='9' cy='9' r='2'/%3E%3Cpath d='m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* --- нижний текст категории: колонка до 720 --- */

.category-description-bottom .category-text {
  max-width: 720px;
}

.category-description-bottom h2,
.category-description-bottom h3 {
  font-size: 20px;
  font-weight: 500;
  color: #1C2529;
  margin: 24px 0 8px;
}

.category-description-bottom p,
.category-description-bottom li {
  font-size: 17px;
  line-height: 1.55;
  color: #1C2529;
}

/* --- телефон 390 --- */

@media (max-width: 767px) {
  .dm-mbar {
    position: sticky;
    top: 56px;
    z-index: 30;
    display: flex;
    gap: 10px;
    padding: 10px 0;
    background: #F7F6F3;
  }

  .dm-mbar-btn {
    flex: 1 1 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 44px;
    border: 1px solid #E3E8EC;
    border-radius: 8px;
    background: #fff;
    color: #1C2529;
    font-size: 15px;
  }

  .dm-sheet { position: fixed; inset: 0; z-index: 120; }
  .dm-sheet-back { position: absolute; inset: 0; background: rgba(28, 37, 41, .45); }

  .dm-sheet-box {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    max-height: 86vh;
    display: flex;
    flex-direction: column;
    border-radius: 14px 14px 0 0;
    background: #fff;
  }

  .dm-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 16px;
    border-bottom: 1px solid #E3E8EC;
  }

  .dm-sheet-head b { font-size: 17px; }
  .dm-sheet-x { border: 0; background: none; color: #5C6A72; }
  .dm-sheet-body { overflow: auto; padding: 8px 16px 16px; }
  .dm-sheet-body [class*="module-filter-"] { margin: 0; padding: 0; border: 0; }
  .dm-sheet-body .module-title { display: none; }

  .dm-sheet-foot {
    display: flex;
    gap: 10px;
    padding: 12px 16px;
    border-top: 1px solid #E3E8EC;
  }

  .dm-sheet-reset,
  .dm-sheet-ok {
    flex: 1 1 50%;
    height: 44px;
    border-radius: 8px;
    font-size: 15px;
  }

  .dm-sheet-reset { border: 1px solid #E3E8EC; background: #fff; color: #1C2529; }
  .dm-sheet-ok { border: 0; background: #146678; color: #fff; }

  body.dm-sheet-open { overflow: hidden; }

  .dm-mwa {
    position: fixed;
    inset-inline: 16px;
    bottom: 16px;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    border-radius: 8px;
    background: #25D366;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
  }

  .dm-mwa:hover, .dm-mwa:focus { color: #fff; }

  /* кнопка WhatsApp в плитке на телефоне не нужна — внизу общая */
  .main-products .caption .dm-wa-cat { display: none !important; }

  .main-products.product-grid .product-layout {
    width: 50%; max-width: 50%; flex: 0 0 50%;
  }

  .main-products.product-grid .caption .name a { font-size: 14px; }
  .main-products.product-grid .caption .price-new,
  .main-products.product-grid .caption .price > span:not(.price-old) { font-size: 17px; }
  .main-products.product-grid .caption .btn-cart,
  .main-products .caption .dm-btn-ask,
  .main-products .caption .dm-btn-opts { height: 40px; }

  /* [2026-09-28] Перечисления сроков над карточками на телефоне нет:
     срок стоит в каждой карточке, а списком он занимал треть экрана
     и разъезжался в столбик (просьба Светланы). */
  .dm-legend { display: none !important; }

  .dm-chips { gap: 6px; }
}

/* [2026-09-23] Правки после первой примерки страницы категории. */

/* Кнопки обычным регистром: тема печатает капсом, в задании прямо запрещено.
   Длинная подпись («Оформить предзаказ») переносится, а не обрезается. */
.main-products .caption .btn-cart,
.main-products .caption .dm-btn-ask,
.main-products .caption .dm-btn-opts {
  text-transform: none !important;
  white-space: normal;
  text-align: center;
  line-height: 1.15;
  padding: 0 8px;
  overflow: hidden;
}

.main-products .caption .btn-cart .btn-text { white-space: normal; }

/* Вводный текст раздела: обычный абзац 17 px, без заливки и рамки.
   Заливка приходит инлайновым стилем из старых описаний. */
/* [2026-09-24] только вводный абзац: тем же селектором ловился и нижний
   текст раздела, и он оставался колонкой в 720 при широком блоке. */
.category-description:not(.category-description-bottom) .category-text > p {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: #1C2529 !important;
  max-width: 720px;
}

.category-description:not(.category-description-bottom) .category-text h2 {
  font-size: 20px;
  font-weight: 500;
  color: #1C2529;
  margin: 0 0 8px;
}

/* Баннер обтекается текстом, поэтому панель над сеткой начинаем с чистой
   строки: иначе сортировка встаёт под баннер. */
.main-products-wrapper { clear: both; }

/* [2026-09-23] Телефон 390: правки после примерки на экране. */

@media (max-width: 767px) {
  /* панель темы (вид, сравнение, «показать по N») на телефоне не нужна:
     фильтры и сортировка живут в липкой строке */
  .main-products-wrapper .products-filter { display: none; }

  .main-products-wrapper > .dm-cat-count {
    margin: 4px 0 0;
    font-size: 14px;
    color: #5C6A72;
  }

  /* сортировка: родной список прозрачным слоем поверх кнопки */
  .dm-mbar-sort { position: relative; overflow: hidden; }

  .dm-mbar-sort select {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    border: 0;
    -webkit-appearance: none;
    appearance: none;
  }

  .dm-mbar-btn span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* соседние разделы одной строкой с прокруткой, а не в шесть рядов */
  .dm-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
    /* без min-width строка чипов растягивает всю страницу за экран */
    min-width: 0;
    max-width: 100%;
  }

  .dm-chips::-webkit-scrollbar { display: none; }
  .dm-chip { flex: 0 0 auto; }

  /* текст плитки слева, а не по центру */
  .main-products.product-grid .caption,
  .main-products.product-grid .caption .name,
  .main-products.product-grid .caption .name a,
  .main-products.product-grid .caption .stats,
  .main-products.product-grid .caption .price { text-align: start !important; }

  .main-products.product-grid .caption .stats { align-items: flex-start; }

  .main-products.product-grid .caption .price { justify-content: flex-start; }

  /* бейдж срока переносится, а не обрезается */
  .main-products.product-grid .caption .dm-term {
    white-space: normal;
    line-height: 1.25;
    font-size: 11px;
  }

  .main-products.product-grid .caption .btn-cart,
  .main-products .caption .dm-btn-ask,
  .main-products .caption .dm-btn-opts { font-size: 13px; }

  /* липкая кнопка WhatsApp не должна налезать на последнюю карточку */
  .main-products-wrapper { padding-bottom: 72px; }
}

/* [2026-09-23] 🔴 Телефон: страница уезжала вправо на всех разделах и карточках.
   Причина не в блоке каталога: .container это элемент флекса .site-wrapper, и на
   узком экране он не сжимался — ширину задавало самое широкое содержимое (1320),
   а .site-wrapper прятал лишнее через overflow:hidden. Поэтому правый край
   страницы просто обрезался. Лечится тем, что контейнеру разрешено сжиматься.
   Это же чинит замечание от 23.09 про карточку товара на 390. */
@media (max-width: 991px) {
  .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .container > .row,
  #content,
  .main-products-wrapper,
  .main-products {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* [2026-09-23] Плитка: хвосты после примерки на 1600. */

/* Бейдж срока печатается полным текстом, значит он должен переноситься.
   Старое правило держало его одной строкой и резало хвост. */
.main-products.product-grid .caption .dm-term {
  white-space: normal !important;
  overflow: visible !important;
  line-height: 1.25;
  align-items: flex-start;
}

/* Поставщик простой строкой, без серой плашки темы. */
.main-products.product-grid .caption .stats .stat-1,
.main-products.product-grid .caption .stats .stat-1 a {
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 13px;
  color: #5C6A72 !important;
  text-decoration: none !important;
  text-transform: uppercase;
}

/* Размеры переехали под название (dm-frame.js, функция dims). */
.main-products.product-grid .caption .dm-dims {
  order: 3 !important;
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 13px;
  color: #5C6A72;
}

.main-products.product-grid .caption .stats { order: 1 !important; }
.main-products.product-grid .caption .name { order: 2 !important; }
.main-products.product-grid .caption .price { order: 4 !important; }
.main-products.product-grid .caption .dm-term,
.main-products.product-grid .caption .dm-term-none { order: 5 !important; }
.main-products.product-grid .caption .dm-actions { order: 6 !important; }

/* [2026-09-23] Плитка: выравнивание и подписи.
   Тема центрует название (.name это флекс с justify-content:center) и рисует
   серую плашку на блоке .stats — в макете ни того, ни другого нет. */
.main-products.product-grid .caption .name {
  justify-content: flex-start !important;
  padding: 0 !important;
}

.main-products.product-grid .caption .name a {
  text-align: start !important;
}

.main-products.product-grid .caption .stats {
  background: none !important;
  padding: 0 !important;
  justify-content: flex-start !important;
}

/* подпись «Размеры:» не нужна: строка и так читается */
.main-products.product-grid .caption .dm-dims .stats-label { display: none !important; }

/* поставщик прижат к левому краю карточки */
.main-products.product-grid .caption .stats .stat-1 {
  width: 100%;
  text-align: start !important;
}

/* [2026-09-24] Замечания Светланы по плитке. */

/* 🔴 Кнопки стояли без подписи. Тема прячет .btn-text (кнопки настроены
   значками), и наши «Выбрать опции» и «Узнать о поступлении» приходили
   пустыми прямоугольниками. Подпись возвращаем только своим кнопкам. */
.main-products .caption .dm-btn-opts .btn-text,
.main-products .caption .dm-btn-ask .btn-text,
.main-products .caption .btn-cart .btn-text {
  display: block !important;
}

/* Предзаказ по макету — кнопка контуром, заливка остаётся у «В корзину».
   Класс ставит dm-frame.js по бейджу срока. */
.main-products .dm-card-preorder .caption .btn-cart {
  background: #fff !important;
  border: 1px solid #146678 !important;
  color: #146678 !important;
}

.main-products .dm-card-preorder .caption .btn-cart:hover {
  background: #EAF0F1 !important;
}

/* Кнопка и квадрат WhatsApp стоят на одной линии и одной высоты.
   Раньше квадрат был 44, а кнопка на широком экране 40 — отсюда ступенька. */
.main-products .caption .dm-actions {
  margin-top: auto !important;
  align-items: stretch;
}

.main-products .caption .dm-actions .dm-wa-cat {
  height: auto !important;
  align-self: stretch;
}

@media (min-width: 1280px) {
  .main-products .caption .dm-actions .dm-wa-cat {
    flex: 0 0 40px;
    width: 40px;
  }
}

/* Товара нет в наличии: кнопка одна. Зелёный квадрат рядом с
   «Узнать о поступлении» вёл туда же, куда и сама кнопка. */
.main-products .dm-card-oos .caption .dm-wa-cat { display: none !important; }

/* [2026-09-24] Ступенька между кнопкой и квадратом WhatsApp: у темы на
   .button-group стоит padding 5px, поэтому кнопка сидела на 5 px ниже
   квадрата и была уже его. Отступы внутри плитки снимаем. */
.main-products .caption .buttons-wrapper,
.main-products .caption .button-group,
.main-products .caption .cart-group {
  padding: 0 !important;
  margin: 0 !important;
}

.main-products .caption .btn-cart {
  margin: 0 !important;
}

/* [2026-09-24] «Узнать о поступлении» не влезало в строку и обрезалось:
   подпись переносим, как у остальных кнопок плитки. */
.main-products .caption .dm-btn-ask .btn-text,
.main-products .caption .dm-btn-opts .btn-text {
  white-space: normal;
  line-height: 1.15;
}

.main-products .caption .dm-btn-ask {
  gap: 6px;
  font-size: 14px;
}

.main-products .caption .dm-btn-ask .dm-ico { flex: 0 0 auto; }

/* [2026-09-24] Предзаказ контуром: короткого селектора не хватало, заливку
   держит правило темы с той же силой, но ниже по файлу. Пишем адресом
   подлиннее — как в разборе от 23.09 про таблицу характеристик. */
.main-products .product-layout .product-thumb.dm-card-preorder .caption .buttons-wrapper .btn-cart,
.main-products .product-layout .product-thumb.dm-card-preorder .caption .btn-cart {
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid #146678 !important;
  color: #146678 !important;
}

.main-products .product-layout .product-thumb.dm-card-preorder .caption .btn-cart:hover {
  background-color: #EAF0F1 !important;
  color: #0F4E5B !important;
}

/* [2026-09-24] На контурной кнопке проступила корзинка темы (на заливке её
   не было видно: белое на тёмном). В макете значка у кнопки нет. */
.main-products .caption .btn-cart::before,
.main-products .caption .btn-cart > i {
  display: none !important;
}

/* «в корзину» тема печатает строчными — ставим заглавную первую букву. */
.main-products .caption .btn-cart .btn-text::first-letter {
  text-transform: uppercase;
}

/* ============================================================
   [2026-09-24] Плитку печатает шаблон, а не скрипт
   ============================================================ */

/* Свой квадрат WhatsApp приходит с сервера. Зелёную кнопку старого скрипта
   шапки в каталоге прячем: она дорисовывалась после загрузки, и строка
   кнопок на глазах перестраивалась. */
.main-products .caption .dm-wa-cat { display: none !important; }

.main-products .caption .dm-wa-tile {
  order: 0;
  flex: 0 0 44px;
  width: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #fff;
  color: #146678;
  text-decoration: none;
}

.main-products .caption .dm-wa-tile:hover {
  border-color: #146678;
  color: #0F4E5B;
}

.main-products .caption .dm-wa-tile .dm-ico { color: #25D366; }

/* Размеры теперь отдельной строкой под названием, подпись не нужна. */
.main-products.product-grid .caption .dm-dims {
  order: 3 !important;
  font-size: 13px;
  color: #5C6A72;
}

/* Подпись кнопки — одной строкой. «Оформить предзаказ» самая длинная,
   под неё и подбираем кегль. */
.main-products .caption .btn-cart,
.main-products .caption .dm-btn-opts,
.main-products .caption .dm-btn-ask {
  white-space: nowrap;
  padding: 0 6px;
}

.main-products .caption .btn-cart .btn-text,
.main-products .caption .dm-btn-opts .btn-text,
.main-products .caption .dm-btn-ask .btn-text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 1280px) {
  .main-products .caption .btn-cart,
  .main-products .caption .dm-btn-opts,
  .main-products .caption .dm-btn-ask { font-size: 13px; }

  .main-products .caption .dm-wa-tile { flex: 0 0 40px; width: 40px; }
}

/* Нижний текст раздела идёт во всю ширину списка товаров: колонка в 720
   оставляла его узкой полоской у левого края (Светлана, 24.09). */
.category-description-bottom .category-text { max-width: none; }

.category-description-bottom p,
.category-description-bottom li { max-width: none; }

/* [2026-09-24] Подпись кнопки должна влезать в одну строку. При пяти
   карточках в ряду на кнопку остаётся 134 px, а «Оформить предзаказ»
   занимает 142 px при кегле 13. Ужимаем кегль и отступы вокруг кнопки —
   этого хватает, резать подпись не приходится. */
@media (min-width: 1280px) {
  .main-products .caption .btn-cart,
  .main-products .caption .dm-btn-opts,
  .main-products .caption .dm-btn-ask {
    font-size: 12px !important;
    padding: 0 4px !important;
    letter-spacing: -0.01em;
  }

  .main-products .caption .dm-actions { gap: 6px; }

  .main-products .caption .dm-wa-tile {
    flex: 0 0 36px;
    width: 36px;
  }
}

/* [2026-09-24] Кегль и отступы кнопки держит правило темы той же силы,
   короткий селектор до неё не доезжает (та же история, что с заливкой
   предзаказа). Пишем полным адресом. */
@media (min-width: 1280px) {
  .main-products .product-layout .product-thumb .caption .btn-cart,
  .main-products .product-layout .product-thumb .caption .dm-btn-opts,
  .main-products .product-layout .product-thumb .caption .dm-btn-ask {
    font-size: 12px !important;
    padding: 0 4px !important;
  }

  .main-products .product-layout .product-thumb .caption .btn-cart .btn-text,
  .main-products .product-layout .product-thumb .caption .dm-btn-opts .btn-text,
  .main-products .product-layout .product-thumb .caption .dm-btn-ask .btn-text {
    font-size: 12px !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

/* [2026-09-24] 🔴 Значка корзины на кнопке товара не было видно: он рисуется
   шрифтом icomoon через ::before, а старый блок кнопок связи красит его
   правилом `#button-cart:before{color:#146678 !important}` — ровно в цвет
   заливки кнопки. Пока кнопка была светлой, бирюзовый значок читался;
   после редизайна кнопка стала тёмной и значок слился с фоном.
   Перебиваем адресом с body: у инлайнового блока в шапке тот же вес. */
body #button-cart::before,
body #button-cart i,
body #button-cart i::before {
  color: #fff !important;
  opacity: 1 !important;
}

/* на светлых кнопках рядом значок остаётся бирюзовым */
body #button-cart.btn-light::before,
body .dm-card-preorder #button-cart::before {
  color: #146678 !important;
}

/* [2026-09-24] Значок корзины ждал загрузки шрифта icomoon — поэтому кнопка
   секунду стояла «пустой», а рядом уже горела зелёная WhatsApp. Рисуем его
   своей векторной маской: она приходит вместе со стилями, ждать нечего. */
body #button-cart::before {
  content: "" !important;
  width: 18px;
  height: 18px;
  margin-inline-end: 8px;
  background: #fff;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") no-repeat center / contain;
  flex: 0 0 auto;
}

/* [2026-09-29] Квадрат WhatsApp вернулся в карточку и на телефоне: общая
   липкая полоса связи в разделах убрана, спросить о товаре стало нечем
   (просьба Светланы). Размер — под палец. */
@media (max-width: 767px) {
  .main-products .caption .dm-actions { gap: 8px; }

  .main-products .caption .dm-wa-tile {
    display: flex !important;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
  }

  .main-products .caption .dm-wa-tile .dm-ico { width: 26px; height: 26px; }
}

/* ============================================================
   [2026-09-24] Шапка раздела на всю ширину (макет «Категория товаров»)
   ============================================================ */

.dm-cat-head {
  margin: 0 0 24px;
}

.dm-cat-head .page-title {
  margin: 0 0 12px;
}

.dm-cat-head .category-description {
  overflow: hidden;
}

.dm-cat-head .dm-chips {
  margin-top: 20px;
}

/* заголовок и текст держатся слева от баннера, а не во всю страницу */
.dm-cat-head .category-description .category-text { max-width: 720px; }

@media (max-width: 991px) {
  .dm-cat-head { margin-bottom: 16px; }
}

/* [2026-09-24] Панель над сеткой по макету: слева счёт и выбранные фильтры,
   справа сравнение, сортировка, «По N» и переключатель вида. */
.main-products-wrapper .products-filter .dm-active {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-inline-end: auto;
}

.dm-active-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 10px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #EAF0F1;
  color: #0F4E5B;
  font-size: 13px;
  line-height: 1;
}

.dm-active-chip:hover { border-color: #146678; }
.dm-active-chip .dm-ico { color: #5C6A72; }

/* счётчик перестаёт растягивать строку: место отдаём чипам */
.main-products-wrapper .products-filter .dm-cat-count { margin: 0; }

.main-products-wrapper .products-filter .grid-list { order: 5; }
.main-products-wrapper .products-filter .select-group { order: 4; display: flex; gap: 12px; }
.main-products-wrapper .products-filter .per-page .form-control {
  height: 36px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  font-size: 14px;
  background: #fff;
}

/* [2026-09-24] Чипы разделов встают под текстом, в его колонке: шапка
   читается одним блоком — слева заголовок, текст и чипы, справа обложка. */
.dm-cat-head .category-description .dm-chips {
  max-width: 720px;
  margin: 16px 0 0;
  clear: none;
}

/* [2026-09-24] Чипы переехали внутрь описания, и тема начала красить их как
   ссылки текста — возвращаем вид кнопок. */
.dm-cat-head .category-description .dm-chips a,
.dm-cat-head .category-description .dm-chips a:hover {
  text-decoration: none !important;
  border-bottom: 0 !important;
}

.dm-cat-head .category-description .dm-chips .dm-chip { color: #1C2529; }
.dm-cat-head .category-description .dm-chips .dm-chip:hover { color: #146678; }
.dm-cat-head .category-description .dm-chips .dm-chip-on { color: #0F4E5B; }

/* [2026-09-24] Значок доступности висит слева поверх страницы и наезжал на
   заголовок раздела. Отодвигаем содержимое каталога от левого края —
   сам виджет не трогаем, он обязателен и должен остаться на месте. */
@media (min-width: 992px) {
  /* ширину страницы задаёт правило с :has(> .row > #content) — оно весит
     больше обычного класса, поэтому повторяем ту же конструкцию */
  body[class*="product-category"] .container:has(> .row > #content),
  body[class*="product-search"] .container:has(> .row > #content) {
    padding-inline-start: 88px !important;
  }
}

/* ============================================================
   [2026-09-24] «Недавно просмотренные»: лента внизу страницы
   ============================================================ */

.dm-viewed {
  margin: 36px 0 0;
  padding: 0;
  border: 0;
  background: none;
  clear: both;
}

.dm-viewed .module-title {
  margin: 0 0 14px;
  font-size: 20px;
  font-weight: 500;
  color: #1C2529;
  text-transform: none;
}

/* карточки идут лентой, каждая вдвое меньше плитки каталога */
.dm-viewed .side-products {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
  min-width: 0;
  max-width: 100%;
  scrollbar-width: thin;
}

.dm-viewed .side-products > .product-layout {
  flex: 0 0 240px;
  width: 240px;
  max-width: 240px;
  margin: 0;
  padding: 0;
}

.dm-viewed .side-product {
  display: flex;
  align-items: center;
  gap: 10px;
  height: 100%;
  padding: 8px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
}

.dm-viewed .side-product:hover { border-color: #146678; }

.dm-viewed .side-product .image {
  flex: 0 0 64px;
  width: 64px;
  margin: 0;
}

.dm-viewed .side-product .image img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 8px;
}

.dm-viewed .side-product .caption {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  text-align: start;
}

.dm-viewed .side-product .name a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  line-height: 1.3;
  color: #1C2529;
}

.dm-viewed .side-product .price {
  margin: 4px 0 0;
  font-size: 15px;
  font-weight: 700;
  color: #1C2529;
}

.dm-viewed .side-product .price-old {
  font-size: 12px;
  font-weight: 400;
  color: #5C6A72;
}

/* в ленте не нужны кнопки, звёзды и куски описания */
.dm-viewed .side-product .buttons-wrapper,
.dm-viewed .side-product .rating,
.dm-viewed .side-product .description,
.dm-viewed .side-product .stats,
.dm-viewed .side-product .dm-term,
.dm-viewed .side-product .dm-wa-cat,
.dm-viewed .side-product .dm-wa-tile { display: none !important; }

@media (max-width: 767px) {
  .dm-viewed .side-products > .product-layout { flex: 0 0 210px; width: 210px; }
  .dm-viewed .module-title { font-size: 17px; }
}

/* [2026-09-24] Лента просмотренных: тема раскладывает карточку колонкой и
   рисует в ней кнопки. Пишем адресом подлиннее — короткий не доезжает. */
.dm-viewed .side-products > .product-layout > .side-product {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px;
  padding: 8px !important;
}

.dm-viewed .side-products > .product-layout > .side-product > .image {
  flex: 0 0 64px !important;
  width: 64px !important;
  max-width: 64px !important;
  margin: 0 !important;
}

.dm-viewed .side-products > .product-layout > .side-product > .caption {
  flex: 1 1 auto !important;
  min-width: 0;
  padding: 0 !important;
  text-align: start !important;
}

/* в ленте только снимок, название и цена */
.dm-viewed .side-products .btn,
.dm-viewed .side-products .button-group,
.dm-viewed .side-products .buttons-wrapper,
.dm-viewed .side-products .wish-group,
.dm-viewed .side-products .cart-group,
.dm-viewed .side-products .stepper { display: none !important; }

.dm-viewed .side-products .price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

/* ============================================================
   [2026-09-24] Первый блок раздела по макету
   ============================================================ */

/* Вводный текст идёт просто текстом: белой карточки с тенью в макете нет. */
.dm-cat-head .category-description,
.dm-cat-head .category-description .category-text {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.dm-cat-head .category-description .category-text {
  max-width: 860px;
}

.dm-cat-head .category-description .category-text h2 {
  font-size: 20px;
  font-weight: 500;
  margin: 0 0 8px;
}

.dm-cat-head .category-description .category-text > p {
  font-size: 17px !important;
  line-height: 1.55 !important;
  color: #1C2529 !important;
  max-width: 860px;
}

/* Чипы разделов идут во всю ширину шапки, ровной сеткой и мельче. */
.dm-cat-head .dm-chips {
  clear: both;
  max-width: none;
  margin: 20px 0 0;
  gap: 8px;
}

.dm-cat-head .dm-chip {
  height: 32px;
  padding: 0 12px;
  font-size: 13px;
}

.dm-cat-head .dm-chip span {
  font-size: 13px;
  opacity: .85;
}

/* Текущий раздел — заливка фирменным цветом, как в макете. */
.dm-cat-head .dm-chip-on,
.dm-cat-head .category-description .dm-chips .dm-chip-on {
  background: #146678;
  border-color: #146678;
  color: #fff;
}

.dm-cat-head .dm-chip-on span,
.dm-cat-head .dm-chip-on:hover { color: #fff; }
.dm-cat-head .dm-chip-on:hover { background: #0F4E5B; border-color: #0F4E5B; }

/* [2026-09-24] В иврите страница читается справа налево, а значок доступности
   остаётся слева — отступ нужен с обеих сторон, иначе он ложится на обложку. */
@media (min-width: 992px) {
  /* [2026-09-25] отступ под значок доступности нужен только в каталоге:
     на карточке товара он съедал ширину и она не совпадала с русской */
  [dir="rtl"] body[class*="product-category"] .container:has(> .row > #content),
  [dir="rtl"] body[class*="product-search"] .container:has(> .row > #content),
  html[lang="he"] body[class*="product-category"] .container:has(> .row > #content),
  html[lang="he"] body[class*="product-search"] .container:has(> .row > #content) {
    padding-inline-end: 88px !important;
  }
}

/* [2026-09-24] Вводный текст идёт до самой обложки: ограничение ширины
   оставляло полосу пустоты между текстом и кадром. Обтекание делает своё,
   строки сами заканчиваются у края баннера. */
.dm-cat-head .category-description .category-text,
.dm-cat-head .category-description .category-text > p {
  max-width: none !important;
}

/* [2026-09-24] В лид теперь попадает и подзаголовок — он должен выглядеть
   как подзаголовок текста, а не как ссылка темы. */
.dm-cat-head .category-description .category-text h3 {
  margin: 18px 0 8px;
  font-size: 18px;
  font-weight: 500;
  color: #1C2529;
  text-transform: none;
}

/* [2026-09-24] Блок «Цвет» в колонке: те же строки, что у «Срока доставки»,
   плюс кружок цветовой группы перед названием. */
.dm-flt-colour .dm-flt-row { gap: 8px; }

.dm-dot {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #E3E8EC;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6);
}

.dm-flt-colour .dm-flt-name { text-transform: none; }

/* ============================================================
   [2026-09-24] Страница коллекции (макет «Каталог уровни 4-5»)
   ============================================================ */

.dm-coll { clear: both; margin: 20px 0 0; }

/* четыре факта числами */
.dm-coll-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  padding: 16px 0;
  border-top: 1px solid #E3E8EC;
  border-bottom: 1px solid #E3E8EC;
}

.dm-coll-facts span {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  color: #5C6A72;
}

.dm-coll-facts b {
  font-size: 20px;
  font-weight: 700;
  color: #1C2529;
}

.dm-coll-cap {
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 500;
  color: #1C2529;
}

/* карточки цветов коллекции */
.dm-coll-colours { margin: 24px 0 0; }

.dm-coll-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}

.dm-coll-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  color: #1C2529;
  text-decoration: none !important;
}

.dm-coll-card:hover { border-color: #146678; }

.dm-coll-pic {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background: #F7F6F3;
  overflow: hidden;
}

.dm-coll-pic img { width: 100%; height: 100%; object-fit: cover; }

.dm-coll-info { display: flex; flex-direction: column; min-width: 0; }
.dm-coll-info b { font-size: 15px; font-weight: 500; }
.dm-coll-info span { font-size: 13px; color: #5C6A72; }

/* сроки по коллекции */
.dm-coll-when {
  margin: 24px 0 0;
  padding: 16px 18px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
  max-width: 720px;
}

.dm-coll-term {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 6px 0;
  font-size: 15px;
  border-bottom: 1px solid #F1F4F6;
}

.dm-coll-term:last-of-type { border-bottom: 0; }
.dm-coll-term span:first-child { font-weight: 500; }
.dm-coll-term span:last-child { color: #5C6A72; }

.dm-coll-when p {
  margin: 10px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: #5C6A72;
}

@media (max-width: 767px) {
  .dm-coll-facts { gap: 18px; }
  .dm-coll-facts b { font-size: 17px; }
  .dm-coll-grid { grid-template-columns: 1fr; }
}

/* [2026-09-24] Факты и кнопки коллекции идут в первом блоке, под текстом и
   на уровне кадра: в макете они часть первого экрана, а не отдельная полоса. */
.dm-coll-head {
  max-width: 720px;
  margin: 18px 0 0;
}

.dm-coll-head .dm-coll-facts {
  gap: 24px;
  padding: 14px 0;
}

.dm-coll-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0 0;
}

.dm-coll-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 18px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #fff;
  color: #1C2529;
  font-size: 15px;
  text-decoration: none !important;
}

.dm-coll-btn:hover { border-color: #146678; color: #146678; }
.dm-coll-btn .dm-ico { color: #25D366; }

.dm-coll-btn-main {
  background: #146678;
  border-color: #146678;
  color: #fff;
}

.dm-coll-btn-main:hover { background: #0F4E5B; border-color: #0F4E5B; color: #fff; }

/* [2026-09-24] Кнопки коллекции стоят внутри описания, а там тема красит
   ссылки по-своему — на тёмной кнопке текст становился невидимым. */
/* [2026-09-25] Подчёркивание ссылок снимаем, но рамку кнопки не трогаем:
   border-bottom: 0 съедал нижнюю границу, и кнопка выглядела обрезанной. */
.dm-cat-head .category-description .dm-coll-btn,
.dm-cat-head .category-description .dm-coll-btn:hover {
  text-decoration: none !important;
  border: 1px solid #E3E8EC !important;
}

.dm-cat-head .category-description .dm-coll-btn-main,
.dm-cat-head .category-description .dm-coll-btn-main:hover {
  border-color: #146678 !important;
}

.dm-cat-head .category-description .dm-coll-btn { color: #1C2529 !important; }
.dm-cat-head .category-description .dm-coll-btn:hover { color: #146678 !important; }

.dm-cat-head .category-description .dm-coll-btn-main,
.dm-cat-head .category-description .dm-coll-btn-main:hover {
  color: #fff !important;
}

/* [2026-09-25] Слайдер интерьеров коллекции на месте обложки. */
.dm-cat-head .category-description .dm-slider {
  position: relative;
  float: right;
  width: 560px;
  margin: 0 0 16px 24px;
  border-radius: 14px;
  overflow: hidden;
  aspect-ratio: 3 / 2;
  background: #F7F6F3;
}

[dir="rtl"] .dm-cat-head .category-description .dm-slider {
  float: left;
  margin: 0 24px 16px 0;
}

.dm-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .8s ease;
}

.dm-slide-on { opacity: 1; }

.dm-slider-dots {
  position: absolute;
  inset-inline: 0;
  bottom: 10px;
  display: flex;
  justify-content: center;
  gap: 6px;
}

.dm-slider-dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
}

.dm-slider-dot-on { background: #fff; width: 18px; border-radius: 4px; }

/* кнопки коллекции: подпись отделена от значка, при переносе строки
   кнопки прижимаются к верху, а не разъезжаются по центру */
.dm-coll-buttons { align-items: flex-start; }
.dm-coll-btn { white-space: nowrap; }
.dm-coll-btn > span { display: inline-block; }

@media (max-width: 991px) {
  .dm-cat-head .category-description .dm-slider {
    float: none;
    width: 100%;
    margin: 0 0 16px;
  }
}

/* [2026-09-25] Первый экран коллекции — белая карточка, а не текст на сером
   фоне страницы: так в макете «Каталог уровни 4-5». */
.dm-cat-head-coll {
  padding: 28px 32px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
}

.dm-cat-head-coll .page-title { margin-top: 0; }

.dm-cat-head-coll .category-description .dm-slider {
  margin-block-start: 4px;
}

/* блоки под первым экраном тоже на белом, как в макете */
.dm-coll-colours,
.dm-coll-when {
  padding: 24px 28px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #fff;
}

.dm-coll-when { max-width: none; }
.dm-coll-colours .dm-coll-card { border-color: #EEF2F4; }

@media (max-width: 767px) {
  .dm-cat-head-coll { padding: 18px; }
  .dm-coll-colours, .dm-coll-when { padding: 16px 18px; }
}

/* [2026-09-25] Тема делает ссылки внутри описания блочными, из-за этого
   кнопка переставала быть флексом и значок слипался с подписью. */
.dm-cat-head .category-description .dm-coll-buttons {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 10px;
}

.dm-cat-head .category-description .dm-coll-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 18px;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1;
}

.dm-cat-head .category-description .dm-coll-btn .dm-ico { flex: 0 0 auto; }

/* [2026-09-25] 🔴 Ширина страницы прыгала от товара к товару: .container —
   элемент флекса .site-wrapper, и без width он подстраивается под самое
   широкое содержимое. У витрины TOLEDO выходило 1600, у стула SEMPRE 1474.
   Ширину фиксируем: страница больше не зависит от начинки. */
@media (min-width: 992px) {
  .container:has(> .row > #content),
  .container:has(> #content) {
    width: 100%;
    min-width: 0;
  }

  .container:has(> .row > #content) > .row,
  .container:has(> #content) > .row {
    min-width: 0;
  }
}

/* [2026-09-25] Карточка товара компактнее: по дизайн-системе контейнер 1440,
   внутренняя колонка 1320. На широком экране страница встаёт по центру, а не
   растягивается во всю ширину — так карточка читается собраннее.
   Каталог это правило не трогает: там своя сетка во всю ширину. */
@media (min-width: 992px) {
  body[class*="product-product"] .container:has(> .row > #content),
  body[class*="product-product"] .container:has(> #content) {
    max-width: 1440px !important;
    margin-inline: auto;
  }
}

/* ============================================================
   [2026-09-25] Плитка вне списка товаров
   Тот же product_card.tpl печатается в лентах «С этим товаром покупают»,
   «Хиты», «Новинки». Стили были привязаны к .main-products, поэтому там
   кнопка «Выбрать опции» оставалась серой, а квадрат WhatsApp — без рамки.
   Привязываемся к .dm-card: он стоит на каждой нашей плитке.
   ============================================================ */

.dm-card .caption .dm-actions {
  display: flex;
  align-items: stretch;
  gap: 8px;
  margin-top: auto;
}

.dm-card .caption .dm-actions .buttons-wrapper { flex: 1 1 auto; min-width: 0; }

.dm-card .caption .btn-cart,
.dm-card .caption .dm-btn-opts,
.dm-card .caption .dm-btn-ask {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.dm-card .caption .btn-cart,
.dm-card .caption .dm-btn-opts {
  background: #146678 !important;
  border: 1px solid #146678 !important;
  color: #fff !important;
}

.dm-card .caption .btn-cart:hover,
.dm-card .caption .dm-btn-opts:hover {
  background: #0F4E5B !important;
  border-color: #0F4E5B !important;
}

/* [2026-09-25] Контурный предзаказ — только в списке товаров. В узкой ленте
   белая кнопка на белой карточке почти не видна, там оставляем заливку. */
.main-products .dm-card.dm-card-preorder .caption .btn-cart {
  background: #fff !important;
  color: #146678 !important;
}

.dm-card .caption .dm-btn-ask {
  background: #fff !important;
  border: 1px solid #E3E8EC !important;
  color: #1C2529 !important;
}

.dm-card .caption .dm-btn-ask .dm-ico { color: #25D366; }

.dm-card .caption .dm-wa-tile {
  flex: 0 0 40px;
  width: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #fff;
  color: #146678;
}

.dm-card .caption .dm-wa-tile:hover { border-color: #146678; }
.dm-card .caption .dm-wa-tile .dm-ico { color: #25D366; }

/* старая зелёная кнопка скрыта и в лентах: свой квадрат уже есть */
.dm-card .caption .dm-wa-cat { display: none !important; }

/* мелочи плитки, которые тоже были привязаны к списку */
.dm-card .caption .dm-dims { font-size: 13px; color: #5C6A72; }
.dm-card .caption .stats .stats-label { display: none; }
.dm-card .caption .description,
.dm-card .caption .rating,
.dm-card .caption .stepper,
.dm-card .caption .wish-group { display: none !important; }

@media (max-width: 767px) {
  /* [2026-09-29] В лентах (главная, «сопутствующие») квадрат по-прежнему
     не нужен — карточка там узкая. В разделе он вернулся: правило ниже
     его включает обратно. */
  .dm-card .caption .dm-wa-tile { display: none !important; }

  .main-products .dm-card .caption .dm-wa-tile {
    display: flex !important;
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
  }
}

/* [2026-09-25] В лентах тема показывает кнопки только при наведении: карточка
   стояла с пустым местом вместо «В корзину», и это читалось как белая кнопка
   без подписи (замечание Светланы 25.09). Нам кнопка нужна всегда. */
.dm-card .caption .buttons-wrapper,
.dm-card .caption .button-group,
.dm-card .caption .cart-group,
.dm-card .caption .btn-cart,
.dm-card .caption .dm-btn-opts,
.dm-card .caption .dm-btn-ask,
.dm-card .caption .dm-actions {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  position: static !important;
}

/* [2026-09-25] В ленте карточка узкая (166 px), и кнопка рядом с квадратом
   WhatsApp не вмещала подпись. В лентах квадрат убираем: спросить в WhatsApp
   можно на самой карточке товара, а здесь важнее читаемая кнопка. */
.module-item .dm-card .caption .dm-wa-tile { display: none !important; }

.module-item .dm-card .caption .btn-cart,
.module-item .dm-card .caption .dm-btn-opts,
.module-item .dm-card .caption .dm-btn-ask {
  width: 100%;
  font-size: 13px;
  padding: 0 6px;
}

/* значок корзины в плитке не нужен — и в списке, и в лентах */
.dm-card .caption .btn-cart::before,
.dm-card .caption .btn-cart > i { display: none !important; }

/* подпись кнопки тема прячет как у «значковых» кнопок — возвращаем */
.dm-card .caption .btn-cart .btn-text,
.dm-card .caption .dm-btn-opts .btn-text,
.dm-card .caption .dm-btn-ask .btn-text {
  display: block !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ==================================================================
   [2026-09-25] Выбранная опция — зелёным, как отметка «выбрано».
   Голубая заливка читалась как наведение, а не как выбор. Берём
   зелёный дизайн-системы (#2E7D4F на #F1F8F3) — тот же, что у плашки
   «в наличии» и у рамки закрытой группы. Заодно воздух по краям:
   подпись и доплата не липнут к рамке и друг к другу.
   ================================================================== */

/* заливка заметно темнее, чем у выполненной группы (#F4FBF7): на её фоне
   бледно-зелёная строка не читалась бы как выбранная */
body[class*="product-product"] #product .product-options .checkbox label:has(input:checked),
body[class*="product-product"] #product .product-options .radio label:has(input:checked) {
  border-color: #2E7D4F !important;
  background: #E4F1EA !important;
  box-shadow: inset 0 0 0 1px #2E7D4F;
}

body[class*="product-product"] #product .product-options .checkbox label:has(input:checked)::before,
body[class*="product-product"] #product .product-options .radio label:has(input:checked)::before {
  border-color: #2E7D4F !important;
  background-color: #2E7D4F !important;
}

/* наведение в том же семействе: теперь голубая рамка спорила с зелёной */
body[class*="product-product"] #product .product-options .checkbox label:hover,
body[class*="product-product"] #product .product-options .radio label:hover {
  border-color: #8FBFA4;
  background: #FAFCFB;
}

body[class*="product-product"] #product .product-options .checkbox label:has(input:checked):hover,
body[class*="product-product"] #product .product-options .radio label:has(input:checked):hover {
  background: #DCEDE4 !important;
}

/* выбранный снимок тоже в зелёном, а не в бирюзовом */
body[class*="product-product"] #product .product-options .radio input:checked + img,
body[class*="product-product"] #product .product-options .checkbox input:checked + img {
  outline-color: #2E7D4F !important;
}

body[class*="product-product"] #product .product-options .checkbox label:has(input:checked) .option-value,
body[class*="product-product"] #product .product-options .radio label:has(input:checked) .option-value {
  color: #1C2529 !important;
  font-weight: 600 !important;
}

/* отступы: между снимком и подписью, между подписью и доплатой,
   и от доплаты до правой рамки */
body[class*="product-product"] #product .product-options .checkbox label,
body[class*="product-product"] #product .product-options .radio label {
  padding: 14px 22px;
}

body[class*="product-product"] #product .product-options .checkbox label .option-value,
body[class*="product-product"] #product .product-options .radio label .option-value {
  padding-inline: 4px 2px !important;
  gap: 24px;
  /* тема рисует подпись «вдавленным» прямоугольником: на цветной строке
     он проступал светлым пятном */
  box-shadow: none !important;
  background: transparent !important;
}

body[class*="product-product"] #product .product-options .option-price {
  padding-inline-start: 20px;
  /* в иврите плюс и шекель уезжали в конец: «(שח354+)» */
  direction: ltr;
  unicode-bidi: isolate;
}

/* на телефоне поля строки уже: 22 px по краям съедали подпись */
@media (max-width: 575px) {
  body[class*="product-product"] #product .product-options .checkbox label,
  body[class*="product-product"] #product .product-options .radio label {
    padding: 12px 14px;
  }

  body[class*="product-product"] #product .product-options .checkbox label .option-value,
  body[class*="product-product"] #product .product-options .radio label .option-value {
    gap: 12px;
  }

  body[class*="product-product"] #product .product-options .option-price {
    padding-inline-start: 10px;
  }
}

/* ==================================================================
   [2026-09-25] Липкая полоса покупки на карточке товара (dm-frame.js).
   Появляется, когда кнопка «В корзину» ушла вверх, и прячется у подвала.
   Ширина внутренней части — та же сетка 1320, что и у страницы.
   ================================================================== */

.dm-buybar {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 6900;
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(6px);
  border-top: 1px solid #E3E8EC;
  box-shadow: 0 -6px 22px rgba(28, 37, 41, .08);
  transform: translateY(105%);
  transition: transform .25s ease;
  pointer-events: none;
}

body.dm-buybar-on .dm-buybar {
  transform: translateY(0);
  pointer-events: auto;
}

.dm-buybar-in {
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 1320px;
  margin-inline: auto;
  padding: 12px 24px;
}

.dm-buybar-pic {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  object-fit: contain;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
}

.dm-buybar-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 16px;
  font-weight: 600;
  color: #1C2529;
  /* длинное имя в одну строку: полоса не должна расти по высоте */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dm-buybar-price {
  flex: none;
  font-size: 22px;
  font-weight: 700;
  color: #1C2529;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  /* в иврите шекель с числом переставлялись */
  direction: ltr;
  unicode-bidi: isolate;
}

.dm-buybar-btn {
  flex: none;
  min-width: 220px;
  height: 52px;
  padding: 0 28px;
  border: 0;
  border-radius: 12px;
  background: #146678;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s ease;
}

.dm-buybar-btn:hover { background: #0F4F5D; }

/* плавающая кнопка звонка стоит в том же углу — поднимаем её над полосой */
body.dm-buybar-on .dm-placed { bottom: 96px !important; }

/* [2026-09-27] На телефоне полосу покупки показываем: раньше она пряталась,
   и на карточке не было ни цены, ни кнопки, когда список опций уезжал вверх. */

/* ==================================================================
   [2026-09-25] Строка опции без снимка: значок и отметка были одним
   элементом 52 px, и при выборе он заливался зелёным целиком — галочка
   выходила огромной. Разводим: отметка 22 px, как у остальных строк,
   значок-коробка отдельно за ней. Порядок держим на order, потому что
   ::after по разметке идёт последним.
   ================================================================== */

body[class*="product-product"] #product .product-options .checkbox label:not(:has(img))::before,
body[class*="product-product"] #product .product-options .radio label:not(:has(img)):not(:has(.option-value:only-child))::before {
  order: -2;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border: 1px solid #C9D2D8;
  border-radius: 6px;
  background-color: #FFFFFF;
  background-image: none;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px;
}

body[class*="product-product"] #product .product-options .checkbox label:not(:has(img)):has(input:checked)::before,
body[class*="product-product"] #product .product-options .radio label:not(:has(img)):not(:has(.option-value:only-child)):has(input:checked)::before {
  border-color: #2E7D4F;
  background-color: #2E7D4F;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size: 14px;
}

/* сам значок: тот же квадрат 52 px, что был, только теперь он не отметка */
body[class*="product-product"] #product .product-options .checkbox label:not(:has(img))::after,
body[class*="product-product"] #product .product-options .radio label:not(:has(img)):not(:has(.option-value:only-child))::after {
  content: '';
  order: -1;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #F7F6F3 url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="%235C6A72" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"/><path d="M3.3 7 12 12l8.7-5"/><path d="M12 22V12"/></svg>') center center no-repeat;
}

/* подпись идёт после значка */
body[class*="product-product"] #product .product-options .checkbox label:not(:has(img)) .option-value,
body[class*="product-product"] #product .product-options .radio label:not(:has(img)) .option-value {
  order: 0;
}

/* ==================================================================
   [2026-09-25] Квадрат WhatsApp в липкой полосе покупки: спросить о товаре,
   не возвращаясь наверх. Размер и цвет — как у квадрата в плитке.
   ================================================================== */

.dm-buybar-wa {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 12px;
  /* как квадрат в плитке: белый, значок фирменного зелёного */
  border: 1px solid #E3E8EC;
  background: #FFFFFF;
  color: #25D366;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.dm-buybar-wa .dm-ico { color: #25D366; }

.dm-buybar-wa:hover,
.dm-buybar-wa:focus {
  border-color: #25D366;
  box-shadow: 0 0 0 3px rgba(37, 211, 102, .16);
}

/* ==================================================================
   [2026-09-25] Блоки поставщика на карточке (устройство матраса, значки
   тканей) — на белой карточке. Картинки в них непрозрачные, и на бежевом
   фоне страницы белые квадраты смотрелись вырезанными.
   ================================================================== */

.dm-extra-card {
  margin: 0 0 16px;
  padding: 22px 24px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
}

.dm-extra-card img {
  mix-blend-mode: multiply;
}

/* «Сделано в Израиле» строкой среди преимуществ товара */
.dm-made-il {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.dm-made-il img {
  width: auto;
  height: 26px;
  display: block;
}

.dm-made-il b {
  font-weight: 500;
  color: #1C2529;
}

/* у блоков поставщика внутри своя таблица с рамкой #ddd: на белой карточке
   выходила рамка в рамке */
.dm-extra-card table,
.dm-extra-card table > tbody > tr > td,
.dm-extra-card table > tbody > tr > th {
  border: 0 !important;
  background: transparent !important;
}

.dm-extra-card table > tbody > tr > td {
  padding: 10px 14px;
  vertical-align: top;
}

/* ==================================================================
   [2026-09-25] Гарантия матраса в две строки: срок сверху, оговорка про
   ткань и шитьё под ним — так запись читается ровнее (правка Светланы).
   ================================================================== */

.dm-delivery-features .dm-war {
  display: block;
}

.dm-delivery-features .dm-war-note {
  display: block;
  font-size: 13px;
  color: #5C6A72;
}

/* ==================================================================
   [2026-09-25] Расчёт доставки — заметной кнопкой, а не строкой в списке.
   В общем ряду со «строками-фактами» он терялся: мелкий, без границ, и
   не читался как кликабельный (замечание Светланы).
   ================================================================== */

.dm-calc-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 14px 0 0;
  padding: 14px 18px;
  border: 1px solid #CFE0E3;
  border-radius: 12px;
  background: #EAF0F1;
  color: #146678;
  font-family: inherit;
  text-align: start;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease;
}

.dm-calc-cta:hover,
.dm-calc-cta:focus {
  background: #DFE9EB;
  border-color: #146678;
}

.dm-calc-ico {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: #FFFFFF;
  border: 1px solid #CFE0E3;
  color: #146678;
}

.dm-calc-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dm-calc-text b {
  font-size: 16px;
  font-weight: 600;
  color: #1C2529;
}

.dm-calc-text > span {
  font-size: 14px;
  font-weight: 500;
  color: #146678;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* стрелка смотрит в сторону чтения и на наведении подаётся вперёд */
.dm-calc-cta > .dm-ico:last-child {
  flex: none;
  color: #5C6A72;
  transition: transform .2s ease;
}

[dir="rtl"] .dm-calc-cta > .dm-ico:last-child { transform: scaleX(-1); }

.dm-calc-cta:hover > .dm-ico:last-child { transform: translateX(3px); }

[dir="rtl"] .dm-calc-cta:hover > .dm-ico:last-child { transform: scaleX(-1) translateX(3px); }

/* подсказка о выборе размера стоит над списком вариантов */
#product .product-options .dm-opt-hint {
  margin: 0 0 14px;
  padding: 12px 16px;
  border: 1px solid #EBD9AE;
  border-radius: 10px;
  background: #FDF6E7;
  color: #9A7B1F;
  font-size: 15px;
  line-height: 1.4;
}

/* внутри блока свой html из админки: цветной <font>, центровка, отступы */
#product .product-options .dm-opt-hint * {
  margin: 0;
  padding: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  font-family: inherit !important;
  text-align: start !important;
  background: transparent !important;
}

/* [2026-09-25] серая черта слева от колонки фильтров — остаток темы */
.side-column { border-inline-start: 0 !important; }

/* [2026-09-25] Колонка разделов теперь стоит на всех уровнях каталога.
   Тема подчёркивает ссылки внутри колонки — в списке это лишний шум. */
.dm-razdely a,
.dm-razdely a:hover,
.dm-razdely a:focus {
  text-decoration: none !important;
}

.dm-razdely-up {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.dm-razdely-up span {
  font-size: 13px;
  color: #5C6A72;
}

/* ==================================================================
   [2026-09-25] Колонка выровнена по тексту заголовка: белая карточка шапки
   начинается с 88, а её текст — с 120 (поле 32). Карточки колонки теперь
   идут по той же линии, а сама колонка расширена, чтобы списки не сжались.
   ================================================================== */

@media (min-width: 992px) {
  #column-right.side-column,
  .side-column {
    width: 332px;
    max-width: 332px;
    flex: 0 0 332px;
    padding-inline-start: 32px;
  }

  #content.col-sm-9 {
    width: calc(100% - 332px);
    max-width: calc(100% - 332px);
  }
}

/* [2026-09-25] «Ещё N …» теперь кнопка-раскрывашка, а не ссылка */
.dm-razdely .dm-razdely-more {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  margin-top: 4px;
  padding: 9px 10px;
  border: 0;
  border-radius: 8px;
  background: #F4F6F7;
  color: #146678;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  text-align: start;
  cursor: pointer;
}

.dm-razdely .dm-razdely-more:hover {
  background: #EAF0F1;
}

/* стрелка смотрит вниз: список раскрывается, а не уводит на другую страницу */
.dm-razdely .dm-razdely-more .dm-ico {
  transform: rotate(90deg);
  flex: none;
}

/* ==================================================================
   [2026-09-25] У коллекции с цветами в колонке появляется кнопка-стрелка:
   цвета раскрываются списком под коллекцией, страница не меняется.
   ================================================================== */

.dm-razdely-item { position: relative; }

.dm-razdely-toggle {
  flex: none;
  width: 24px;
  height: 24px;
  margin-inline-start: 6px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E3E8EC;
  border-radius: 6px;
  background: #FFFFFF;
  color: #5C6A72;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease;
}

.dm-razdely-toggle:hover {
  border-color: #146678;
  color: #146678;
}

.dm-razdely-toggle .dm-ico { transform: rotate(90deg); }

.dm-razdely-toggle-on .dm-ico { transform: rotate(-90deg); }

/* собственный display перебивает атрибут hidden — гасим явно */
.dm-razdely-nest[hidden] { display: none !important; }

.dm-razdely-nest {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 2px 0 6px;
  padding-inline-start: 14px;
  border-inline-start: 2px solid #E3E8EC;
}

.dm-razdely-tone {
  font-size: 14px;
  color: #5C6A72;
}

/* [2026-09-25] пустой раздел: кнопка «Продолжить» уводила на главную */
body[class*="product-category"] #content .buttons { display: none !important; }

/* ==================================================================
   [2026-09-25] Колонка по макету «Каталог уровни 1-2»: коллекции идут
   вторым уровнем простым отступом, цвета — третьим. Вертикальных линий
   слева нет: раньше полоска у коллекции шла снаружи и выглядела как
   чужая графика (замечание Светланы). Раскрытие — плюс и минус справа.
   ================================================================== */

.dm-razdely-small {
  margin-inline-start: 0 !important;
  padding-inline-start: 22px !important;
  border-inline-start: 0 !important;
  border-radius: 8px !important;
}

.dm-razdely-nest {
  margin: 2px 0 4px !important;
  padding-inline-start: 0 !important;
  border-inline-start: 0 !important;
}

.dm-razdely-tone {
  padding-inline-start: 38px !important;
  font-size: 14px;
}

/* знак раскрытия: плюс в покое, минус в раскрытом виде */
.dm-razdely-toggle {
  width: 22px !important;
  height: 22px !important;
  border: 0 !important;
  background: transparent !important;
  color: #9AA7AE !important;
  font-size: 0;
  position: relative;
}

.dm-razdely-toggle .dm-ico { display: none !important; }

.dm-razdely-toggle::before,
.dm-razdely-toggle::after {
  content: '';
  position: absolute;
  inset-inline-start: 5px;
  top: 10px;
  width: 12px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform .2s ease;
}

.dm-razdely-toggle::after { transform: rotate(90deg); }

.dm-razdely-toggle-on::after { transform: rotate(0deg); }

.dm-razdely-toggle:hover { color: #146678 !important; }

/* у коллекции с цветами число и знак стоят рядом, без распорки */
.dm-razdely-item .dm-razdely-toggle { margin-inline-start: 4px; }

/* числа в один столбец: место под знак раскрытия резервируем у всех строк,
   сам знак ставим по правому краю */
.dm-razdely-list .dm-razdely-small,
.dm-razdely-list .dm-razdely-tone {
  position: relative;
  padding-inline-end: 34px !important;
}

.dm-razdely-list .dm-razdely-small > span,
.dm-razdely-list .dm-razdely-tone > span {
  margin-inline-start: auto;
}

.dm-razdely-item .dm-razdely-toggle {
  position: absolute;
  inset-inline-end: 6px;
  top: 50%;
  margin: 0 !important;
  transform: translateY(-50%);
}

/* «Коллекция ALAMEDA» не влезала в строку: поджимаем поля второго уровня */
.dm-razdely-list .dm-razdely-small {
  padding-inline-start: 16px !important;
  padding-inline-end: 28px !important;
}

.dm-razdely-list .dm-razdely-tone {
  padding-inline-start: 30px !important;
  padding-inline-end: 28px !important;
}

.dm-razdely-list .dm-razdely-small > span,
.dm-razdely-list .dm-razdely-tone > span {
  padding-inline-start: 6px;
}

/* ==================================================================
   [2026-09-25] Знак раскрытия тоньше и не прыгает: он привязан к первой
   строке названия, а не к середине строки — у коллекций с длинным именем
   имя переносится, и знак уезжал вниз. Активный пункт в фирменном
   бирюзовом, как в макете.
   ================================================================== */

.dm-razdely-item .dm-razdely-toggle {
  top: 7px !important;
  transform: none !important;
  width: 20px !important;
  height: 20px !important;
}

.dm-razdely-toggle::before,
.dm-razdely-toggle::after {
  inset-inline-start: 5px !important;
  top: 9px !important;
  width: 10px !important;
  height: 1.5px !important;
}

.dm-razdely-here,
.dm-razdely-here:hover {
  background: #EAF0F1;
  color: #146678;
}

.dm-razdely-here > span { color: #6C8E96; }

/* названия коллекций спокойнее: обычное начертание, ровный межстрочный */
.dm-razdely-list .dm-razdely-small,
.dm-razdely-list .dm-razdely-tone {
  font-weight: 400;
  line-height: 1.3;
}

/* ==================================================================
   [2026-09-25] Карточка коллекции по макету «Каталог уровни 1-2»: кадр,
   имя, строка «3 цвета · 14 модулей», кружки цветов и цена «от».
   Раскладку задаёт тема, мы добавляем содержимое и оформление.
   ================================================================== */

.dm-refine .refine-item > a {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  height: 100%;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  overflow: hidden;
  text-decoration: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.dm-refine .refine-item > a:hover {
  border-color: #C9D9DC;
  box-shadow: 0 6px 18px rgba(28, 37, 41, .07);
}

.dm-refine .refine-item img {
  width: 100%;
  height: auto;
  display: block;
}

.dm-refine .refine-name {
  display: block;
  padding: 14px 16px 0;
  font-size: 17px !important;
  font-weight: 600;
  line-height: 1.25;
  color: #1C2529;
}

.dm-refine-facts {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 6px 16px 16px;
}

.dm-refine-line {
  font-size: 14px;
  color: #5C6A72;
}

.dm-refine-dots {
  display: flex;
  gap: 6px;
}

.dm-refine-dots .dm-dot {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
}

.dm-refine-price {
  font-size: 14px;
  color: #5C6A72;
}

.dm-refine-price b {
  font-size: 17px;
  font-weight: 700;
  color: #1C2529;
  /* в иврите число со знаком шекеля переставлялось */
  unicode-bidi: isolate;
}

/* текст карточки идёт слева, как в макете: тема центрирует подписи */
.dm-refine .refine-item,
.dm-refine .refine-item > a,
.dm-refine .refine-name,
.dm-refine-facts {
  text-align: start !important;
}

/* тема центрует содержимое карточки: из-за align-items блок фактов сжимался
   до текста и уезжал в середину */
.dm-refine .refine-item > a { align-items: stretch !important; }

/* ==================================================================
   [2026-09-25] Список товаров доведён по ширине до верхней плашки: справа
   у него оставался зазор 20 px, а колонка была шире нужного. Свободное
   место уходит плиткам — в них помещается строка срока целиком.
   ================================================================== */

@media (min-width: 992px) {
  /* сетка сдвинута отрицательным полем -10, поэтому у колонки контента
     оставляем ровно столько же — правые края списка и шапки совпадают */
  body[class*="product-category"] #content.col-sm-9 {
    padding-inline-end: 10px !important;
  }

  #column-right.side-column,
  .side-column {
    width: 312px;
    max-width: 312px;
    flex: 0 0 312px;
  }

  #content.col-sm-9 {
    width: calc(100% - 312px);
    max-width: calc(100% - 312px);
  }
}

/* строка срока в плитке — одной строкой, как просила Светлана */
.main-products .caption .dm-term {
  white-space: nowrap;
  gap: 4px;
  padding: 5px 6px;
}

/* ==================================================================
   [2026-09-25] Снимок в плитке скругляется вместе с карточкой: раньше
   углы кадра оставались прямыми, и в скруглениях проступал белый фон.
   ================================================================== */

.main-products .product-thumb .image,
.dm-card .image {
  border-radius: 14px 14px 0 0;
  overflow: hidden;
}

.main-products .product-thumb .image img,
.dm-card .image img {
  border-radius: 14px 14px 0 0;
}

/* [2026-09-25] Срок в плитке — одной строкой (просьба Светланы). Раньше
   он переносился: в узкой плитке текст не помещался. Теперь место есть,
   кегль чуть мельче, значок компактнее. */
.main-products.product-grid .caption .dm-term,
.main-products .caption .dm-term {
  white-space: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 5px 7px !important;
  font-size: 10.5px !important;
  line-height: 1.4 !important;
}

.main-products .caption .dm-term .dm-ico {
  width: 13px !important;
  height: 13px !important;
}

/* подгоняем строку срока под ширину плитки: в caption остаётся 180 px,
   а полному тексту нужно 191 — уменьшаем кегль и поля, значок мельче */
.main-products.product-grid .caption .dm-term,
.main-products .caption .dm-term {
  font-size: 10px !important;
  gap: 3px !important;
  padding: 4px 6px !important;
}

.main-products .caption .dm-term .dm-ico {
  width: 12px !important;
  height: 12px !important;
}

/* на телефоне плитка вдвое у́же — там строке разрешаем перенос */
@media (max-width: 767px) {
  .main-products.product-grid .caption .dm-term,
  .main-products .caption .dm-term {
    white-space: normal !important;
    font-size: 11px !important;
    align-items: flex-start !important;
  }
}

/* не хватало двух пикселей: поля строки срока ещё на пару у́же */
@media (min-width: 768px) {
  .main-products.product-grid .caption .dm-term,
  .main-products .caption .dm-term {
    padding: 4px 5px !important;
    gap: 2px !important;
  }
}

/* ==================================================================
   [2026-09-25] Цена и строка срока прибиты к низу плитки: названия
   бывают в одну и в три строки, и раньше цена у соседних карточек
   стояла на разной высоте. Кнопки и так были внизу.
   ================================================================== */

.main-products.product-grid .caption .price,
.main-products .caption .price {
  margin-top: auto !important;
}

/* между ценой и сроком остаётся ровный шаг, распорка только над ценой */
.main-products.product-grid .caption .dm-term,
.main-products.product-grid .caption .dm-term-none {
  margin-top: 6px !important;
}

/* плашки «со склада» и «предзаказ» отличались по высоте на пару пикселей —
   из-за этого цена соседних карточек стояла не вровень */
@media (min-width: 768px) {
  .main-products.product-grid .caption .dm-term,
  .main-products.product-grid .caption .dm-term-none {
    min-height: 24px;
    box-sizing: border-box;
  }
}

/* распорка должна быть одна: когда «auto» стоит и у цены, и у строки кнопок,
   свободное место делится между ними и цена к низу не прижимается */
.main-products.product-grid .caption .dm-actions,
.main-products .caption .dm-actions,
.main-products.product-grid .caption .buttons-wrapper {
  margin-top: 0 !important;
}

/* ==================================================================
   [2026-09-26] Расчёт доставки вызывается с одного места. Раньше на
   карточке было два одинаковых входа: заметная кнопка в блоке фактов и
   такая же карточка под корзиной. По макету расчёт — общий модуль,
   который открывается окном, а не разворачивается на странице.
   Блок под корзиной остаётся в разметке: кнопка сверху нажимает именно
   его, значит удалять нельзя — только прятать.
   ================================================================== */

/* [2026-09-26] Светлана: расчёт нужен под корзиной, где решаются на
   покупку. Показываем нижнюю карточку, а верхнюю кнопку убираем —
   вход остаётся один. */
body[class*="product-product"] .dm-calc-cta { display: none !important; }

/* ==================================================================
   [2026-09-26] Умный поиск первым блоком колонки (макет P4). Человек
   пишет фразу словами, скрипт превращает её в штатные фильтры.
   ================================================================== */

.dm-smart {
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #F7F6F3;
}

.dm-smart-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
  color: #146678;
}

.dm-smart-head b {
  font-size: 15px;
  font-weight: 600;
  color: #1C2529;
}

.dm-smart-field {
  position: relative;
  display: flex;
  align-items: center;
}

.dm-smart-input {
  width: 100%;
  height: 44px;
  padding: 0 38px 0 12px;
  border: 1.5px solid #146678;
  border-radius: 8px;
  background: #FFFFFF;
  font-family: inherit;
  font-size: 15px;
  color: #1C2529;
}

[dir="rtl"] .dm-smart-input { padding: 0 12px 0 38px; }

.dm-smart-input::placeholder { color: #8A9299; }

.dm-smart-input:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(20, 102, 120, .14);
}

.dm-smart-x {
  position: absolute;
  inset-inline-end: 8px;
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: transparent;
  color: #8A9299;
  cursor: pointer;
}

.dm-smart-x:hover { color: #146678; }

.dm-smart-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.dm-smart-chip {
  display: inline-flex;
  align-items: center;
  height: 28px;
  padding: 0 10px;
  border-radius: 8px;
  background: #EAF0F1;
  color: #146678;
  font-size: 13px;
  font-weight: 500;
}

.dm-smart-hint {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.4;
  color: #5C6A72;
}

/* плашка «точного совпадения нет» */
.dm-smart-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid #EBD9AE;
  border-radius: 14px;
  background: #FDF6E7;
  color: #9A7B1F;
  font-size: 14px;
  line-height: 1.4;
}

.dm-smart-note .dm-ico { flex: none; }

.dm-smart-note span { flex: 1 1 auto; }

.dm-smart-wa {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  border-radius: 8px;
  background: #25D366;
  color: #FFFFFF !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none !important;
  white-space: nowrap;
}

.dm-smart-wa:hover { background: #1EBE5A; }

/* [2026-09-26] Фасеты размеров убраны из колонки: вместо списков значений
   со счётчиками человек пишет размер словами в умном поиске. Разметку
   оставляем — из неё скрипт берёт доступные значения ширины и длины. */
.side-column .module-item-a10,
.side-column .module-item-a11,
.side-column .module-item-a12,
.side-column .module-item-a220 {
  display: none !important;
}

/* примеры запросов под полем умного поиска */
.dm-smart-examples {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}

.dm-smart-examples > span {
  font-size: 13px;
  color: #5C6A72;
}

.dm-smart-example {
  height: 28px;
  padding: 0 10px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
  color: #146678;
  font-family: inherit;
  font-size: 13px;
  cursor: pointer;
}

.dm-smart-example:hover { border-color: #146678; }

.dm-cat-count .dm-smart-by {
  font-size: 15px;
  font-weight: 400;
  color: #5C6A72;
}

/* [2026-09-26] Телефон: поле поиска во всю ширину, чипы лентой с прокруткой,
   нажимаемые зоны не меньше 44 px (макет P2). */
@media (max-width: 767px) {
  .dm-smart {
    margin: 0 0 12px;
    padding: 14px;
  }

  .dm-smart-input { height: 48px; font-size: 16px; }

  .dm-smart-chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .dm-smart-chips::-webkit-scrollbar { display: none; }

  .dm-smart-chip { flex: none; height: 32px; }

  .dm-smart-example { height: 36px; }

  .dm-smart-x { width: 44px; height: 44px; }

  .dm-smart-note {
    flex-wrap: wrap;
    gap: 10px;
  }

  .dm-smart-wa { width: 100%; justify-content: center; height: 44px; }
}

/* [2026-09-26] Плашка цветовой группы в углу снимка плитки (макет «Умный
   поиск»): белая подложка, кружок цвета и название группы. */
.dm-card .image { position: relative; }

.dm-colour-plate {
  position: absolute;
  inset-block-start: 10px;
  inset-inline-start: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 26px;
  padding: 0 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 1px 3px rgba(28, 37, 41, .12);
  font-size: 12px;
  font-weight: 500;
  color: #1C2529;
  pointer-events: none;
}

.dm-colour-plate .dm-dot {
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
}

/* скидка стоит в том же углу — её опускаем ниже плашки цвета */
.dm-card .image .dm-plates { inset-block-start: 44px; }

/* ==================================================================
   [2026-09-26] Умный поиск: подсказка товаров, снимаемые чипы и строка
   области поиска («в разделе» / «по всему каталогу»).
   ================================================================== */

.dm-smart-suggest {
  margin-top: 8px;
  border: 1px solid #E3E8EC;
  border-radius: 8px;
  background: #FFFFFF;
  overflow: hidden;
}

.dm-smart-found {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid #F2F4F5;
  color: #1C2529 !important;
  font-size: 13px;
  line-height: 1.3;
  text-decoration: none !important;
}

.dm-smart-found:last-child { border-bottom: 0; }

.dm-smart-found:hover { background: #F4F6F7; }

.dm-smart-found img {
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 6px;
  background: #FFFFFF;
}

.dm-smart-found span {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dm-smart-found b {
  flex: none;
  font-size: 13px;
  font-weight: 700;
  color: #146678;
}

/* крестик на чипе: условие снимается по одному */
.dm-smart-chip {
  gap: 4px;
  padding-inline-end: 4px;
}

.dm-smart-kill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #146678;
  cursor: pointer;
}

.dm-smart-kill:hover { background: rgba(20, 102, 120, .12); }

/* где ищем */
.dm-smart-scope {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  font-size: 13px;
  color: #5C6A72;
}

.dm-smart-swap {
  padding: 0;
  border: 0;
  background: transparent;
  color: #146678;
  font-family: inherit;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

/* [2026-09-26] Подсказка под полем шапки: всплывает поверх страницы */
form.dm-search { position: relative; }

.dm-head-suggest {
  position: absolute;
  inset-inline-start: 0;
  inset-inline-end: 0;
  top: calc(100% + 6px);
  z-index: 80;
  margin: 0;
  max-height: 380px;
  overflow-y: auto;
  box-shadow: 0 6px 20px rgba(28, 37, 41, .12);
}

.dm-head-suggest .dm-smart-found { font-size: 14px; }

.dm-head-suggest .dm-smart-found img {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
}

/* у формы поиска в шапке стоит overflow: hidden (скругление поля) — из-за
   него выпадающая подсказка обрезалась по высоте поля */
form.dm-search { overflow: visible !important; }

/* ==================================================================
   [2026-09-26] Тексты разделов: жирным выделяем слова, а не абзацы.
   В описаниях из админки инлайн-стилем стоит font-weight 600 на целых
   параграфах и врезках — читается как сплошной крик. Возвращаем обычное
   начертание; <b> и <strong> внутри текста остаются жирными.
   ================================================================== */

.category-description p[style],
.category-description li[style],
.category-description div[style],
.category-description span[style],
.category-description td[style] {
  font-weight: 400 !important;
}

.category-description b,
.category-description strong,
.category-description h2,
.category-description h3,
.category-description th {
  font-weight: 600 !important;
}

/* таблица в первом блоке: компактная, по ширине текстовой колонки */
.dm-cat-head .category-description table {
  width: auto !important;
  max-width: 640px;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.dm-cat-head .category-description table th,
.dm-cat-head .category-description table td {
  padding: 7px 10px !important;
  font-size: 14px !important;
}

@media (max-width: 991px) {
  .dm-cat-head .category-description table { max-width: 100%; }
}

/* [2026-09-26] артикул в плитке: рядом с поставщиком, приглушённый */
.main-products .caption .stats,
.dm-card .caption .stats {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.dm-card .caption .dm-code,
.main-products .caption .dm-code {
  flex: none;
  font-size: 12px;
  color: #9AA7AE;
  white-space: nowrap;
}

/* бренд и артикул в одну строку: в плитке 210 px они не помещались рядом,
   поэтому длинное имя поставщика сокращаем многоточием */
.main-products .caption .stats,
.dm-card .caption .stats {
  flex-wrap: nowrap;
}

.main-products .caption .stats .stat-1,
.dm-card .caption .stats .stat-1 {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-products .caption .dm-code,
.dm-card .caption .dm-code {
  font-size: 11px;
}

/* тема раскладывает строку поставщика в столбик — из-за этого артикул
   уходил под бренд, хотя просили рядом */
.main-products .caption .stats,
.dm-card .caption .stats {
  flex-direction: row !important;
}


/* ==================================================================
   [2026-09-26] Колонка фильтров: размеры пишут словами, а не выбирают
   из списков. Все фасеты-атрибуты («Стенка высота», «Столик длина»…)
   скрыты; разметка остаётся, из неё умный поиск берёт значения.
   ================================================================== */

.side-column [class*="module-item-a"] { display: none !important; }

/* списки фабрик и цветов показываем целиком: внутренняя прокрутка прятала
   половину поставщиков раздела (просьба Светланы) */
.side-column .module-item .panel-body,
.side-column .module-item .filter-body,
.side-column .module-item ul {
  max-height: none !important;
  overflow: visible !important;
}

/* ==================================================================
   [2026-09-26] Цена и фабрики в колонке по макету: белая карточка,
   заголовок 13 прописными, поля «от» и «до» высотой 40, у поставщиков
   логотип и число товаров. Полосу-ползунок убираем: в макете её нет,
   а вводить точные суммы удобнее руками.
   ================================================================== */

.side-column .module-filter .module-item {
  /* [2026-09-26] по макету блоки разделяются тонкой чертой, а не карточкой
     со скруглением: рамки убраны (просьба Светланы) */
  width: auto;
  box-sizing: border-box;
  margin: 0;
  padding: 16px 0;
  border: none;
  border-top: 1px solid #E9EDF0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}

.side-column .module-filter .module-item:first-child { border-top: none; padding-top: 0; }

.side-column .module-filter .panel-heading {
  padding: 0;
  background: transparent !important;
  border: none !important;
}

.side-column .module-filter .panel-title > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 0 0 12px;
  font-size: 16px !important;
  font-weight: 600;
  color: #1C2529 !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal;
  word-break: normal;
}

/* колонка узкая: длинные подписи и числа не должны её распирать */
.side-column .module-filter,
.side-column .module-filter .module-item,
.side-column .module-filter .panel-body,
.side-column .module-filter .panel-title { min-width: 0; max-width: 100%; }

.side-column .module-filter .panel-title { text-transform: none !important; }

.side-column .module-filter .panel-title > a .fa { color: #C3CCD2; }

.side-column .module-filter .panel-body {
  padding: 0;
  background: transparent !important;
  border: none !important;
}

/* число товаров у фабрики: тема его прячет, а в макете оно справа */
.side-column .module-item-m .count-badge {
  display: inline-block !important;
  flex: 0 0 auto;
}

/* цена: ползунок фирменного цвета (в теме он красный) плюс два поля */
.side-column .filter-price { display: block; }

.side-column .filter-price .range-slider {
  display: block !important;
  padding: 0 6px;
  margin-bottom: 14px;
}

.side-column .filter-price .irs-line,
.side-column .filter-price .irs-line-mid,
.side-column .filter-price .irs-line-left,
.side-column .filter-price .irs-line-right {
  height: 4px;
  top: 26px;
  background: #E3E8EC !important;
  border-radius: 2px;
}

.side-column .filter-price .irs-bar {
  height: 4px;
  top: 26px;
  background: #146678 !important;
  border: none !important;
}

.side-column .filter-price .irs-slider {
  /* линия лежит на 26 px, высота 4 — центр 28. У темы к ручке добавляются
     свои 5 px сверху, поэтому ставим 14, а не 19: замерено на странице */
  top: 14px;
  margin: 0 !important;
  width: 18px;
  height: 18px;
  border: 2px solid #146678 !important;
  border-radius: 50%;
  background: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(28, 37, 41, .18);
  cursor: pointer;
}

.side-column .filter-price .irs-slider:hover,
.side-column .filter-price .irs-slider.state_hover { background: #146678 !important; }

.side-column .filter-price .irs-from,
.side-column .filter-price .irs-to,
.side-column .filter-price .irs-single { background: #146678 !important; }

.side-column .filter-price .irs-from:after,
.side-column .filter-price .irs-to:after,
.side-column .filter-price .irs-single:after { border-top-color: #146678 !important; }

.side-column .filter-price .irs-min,
.side-column .filter-price .irs-max { display: none !important; }

/* два поля «от» и «до» под ползунком */
.side-column .filter-price .extra-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.side-column .filter-price .currency-symbol { display: none !important; }

.side-column .filter-price input {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #E3E8EC !important;
  border-radius: 8px !important;
  background: #FFFFFF;
  font-size: 15px;
  color: #1C2529;
}

.side-column .filter-price input:focus {
  border-color: #146678 !important;
  outline: none;
  box-shadow: 0 0 0 3px rgba(20, 102, 120, .12);
}

/* фабрики: логотип, имя, количество; все в одном списке без прокрутки */
.side-column .module-item-m label {
  display: flex !important;
  min-width: 0;
  max-width: 100%;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 7px 8px;
  border-radius: 8px;
  cursor: pointer;
}

.side-column .module-item-m label:hover { background: #F4F6F7; }

.side-column .module-item-m label img {
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.side-column .module-item-m .links-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  color: #1C2529;
}

.side-column .module-item-m .count-badge {
  flex: none;
  background: transparent !important;
  color: #9AA7AE !important;
  font-size: 13px;
  padding: 0 !important;
}

/* [2026-09-26] Заголовки фильтров не сворачиваются: стрелка «открыть-
   закрыть» только мешала — нужные списки короткие и должны быть на виду
   (просьба Светланы). Блок держим раскрытым принудительно. */
.side-column .module-filter .panel-title > a {
  pointer-events: none;
  cursor: default;
}

.side-column .module-filter .panel-title > a .fa,
.side-column .module-filter .panel-title > a:before { display: none !important; }

.side-column .module-filter .panel-collapse {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
}

/* [2026-09-26] Счётчик товаров: тема ставит его через float и абсолютное
   смещение, в узкой колонке число уезжало за край карточки. Держим его
   последним элементом строки. */
.side-column .module-item .count-badge,
.side-column .module-item-m .count-badge {
  position: static !important;
  float: none !important;
  top: auto !important;
  right: auto !important;
  align-self: center;
  margin-inline-start: auto;
  transform: none !important;
}

/* карточка фильтра не шире колонки: тема раздвигает .module-body
   отрицательными полями, и правый край с числами уходил за колонку */
.side-column .module-filter .module-body,
.side-column .module-filter .panel-group,
.side-column .module-filter .panel-collapse,
.side-column .module-filter .filter-radio,
.side-column .module-filter .filter-checkbox {
  /* .module-filter это flex, а его содержимое не сжималось ниже своей
     самой длинной строки («BOGFRAN MEBLE PL» плюс число) и вылезало
     за колонку — снимаем min-width: auto */
  min-width: 0 !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  flex: 1 1 0% !important;
}

.side-column .module-filter .module-item {
  margin-inline: 0 !important;
  width: auto !important;
}

/* [2026-09-26] Один вид заголовка у всех блоков колонки: наши («Срок
   доставки», «Цвет») выглядели прописными серыми, а темовые — тёмными.
   Берём вид из макета: 16 px, полужирный, обычный регистр. */
.side-column .dm-flt-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1C2529 !important;
}

/* строка фабрики: в колонку шириной 210 должны влезть логотип, имя и число */
.side-column .module-item-m label { padding: 6px; gap: 8px; }

.side-column .module-item-m label img { flex: 0 0 24px; width: 24px; height: 24px; }

.side-column .module-item-m .links-text { font-size: 13px; }

/* у темы line-height: 0 — число вставало выше строки */
.side-column .module-item .count-badge { line-height: 1 !important; }

/* [2026-09-26] Шапка колонки: «Фильтры» и «Сбросить все» в одну строку —
   кнопка сброса налезала на заголовок. */
.side-column .module-filter {
  flex-wrap: wrap;
  align-items: center;
}

.side-column .module-filter > .module-title {
  /* кнопка сброса лежит внутри самого заголовка и стояла поверх слова
     «Фильтры» — раскладываем строку */
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 10px;
  flex: 1 1 100%;
  order: 1;
  margin: 0 0 14px;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #1C2529 !important;
}

.side-column .module-filter .reset-filter {
  flex: 0 0 auto;
  position: static !important;
  transform: none !important;
  margin: 0;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  font-size: 13px;
  color: #5C6A72 !important;
  text-decoration: underline;
}

.side-column .module-filter .reset-filter:hover { color: #146678 !important; }

.side-column .module-filter .reset-filter .fa,
.side-column .module-filter .reset-filter i,
.side-column .module-filter .reset-filter:before { display: none !important; }

.side-column .module-filter .module-title > span { flex: 0 1 auto; }

.side-column .module-filter .module-title > a.x { display: none !important; }

.side-column .module-filter > .module-body { order: 3; flex-basis: 100% !important; }

/* [2026-09-26] Выбранная фабрика должна быть видна: у темы отметка радио
   спрятана, и выбор никак не читался. Подсвечиваем всю строку. */
.side-column .module-item-m label:has(input:checked) {
  background: #E4F1EA;
  box-shadow: inset 0 0 0 1px #BFDCCB;
}

.side-column .module-item-m label:has(input:checked) .links-text {
  font-weight: 600;
  color: #10404B;
}

/* число товаров: у темы своя белая плашка, на сером наведении она бросалась
   в глаза (замечание Светланы) */
.side-column .module-item .count-badge,
.side-column .module-item label:hover .count-badge {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* [2026-09-26] В подсказке поиска цена продажи основная, старая — рядом
   зачёркнутой и мельче. До этого показывалась только цена до скидки. */
.dm-smart-found s {
  margin-inline-start: 6px;
  color: #9AA7AE;
  font-size: 13px;
  text-decoration: line-through;
  white-space: nowrap;
}

.dm-smart-found b { white-space: nowrap; }

/* [2026-09-26] Число товаров вставало выше названия: у темы .count-badge
   тянется на всю высоту строки и текст прижимается к её верху. */
.side-column .module-item .count-badge {
  display: flex !important;
  align-items: center;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.2 !important;
}

/* фабрик можно выбрать несколько — показываем это квадратом, а не точкой */
.side-column .module-item-m label:before {
  content: '';
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 1px solid #C3CCD2;
  border-radius: 4px;
  background: #FFFFFF;
}

.side-column .module-item-m label:has(input:checked):before {
  border-color: #146678;
  background: #146678 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-6'/%3E%3C/svg%3E") center/13px no-repeat;
}

/* [2026-09-26] Подсказки «Попробуйте»: при наведении менялся кегль, и
   строка прыгала под курсором — промахнуться легче, чем попасть. Размеры
   держим жёстко, отзыв даём цветом и фоном. */
.dm-smart-example,
.dm-smart-example:hover,
.dm-smart-example:focus,
.dm-smart-example:active {
  height: 28px !important;
  padding: 0 10px !important;
  border-width: 1px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 26px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.dm-smart-example:hover {
  border-color: #146678 !important;
  background: #E8F1F3 !important;
  color: #10404B !important;
}

.dm-smart-example:focus-visible { outline: 2px solid #146678; outline-offset: 2px; }

/* та же болезнь у чипов запроса и ссылки «искать везде» */
.dm-smart-chip,
.dm-smart-chip:hover,
.dm-smart-swap,
.dm-smart-swap:hover {
  font-size: inherit;
  font-weight: inherit;
  transform: none !important;
}

/* [2026-09-27] Значки товара (у матрасов — степень жёсткости) кладём в ряд
   по низу снимка, справа. Сверху слева уже стоят скидка и «Хит», и когда у
   двустороннего матраса два кружка, они наезжали друг на друга. */
.product-thumb .dm-marks {
  /* тема растягивает .product-labels на весь снимок — перебиваем */
  position: absolute !important;
  inset: auto 8px 8px auto !important;
  z-index: 4;
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: 4px !important;
  width: max-content !important;
  height: auto !important;
  max-width: calc(100% - 16px);
  padding: 0 !important;
  pointer-events: none;
}

.product-thumb .dm-marks .product-label {
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  background: none !important;
  box-shadow: none !important;
}

.product-thumb .dm-marks .product-label b {
  display: block;
  width: 44px;
  height: 44px;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

@media (max-width: 767px) {
  .product-thumb .dm-marks .product-label,
  .product-thumb .dm-marks .product-label b { width: 34px; height: 34px; }
}

/* ==================================================================
   [2026-09-27] Галерея товара на телефоне: снимок во всю ширину,
   миниатюры лентой под ним. Тема ставит их вертикальной полосой слева,
   и главный кадр сжимался до 106 px (замечание Светланы).
   ================================================================== */

@media (max-width: 767px) {
  .product-image.direction-vertical {
    flex-direction: column !important;
    width: 100% !important;
  }

  .product-image .main-image {
    order: 0 !important;
    width: 100% !important;
  }

  .product-image .main-image .swiper-container {
    width: 100% !important;
    height: auto !important;
  }

  .product-image .main-image .swiper-slide img {
    width: 100%;
    height: auto;
    display: block;
  }

  /* лента миниатюр: три-четыре кадра в ряд, листается пальцем */
  .product-image .additional-images {
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    margin-top: 10px;
  }

  .product-image .additional-images .swiper-container {
    width: 100% !important;
    height: auto !important;
  }

  .product-image .additional-images .swiper-wrapper {
    flex-direction: row !important;
    height: auto !important;
    transform: none !important;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .product-image .additional-images .swiper-wrapper::-webkit-scrollbar { display: none; }

  .product-image .additional-images .swiper-slide {
    flex: 0 0 72px !important;
    width: 72px !important;
    height: 72px !important;
    margin: 0 !important;
    border-radius: 8px;
    overflow: hidden;
  }

  .product-image .additional-images .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* стрелки и точки у миниатюр на телефоне лишние */
  .product-image .additional-images .swiper-buttons,
  .product-image .additional-images .swiper-pagination { display: none !important; }
}

/* [2026-09-27] Полоса покупки на телефоне: снимок и длинное имя не влезают,
   оставляем цену и две кнопки. Так же стоит в мобильном макете. */
@media (max-width: 767px) {
  .dm-buybar-pic { display: none; }

  .dm-buybar-name {
    font-size: 13px;
    -webkit-line-clamp: 1;
  }

  .dm-buybar-in {
    gap: 10px;
    padding: 8px 12px;
  }

  .dm-buybar .btn,
  .dm-buybar a { white-space: nowrap; }
}

/* [2026-09-27] На телефоне тема показывает свою липкую панель с количеством
   и кнопкой — 137 px и без цены. Прячем её: наша полоса компактнее и несёт
   цену, корзину и WhatsApp. */
@media (max-width: 991px) {
  body.product-product .button-group-page { display: none !important; }
}

/* [2026-09-27] Калькулятор доставки стоит блоком на карточке товара:
   панель перенесена из модального окна в поток страницы. */
.dm-calc-inline .dmc-modal {
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 12px 0 0 !important;
  transform: none !important;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  box-shadow: none !important;
  background: #FFFFFF;
}

.dm-calc-inline .dmc-btn { display: none !important; }

.dm-calc-inline .dmc-head {
  border-bottom: 1px solid #E3E8EC;
  border-radius: 14px 14px 0 0;
}

.dm-calc-inline .dmc-body { max-height: none !important; }

/* [2026-09-27] Нижняя полоса связи на телефоне (мобильный макет): две
   кнопки во всю ширину. На карточке товара её нет — там полоса покупки. */
.dm-contactbar {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 6800;
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  background: #FFFFFF;
  border-top: 1px solid #E3E8EC;
  box-shadow: 0 -2px 10px rgba(28, 37, 41, .06);
}

.dm-contactbar a {
  flex: 1;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 500;
  color: #FFFFFF !important;
  text-decoration: none !important;
}

.dm-contactbar-wa { background: #25D366; }

.dm-contactbar-call { background: #146678; }

/* плавающая кнопка звонка темы и подвал не должны прятаться под полосой */
body.dm-contactbar-on .dm-placed { bottom: 88px !important; }

body.dm-contactbar-on .dm-footer { padding-bottom: 84px; }

@media (min-width: 768px) {
  .dm-contactbar { display: none; }
}

/* ==================================================================
   [2026-09-27] Крупнее текст на телефоне. В плитке один товар в ряд,
   места хватает: название, цена, размеры и срок читаются без прищура
   (просьба Светланы).
   ================================================================== */

@media (max-width: 767px) {
  /* карточка товара в списке */
  .main-products .product-thumb .name a,
  .product-grid .product-thumb .name a {
    font-size: 17px !important;
    line-height: 1.35;
  }

  .main-products .product-thumb .price,
  .main-products .product-thumb .price-new {
    font-size: 20px !important;
    font-weight: 700;
  }

  .main-products .product-thumb .price-old { font-size: 15px !important; }

  .main-products .product-thumb .stats,
  .main-products .product-thumb .stat-1,
  .main-products .product-thumb .stat-2 { font-size: 14px !important; }

  .dm-term,
  .product-thumb .dm-term {
    font-size: 14px !important;
    padding: 5px 10px !important;
  }

  .dm-code { font-size: 13px !important; }

  /* плитки разделов и подразделов */
  .dm-refine-name,
  .dm-razdely-item,
  .dm-cat-section { font-size: 16px !important; }

  .dm-refine-facts { font-size: 14px !important; }

  /* заголовки страниц */
  .dm-cat-head h1,
  #content h1 { font-size: 24px !important; line-height: 1.25; }

  .dm-cat-count { font-size: 16px !important; }

  /* карточка товара */
  body[class*="product-product"] #content h1 { font-size: 22px !important; }

  body[class*="product-product"] .product-price,
  body[class*="product-product"] .price-new,
  body[class*="product-product"] .dm-total-value { font-size: 26px !important; }

  body[class*="product-product"] .product-stats,
  body[class*="product-product"] .dm-dims { font-size: 15px !important; }

  /* ленты на главной */
  .dm-strip-name { font-size: 16px !important; }

  .dm-strip-price { font-size: 20px !important; }

  .dm-strip-dims,
  .dm-strip-maker { font-size: 14px !important; }

  .dm-tile-name { font-size: 18px !important; }

  .dm-block-head h2,
  .dm-says-block h2,
  .dm-new-head h2 { font-size: 21px !important; }

  .dm-block-head p,
  .dm-new-head p { font-size: 16px !important; }
}


/* [2026-09-27] Прежние мобильные кегли убраны: размер задаёт
   dm-mobile-type.css одним коэффициентом. */

/* [2026-09-27] На телефоне один товар в ряд: карточка во всю ширину,
   снимок крупный, текст читается без прищура (решение Светланы). */
@media (max-width: 767px) {
  .main-products.product-grid .product-layout,
  .main-products.product-grid > div,
  .product-grid .product-layout {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* [2026-09-28] Карточка идёт сверху вниз: снимок во всю ширину, под ним
     всё о товаре. Раньше снимок стоял слева на 42 %, и в оставшейся
     колонке название ломалось на шесть строк. */
  .main-products.product-grid .product-thumb { flex-direction: column; }

  .main-products.product-grid .product-thumb .image {
    flex: none;
    width: 100%;
    max-width: 100%;
  }

  .main-products.product-grid .product-thumb .image img {
    width: 100%;
    height: auto;
  }

  .main-products.product-grid .product-thumb .caption {
    flex: none;
    width: 100%;
    min-width: 0;
    padding: 14px 14px 16px;
  }

  /* [2026-09-28] Поля списка: колонка товаров держала 20 px с каждой
     стороны поверх 16 px контейнера — карточка выходила 308 px при
     экране 390. Оставляем только поля контейнера. */
  body.dm-frame-on .container > .row > [class*="col-"] { padding-inline: 0 !important; }

  /* [2026-09-28] Подразделы на телефоне по макету «Категория товаров».
     Вид выбирает скрипт: строки для уровней 1-2, плитки для коллекций. */
  .dm-refine .refine-items {
    display: flex !important;
    flex-direction: column;
    grid-template-columns: none !important;
    gap: 10px;
  }

  /* --- уровни 1-2: строками --- */
  .dm-refine-rows .refine-item {
    /* тема держит плитку в половину ряда — строке нужна вся ширина */
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
  }

  /* [2026-09-28] Строка подраздела: кадр слева, справа имя, строка
     «145 коллекций · 2932 модели» и цена. Стрелка по центру строки. */
  body.dm-frame-on .dm-refine-rows .refine-item > a {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) 14px;
    grid-template-rows: auto auto auto;
    column-gap: 14px;
    align-items: center;
    padding: 12px;
  }

  .dm-refine-rows .refine-item img {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 104px;
    height: 86px;
    border-radius: 10px;
    object-fit: cover;
  }

  /* имя раздела: тема задаёт свой кегль позже нашего файла,
     поэтому берём селектор длиннее */
  body.dm-frame-on .dm-refine .dm-refine-rows .refine-name,
  body.dm-frame-on .dm-refine .dm-refine-rows .refine-name span,
  body.dm-frame-on .dm-refine .dm-refine-rows .refine-name .links-text {
    padding: 0;
    font-size: 19px !important;
    font-weight: 600;
    line-height: 1.2;
  }

  .dm-refine-rows .refine-name {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
  }

  .dm-refine-rows .dm-refine-facts {
    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: start;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 4px 0 0;
  }

  .dm-refine-rows .dm-refine-dots { display: none; }

  /* стрелка: тонкая, светлая, по центру строки */
  .dm-refine-rows .refine-item > a::after {
    content: '';
    grid-column: 3;
    grid-row: 1 / span 3;
    align-self: center;
    width: 9px;
    height: 9px;
    border-top: 1.5px solid #C3CCD2;
    border-right: 1.5px solid #C3CCD2;
    transform: rotate(45deg);
  }

  [dir="rtl"] .dm-refine-rows .refine-item > a::after { transform: rotate(-135deg); }

  body.dm-frame-on .dm-refine-rows .dm-refine-line { font-size: 14px !important; }

  /* цена того же кегля, что и название: по ней принимают решение */
  body.dm-frame-on .dm-refine-rows .dm-refine-price,
  body.dm-frame-on .dm-refine-rows .dm-refine-price b { font-size: 19px !important; }

  /* --- уровень 3: коллекции плитками по две ---
     Сетка одна на все карточки, карточки наследуют её строки (subgrid):
     имя, факты, кружки и цена у соседей стоят на одном уровне, и плитки
     получаются одной высоты. */
  /* селектор длиннее общего правила ленты: иначе остаётся flex */
  .dm-refine .refine-items.dm-refine-cards {
    display: grid !important;
    flex-direction: initial;
    /* важность нужна: общее правило ленты снимает колонки через none */
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .dm-refine-cards .refine-item {
    display: contents;
  }

  body.dm-frame-on .dm-refine-cards .refine-item > a {
    display: grid !important;
    grid-row: span 5;
    grid-template-rows: subgrid;
    gap: 0;
    padding: 0;
    /* низ карточки ровный: плитка читается одним модулем */
    border-radius: 12px 12px 0 0;
    overflow: hidden;
  }

  .dm-refine-cards .refine-item img {
    width: 100%;
    /* кадр ниже: место нужно подписям, мебель на 92 px видно так же */
    height: 92px;
    border-radius: 0;
    object-fit: cover;
  }

  .dm-refine-cards .refine-name {
    display: block;
    padding: 10px 12px 0;
  }

  body.dm-frame-on .dm-refine-cards .dm-cc-word {
    display: block;
    font-size: 13px !important;
    font-style: normal;
    letter-spacing: .04em;
    text-transform: lowercase;
    color: #9AA7AE;
  }

  body.dm-frame-on .dm-refine-cards .dm-cc-name {
    display: block;
    font-size: 22px !important;
    font-weight: 600;
    line-height: 1.15;
    color: #1C2529;
  }

  body.dm-frame-on .dm-refine-cards .dm-refine-line {
    padding: 6px 12px 0;
    font-size: 15px !important;
    color: #5C6A72;
  }

  .dm-refine-cards .dm-refine-dots {
    display: flex;
    gap: 6px;
    padding: 8px 12px 0;
    min-height: 18px;
  }

  .dm-refine-cards .dm-refine-dots .dm-dot {
    width: 18px;
    height: 18px;
  }

  body.dm-frame-on .dm-refine-cards .dm-refine-price,
  body.dm-frame-on .dm-refine-cards .dm-refine-price b {
    font-size: 19px !important;
  }

  .dm-refine-cards .dm-refine-price {
    align-self: end;
    padding: 8px 12px 14px;
  }

  .dm-refine .refine-items .dm-tile-hidden { display: none !important; }

  /* строка «26 коллекций — показано 6» */
  .dm-refine-count {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
  }

  body.dm-frame-on .dm-refine-count b { font-size: 18px !important; font-weight: 600; }

  body.dm-frame-on .dm-refine-count span { font-size: 14px !important; color: #5C6A72; }

  /* заголовок «Выберите категорию» над лентой */
  .refine-categories > .title,
  .refine-categories > h2 { margin-bottom: 10px; }
}

/* ==================================================================
   [2026-09-28] Разделы на телефоне: тот же список, что в столбце на
   экране, но строкой над товарами. Скрипт переносит его туда и вешает
   класс dm-razdely-strip.
   ================================================================== */

@media (max-width: 767px) {
  .dm-razdely-strip {
    display: block !important;
    margin: 0 0 16px;
    padding: 0;
    border: 0;
    background: none;
  }

  .dm-razdely-strip .dm-razdely-title {
    margin-bottom: 8px;
    font-size: 13px;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #9AA7AE;
  }

  .dm-razdely-strip .dm-razdely-list {
    display: flex;
    flex-direction: row;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .dm-razdely-strip .dm-razdely-list::-webkit-scrollbar { display: none; }

  body.dm-frame-on .dm-razdely-strip .dm-razdely-item {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 16px;
    border: 1px solid #E3E8EC;
    border-radius: 22px;
    background: #FFFFFF;
    font-size: 16px !important;
    white-space: nowrap;
    color: #1C2529 !important;
  }

  body.dm-frame-on .dm-razdely-strip .dm-razdely-here {
    border-color: #146678;
    background: #146678;
    color: #FFFFFF !important;
  }

  .dm-razdely-strip .dm-razdely-item span { font-size: 13px; opacity: .7; }

  /* «вверх, в родительский раздел» — строкой над плашками */
  .dm-razdely-strip .dm-razdely-up {
    display: inline-flex;
    margin-bottom: 8px;
    font-size: 15px;
  }
}

/* [2026-09-28] Умный поиск на телефоне: он живёт в колонке фильтров, а
   она на телефоне скрыта. Скрипт переносит его под строку разделов. */
@media (max-width: 767px) {
  .dm-smart.dm-smart-strip {
    display: block !important;
    margin: 0 0 16px;
  }

  body.dm-frame-on .dm-smart-strip .dm-smart-input {
    height: 48px;
    font-size: 16px !important;
  }

  body.dm-frame-on .dm-smart-strip .dm-smart-head b { font-size: 16px !important; }

  /* [2026-09-28] Подписи внутри блока лежат в безымянных span, и общий
     множитель поднимал их до 22,5 — блок разрастался на пол-экрана.
     Проще задать размер всему блоку, а полю и заголовку вернуть свой. */
  body.dm-frame-on .dm-smart-strip,
  body.dm-frame-on .dm-smart-strip * { font-size: 15px !important; }

  body.dm-frame-on .dm-smart-strip .dm-smart-head b { font-size: 17px !important; }

  body.dm-frame-on .dm-smart-strip .dm-smart-input { font-size: 16px !important; }

  body.dm-frame-on .dm-smart-strip .dm-smart-example { font-size: 14px !important; }
}

/* [2026-09-28] Кнопка «показать ещё» под плитками коллекций. */
@media (max-width: 767px) {
  body.dm-frame-on .dm-tiles-more {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 0 16px;
    height: 48px;
    border: 1px solid #146678;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 16px !important;
    font-weight: 500;
    color: #146678;
  }
}

/* ==================================================================
   [2026-09-28] Панель фильтров на телефоне по макету «Шторка. Фильтры»:
   счётчик выбранного на кнопке, чипы под панелью, кнопка «показать ещё»
   вместо страниц.
   ================================================================== */

@media (max-width: 767px) {
  .dm-mbar-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    height: 20px;
    margin-inline-start: 6px;
    padding: 0 6px;
    border-radius: 10px;
    background: #146678;
    color: #FFFFFF;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
  }

  .dm-mbar-count[hidden] { display: none !important; }

  .dm-chips-line {
    display: flex;
    gap: 8px;
    margin: 10px 0 0;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .dm-chips-line[hidden] { display: none !important; }

  .dm-chips-line::-webkit-scrollbar { display: none; }

  body.dm-frame-on .dm-chip-off {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 36px;
    padding: 0 12px;
    border: 1px solid #C9D9DC;
    border-radius: 18px;
    background: #EAF0F1;
    font-size: 14px !important;
    color: #0F4E5B;
    white-space: nowrap;
  }

  .dm-chip-off .dm-ico { opacity: .6; }

  body.dm-frame-on .dm-more-goods {
    display: block;
    width: 100%;
    height: 52px;
    margin: 16px 0 8px;
    border: 1px solid #146678;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 16px !important;
    font-weight: 500;
    color: #146678;
  }

  body.dm-frame-on .dm-more-goods[disabled] { opacity: .6; }

  /* страницы темы на телефоне не нужны: листаем кнопкой */
  .dm-more-goods ~ .pagination-results,
  .dm-more-goods ~ .pagination,
  .dm-more-goods + .pagination-results .pagination { display: none !important; }
}

/* [2026-09-28] Шторка фильтров носит класс боковой колонки ради её
   оформления — но прятаться, как колонка, она не должна. */
@media (max-width: 767px) {
  .dm-sheet .dm-sheet-body.side-column {
    display: block !important;
    width: auto;
    max-width: none;
    padding: 0 16px;
  }

  .dm-sheet .side-column .module-filter { display: block !important; }

  /* у модуля свой заголовок «Фильтры» — в шторке он второй лишний */
  .dm-sheet .side-column .module-filter > .module-title,
  .dm-sheet .side-column .module-filter .module-title:first-child { display: none !important; }

  /* кнопки шторки не должны прятаться за нижней полосой связи */
  .dm-sheet .dm-sheet-box { padding-bottom: 0; }

  .dm-sheet .dm-sheet-foot {
    position: sticky;
    bottom: 0;
    z-index: 2;
    padding-bottom: calc(12px + env(safe-area-inset-bottom));
    background: #FFFFFF;
    box-shadow: 0 -2px 10px rgba(28, 37, 41, .08);
  }

  body.dm-sheet-open .dm-contactbar,
  body.dm-sheet-open .dm-buybar { display: none !important; }
}

/* [2026-09-28] На телефоне слайдера интерьеров в шапке нет: он съедал
   первый экран, а до коллекций приходилось крутить (решение Светланы).
   Вместе с ним убираем и воздух, который держали поля шапки. */
@media (max-width: 767px) {
  .dm-cat-head .dm-slider,
  .dm-cat-head .category-image { display: none !important; }

  .dm-cat-head { margin-bottom: 8px !important; }

  /* пустая обёртка описания (текст уехал вниз, слайдера нет) не должна
     держать 30 px воздуха над списком */
  .dm-cat-head .category-description {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* у списка коллекций свой заголовок «145 коллекций» — общий не нужен */
  .dm-refine-cards ~ .refine-title,
  .refine-categories:has(.dm-refine-cards) .refine-title { display: none !important; }

  .dm-cat-head h1 { margin-bottom: 10px !important; }
}

/* [2026-09-28] На странице со списком подразделов от блока разделов
   остаётся одна строка — возврат в родительский раздел. Соседние разделы
   там лишние: за ними и так идёт список (просьба Светланы). */
@media (max-width: 767px) {
  /* [2026-09-28] Между заголовком и кнопкой возврата воздуха не нужно */
  .dm-razdely-back {
    margin-top: 0;
    margin-bottom: 12px;
  }

  .dm-razdely-back .dm-razdely-up { margin-top: 0 !important; }

  .dm-razdely-back .dm-razdely-title,
  .dm-razdely-back .dm-razdely-list { display: none !important; }

  /* ⚠️ Общее правило колонки растягивает ссылку через space-between —
     в строке возврата стрелка и название должны стоять рядом. */
  /* [2026-09-28] Возврат наверх — кнопкой: белая, с зелёной обводкой,
     чтобы читалась как кнопка, а не как ссылка.
     ⚠️ Общее правило колонки растягивает ссылку через space-between. */
  body.dm-frame-on .dm-razdely-back .dm-razdely-up {
    display: inline-flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 8px;
    width: auto;
    min-height: 48px;
    margin: 0;
    padding: 0 20px;
    border: 1.5px solid #146678;
    border-radius: 10px;
    background: #FFFFFF;
    font-size: 17px !important;
    font-weight: 500;
    color: #146678 !important;
  }

  .dm-razdely-back .dm-razdely-up::before {
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23146678' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 18-6-6 6-6'/%3E%3C/svg%3E") no-repeat center;
  }

  .dm-razdely-back .dm-razdely-up span {
    font-size: 14px;
    opacity: .7;
  }
}

/* ==================================================================
   [2026-09-28] Карточка товара на телефоне: размеры и цена по центру и
   крупнее, срок доставки со значком в рост строки (просьба Светланы).
   ================================================================== */

@media (max-width: 767px) {
  /* размеры: подпись значком-линейкой, строка по центру */
  body.dm-frame-on .main-products .product-thumb .dm-dims {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 6px 0 2px;
    font-size: 18px !important;
    color: #5C6A72;
  }

  .main-products .product-thumb .dm-dims::before {
    content: '';
    flex: none;
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%235C6A72' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.3 8.7 8.7 21.3a1 1 0 0 1-1.4 0l-4.6-4.6a1 1 0 0 1 0-1.4L15.3 2.7a1 1 0 0 1 1.4 0l4.6 4.6a1 1 0 0 1 0 1.4Z'/%3E%3Cpath d='m7.5 10.5 2 2'/%3E%3Cpath d='m10.5 7.5 2 2'/%3E%3Cpath d='m13.5 4.5 2 2'/%3E%3Cpath d='m4.5 13.5 2 2'/%3E%3C/svg%3E") no-repeat center;
  }

  /* цена по центру: новая крупно, прежняя мельче и светлее */
  body.dm-frame-on .main-products .product-thumb .price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    text-align: center;
  }

  body.dm-frame-on .main-products .product-thumb .price-new,
  body.dm-frame-on .main-products .product-thumb .price > span:not(.price-old) {
    font-size: 28px !important;
    font-weight: 700;
  }

  body.dm-frame-on .main-products .product-thumb .price-old {
    font-size: 16px !important;
    font-weight: 400;
    color: #9AA7AE !important;
    text-decoration: line-through !important;
  }

  /* срок доставки: значок в рост строки, по центру плашки */
  body.dm-frame-on .main-products .product-thumb .dm-term {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
  }

  body.dm-frame-on .main-products .product-thumb .dm-term .dm-ico {
    flex: none;
    width: 22px !important;
    height: 22px !important;
  }
}

/* [2026-09-28] Полоса фильтров, прибитая к верху скриптом (sticky ломает
   overflow: hidden у обёртки страницы). Под ней идёт распорка в её рост,
   чтобы страница не прыгала. */
@media (max-width: 767px) {
  .dm-mbar.dm-mbar-fixed {
    position: fixed !important;
    inset-inline: 0;
    z-index: 4800;
    margin: 0 !important;
    padding: 8px 16px !important;
    background: #F7F6F3;
    box-shadow: 0 2px 10px rgba(28, 37, 41, .10);
  }

  .dm-mbar-spacer[hidden] { display: none !important; }
}

/* ==================================================================
   [2026-09-28] Шторка фильтров: на айфоне открывалась полоской у нижнего
   края — были видны только заголовок и кнопки. Причина: у коробки не было
   своей высоты (только max-height), и тело с overflow схлопывалось.
   Задаём высоту явно и раздаём роли флекса; dvh учитывает панель браузера.
   ================================================================== */

@media (max-width: 767px) {
  .dm-sheet { z-index: 100000 !important; }

  .dm-sheet .dm-sheet-box {
    height: 86vh;
    height: 86dvh;
    max-height: 86vh;
    max-height: 86dvh;
  }

  .dm-sheet .dm-sheet-head,
  .dm-sheet .dm-sheet-foot { flex: 0 0 auto; }

  .dm-sheet .dm-sheet-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    /* прокрутка не «протекает» на страницу под шторкой */
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}

/* [2026-09-28] Лупа и строка поиска — только на телефоне: на большом
   экране поиск живёт в шапке темы, и вторая лупа там лишняя. */
@media (min-width: 768px) {
  .dm-searchbtn,
  .dm-mobsearch { display: none !important; }
}

/* [2026-09-28] Кнопка «Найти» в умном поиске: без неё было непонятно,
   случился поиск или нет. */
.dm-smart-go {
  display: block;
  width: 100%;
  height: 44px;
  margin-top: 10px;
  border: 0;
  border-radius: 8px;
  background: #146678;
  color: #FFFFFF;
  font-size: 15px;
  font-weight: 500;
}

.dm-smart-go:hover { background: #0F4E5B; }

@media (max-width: 767px) {
  body.dm-frame-on .dm-smart-strip .dm-smart-go {
    height: 50px;
    font-size: 17px !important;
  }
}

/* [2026-09-28] Поля по размерам в шторке фильтров на телефоне: вместо
   длинных списков значений человек пишет число. */
@media (max-width: 767px) {
  .dm-sizebox {
    margin: 0 0 16px;
    padding: 14px;
    border: 1px solid #E3E8EC;
    border-radius: 12px;
    background: #F7F6F3;
  }

  body.dm-frame-on .dm-sizebox-title {
    margin-bottom: 10px;
    font-size: 17px !important;
    font-weight: 600;
    color: #1C2529;
  }

  .dm-sizebox-rows {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .dm-sizebox-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
  }

  body.dm-frame-on .dm-sizebox-row span { font-size: 16px !important; color: #5C6A72; }

  /* [2026-09-28] Крестик стоит рядом с полем обычным элементом строки.
     Абсолютным он «прыгал» на телефоне: на айфоне обёртка считалась по
     строке текста, а не по высоте поля. Место под него держим всегда,
     чтобы строка не дёргалась. */
  /* рамка у обёртки: число и крестик лежат в одном поле */
  .dm-sizebox-field {
    display: flex;
    align-items: center;
    flex: 0 0 140px;
    width: 140px;
    height: 44px;
    padding-inline-end: 4px;
    border: 1px solid #C9D9DC;
    border-radius: 8px;
    background: #FFFFFF;
  }

  body.dm-frame-on .dm-sizebox-clear {
    flex: 0 0 30px;
    width: 30px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: none;
    color: #9AA7AE;
  }

  .dm-sizebox-clear[hidden] {
    display: flex !important;
    visibility: hidden;
  }

  body.dm-frame-on .dm-sizebox-input {
    /* стрелки-крутилку убираем: она мешала попасть по полю */
    appearance: textfield;
    -moz-appearance: textfield;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    height: 42px;
    padding: 0 4px 0 12px;
    border: 0;
    border-radius: 8px;
    background: none;
    font-size: 17px !important;
    text-align: center;
  }

  body.dm-frame-on .dm-sizebox-input::-webkit-outer-spin-button,
  body.dm-frame-on .dm-sizebox-input::-webkit-inner-spin-button {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
  }

  body.dm-frame-on .dm-sizebox-go {
    width: 100%;
    height: 48px;
    margin-top: 12px;
    border: 1.5px solid #146678;
    border-radius: 8px;
    background: #FFFFFF;
    font-size: 16px !important;
    font-weight: 500;
    color: #146678;
  }

  /* умный поиск на телефоне пока не показываем */
  body.dm-frame-on .dm-smart { display: none !important; }
}

/* [2026-09-28] Сообщение о пустой выдаче. Всё на сайте бирюзовое, и в
   общем ряду его было не видно — берём бордовый: он заметен, но не кричит
   тревогой, как красный (просьба Светланы). */
.dm-empty {
  margin: 8px 0 24px;
  padding: 24px 20px;
  border: 1px solid #E6C9D0;
  border-inline-start: 5px solid #8A2F45;
  border-radius: 14px;
  background: #FCF4F6;
  text-align: center;
}

.dm-empty .dm-ico {
  display: block;
  margin: 0 auto 10px;
  color: #8A2F45;
}

body.dm-frame-on .dm-empty b {
  display: block;
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: 700;
  color: #8A2F45;
}

body.dm-frame-on .dm-empty p {
  margin: 0 auto 16px;
  max-width: 520px;
  font-size: 15px;
  color: #6B4650;
}

body.dm-frame-on .dm-empty .dm-empty-reset,
body.dm-frame-on .dm-empty .dm-empty-reset:hover {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 24px;
  border-radius: 8px;
  background: #8A2F45;
  color: #FFFFFF !important;
  font-size: 16px !important;
  font-weight: 600;
  text-decoration: none !important;
}

body.dm-frame-on .dm-empty .dm-empty-reset:hover { background: #73253A; }

@media (max-width: 767px) {
  body.dm-frame-on .dm-empty b { font-size: 22px; }

  body.dm-frame-on .dm-empty p { font-size: 17px; }

  body.dm-frame-on .dm-empty .dm-empty-reset {
    width: 100%;
    height: 52px;
    font-size: 17px !important;
  }
}

/* [2026-09-28] Окошко «ничего не нашлось»: выходит поверх страницы, по
   закрытию человек остаётся в разделе. Цвет бордовый — заметно, но без
   тревоги красного. */
.dm-pop {
  position: fixed;
  inset: 0;
  z-index: 100001;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.dm-pop-back {
  position: absolute;
  inset: 0;
  background: rgba(28, 37, 41, .5);
}

.dm-pop-box {
  position: relative;
  width: 100%;
  max-width: 420px;
  padding: 28px 24px 24px;
  border-radius: 16px;
  border-top: 5px solid #8A2F45;
  background: #FFFFFF;
  box-shadow: 0 18px 50px rgba(28, 37, 41, .25);
  text-align: center;
}

.dm-pop-sign { display: block; margin: 0 auto 12px; color: #8A2F45; }

body.dm-frame-on .dm-pop-box b {
  display: block;
  margin-bottom: 10px;
  font-size: 21px;
  font-weight: 700;
  color: #8A2F45;
}

body.dm-frame-on .dm-pop-box p {
  margin: 0 0 20px;
  font-size: 16px;
  color: #5C6A72;
}

body.dm-frame-on .dm-pop-reset,
body.dm-frame-on .dm-pop-reset:hover {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  border-radius: 10px;
  background: #8A2F45;
  color: #FFFFFF !important;
  font-size: 17px !important;
  font-weight: 600;
  text-decoration: none !important;
}

body.dm-frame-on .dm-pop-stay {
  width: 100%;
  height: 48px;
  margin-top: 10px;
  border: 0;
  border-radius: 10px;
  background: none;
  font-size: 16px !important;
  color: #5C6A72;
}

.dm-pop-x {
  position: absolute;
  inset-inline-end: 10px;
  top: 10px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: none;
  color: #9AA7AE;
}

body.dm-pop-open { overflow: hidden; }

/* ==================================================================
   [2026-09-28] Строки фильтров в шторке на телефоне: попасть пальцем в
   галочку 13x13 невозможно. Делаем ряды высокими, квадратики крупными,
   подписи и логотипы — больше (просьба Светланы). Только до 767 px:
   на большом экране колонка остаётся прежней.
   ================================================================== */

@media (max-width: 767px) {
  .dm-sheet .dm-flt-row,
  .dm-sheet .module-item label {
    display: flex !important;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    margin: 0;
    padding: 6px 2px;
    border-bottom: 1px solid #EEF2F4;
    cursor: pointer;
  }

  .dm-sheet .module-item label:last-child,
  .dm-sheet .dm-flt-row:last-child { border-bottom: 0; }

  .dm-sheet .dm-flt-row input[type="checkbox"],
  .dm-sheet .dm-flt-row input[type="radio"],
  .dm-sheet .module-item label input[type="checkbox"],
  .dm-sheet .module-item label input[type="radio"] {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    margin: 0;
    accent-color: #146678;
  }

  body.dm-frame-on .dm-sheet .dm-flt-name,
  body.dm-frame-on .dm-sheet .module-item label {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 18px !important;
    line-height: 1.3;
  }

  body.dm-frame-on .dm-sheet .dm-flt-count,
  body.dm-frame-on .dm-sheet .module-item label .count-badge {
    flex: none;
    font-size: 15px !important;
    color: #9AA7AE;
  }

  /* кружок цвета и логотип фабрики крупнее */
  .dm-sheet .dm-flt-row .dm-dot {
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 1px solid rgba(28, 37, 41, .12);
  }

  .dm-sheet .module-item label img {
    flex: 0 0 auto;
    width: 46px !important;
    height: 34px !important;
    object-fit: contain;
  }

  /* ⚠️ У фабрик тема прячет само поле (display: none) и рисует квадратик
     через label::before — увеличиваем именно его. */
  .dm-sheet .module-item label::before {
    flex: 0 0 26px !important;
    width: 26px !important;
    height: 26px !important;
    border-radius: 5px !important;
  }

  /* воздух между группами фильтров */
  .dm-sheet .module-item { padding: 14px 0 !important; }

  body.dm-frame-on .dm-sheet .module-item .accordion-toggle,
  body.dm-frame-on .dm-sheet .module-item .panel-title {
    font-size: 18px !important;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* [2026-09-29] Своя полоса фильтров у нас уже есть (липнет к верху), а
   тема держит внизу экрана собственную мобильную полосу фильтров. Она
   пряталась под нашими кнопками «WhatsApp / Позвонить», а после их
   удаления вылезла. Отключаем её совсем (решение Светланы). */
@media (max-width: 767px) {
  .mobile-filter-container,
  .mobile-filter-container.mobile-container,
  .mobile-filter-trigger,
  .journal-mobile-filter { display: none !important; }
}

/* [2026-09-29] Сроки над сеткой стали ссылками: нажатие отбирает товары
   этого срока. Показываем это наведением и подсветкой выбранного. */
.dm-legend-item,
.dm-legend-item:hover,
.dm-legend-item:focus {
  text-decoration: none !important;
  border-radius: 10px;
  padding: 4px 8px;
  transition: background .15s ease;
}

.dm-legend-item:hover { background: #F0F4F5; }

.dm-legend-item.dm-legend-on { background: #EAF0F1; }

.dm-legend-item.dm-legend-on .dm-legend-note { color: #0F4E5B; }

/* [2026-09-29] Кнопка действия в карточке раздела вровень с квадратом
   WhatsApp: было 40 против 52, строка выглядела кривой. */
@media (max-width: 767px) {
  body.dm-frame-on .main-products .caption .btn-cart,
  body.dm-frame-on .main-products .caption .dm-btn-opts,
  body.dm-frame-on .main-products .caption .dm-btn-ask {
    height: 52px !important;
    font-size: 17px !important;
  }
}

.dm-legend-count {
  margin-inline-start: 4px;
  font-size: 13px;
  color: #9AA7AE;
}

/* ==================================================================
   [2026-09-29] Панель над сеткой на большом экране: «Сравнение» кнопкой
   со значком, как в макете. И в карточке возвращаем закладку и сравнение
   кружками поверх кадра — на телефоне их по-прежнему нет.
   ================================================================== */

@media (min-width: 768px) {
  .products-filter .compare-btn,
  .products-filter .compare-btn:hover {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 16px;
    border: 1px solid #E3E8EC;
    border-radius: 10px;
    background: #FFFFFF;
    color: #1C2529 !important;
    font-size: 15px;
    text-decoration: none !important;
  }

  .products-filter .compare-btn:hover { border-color: #C9D9DC; }

  /* [2026-09-29] Свой значок не рисуем: у темы он уже есть, и два
     накладывались друг на друга (замечание Светланы). */

  .products-filter .compare-btn .count-badge {
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 11px;
    background: #146678;
    color: #FFFFFF;
    font-size: 12px;
    line-height: 1 !important;
  }

  /* закладка и сравнение — кружками в углу кадра.
     ⚠️ Тема держит группу в потоке и ставит ей position: static —
     перебиваем важностью, иначе кружки падают на середину карточки. */
  .main-products .product-thumb { position: relative !important; }

  .main-products .product-thumb .image { position: relative; }

  .main-products.product-grid .product-thumb .caption .wish-group,
  .main-products .product-thumb .wish-group {
    display: flex !important;
    flex-direction: column;
    gap: 8px;
    position: absolute !important;
    inset-inline-end: 12px !important;
    inset-block-start: 12px !important;
    inset-block-end: auto !important;
    width: auto !important;
    margin: 0 !important;
    z-index: 3;
  }

  .main-products .product-thumb .wish-group .btn,
  .main-products .product-thumb .wish-group .btn:focus {
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    border: 1px solid #E3E8EC !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: 0 2px 6px rgba(28, 37, 41, .08);
    color: #5C6A72;
  }

  .main-products .product-thumb .wish-group .btn:hover {
    border-color: #146678;
    color: #146678;
  }

  /* подпись внутри кружка не нужна — остаётся значок темы */
  .main-products .product-thumb .wish-group .btn-text { display: none; }
}

/* ==================================================================
   [2026-09-29] Карточка товара на телефоне, первый заход по макету
   «Карточка товара мобильная». Внизу одна полоса — наша, с ценой и
   «в корзину». Полосу темы («Количество», «Позвонить», WhatsApp) и
   блок «Поделиться с друзьями» на телефоне убираем: в макете их нет,
   а вместе с нашей полосой внизу стояло три ряда кнопок.
   ================================================================== */

@media (max-width: 767px) {
  /* [2026-09-29] Блок с количеством и «в корзину» нужен на странице —
     раньше мы прятали его целиком, и кнопка пропадала. Прячем только
     дубли связи: телефон и WhatsApp внизу и так есть. */
  body[class*="product-product"] .button-group-page {
    display: block !important;
    position: static !important;
    margin: 14px 0 !important;
    padding: 0 !important;
    background: none !important;
    box-shadow: none !important;
  }

  body[class*="product-product"] .button-group-page .dm-call-btn,
  body[class*="product-product"] .button-group-page .dm-act-wa,
  body[class*="product-product"] .button-group-page a[href^="tel:"],
  body[class*="product-product"] .button-group-page a[href*="wa.me"] { display: none !important; }

  body[class*="product-product"] .button-group-page .buttons-wrapper {
    display: flex !important;
    align-items: center;
    gap: 10px;
  }

  body[class*="product-product"] .button-group-page #button-cart {
    flex: 1 1 auto;
    height: 56px !important;
    font-size: 18px !important;
  }

  body[class*="product-product"] .button-group-page .stepper,
  body[class*="product-product"] .button-group-page .quantity {
    flex: 0 0 auto;
  }

  body[class*="product-product"] .product-share,
  body[class*="product-product"] .share-block,
  body[class*="product-product"] .dm-share { display: none !important; }

  /* воздух между блоками карточки был в полтора экрана */
  body[class*="product-product"] .product-info > div { margin-bottom: 14px; }

  body[class*="product-product"] #content h1 {
    margin: 0 0 12px;
    line-height: 1.2;
  }

  /* цена крупно, прежняя рядом мельче */
  body[class*="product-product"] .product-price .price-new,
  body[class*="product-product"] .product-price > .price { font-size: 30px !important; }

  body[class*="product-product"] .product-price .price-old { font-size: 17px !important; }
}

/* [2026-09-29] Размеры тремя плитками на карточке товара (телефон). */
@media (max-width: 767px) {
  .dm-sizetiles {
    margin: 16px 0;
    padding: 16px 0 0;
    border-top: 1px solid #E3E8EC;
  }

  body.dm-frame-on .dm-sizetiles-head {
    margin-bottom: 12px;
    font-size: 20px !important;
    font-weight: 600;
    color: #1C2529;
  }

  .dm-sizetiles-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .dm-sizetile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-height: 104px;
    padding: 12px 6px;
    border: 1px solid #E3E8EC;
    border-radius: 12px;
    background: #FFFFFF;
    text-align: center;
  }

  .dm-sizetile-sign {
    width: 26px;
    height: 22px;
    border: 2px solid #146678;
    border-radius: 5px;
  }

  .dm-sizetile:nth-child(2) .dm-sizetile-sign { width: 20px; height: 24px; }

  .dm-sizetile:nth-child(3) .dm-sizetile-sign { width: 14px; height: 28px; }

  body.dm-frame-on .dm-sizetile-name {
    /* подпись не режем: «Ширина» не влезала в 14 px при множителе */
    font-size: 13px !important;
    line-height: 1.2;
    text-align: center;
    color: #5C6A72;
  }

  body.dm-frame-on .dm-sizetile-value {
    font-size: 19px !important;
    font-weight: 700;
    color: #1C2529;
  }
}

/* [2026-09-29] Заметка про оттенок на мониторе — сразу под кадром,
   мелко и серым, без отдельного блока с воздухом. */
.dm-colour-note {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
}

body.dm-frame-on .dm-colour-note,
body.dm-frame-on .dm-colour-note * {
  font-size: 13px !important;
  line-height: 1.35;
  color: #9AA7AE !important;
}

@media (max-width: 767px) {
  body.dm-frame-on .dm-colour-note,
  body.dm-frame-on .dm-colour-note * { font-size: 14px !important; }
}

/* [2026-09-29] Поля выбора на карточке товара (телефон): список во всю
   ширину и под палец, карточка опции без лишнего воздуха. */
@media (max-width: 767px) {
  body[class*="product-product"] .product-options,
  body[class*="product-product"] .product-option-select {
    padding: 12px !important;
    margin-bottom: 10px !important;
  }

  body.dm-frame-on .product-option-select .control-label {
    display: block;
    margin-bottom: 8px;
    font-size: 17px !important;
    font-weight: 600;
  }

  body.dm-frame-on #product select,
  body.dm-frame-on .product-option-select select {
    width: 100% !important;
    max-width: none !important;
    height: 52px !important;
    padding: 0 14px !important;
    border: 1px solid #C9D9DC !important;
    border-radius: 10px !important;
    background-color: #FFFFFF !important;
    font-size: 17px !important;
  }

  /* подпись «Итого» над суммой в нижней полосе */
  .dm-buybar-sum {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin-inline-end: 10px;
    line-height: 1.15;
  }

  body.dm-frame-on .dm-buybar-cap {
    font-style: normal;
    font-size: 12px !important;
    letter-spacing: .02em;
    color: #9AA7AE;
  }

  body.dm-frame-on .dm-buybar-price { line-height: 1.15 !important; }
}

/* [2026-09-29] Строка «фабрика / артикул / SKU» над названием товара:
   фабрика у начала строки, артикул напротив неё у конца, SKU второй
   строкой под артикулом. В иврите стороны меняются сами. */
.dm-meta.dm-meta-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 2px 12px;
  margin: 0 0 8px;
}

.dm-meta-split .dm-meta-brand { grid-column: 1; }

.dm-meta-split .dm-meta-code {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  text-align: end;
  color: #5C6A72;
}

[dir="rtl"] .dm-meta-split .dm-meta-code { align-items: flex-start; }

body.dm-frame-on[class*="product-product"] #content h1 { color: #1C2529 !important; }

@media (max-width: 767px) {
  body.dm-frame-on .dm-meta.dm-meta-split,
  body.dm-frame-on .dm-meta.dm-meta-split * { font-size: 15px !important; }

  body.dm-frame-on .dm-meta-split .dm-meta-brand { font-weight: 600; }
}

/* подпись «Итого» не липнет к сумме и на большом экране */
.dm-buybar-sum {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  margin-inline-end: 12px;
  line-height: 1.15;
}

body.dm-frame-on .dm-buybar-cap {
  font-style: normal;
  font-size: 12px !important;
  color: #9AA7AE;
}

/* ==================================================================
   [2026-09-29] Калькулятор на телефоне. Общий множитель кегля раздувал
   окно: заголовок 28,5, строки 22,5 — поля «этаж», «количество», «лифт»
   уходили под нижний край, и человек не догадывался прокрутить.
   Ставим свои размеры и открываем окно выше, почти на весь экран.
   ================================================================== */

@media (max-width: 767px) {
  .dmc-modal {
    position: fixed !important;
    inset-inline: 0;
    bottom: 0;
    top: auto;
    height: 92vh;
    height: 92dvh;
    max-height: 92dvh !important;
    display: flex;
    flex-direction: column;
    border-radius: 16px 16px 0 0;
  }

  .dmc-modal .dmc-head { flex: 0 0 auto; }

  .dmc-modal .dmc-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .dmc-modal .dmc-foot { flex: 0 0 auto; }

  /* ⚠️ Пока человек набирает город, калькулятор прячет остальные блоки и
     оставляет одно поле. В колонке оно растягивалось на всю высоту, и под
     списком городов висело белое поле в пол-экрана. */
  .dmc-modal .dmc-body > * { flex: 0 0 auto !important; }

  /* список городов сам по себе, не на всю высоту окна */
  .dmc-modal .dmc-ac {
    max-height: 46vh;
    height: auto !important;
    flex: 0 0 auto !important;
    overflow-y: auto;
  }

  body.dm-frame-on .dmc-modal,
  body.dm-frame-on .dmc-modal * { font-size: 15px !important; }

  body.dm-frame-on .dmc-head b,
  body.dm-frame-on .dmc-head strong,
  body.dm-frame-on .dmc-head > span:first-child { font-size: 19px !important; }

  body.dm-frame-on .dmc-modal input,
  body.dm-frame-on .dmc-modal select,
  body.dm-frame-on .dmc-modal button { font-size: 16px !important; }

  /* сумма расчёта — единственное, что остаётся крупным */
  body.dm-frame-on .dmc-sum,
  body.dm-frame-on .dmc-total,
  body.dm-frame-on .dmc-result b,
  body.dm-frame-on .dmc-result strong { font-size: 26px !important; }

  body.dm-frame-on .dmc-note,
  body.dm-frame-on .dmc-foot { font-size: 13px !important; }
}

/* [2026-09-29] Кнопка расчёта доставки: значок машины был мельче текста,
   а подпись ломалась о рамку. Делаем кнопку выше, значок крупнее, текст
   в одну строку по центру. */
/* ⚠️ У калькулятора свои стили с важностью — селектор нужен длиннее. */
body .dmc-wrap .dmc-btn,
body .dmc-wrap .dmc-btn:hover {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  min-height: 60px !important;
  height: auto !important;
  padding: 12px 20px !important;
  border: 1.5px solid #146678;
  border-radius: 12px;
  background: #FFFFFF;
  color: #146678 !important;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
}

body .dmc-wrap .dmc-btn > svg,
body .dmc-wrap .dmc-btn .dm-ico,
body .dmc-wrap .dmc-btn svg {
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
}

/* подпись одной строкой по центру */
body .dmc-wrap .dmc-btn > span {
  flex: 0 1 auto;
  text-align: center;
}

@media (max-width: 767px) {
  body.dm-frame-on .dmc-wrap .dmc-btn {
    min-height: 64px !important;
    height: auto !important;
    font-size: 17px !important;
  }

  body.dm-frame-on .dmc-wrap .dmc-btn > svg,
  body.dm-frame-on .dmc-wrap .dmc-btn .dm-ico,
  body.dm-frame-on .dmc-wrap .dmc-btn svg {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }
}

/* [2026-09-29] Карточка товара на телефоне: блок срока доставки был в
   треть экрана — заголовок 22,5 и объяснение тем же кеглем. Заголовок
   оставляем заметным, объяснение делаем мелким и в одну-две строки.
   Подпись на кнопке расчёта — одной строкой. */
@media (max-width: 767px) {
  body.dm-frame-on .dm-delivery-head { padding: 12px !important; }

  body.dm-frame-on .dm-delivery-title {
    font-size: 17px !important;
    line-height: 1.25;
  }

  body.dm-frame-on .dm-delivery-note {
    font-size: 14px !important;
    line-height: 1.3;
    color: #5C6A72;
  }

  body.dm-frame-on .dm-delivery-head .dm-ico {
    width: 22px !important;
    height: 22px !important;
  }

  /* ⚠️ nowrap выносил подпись за край экрана — оставляем перенос, но
     обе строки по центру и с запасом от рамки. */
  body.dm-frame-on .dmc-wrap .dmc-btn {
    gap: 10px;
    padding: 12px 14px !important;
    font-size: 16px !important;
    white-space: normal;
  }

  body.dm-frame-on .dmc-wrap .dmc-btn > span {
    white-space: normal;
    text-align: center;
    line-height: 1.25;
  }
}

/* ==================================================================
   [2026-09-29] Карточка товара на телефоне, правки по замечаниям:
   строка кода во всю ширину, название крупнее, срок заметнее, «доставка
   по Израилю» и «гарантия» по строчкам, сноски мельче, опции крупнее,
   в нижней полосе без названия товара.
   ================================================================== */

.dm-meta.dm-meta-split { width: 100%; }

@media (max-width: 767px) {
  /* название товара крупнее — как в макете */
  body.dm-frame-on[class*="product-product"] #content h1 {
    font-size: 30px !important;
    line-height: 1.2;
  }

  /* срок доставки заметнее, объяснение мельче */
  body.dm-frame-on .dm-delivery-title { font-size: 19px !important; }

  body.dm-frame-on .dm-delivery-note { font-size: 14px !important; }

  /* «доставка по всему Израилю», «гарантия» — каждое своей строкой */
  .dm-delivery-features {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }

  body.dm-frame-on .dm-delivery-features span { font-size: 14px !important; }

  .dm-delivery-features .dm-ico {
    width: 18px !important;
    height: 18px !important;
  }

  /* сноски под кнопкой расчёта и под ценой */
  body.dm-frame-on .dmc-hint,
  body.dm-frame-on .dmc-wrap > p,
  body.dm-frame-on .dmc-wrap small,
  body.dm-frame-on .dm-warn,
  body.dm-frame-on .dm-price-note { font-size: 13px !important; line-height: 1.35; }

  /* опции чуть крупнее */
  body.dm-frame-on .product-option-select .control-label { font-size: 18px !important; }

  body.dm-frame-on #product select,
  body.dm-frame-on .product-option-select select { font-size: 18px !important; }

  body.dm-frame-on .product-options label,
  body.dm-frame-on .product-options .option-value { font-size: 17px !important; }

  /* в нижней полосе название товара не нужно */
  .dm-buybar .dm-buybar-name,
  .dm-buybar .dm-buybar-pic { display: none !important; }

  .dm-buybar .dm-buybar-in { gap: 12px; }

  .dm-buybar .dm-buybar-btn { flex: 1 1 auto; }
}

/* [2026-09-29] Карточка товара на телефоне: описание и характеристики
   текстом, остальное — раскрывашками. */
@media (max-width: 767px) {
  body.dm-frame-on .dm-block-head {
    margin: 18px 0 10px;
    font-size: 22px !important;
    font-weight: 700;
    color: #1C2529;
  }

  .dm-fold {
    margin: 10px 0;
    border: 1px solid #E3E8EC;
    border-radius: 12px;
    background: #FFFFFF;
  }

  body.dm-frame-on .dm-fold-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 56px;
    padding: 0 16px;
    font-size: 18px !important;
    font-weight: 600;
    color: #1C2529;
    cursor: pointer;
    list-style: none;
  }

  .dm-fold-head::-webkit-details-marker { display: none; }

  .dm-fold-head::after {
    content: '';
    width: 9px;
    height: 9px;
    border-right: 2px solid #9AA7AE;
    border-bottom: 2px solid #9AA7AE;
    transform: rotate(45deg);
    transition: transform .15s ease;
  }

  .dm-fold[open] .dm-fold-head::after { transform: rotate(-135deg); }

  .dm-fold .dm-tab-panel { padding: 0 16px 16px; }
}

/* [2026-09-29] Таблица характеристик на телефоне: две колонки, подпись
   слева серым, значение справа, строки в линейку. */
@media (max-width: 767px) {
  .dm-specs { margin: 8px 0 18px; }

  body.dm-frame-on .dm-specs table {
    width: 100%;
    border: 0;
  }

  body.dm-frame-on .dm-specs td,
  body.dm-frame-on .dm-specs th {
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #EEF2F4 !important;
    font-size: 16px !important;
    vertical-align: top;
  }

  body.dm-frame-on .dm-specs td:first-child { color: #5C6A72; }

  body.dm-frame-on .dm-specs td:last-child {
    text-align: end;
    font-weight: 500;
  }

  /* заголовок раздела таблицы — одна ячейка на строку, её не выравниваем
     по правому краю */
  body.dm-frame-on .dm-specs td:only-child,
  body.dm-frame-on .dm-specs th:only-child,
  body.dm-frame-on .dm-specs td[colspan],
  body.dm-frame-on .dm-specs th[colspan] {
    text-align: start !important;
    padding-inline: 0 !important;
  }

  body.dm-frame-on .dm-specs tr:has(td:only-child) td,
  body.dm-frame-on .dm-specs th[colspan] {
    padding-top: 16px !important;
    font-size: 18px !important;
    font-weight: 700;
    color: #1C2529;
  }
}

/* [2026-09-29] Нижняя полоса на телефоне: в ней появилось количество,
   цена крупная и без подписи, кнопка «в корзину» компактнее. */
@media (max-width: 767px) {
  body.dm-frame-on .dm-buybar-cap { display: none; }

  body.dm-frame-on .dm-buybar-price {
    font-size: 24px !important;
    font-weight: 700;
    white-space: nowrap;
  }

  .dm-buybar .dm-buybar-in {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
  }

  .dm-buybar .dm-buybar-qty {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    height: 46px;
    border: 1px solid #C9D9DC;
    border-radius: 10px;
    overflow: hidden;
    background: #FFFFFF;
  }

  body.dm-frame-on .dm-buybar-qty button {
    width: 34px;
    height: 44px;
    border: 0;
    background: none;
    font-size: 20px !important;
    color: #146678;
  }

  body.dm-frame-on .dm-buybar-qty span {
    min-width: 24px;
    text-align: center;
    font-size: 17px !important;
    font-weight: 600;
  }

  body.dm-frame-on .dm-buybar .dm-buybar-btn {
    flex: 0 1 auto;
    min-width: 120px;
    padding-inline: 14px;
    font-size: 16px !important;
  }
}

/* [2026-09-29] Телефон, порядок в карточке товара. Просьба Светланы:
   опции → количество с кнопкой в корзину и итогом → расчёт доставки.
   Раньше строка покупки стояла выше опций (у неё не было order, а у
   опций был), и покупатель видел кнопку до того, как выбрал вариант. */
@media (max-width: 991px) {
  body[class*="product-product"] #product .dm-sizetiles { order: -1; }
  body[class*="product-product"] #product .dm-coll      { order: 1; }
  body[class*="product-product"] #product .dm-buy       { order: 3; }
  body[class*="product-product"] #product .product-blocks.blocks-top { order: 9; }
}

/* [2026-09-29] Состав комплекта на телефоне: строки, а не плитки в два
   ряда. Плитки давали разную высоту и рваный низ — «балаганисто». */
@media (max-width: 767px) {
  .dm-set { margin-top: 28px; }

  .dm-set-head {
    display: block;
    margin-bottom: 12px;
  }

  .dm-set-head h2 { font-size: 22px; }

  .dm-set-head span {
    display: block;
    margin-top: 4px;
    font-size: 14px !important;
  }

  .dm-set-grid {
    display: block;
    border: 1px solid #E3E8EC;
    border-radius: 14px;
    background: #FFFFFF;
    overflow: hidden;
  }

  .dm-set-grid .dm-set-card {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 14px;
    row-gap: 2px;
    padding: 12px 14px;
    border: 0;
    border-top: 1px solid #EDF1F3;
    border-radius: 0;
  }

  .dm-set-grid .dm-set-card:first-child { border-top: 0; }

  .dm-set-grid .dm-set-pic {
    grid-row: 1 / 3;
    height: 80px;
    border-radius: 10px;
  }

  body.dm-frame-on .dm-set-grid .dm-set-name {
    min-height: 0;
    align-self: end;
    font-size: 16px !important;
    font-weight: 600;
    line-height: 1.25 !important;
  }

  body.dm-frame-on .dm-set-grid .dm-set-dims {
    grid-column: 2;
    align-self: start;
    font-size: 14px !important;
    color: #5C6A72;
  }

  body.dm-frame-on .dm-set-grid .dm-set-price {
    grid-column: 2;
    align-self: start;
    font-size: 18px !important;
    font-weight: 700;
    color: #146678;
  }

  .dm-set-grid .dm-set-qty {
    inset-inline-end: 4px;
    inset-block-end: 4px;
  }
}

/* [2026-09-29] Строка покупки на телефоне: счётчик количества рамкой,
   кнопка во всю оставшуюся ширину, цена не дублируется — итог стоит
   строкой выше, а два одинаковых числа рядом путали. */
@media (max-width: 767px) {
  body[class*="product-product"] .button-group-page .stepper-group.cart-group {
    display: flex !important;
    align-items: center;
    gap: 10px;
    width: 100%;
  }

  body[class*="product-product"] .button-group-page .stepper {
    display: flex !important;
    align-items: center;
    flex: 0 0 auto;
    height: 56px;
    margin: 0 !important;
    padding: 0 4px;
    border: 1px solid #C9D9DC;
    border-radius: 12px;
    background: #FFFFFF;
  }

  body[class*="product-product"] .button-group-page .stepper .control-label { display: none !important; }

  body[class*="product-product"] .button-group-page .stepper input.form-control {
    width: 48px;
    height: 52px;
    padding: 0;
    border: 0 !important;
    box-shadow: none !important;
    background: none;
    text-align: center;
    font-size: 19px !important;
    font-weight: 600;
  }

  body[class*="product-product"] .button-group-page .stepper .fa-angle-up,
  body[class*="product-product"] .button-group-page .stepper .fa-angle-down {
    width: 30px !important;
    height: 26px !important;
    line-height: 26px !important;
    font-size: 19px !important;
    color: #146678;
  }

  body[class*="product-product"] .button-group-page .btn-cart {
    flex: 1 1 auto;
    height: 56px !important;
  }

  /* цену показываем один раз — строкой «Итого» над кнопкой */
  body[class*="product-product"] .button-group-page .dm-cart-price { display: none !important; }

  /* [2026-09-29] Строки состава плотнее: имя, размеры и цена идут подряд. */
  .dm-set-grid .dm-set-card {
    grid-template-rows: auto auto auto;
    row-gap: 0;
  }

  .dm-set-grid .dm-set-pic { grid-row: 1 / 4; }

  body.dm-frame-on .dm-set-grid .dm-set-dims { margin-top: 2px; }
  body.dm-frame-on .dm-set-grid .dm-set-price { margin-top: 4px; }
}

/* [2026-09-29] Доводка строки покупки и текстовых блоков темы на телефоне. */
@media (max-width: 767px) {
  body[class*="product-product"] .button-group-page .stepper-group.cart-group {
    flex: 1 1 100%;
    width: 100% !important;
  }

  body[class*="product-product"] .button-group-page .stepper {
    height: 56px !important;
    align-items: stretch;
  }

  /* стрелки лежат в безымянном span: без ширины они вылезали за рамку */
  body[class*="product-product"] .button-group-page .stepper > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 0 0 auto;
    width: 32px;
  }

  body[class*="product-product"] .button-group-page .stepper input.form-control {
    height: 54px;
    align-self: center;
  }

  /* [2026-09-29] Блоки темы пишут текст в <pre>: строка не переносилась и
     уезжала за край экрана. */
  body[class*="product-product"] .product-blocks pre {
    white-space: normal !important;
    word-break: break-word;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    font-family: inherit !important;
  }

  body[class*="product-product"] .product-blocks pre img {
    vertical-align: middle;
    margin-inline-end: 6px;
  }
}

/* [2026-09-29] Счётчику не хватало ширины: цифра ужалась до нуля и в рамке
   остались одни стрелки. Ширину задаём явно и полю, и коробке. */
@media (max-width: 767px) {
  body[class*="product-product"] .button-group-page .stepper {
    width: 104px;
    padding-inline: 2px;
  }

  body[class*="product-product"] .button-group-page .stepper input.form-control {
    flex: 0 0 62px;
    width: 62px !important;
    min-width: 0;
  }
}

/* [2026-09-29] ⚠️ Закрытая складка не прятала текст: наши правила ставили
   панелям display: block, и браузер показывал содержимое даже при
   закрытом <details>. Доставка, возврат и отзывы шли простынёй. */
.dm-fold:not([open]) > *:not(summary) { display: none !important; }

@media (max-width: 991px) {
  /* заголовок внутри панели дублировал подпись складки и нашу шапку */
  body[class*="product-product"] .dm-tab-panel > h3.title,
  body[class*="product-product"] .dm-tab-panel > .title-module { display: none !important; }

  /* таблица характеристик вылезала за правый край экрана */
  body[class*="product-product"] .dm-specs table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;
  }

  body[class*="product-product"] .dm-specs td,
  body[class*="product-product"] .dm-specs th {
    word-break: break-word;
    overflow-wrap: anywhere;
  }

  body[class*="product-product"] .dm-specs td:first-child,
  body[class*="product-product"] .dm-specs th:first-child { width: 42%; }

  /* «С этим товаром покупают» — лента, листается пальцем вбок */
  .dm-also {
    margin: 28px 0 0;
    padding-inline: 0;
  }

  body.dm-frame-on .dm-also .dm-also-title {
    margin: 0 0 14px;
    font-size: 22px !important;
    font-weight: 600;
    color: #1C2529;
    text-align: start;
  }

  .dm-also .nav-tabs,
  .dm-also .title-module { display: none !important; }

  .dm-also .product-grid {
    display: flex !important;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  .dm-also .product-layout {
    flex: 0 0 64% !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    scroll-snap-align: start;
  }

  /* снимки клиентов: три в ряд, как на большом экране */
  .product-blocks-image .module-gallery .module-body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .product-blocks-image .module-gallery img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 10px;
  }

  body.dm-frame-on .product-blocks-image .module-title,
  body.dm-frame-on .product-blocks-image h3.title {
    margin: 28px 0 12px;
    font-size: 22px !important;
    font-weight: 600;
    color: #1C2529;
  }
}

/* [2026-09-29] Доводка хвоста на телефоне. */
@media (max-width: 991px) {
  /* ⚠️ Блок снимков клиентов тема кладёт absolute внутри колонки со
     снимком: после переноса вниз он прилипал к верху страницы. */
  body[class*="product-product"] .product-blocks-image {
    position: static !important;
    inset: auto !important;
    width: auto !important;
    margin: 0;
    /* ⚠️ обёртка сайта — флекс, а у блока снимков от темы стоит order: -1:
       после переноса вниз он улетал в самый верх страницы */
    order: 0 !important;
  }

  /* лента сопутствующих не должна переноситься по строкам */
  .dm-also .product-grid {
    flex-wrap: nowrap !important;
  }

  .dm-also .product-layout {
    flex: 0 0 64% !important;
    min-width: 0;
  }
}

/* [2026-09-29] Снимки клиентов на телефоне: три в ряд во всю ширину.
   ⚠️ Тема задаёт плитке свою ширину (43 px), поэтому сетки было мало —
   ширину плитки и снимка задаём явно. */
@media (max-width: 991px) {
  body[class*="product-product"] .module-gallery .module-body {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* поля по бокам как у остальной страницы: снимки упирались в край */
  body[class*="product-product"] .product-blocks-image,
  body[class*="product-product"] .dm-also {
    padding-inline: 15px;
  }

  body[class*="product-product"] .module-gallery .module-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body[class*="product-product"] .module-gallery .module-item img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
  }

  .dm-also .product-thumb .description { display: none !important; }
}

/* [2026-09-29] Карточка в ленте сопутствующих была узкой: плашка срока и
   подпись кнопки обрезались по краю. Шире карточка, перенос в плашке. */
@media (max-width: 991px) {
  .dm-also .product-layout { flex: 0 0 72% !important; }

  body.dm-frame-on .dm-also .product-thumb .dm-term {
    white-space: normal;
    font-size: 13px !important;
    line-height: 1.25 !important;
    text-align: start;
  }

  body.dm-frame-on .dm-also .product-thumb .btn,
  body.dm-frame-on .dm-also .product-thumb .button-group .btn {
    padding-inline: 8px !important;
    font-size: 14px !important;
    white-space: normal;
    line-height: 1.2 !important;
  }
}

/* [2026-09-29] Плитки размеров на телефоне. ⚠️ Подписи и значения задраны
   общим множителем из dm-mobile-type.css до 22 px: в плитке 109 px текст
   не помещался и «Ширина» выглядела обрезанной. Значок ставим сверху,
   размеры шрифта задаём явно. */
@media (max-width: 767px) {
  body[class*="product-product"] .dm-dims { gap: 10px; }

  body[class*="product-product"] .dm-dim {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 10px;
  }

  body[class*="product-product"] .dm-dim-ico {
    width: 28px;
    height: 28px;
  }

  body[class*="product-product"] .dm-dim-text { width: 100%; }

  body.dm-frame-on .dm-dim-label {
    font-size: 14px !important;
    line-height: 1.2 !important;
    color: #5C6A72;
  }

  body.dm-frame-on .dm-dim-value {
    font-size: 19px !important;
    line-height: 1.2 !important;
  }

  /* значения в характеристиках не должны упираться в край */
  body[class*="product-product"] .dm-specs td,
  body[class*="product-product"] .dm-specs th { padding-inline: 12px; }
}

/* [2026-09-29] Выбор ткани на телефоне. Было: подпись «Выберите цвет
   ткани» ломалась на три строки, а кнопка наезжала на неё. Стало:
   подпись строкой сверху, под ней образец с названием цвета, кнопка
   поменьше справа. */
@media (max-width: 767px) {
  body[class*="product-product"] #product .fc2 .btn-wrap a.btn {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    grid-template-areas:
      "cap cap cap"
      "swatch name btn";
    align-items: center;
    column-gap: 10px;
    row-gap: 10px;
    width: 100%;
    padding: 12px !important;
    text-align: start;
  }

  body[class*="product-product"] #product .fc2 .dm-fab-swatch { grid-area: swatch; }

  /* ⚠️ подпись и название лежат внутри .dm-fab-text, а раскладка у
     ссылки: без display: contents подпись оставалась в узкой колонке и
     ломалась на четыре строки */
  body[class*="product-product"] #product .fc2 .dm-fab-text { display: contents; }

  body[class*="product-product"] #product .fc2 .dm-fab-cap { grid-area: cap; }

  body[class*="product-product"] #product .fc2 .dm-fab-name { grid-area: name; }

  body.dm-frame-on #product .fc2 .dm-fab-name {
    display: block;
    font-size: 16px !important;
    line-height: 1.25 !important;
    white-space: normal;
  }

  body.dm-frame-on #product .fc2 .dm-fab-cap {
    grid-area: cap;
    font-size: 15px !important;
    line-height: 1.25 !important;
  }

  body.dm-frame-on #product .fc2 .dm-fab-btn {
    grid-area: btn;
    justify-self: end;
    height: 40px;
    gap: 6px;
    padding: 0 10px;
    font-size: 14px !important;
  }

  /* название цвета рядом с образцом: даём ему всю оставшуюся ширину */
  body.dm-frame-on #product .fc2 .dm-fab-name {
    font-size: 15px !important;
    font-weight: 600;
  }

  body[class*="product-product"] #product .fc2 .dm-fab-btn svg {
    width: 16px;
    height: 16px;
  }
}

/* [2026-09-29] Ткань ещё не выбрана: подпись строкой во всю ширину,
   кнопка справа, пустой образец не показываем. */
@media (max-width: 767px) {
  body[class*="product-product"] #product .fc2 .btn-wrap a.dm-fab-empty {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "name"
      "btn";
    row-gap: 8px;
  }

  body[class*="product-product"] #product .fc2 a.dm-fab-empty .dm-fab-btn { justify-self: end; }

  body[class*="product-product"] #product .fc2 a.dm-fab-empty .dm-fab-swatch { display: none; }

  body[class*="product-product"] #product .fc2 a.dm-fab-empty .dm-fab-name { grid-area: name; }
}

/* [2026-09-29] Описание товара на телефоне крупнее на два пикселя —
   просьба Светланы: читать с телефона длинный текст мелким шрифтом тяжело. */
@media (max-width: 767px) {
  body.dm-frame-on #product ~ * .dm-tab-panel .block-body,
  body.dm-frame-on .dm-tab-panel .block-body,
  body.dm-frame-on .dm-tab-panel .block-body p,
  body.dm-frame-on .dm-tab-panel .block-body li,
  body.dm-frame-on .dm-tab-panel .block-body span,
  body.dm-frame-on .dm-tab-panel .block-body div {
    font-size: 17px !important;
    line-height: 1.55 !important;
  }

  body.dm-frame-on .dm-tab-panel .block-body h2,
  body.dm-frame-on .dm-tab-panel .block-body h3,
  body.dm-frame-on .dm-tab-panel .block-body strong,
  body.dm-frame-on .dm-tab-panel .block-body b {
    font-size: 18px !important;
  }
}

/* [2026-09-29] Лента «Недавно просмотренные» на телефоне. ⚠️ Размеры 13 и
   15 px из общей части растягивал множитель --dm-scale до 20 с лишним:
   название обрезалось, цена до скидки вылезала за карточку и не была
   зачёркнута. Задаём размеры явно. */
@media (max-width: 767px) {
  .dm-viewed { padding-inline: 15px; }

  body.dm-frame-on .dm-viewed .module-title {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  /* название показываем целиком: обрезка по строкам прятала половину */
  body.dm-frame-on .dm-viewed .side-product .name a {
    display: block;
    -webkit-line-clamp: none;
    overflow: visible;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  body.dm-frame-on .dm-viewed .side-product .price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px;
    font-size: 17px !important;
    line-height: 1.2 !important;
  }

  body.dm-frame-on .dm-viewed .side-product .price-new,
  body.dm-frame-on .dm-viewed .side-product .price > span:first-child {
    font-size: 17px !important;
  }

  body.dm-frame-on .dm-viewed .side-product .price-old {
    font-size: 13px !important;
    text-decoration: line-through;
    color: #8A97A0 !important;
  }

  .dm-viewed .side-products > .product-layout {
    flex: 0 0 228px;
    width: 228px;
  }

  /* карточки в ленте одной высоты, низ ровный */
  .dm-viewed .side-products { align-items: stretch; }

  .dm-viewed .side-products > .product-layout > .side-product { height: 100%; }

  .dm-viewed .side-product .image,
  .dm-viewed .side-product .image img { max-width: 64px; }
}

/* [2026-09-29] Характеристики печатает шаблон (.dm-specs-src). На большом
   экране их показывает карточка сбоку от описания, поэтому наш блок там не
   нужен. На телефоне он стоит в карточке: после кнопки коллекции, до
   выбора опций — так просила Светлана. */
@media (min-width: 992px) {
  .dm-specs-src { display: none !important; }
}

@media (max-width: 991px) {
  body[class*="product-product"] #product .dm-specs-src { order: 2; }
  body[class*="product-product"] #product .product-options { order: 3; }
  body[class*="product-product"] #product #fc2_container { order: 3; }
  body[class*="product-product"] #product .dm-buy { order: 4; }
}

@media (max-width: 767px) {
  /* шрифт в таблице мельче: крупный занимал пол-экрана */
  body.dm-frame-on .dm-specs-src table,
  body.dm-frame-on .dm-specs-src td {
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body.dm-frame-on .dm-specs-src .dm-specs-group td {
    font-size: 15px !important;
    font-weight: 700;
  }

  body.dm-frame-on .dm-specs-src .dm-block-head {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }

  body[class*="product-product"] .dm-specs-src td:first-child { width: 44%; }
}

/* [2026-09-29] По макету текстовые блоки на телефоне лежат на белом:
   характеристики и описание — карточками с полями, а не текстом прямо на
   бежевом фоне страницы. Заодно текст в таблице отбит от краёв. */
@media (max-width: 767px) {
  body[class*="product-product"] .dm-specs-src {
    padding: 14px 16px 6px;
    border: 1px solid #E3E8EC;
    border-radius: 14px;
    background: #FFFFFF;
  }

  body[class*="product-product"] .dm-specs-src table {
    border: 0 !important;
    background: transparent;
  }

  body[class*="product-product"] .dm-specs-src td {
    padding-inline: 0 !important;
    border-inline: 0 !important;
    background: transparent !important;
  }

  body[class*="product-product"] .dm-specs-src tr:not(.dm-specs-group) td {
    border-top: 1px solid #EDF1F3 !important;
  }

  body[class*="product-product"] .dm-specs-src .dm-specs-group td {
    border-top: 0 !important;
    padding-top: 14px !important;
    color: #1C2529;
  }

  body[class*="product-product"] .dm-specs-src tr:first-child .dm-specs-group td,
  body[class*="product-product"] .dm-specs-src tr:first-child td { padding-top: 0 !important; }

  /* описание — такая же белая карточка */
  body[class*="product-product"] .dm-tab-panel.dm-block-open {
    padding: 14px 16px;
    border: 1px solid #E3E8EC;
    border-radius: 14px;
    background: #FFFFFF;
  }
}

/* [2026-09-29] Настоящий заголовок товара виден на большом экране: раньше
   там показывалась копия в <div>, а <h1> прятался — для поиска это
   страница без видимого заголовка. */
@media (min-width: 992px) {
  body[class*="product-product"] #product > h1.page-title.dm-title-real {
    display: block;
  }
}

/* [2026-09-29] Счётчик количества в липкой полосе одинаковый везде: на
   большом экране он был сжат в 25 px и выглядел случайной единицей. */
.dm-buybar .dm-buybar-qty {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  height: 46px;
  border: 1px solid #C9D9DC;
  border-radius: 10px;
  overflow: hidden;
  background: #FFFFFF;
}

body.dm-frame-on .dm-buybar .dm-buybar-qty button {
  width: 34px;
  height: 44px;
  border: 0;
  background: none;
  font-size: 20px !important;
  line-height: 1;
  color: #146678;
  cursor: pointer;
}

body.dm-frame-on .dm-buybar .dm-buybar-qty button:hover { background: #F2F8F9; }

body.dm-frame-on .dm-buybar .dm-buybar-qty span {
  min-width: 26px;
  text-align: center;
  font-size: 17px !important;
  font-weight: 600;
}
