/* =====================================================================
   dk-product.css — стили карточки товара (denkirs.ru)
   Подключается в header.twig, редактируй напрямую → F5 в браузере
   ===================================================================== */

/* --- CSS-переменные -------------------------------------------------- */
:root {
  --dk-p:      #ffb100; /* основной жёлтый */
  --dk-pd:     #e09900; /* жёлтый при наведении */
  --dk-muted:  #6b7280; /* серый текст */
  --dk-border: #e5e7eb; /* цвет рамок */
  --dk-text:   #1a1a1a; /* основной текст */
}

/* --- Главная карусель ------------------------------------------------ */
#entry_215588 .carousel-item {
  position: relative;
}

#entry_215588 .carousel-caption {
  inset: 0 auto 0 0;
  width: min(48%, 720px);
  padding: 58px 0 58px clamp(32px, 6.2vw, 96px);
  display: flex;
  align-items: center;
  text-align: left;
  font-family: "Nunito Sans", sans-serif;
  color: #f2d6a6;
  pointer-events: none;
  z-index: 2;
}

#entry_215588 .carousel-caption::before {
  content: "";
  position: absolute;
  inset: 0 -26% 0 0;
  background: radial-gradient(circle at 20% 50%, rgba(9, 12, 18, .58), rgba(9, 12, 18, .18) 42%, rgba(9, 12, 18, 0) 76%);
  z-index: -1;
}

#entry_215588 .carousel-item:nth-child(2) .carousel-caption::before {
  background: none;
}

#entry_215588 .dk-hero-caption {
  max-width: 580px;
}

#entry_215588 .dk-hero-brand {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 22px;
}

#entry_215588 .dk-hero-mark {
  width: 44px;
  height: 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, .38));
}

#entry_215588 .dk-hero-mark img,
#entry_215588 .dk-hero-mark svg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

#entry_215588 .dk-hero-name {
  font-size: 25px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .08em;
  color: var(--dk-p);
  text-shadow: 0 2px 14px rgba(0, 0, 0, .42);
}

#entry_215588 .dk-hero-kicker {
  display: block;
  margin-bottom: 12px;
  color: #dba451;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
}

#entry_215588 .dk-hero-title {
  margin: 0;
  max-width: 560px;
  color: #ffe0a3;
  font-size: clamp(34px, 3.7vw, 60px);
  line-height: .98;
  font-weight: 800;
  letter-spacing: 0;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .46);
}

#entry_215588 .dk-hero-text {
  margin: 20px 0 0;
  max-width: 520px;
  color: rgba(238, 218, 188, .9);
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.38;
  font-weight: 500;
  text-shadow: 0 2px 13px rgba(0, 0, 0, .46);
}

#entry_215588 .dk-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 28px;
  padding: 0 24px;
  color: #1b1e25;
  background: var(--dk-p);
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 12px 26px rgba(255, 177, 0, .22);
}

@media (max-width: 767.98px) {
  #entry_215588 .carousel-item {
    min-height: 300px;
    overflow: hidden;
  }

  #entry_215588 .carousel-item > a {
    height: 300px;
  }

  #entry_215588 .carousel-item > a > img,
  #entry_215588 .carousel-item > img,
  #entry_215588 .carousel-item picture > img,
  #entry_215588 img.slide-image {
    height: 300px;
    object-fit: cover;
    object-position: 62% center;
  }

  #entry_215588 .carousel-caption {
    width: 82%;
    padding: 22px 20px;
  }

  #entry_215588 .carousel-caption::before {
    inset: 0 -18% 0 0;
    background: linear-gradient(90deg, rgba(9, 12, 18, .72), rgba(9, 12, 18, .38) 68%, rgba(9, 12, 18, 0));
  }

  #entry_215588 .carousel-item:nth-child(2) .carousel-caption::before {
    background: none;
  }

  #entry_215588 .dk-hero-brand {
    gap: 10px;
    margin-bottom: 14px;
  }

  #entry_215588 .dk-hero-mark {
    width: 36px;
    height: 21px;
  }

  #entry_215588 .dk-hero-name {
    font-size: 20px;
  }

  #entry_215588 .dk-hero-kicker {
    font-size: 11px;
    margin-bottom: 8px;
  }

  #entry_215588 .dk-hero-title {
    font-size: clamp(28px, 8vw, 42px);
  }

  #entry_215588 .dk-hero-text {
    margin-top: 12px;
    font-size: 15px;
  }

  #entry_215588 .dk-hero-cta {
    min-height: 40px;
    margin-top: 18px;
    padding: 0 18px;
    font-size: 14px;
  }
}

/* --- Хлебные крошки -------------------------------------------------- */
.breadcrumb {
  font-size: 12px !important;
}
.breadcrumb .breadcrumb-item:not(.active) a {
  color: #42404a !important;
}
.breadcrumb .breadcrumb-item:not(.active) a:hover {
  color: var(--bs-link-hover-color) !important;
}

/* --- Карточка правой колонки (покупка) -------------------------------- */
.dk-purchase-col {
  background: #fff !important;
  border-radius: 14px !important;
  padding: 20px 18px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,.07), 0 1px 4px rgba(0,0,0,.04) !important;
}

/* --- Плашки (Оригинальность / Гарантия / Доставка) ------------------- */
.dk-product-badges,
.product-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 5px !important;
  margin-bottom: 20px !important;
}
.pbadge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  min-height: 22px !important;
  padding: 5px 5px !important;
  border: 1px solid var(--dk-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: #343a40 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 14px !important;
  white-space: nowrap !important;
}
.pbadge .bi {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 12px !important;
  height: 12px !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
.pbadge-stock     { border-color: #1a9645 !important; }
.pbadge-guarantee { border-color: #e09200 !important; }
.pbadge-nostock   { border-color: #d32f2f !important; }
.pbadge-delivery  { border-color: #e5e7eb !important; }
.pbadge-lamp      { border-color: #e5e7eb !important; }
.pbadge-stock .bi     { color: #1a9645 !important; }
.pbadge-guarantee .bi { color: #e09200 !important; }
.pbadge-nostock .bi   { color: #d32f2f !important; }
.pbadge-delivery .bi  { color: #1565c0 !important; }
.pbadge-lamp .bi      { color: #e09200 !important; }

/* Условия доставки и комплектность — это фразы, а не ярлыки: им нужна целая
   строка и перенос. Без этого nowrap на 360 px вылезал за экран (UX-аудит
   2026-09-07). Плашка доставки — ссылка на условия, но выглядит как плашка. */
.pbadge-delivery,
.pbadge-lamp {
  flex: 1 1 100% !important;
  white-space: normal !important;
  align-items: flex-start !important;
  line-height: 16px !important;
  font-weight: 600 !important;
}
.pbadge-delivery .bi,
.pbadge-lamp .bi { margin-top: 1px !important; flex: 0 0 auto !important; }
a.pbadge-delivery { color: #343a40 !important; text-decoration: none !important; }
a.pbadge-delivery:hover { border-color: #1565c0 !important; color: #1565c0 !important; }

/* --- Мета-информация (бренд / артикул / наличие) --------------------- */
.dk-product-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 0;
  font-size: 13px;
  color: var(--dk-muted);
}
.dk-product-meta strong { color: var(--dk-text); font-weight: 600; }
.dk-meta-stock-ok  { color: #1a9645 !important; }
.dk-meta-stock-low { color: #e09200 !important; }

/* --- Блок цены (ТОЛЬКО страница товара: колонка цены #entry_215014;
       раньше селекторы были глобальными и ломали карточки листингов) --- */
#entry_215014 .price {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}
/* Основная цена — своя строка, зачёркнутая и скидка идут ниже */
#entry_215014 .price-new {
  font-size: 50px !important;
  line-height: 1 !important;
  margin-bottom: 0 !important;
  flex: 0 0 100% !important;
}
/* Зачёркнутая цена — полоса красного цвета */
#entry_215014 .price-old {
  font-size: 20px !important;
  color: var(--dk-muted) !important;
  text-decoration-color: #e53935 !important;
}
#entry_215014 .price-sale {
  background: #e53935 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 2px 9px !important;
  border-radius: 12px !important;
  line-height: 1.6 !important;
  display: inline-block !important;
}

/* --- Убираем серый фон со всех обёрток кнопочной зоны ---------------- */
#entry_215033, #entry_215034, #entry_215038, #entry_215039,
#entry_215040, #entry_215041, #entry_215042 {
  background:    transparent !important;
  border:        none !important;
  box-shadow:    none !important;
  border-radius: 0 !important;
}
#entry_215033, #entry_215034, #entry_215038 {
  padding: 0 !important;
  margin:  0 !important;
}

/* --- Контейнер кнопок (#entry_215039) -------------------------------- */
#entry_215039 {
  flex-direction: row !important;
  flex-wrap: wrap !important;
  column-gap: 8px !important;
  row-gap: 8px !important;
  align-items: stretch !important;
}

/* --- Большая кнопка «Добавить в корзину» ----------------------------- */
/* display без !important — jQuery .hide() должен побеждать */
.dk-big-cart {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex: 0 0 100% !important;
  width: 100% !important;
  height: 52px !important;
  background: var(--dk-p) !important;
  color: #1a1a1a !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 0 20px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(255,177,0,.4) !important;
  transition: background .2s !important;
}
.dk-big-cart:hover {
  background: var(--dk-pd) !important;
}

/* --- Обёртка счётчика (#entry_215040) -------------------------------- */
#entry_215040 {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Обёртка кнопки «В корзину» (#entry_215041) ---------------------- */
#entry_215041 {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}
#entry_215041 .d-grid {
  display: block !important;
  width: 100% !important;
  height: 52px !important;
}

/* --- «Купить в один клик» (#entry_215042) — своя строка -------------- */
#entry_215042 {
  flex: 0 0 100% !important;
  width: 100% !important;
}
#entry_215042 .d-grid { width: 100% !important; }

/* --- Надёжное скрытие (перебивает flex/grid display) ----------------- */
.dk-native-hidden { display: none !important; }

/* --- Счётчик количества (stepper): кнопки 46×48px, поле 44px --------- */
/* box-sizing: тема ставит content-box → 52px + рамка 2+2 = 56px и блок
   на 4px выше соседней кнопки (прыжок макета при переключении) */
[data-toggle="spinner"].input-group {
  box-sizing: border-box !important;
  border: 2px solid var(--dk-p) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  flex-wrap: nowrap !important;
  height: 52px !important;
}
[data-toggle="spinner"] .btn {
  background: none !important;
  border: none !important;
  color: var(--dk-p) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  width: 46px !important;
  height: 48px !important;
  flex: 0 0 46px !important;
  padding: 0 !important;
  line-height: 1 !important;
}
[data-toggle="spinner"] .form-control {
  border: none !important;
  border-radius: 0 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
  width: 44px !important;
  flex: 0 0 44px !important;
  padding: 0 !important;
  height: 48px !important;
}

/* --- Кнопка «В корзину» ---------------------------------------------- */
/* text-transform:none перебивает Maza skin: .content-button .btn { text-transform:uppercase } */
.button-cart {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  height: 52px !important;
  width: 100% !important;
  background: var(--dk-p) !important;
  color: #1a1a1a !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 15px 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  text-transform: none !important;
  box-shadow: 0 4px 14px rgba(255,177,0,.4) !important;
}
.button-cart:hover { background: var(--dk-pd) !important; }

/* --- Кнопка «Купить в один клик» ------------------------------------- */
.button-buynow {
  width: 100% !important;
  background: #fff !important;
  color: var(--dk-text) !important;
  border: 2px solid var(--dk-border) !important;
  border-radius: 10px !important;
  padding: 13px 18px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  text-transform: none !important;
}
.button-buynow:hover {
  border-color: var(--dk-p) !important;
  color: var(--dk-pd) !important;
}

/* --- Липкая шапка (sticky bar) --------------------------------------- */
#dk-sticky-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1050;
  background: #fff;
  box-shadow: 0 2px 16px rgba(0,0,0,.13);
  transform: translateY(-100%);
  transition: transform .3s ease;
  padding: 10px 0;
  border-bottom: 1px solid var(--dk-border);
}
#dk-sticky-bar.dk-visible { transform: translateY(0); }
.dk-sb-inner   { display: flex; align-items: center; gap: 14px; }
.dk-sb-img     { width: 48px; height: 48px; border-radius: 6px; flex-shrink: 0; object-fit: contain; background: #f5f5f5; border: 1px solid var(--dk-border); }
.dk-sb-name    { flex: 1; font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--dk-text); overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical; min-width: 0; }
.dk-sb-prices  { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.dk-sb-old     { font-size: 13px; color: var(--dk-muted); text-decoration: line-through; white-space: nowrap; }
.dk-sb-disc    { background: #e53935; color: #fff; font-size: 12px; font-weight: 700; padding: 2px 9px; border-radius: 12px; white-space: nowrap; }
.dk-sb-cur     { font-size: 20px; font-weight: 800; white-space: nowrap; color: var(--dk-text); }
.dk-sb-btn     { background: var(--dk-p); color: #1a1a1a; border: none; border-radius: 10px; padding: 10px 20px; font-size: 15px; font-weight: 700; cursor: pointer; white-space: nowrap; display: flex; align-items: center; gap: 8px; transition: background .2s; box-shadow: 0 3px 10px rgba(255,177,0,.3); }
.dk-sb-btn:hover { background: var(--dk-pd); }

/* Мобильная версия sticky bar */
@media (max-width: 767px) {
  .dk-sb-name, .dk-sb-old, .dk-sb-disc { display: none !important; }
  .dk-sb-cur { font-size: 17px; }
  .dk-sb-btn { padding: 9px 14px; font-size: 13px; }
}

/* --- Header search ---------------------------------------------------- */
#search .search-button button {
  text-transform: none !important;
}

.widget-search {
  border: 2px solid var(--dk-p) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

.widget-search #search {
  overflow: hidden !important;
  border-radius: 6px !important;
}

.widget-search #search .search-input {
  border-radius: 0 !important;
}

.widget-search #search .search-input {
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.widget-search #search .search-button {
  border-radius: 0 !important;
  overflow: hidden !important;
}

.widget-search #search .search-button button {
  display: block !important;
  border-radius: 0 !important;
  border: 0 !important;
}

#main-header #entry_206206,
#main-header #entry_206213 {
  transform: translate(16px, 13px) !important;
}

#main-header .dk-header-catalog {
  display: block !important;
  flex: 0 0 auto !important;
  margin: 0 4px 0 12px !important;
  padding-right: 15px !important;
  border-right: 0 !important;
}

#main-header .dk-header-catalog a[data-bs-toggle="offcanvas"] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: inset 0 0 0 2px var(--dk-p) !important;
  color: var(--dk-text) !important;
  transition: background .18s ease, box-shadow .18s ease, color .18s ease !important;
}

#main-header .dk-header-catalog a[data-bs-toggle="offcanvas"]:hover,
#main-header .dk-header-catalog a[data-bs-toggle="offcanvas"]:focus {
  background: var(--dk-p) !important;
  box-shadow: inset 0 0 0 2px var(--dk-p) !important;
  color: #1a1a1a !important;
}

#main-header .dk-header-catalog a[data-bs-toggle="offcanvas"] i,
#main-header .dk-header-catalog a[data-bs-toggle="offcanvas"] svg {
  color: inherit !important;
  stroke: currentColor !important;
}

@media (max-width: 1199.98px) {
  #main-header .dk-header-catalog {
    margin: 0 3px 0 8px !important;
  }
}

/* --- Блок «Товары дня» на главной ------------------------------------ */
.dk-deals-entry .dk-deals {
  margin-top: 24px !important;
}

@media (max-width: 1023.98px) {
  .dk-deals-entry .dk-deals {
    min-height: 0 !important;
    margin: 20px 0 24px !important;
  }

  .dk-deals-entry .dk-deals__left {
    min-width: 210px !important;
    padding: 18px 16px !important;
    gap: 10px !important;
  }

  .dk-deals-entry .dk-deals__title {
    font-size: 16px !important;
    letter-spacing: .5px !important;
  }

  .dk-deals-entry .dkfc {
    gap: 3.8px !important;
    transform: translateY(7px) !important;
    transform-origin: center center !important;
  }

  .dk-deals-entry .dkf {
    width: 28.5px !important;
    height: 40px !important;
  }

  .dk-deals-entry .dkf-base span,
  .dk-deals-entry .dkf-bot span,
  .dk-deals-entry .dkf-flap span {
    font-size: 32px !important;
    line-height: 40px !important;
  }

  .dk-deals-entry .dkf-bot span {
    top: -20px !important;
  }

  .dk-deals-entry .dkfc-sep {
    font-size: 25px !important;
    margin-top: 3.8px !important;
  }

  .dk-deals-entry .dkfc-label {
    font-size: 8px !important;
  }

  .dk-deals-entry .dk-deals__body {
    padding: 0 6px !important;
  }

  .dk-deals-entry .dk-deals__arrow {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }

  .dk-deals-entry .dk-deals__slide {
    gap: 10px !important;
    padding: 10px !important;
  }

  .dk-deals-entry .dk-deals__img {
    width: 72px !important;
    height: 72px !important;
  }

  .dk-deals-entry .dk-deals__name {
    font-size: 13px !important;
    line-height: 1.25 !important;
    margin-bottom: 5px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden !important;
  }

  .dk-deals-entry .dk-deals__badge {
    font-size: 10px !important;
    padding: 2px 7px !important;
  }

  .dk-deals-entry .dk-deals__price-old {
    font-size: 11px !important;
  }

  .dk-deals-entry .dk-deals__price-new {
    font-size: 17px !important;
  }

  .dk-deals-entry .dk-deals__discount {
    font-size: 10px !important;
    padding: 1px 7px !important;
  }

  .dk-deals-entry .dk-deals__btn {
    font-size: 12px !important;
    padding: 9px 12px !important;
    margin-left: 4px !important;
  }
}

@media (max-width: 767.98px) {
  .dk-deals-entry {
    display: none !important;
  }
}

/* --- Галерея 60%, блок корзины 40% ----------------------------------- */
@media (min-width: 768px) {
  #entry_215008 { --bs-gutter-x: 5rem; }
  #entry_215009 { flex: 0 0 auto; width: 60% !important; }
  #entry_215014 { flex: 0 0 auto; width: 40% !important; }
}

/* --- Мягкая полировка родной Maza-галереи ---------------------------- */
#product-product #entry_215009 .image-gallery {
  gap: 12px !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#product-product #entry_215009 .image-gallery .image-thumb {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 550px !important;
  border: 1px solid var(--dk-border) !important;
  border-radius: 10px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 2px 14px rgba(0,0,0,.035) !important;
}

#product-product #entry_215009 .image-gallery .image-thumb > .thumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}

#product-product #entry_215009 .image-gallery .image-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

#product-product #entry_215009 .image-gallery.thumbnail-left .image-additional,
#product-product #entry_215009 .image-gallery.thumbnail-right .image-additional {
  position: relative !important;
  flex: 0 0 88px !important;
  width: 88px !important;
  max-width: 88px !important;
  border: 0 !important;
  background: transparent !important;
}

#product-product #entry_215009 .image-gallery.thumbnail-left .image-additional {
  order: -1 !important;
}

#product-product #entry_215009 .image-gallery .image-additional .swiper {
  position: relative !important;
  box-sizing: border-box !important;
  width: 88px !important;
  height: 550px !important;
  padding: 30px 0 !important;
}

#product-product #entry_215009 .image-gallery .image-additional .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 78px !important;
  border: 0 !important;
  overflow: visible !important;
}

#product-product #entry_215009 .image-gallery .image-additional .thumbnail {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 78px !important;
  height: 78px !important;
  margin: 0 auto !important;
  padding: 6px !important;
  border: 1px solid var(--dk-border) !important;
  border-radius: 8px !important;
  background: #fff !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
}

#product-product #entry_215009 .image-gallery .image-additional .thumbnail:hover,
#product-product #entry_215009 .image-gallery .image-additional .thumbnail.dk-thumb-active {
  border-color: var(--dk-p) !important;
  box-shadow: 0 0 0 2px rgba(255,177,0,.18) !important;
}

#product-product #entry_215009 .image-gallery .image-additional img {
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}

#product-product #entry_215009 .image-gallery .image-additional .mz-button-prev,
#product-product #entry_215009 .image-gallery .image-additional .mz-button-next {
  left: 50% !important;
  right: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 78px !important;
  height: 20px !important;
  border: 1px solid var(--dk-border) !important;
  background: #fff !important;
  color: #9ca3af !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.04) !important;
  transform: translateX(-50%) !important;
  transition: background .15s ease, border-color .15s ease, color .15s ease !important;
  z-index: 5 !important;
}

#product-product #entry_215009 .image-gallery .image-additional .mz-button-prev:hover,
#product-product #entry_215009 .image-gallery .image-additional .mz-button-next:hover {
  border-color: var(--dk-p) !important;
  background: #fff8e5 !important;
  color: #1a1a1a !important;
}

#product-product #entry_215009 .image-gallery .image-additional .mz-button-prev.vertical {
  top: 4px !important;
  border-radius: 999px 999px 0 0 !important;
}

#product-product #entry_215009 .image-gallery .image-additional .mz-button-next.vertical {
  bottom: 4px !important;
  border-radius: 0 0 999px 999px !important;
}

#product-product #entry_215009 .image-gallery .image-additional .mz-button-prev.horizontal,
#product-product #entry_215009 .image-gallery .image-additional .mz-button-next.horizontal {
  display: none !important;
}

#product-product #entry_215009 .image-gallery .image-additional .mz-button-prev i,
#product-product #entry_215009 .image-gallery .image-additional .mz-button-next i {
  font-size: 10px !important;
}

/* ─── Вкладки: Характеристики / Описание / Сертификаты ─────────────── */

/* Компенсируем разницу высот col-галереи и col-корзины в строке 215008.
   Корзина обычно выше галереи → вкладки начинаются слишком низко.
   Отрицательный margin поднимает строку вкладок; фон перекрывает хвост корзины.
   Подбери значение под свой экран: обычно 100–200px. */
@media (min-width: 992px) {
  #entry_215502 {
    margin-top: -70px;
    position: relative;
    z-index: 2;
  }
  .dk-tabs-wrap { background: #fff; }
}

.dk-tabs-wrap { margin-top: 32px; position: relative; }

.dk-tabs-nav {
  display: flex;
  border-bottom: 2px solid var(--dk-border);
  overflow: visible;
}

.dk-tab-btn {
  position: relative;
  padding: 10px 20px 12px;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #adb5bd;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
  cursor: pointer;
  transition: color .15s, border-color .15s;
}
.dk-tab-btn:first-child { padding-left: 0; }
.dk-tab-btn:hover { color: var(--dk-p); }
.dk-tab-btn.active { color: var(--dk-p); border-bottom-color: var(--dk-p); }
.dk-tab-btn.active::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  bottom: -2px;
  left: 50%;
  transform: translate(-50%, 50%) rotate(45deg);
  border-bottom: 2px solid var(--dk-p);
  border-right: 2px solid var(--dk-p);
  background-color: #fff;
  z-index: 3;
}

.dk-tab-pane        { display: none; padding: 24px 0; }
.dk-tab-pane.active { display: block; }

.dk-spec-groups {
  column-count: 3;
  column-gap: 48px;
  padding-top: 16px;
}
.dk-spec-group-block {
  break-inside: avoid;
  margin-bottom: 28px;
}
.dk-spec-group-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--dk-text);
  margin: 0 0 10px;
}
.dk-spec-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.dk-spec-item {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  font-size: 14px;
  margin-bottom: 8px;
}
.dk-spec-label { color: var(--dk-muted); white-space: nowrap; }
.dk-spec-dots {
  flex: 1;
  border-bottom: 1px dotted #c0c4cc;
  margin-bottom: 3px;
  min-width: 12px;
}
.dk-spec-val { color: var(--dk-text); font-weight: 500; white-space: nowrap; }
.dk-spec-val a { font-weight: 700; text-decoration: none; color: var(--dk-p); }
.dk-spec-val a:hover { text-decoration: underline; text-decoration-style: dotted; }

.dk-desc-content { font-size: 15px; font-weight: 600; color: var(--dk-text); line-height: 1.7; }
.dk-certs-empty  { color: var(--dk-muted); font-size: 14px; }

@media (max-width: 991px) {
  .dk-spec-groups { column-count: 2; column-gap: 32px; }
  /* dk-fix: на мобильном заголовок товара должен идти ПОСЛЕ хлебных крошек,
     но ДО галереи/цены (в DOM галерея раньше заголовка, на десктопе её двигает
     order-lg-1; на мобиле order-класса нет → заголовок уезжал под цену) */
  #product-product #entry_215007 { order: -2; } /* хлебные крошки */
  #product-product #entry_215077 { order: -1; } /* заголовок товара */
}
/* dk-fix: подсказка «?» у цены показывала «Без налога» = та же цена (налог не
   применяется) — бесполезный шум, скрываем */
#product-product .price-info { display: none; }
/* dk-fix: длинные хлебные крошки на мобильном переносятся, а не обрезаются */
@media (max-width: 767px) {
  #product-product .breadcrumb { flex-wrap: wrap; }
  #product-product .breadcrumb-item { white-space: normal; }
}
@media (max-width: 575px) {
  .dk-spec-groups { column-count: 1; }
  .dk-tabs-wrap   { margin-top: 20px; }
  .dk-tab-btn     { padding: 10px 16px; font-size: 14px; }
  .dk-spec-item   { font-size: 13px; }
}

/* --- Fullscreen swiperbox в стиле DK / DonPlafon --------------------- */
.swiperbox__dialog.dk-swiperbox {
  background: rgba(24,24,27,.88) !important;
  backdrop-filter: none !important;
}

.dk-swiperbox .swiperbox__container {
  padding: 44px max(44px, calc((100vw - 1000px + 44px) / 2)) !important;
}

.dk-swiperbox .swiperbox__wrapper {
  padding: 0 !important;
}

.dk-swiperbox .swiperbox__swiper_main {
  border-radius: 0 !important;
  background: transparent !important;
}

.dk-swiperbox .swiperbox__swiper_main .swiper-slide {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.dk-swiperbox .swiperbox__swiper_main .swiper-wrapper,
.dk-swiperbox .swiperbox__swiper_main .swiper-zoom-container {
  height: 100% !important;
}

.dk-swiperbox .swiperbox__swiper_main .swiper-slide img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

.dk-swiperbox .swiperbox__buttons {
  top: 18px !important;
  right: 20px !important;
  display: flex !important;
  gap: 8px !important;
  padding: 0 !important;
}

.dk-swiperbox .swiperbox__buttons button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.14) !important;
  color: #fff !important;
  transition: background .16s ease, color .16s ease !important;
}

.dk-swiperbox .swiperbox__buttons button:last-child {
  display: inline-flex !important;
}

.dk-swiperbox .swiperbox__buttons button:hover:not(:disabled) {
  background: rgba(255,255,255,.24) !important;
}

.dk-swiperbox .swiperbox__buttons button:disabled {
  opacity: .35 !important;
  cursor: default !important;
}

.dk-swiperbox .swiperbox__buttons button i {
  font-size: 20px !important;
  line-height: 1 !important;
}

.dk-swiperbox .swiperbox__pagination {
  top: 20px !important;
  left: 22px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(0,0,0,.28) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.dk-swiperbox .dk-swiperbox-arrow {
  position: fixed !important;
  top: 50% !important;
  z-index: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
  transition: background .16s ease, opacity .16s ease !important;
}

.dk-swiperbox .dk-swiperbox-arrow:hover {
  background: rgba(255,255,255,.28) !important;
}

.dk-swiperbox .dk-swiperbox-arrow:disabled {
  opacity: .25 !important;
  cursor: default !important;
}

.dk-swiperbox .dk-swiperbox-prev {
  left: 24px !important;
}

.dk-swiperbox .dk-swiperbox-next {
  right: 24px !important;
}

.dk-swiperbox.dk-swiperbox-single .dk-swiperbox-arrow {
  display: none !important;
}

@media (max-width: 767.98px) {
  .dk-swiperbox .swiperbox__container {
    padding: 52px 14px 22px !important;
  }

  .dk-swiperbox .dk-swiperbox-arrow {
    width: 38px !important;
    height: 38px !important;
  }

  .dk-swiperbox .dk-swiperbox-prev {
    left: 10px !important;
  }

  .dk-swiperbox .dk-swiperbox-next {
    right: 10px !important;
  }
}

/* === dk-catalog: кнопка «≡ Каталог» + дропдаун ====================== */

.dk-catalog-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
}

/* Кнопка «Каталог» видна только на 768–991 px, и там её обёртка — flex-элемент
   секции с `flex: 1 1 auto; min-width: 0`. Кнопка внутри `white-space: nowrap`
   и сжаться не может: обёртка ужималась до 90 px при нужных 119, хвост вылезал
   за вьюпорт и давал горизонтальный скролл ~1 px (UX-аудит 2026-09-07, замер
   на 768×1024). Не даём обёртке сжиматься — лишнее место отдаёт меню рядом,
   оно тянущееся. */
.entry-widget.widget-dk_catalog { flex: 0 0 auto !important; }

/* Кнопка-триггер */
.dk-catalog-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 18px;
  height: 42px;
  background: var(--dk-p);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.15s;
}

.dk-catalog-btn:hover,
.dk-catalog-btn[aria-expanded="true"] {
  background: var(--dk-pd);
}

.dk-catalog-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* Дропдаун-панель */
.dk-catalog-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: 9999;
  background: #fff;
  border: 1px solid var(--dk-border);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  min-width: 260px;
  display: none;
}

.dk-catalog-dropdown.open {
  display: block;
}

/* Список категорий */
.dk-catalog-list {
  list-style: none;
  margin: 0;
  padding: 6px 0;
}

.dk-catalog-item {
  position: relative;
}

.dk-catalog-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  color: var(--dk-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.1s, color 0.1s;
  gap: 8px;
}

.dk-catalog-link:hover {
  background: #f8f8f8;
  color: var(--dk-p);
  text-decoration: none;
}

.dk-catalog-chevron {
  font-style: normal;
  font-size: 18px;
  color: #aaa;
  flex-shrink: 0;
  line-height: 1;
}

.dk-catalog-item.has-sub:hover .dk-catalog-link {
  background: #f8f8f8;
  color: var(--dk-p);
}

.dk-catalog-item.has-sub:hover .dk-catalog-chevron {
  color: var(--dk-p);
}

/* Подкатегории (flyout вправо) */
.dk-catalog-sub {
  display: none;
  position: absolute;
  top: -6px;
  left: 100%;
  background: #fff;
  border: 1px solid var(--dk-border);
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.12);
  min-width: 240px;
  list-style: none;
  margin: 0;
  padding: 6px 0;
  z-index: 10000;
}

.dk-catalog-item.has-sub:hover .dk-catalog-sub {
  display: block;
}

.dk-catalog-sub li a {
  display: block;
  padding: 9px 16px;
  color: var(--dk-text);
  font-size: 14px;
  text-decoration: none;
  transition: background 0.1s, color 0.1s;
}

.dk-catalog-sub li a:hover {
  background: #f8f8f8;
  color: var(--dk-p);
}

/* === dk-megamenu: offcanvas-top мега-меню ============================
   Drawer 201377 открывается сверху (offcanvas-top).
   ===================================================================== */

/* Старый демо-navbar внутри drawer (заменён виджетом dk_megamenu).
   device_hidden в DB его не глушит на мобильных: рендерится шириной ~518px
   и распирает документ → горизонтальный скролл и обрезанные карточки */
#entry_206226 { display: none !important; }

/* Переопределяем Bootstrap offcanvas-top под мега-меню */
#mz-component-1626147655 {
  height: auto !important;
  max-height: 80vh;
  left: 0 !important;
  right: 0 !important;
  width: min(1300px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-bottom: 1px solid var(--dk-border);
  box-shadow: 4px 8px 32px rgba(0,0,0,0.15);
  overflow: hidden;
}

/* Кнопка закрыть (×) */
.dk-mega-close {
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 10;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: var(--dk-muted);
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  padding: 0;
}

.dk-mega-close:hover {
  background: #f0f0f0;
  color: var(--dk-text);
}

/* Убираем padding offcanvas-body */
#mz-component-1626147655 .offcanvas-body {
  padding: 0 !important;
  overflow: hidden;
}

/* Внутренний контейнер мега-меню */
.dk-mega-inner {
  display: flex;
  min-height: 420px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

/* ---- Левая колонка (категории) ------------------------------------ */
.dk-mega-cats {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  width: 220px;
  flex-shrink: 0;
  border-right: 1px solid var(--dk-border);
  background: #f9f9f9;
  overflow-y: auto;
}

.dk-mega-cat-item {
  position: relative;
}

.dk-mega-cat-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 18px;
  color: var(--dk-text);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.1s, color 0.1s;
  gap: 6px;
}

.dk-mega-cat-link:hover,
.dk-mega-cat-item.active .dk-mega-cat-link {
  background: #fff;
  color: var(--dk-p);
  text-decoration: none;
}

.dk-mega-cat-item.active .dk-mega-cat-link {
  background: #fff;
  font-weight: 700;
  border-left: 3px solid var(--dk-p);
  padding-left: 15px;
}

.dk-mega-arrow {
  font-style: normal;
  font-size: 18px;
  color: #ccc;
  flex-shrink: 0;
}

.dk-mega-cat-item.active .dk-mega-arrow,
.dk-mega-cat-item:hover .dk-mega-arrow {
  color: var(--dk-p);
}

/* ---- Правая область (панели подкатегорий) ------------------------- */
.dk-mega-panels {
  flex: 1;
  position: relative;
  padding: 24px 28px;
  overflow-y: auto;
}

.dk-mega-panel {
  display: none;
}

.dk-mega-panel.active {
  display: block;
}

/* Заголовок панели — имя категории */
.dk-mega-panel-header {
  font-size: 20px;
  font-weight: 700;
  color: var(--dk-text);
  margin-bottom: 4px;
}

/* Ссылка «Все …» */
.dk-mega-all {
  display: inline-block;
  margin-bottom: 22px;
  color: var(--dk-p);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}

.dk-mega-all:hover {
  text-decoration: underline;
}

/* Колонки внутри панели */
.dk-mega-panel-cols {
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
}

.dk-mega-col {
  min-width: 160px;
  flex: 1 1 160px;
}

.dk-mega-col-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--dk-muted);
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--dk-border);
}

.dk-mega-col-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.dk-mega-col-list li {
  margin-bottom: 2px;
}

.dk-mega-col-list li a {
  display: block;
  padding: 4px 0;
  color: var(--dk-text);
  font-size: 14px;
  text-decoration: none;
  transition: color 0.1s;
}

.dk-mega-col-list li a:hover {
  color: var(--dk-p);
}

.dk-mega-sub-list {
  list-style: none;
  margin: 2px 0 4px 12px;
  padding: 0;
}

.dk-mega-sub-list li a {
  font-size: 13px;
  color: var(--dk-muted);
}

/* Панель без подкатегорий */
.dk-mega-empty-panel {
  display: flex;
  align-items: center;
  height: 100%;
  padding-top: 40px;
}

.dk-mega-all-link {
  font-size: 15px;
  font-weight: 600;
  color: var(--dk-p);
  text-decoration: none;
}

.dk-mega-all-link:hover {
  text-decoration: underline;
}

/* === Нижнее меню: красный акцент на «Распродажа» === */
#main-navigation .nav-link[href="#sale"],
#main-navigation .nav-link[href*="product/special"],
#main-navigation .nav-link[href$="/special"] {
  color: #f22828 !important;
  font-weight: 700 !important;
}

#main-navigation .nav-link[href="#sale"]:hover,
#main-navigation .nav-link[href*="product/special"]:hover,
#main-navigation .nav-link[href$="/special"]:hover {
  color: #d11d1d !important;
}

/* Пункты комнат держим в одну строку, чуть ужимаем отступы */
#main-navigation .navbar-nav {
  flex-wrap: nowrap !important;
}

#main-navigation .navbar-nav > .nav-item > .nav-link {
  padding-left: 11px !important;
  padding-right: 11px !important;
}

/* === Нижнее меню: контакт-блок справа (внедряется JS) =============== */
.dk-navinfo {
  margin-left: auto;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
  padding: 0 4px 0 16px;
}

/* SVG-иконка телефона */
.dk-navinfo .dk-ic {
  display: inline-flex;
  flex-shrink: 0;
  color: var(--dk-p);
}

.dk-navinfo .dk-ic svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  display: block;
}

.dk-navinfo-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.dk-navinfo-phone .col {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.15;
}

.dk-navinfo-phone .num {
  font-size: 16px;
  font-weight: 800;
  color: var(--dk-text);
  letter-spacing: 0.2px;
}

.dk-navinfo-phone:hover .num {
  color: var(--dk-pd);
}

.dk-navinfo-phone .hours {
  font-size: 11px;
  color: var(--dk-muted);
  font-weight: 500;
  text-align: center;
}
/* Стили футера вынесены в отдельный файл dk-footer.css (подключается в header.twig). */

/* === dk-card: карточка товара в листингах (redesign v2, donplafon-style) ===
   Мокап: tmp/hits-mockup.html. Работает поверх общей карточки
   product/common/product.twig — т.е. на главной, в категории, поиске.
   Кнопка «В корзину» перенесена в caption конфигом скина
   (megastore-2.php: html_product_cart_in_caption=true), сердечко осталось
   в оверлее фото и прижато в правый верхний угол. ======================== */

/* контейнер карточки */
.product-thumb {
  border: 1px solid #f1f2f4;
  border-radius: 14px;
  background: #fff;
  transition: box-shadow .2s, border-color .2s;
  overflow: hidden;
}
.product-thumb:hover {
  border-color: transparent;
  box-shadow: 0 12px 32px rgba(23, 26, 31, .13);
  z-index: 2;
}
/* равная высота карточек в ряду: у «Под заказ» низ выше на строку («Срок
   уточняйте» переносится) — карточка растягивается на высоту ряда,
   кнопки прижаты к нижней кромке (caption flex + action margin-top:auto).
   Вертикальный зазор давал margin-bottom:30px карточки — с height:100%
   он выталкивается за col и ряды слипаются; переносим зазор в row-gap */
.content-products .product-thumb,
.mz-tab-listing .product-thumb {
  height: 100%;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}
.content-products .product-thumb .caption,
.mz-tab-listing .product-thumb .caption { flex: 1 1 auto; }
.content-products > .row { row-gap: 24px; }
.mz-tab-listing .row { row-gap: 16px; }

/* верхняя зона фото; сердечко лежит на фото в правом верхнем углу */
.product-thumb .product-thumb-top {
  padding: 16px 16px 0;
}

/* сетка листинга: отступы между карточками уже (карточки шире) */
.mz-tab-listing .row {
  --bs-gutter-x: 16px;
  row-gap: 16px;
}

/* фото в кадрах карусели имеют жёсткие width/height-атрибуты (270px) —
   без max-width карточка не ужимается и на мобильных ряд выползает за экран */
.product-thumb .image img {
  max-width: 100%;
  height: auto;
}

/* тема ломает bootstrap row-cols: её правило `.col{flex:1 0 0%}` перебивает
   `row-cols-N>*{width:…}` — колонки листинга тянутся по контенту и на
   мобильных ряд шире экрана. Возвращаем фиксированные ширины (scoped) */
.mz-tab-listing .row > .col {
  flex: 0 0 auto !important;
  min-width: 0;
}
.mz-tab-listing .row-cols-1 > .col { width: 100%; }
.mz-tab-listing .row-cols-2 > .col { width: 50%; }
.mz-tab-listing .row-cols-3 > .col { width: 33.3333%; }
.mz-tab-listing .row-cols-4 > .col { width: 25%; }
.mz-tab-listing .row-cols-5 > .col { width: 20%; }
@media (min-width: 576px) {
  .mz-tab-listing .row-cols-sm-2 > .col { width: 50%; }
  .mz-tab-listing .row-cols-sm-3 > .col { width: 33.3333%; }
}
@media (min-width: 768px) {
  .mz-tab-listing .row-cols-md-3 > .col { width: 33.3333%; }
  .mz-tab-listing .row-cols-md-4 > .col { width: 25%; }
}
@media (min-width: 992px) {
  .mz-tab-listing .row-cols-lg-4 > .col { width: 25%; }
  .mz-tab-listing .row-cols-lg-5 > .col { width: 20%; }
}
@media (min-width: 1200px) {
  .mz-tab-listing .row-cols-xl-4 > .col { width: 25%; }
  .mz-tab-listing .row-cols-xl-5 > .col { width: 20%; }
}

/* бейдж скидки (Maza label «Sale», percentage → «−N%») */
.product-thumb .product-label.top_left {
  top: 10px;
  left: 12px;
  right: auto;
}
/* на карточке «Товар дня» бейдж скидки перенесён JS-ом внутрь плашки
   (.dk-deal-tag - flex-строка): ярлыки в один ряд */
.dk-deal-tag .product-label.top_left { position: static; top: auto; left: auto; }
.product-thumb .product-label > div {
  background: #f22828 !important;
  color: #fff !important;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  border-radius: 6px;
  padding: 5px 7px;
}

/* оверлей действий на фото: остаётся только сердечко, статично в углу
   (тема: width:100% + justify-content:center + анимация bottom при hover) */
.product-thumb .product-thumb-top .product-action,
.product-thumb .product-thumb-top:hover .product-action {
  position: absolute;
  /* на одной линии с бейджем «Товар дня» (top:10px, высота 22px → центр 21px) */
  top: 4px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  justify-content: flex-end !important;
  display: flex;
  flex-direction: row;
  gap: 0;
  background: transparent;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
  margin: 0;
  padding: 0;
}
.product-thumb .product-thumb-top .product-action .btn {
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 50%;
  background: transparent;          /* без кружка — только контурное сердце */
  color: #fff;                      /* заливка сердца белая… */
  box-shadow: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: color .15s, background .15s;
}
.product-thumb .product-thumb-top .product-action .btn i {
  font-size: 21px;
  -webkit-text-stroke: 1.5px #2a2e36; /* …контур тёмный (outline-сердце из солидной FA) */
}
.product-thumb .product-thumb-top .product-action .btn span { display: none; }
.product-thumb .product-thumb-top .product-action .btn-wishlist:hover,
.product-thumb .product-thumb-top .product-action .btn-wishlist.wished {
  color: #f22828;                   /* в избранном/hover — залитое красное */
}
.product-thumb .product-thumb-top .product-action .btn-wishlist:hover i,
.product-thumb .product-thumb-top .product-action .btn-wishlist.wished i {
  -webkit-text-stroke: 0; /* залитое сердце без обводки — иначе распухает в «шар» */
}
/* тема красит .wished в красный КРУГ (background на кнопке) — глушим */
.product-thumb .product-action .btn.btn-wishlist.wished,
.product-thumb .product-action .btn.btn-wishlist.wished:hover {
  background-color: transparent !important;
  border-color: transparent !important;
  color: #f22828 !important;
}

/* «глаз» quick view убран из UX везде */
.product-thumb .btn-quick-view { display: none !important; }

/* индикаторы карусели фото → полоски под фото (donplafon)
   (тема прячет их до hover: .product-thumb .carousel-indicators{opacity:0}) */
.product-thumb .image .carousel-indicators {
  position: static;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 10px 0 0;
  height: 14px;
  opacity: 1 !important;
}
.product-thumb .image .carousel-indicators li {
  width: 26px !important;
  height: 3px !important;
  border: none !important;
  border-radius: 2px;
  background: #e8eaed !important;
  opacity: 1;
  text-indent: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}
.product-thumb .image .carousel-indicators li.active {
  background: var(--dk-p) !important; /* фирменный оранжевый #ffb100 */
}
.product-thumb .image .carousel-indicators li img { display: none !important; }

/* подпись карточки */
.product-thumb .caption {
  padding: 10px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  text-align: left;
}
.product-thumb .caption .title {
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
  min-height: calc(14px * 1.45 * 2);
}
.product-thumb .caption .title a { color: var(--dk-text); }

/* цена: 20px, при скидке — красная, старая — мелкая зачёркнутая */
.product-thumb .caption .price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0;
}
.product-thumb .caption .price-new {
  font-size: 20px;
  font-weight: 800;
  color: var(--dk-text);
}
.product-thumb .caption .price-new.special { color: #f22828; }
.product-thumb .caption .price-old {
  font-size: 13px;
  color: #9ca3af;
  text-decoration: line-through;
}

/* низ: кнопка «В корзину» слева, наличие у правого края.
   flex-wrap обязателен: на мобильных (2 колонки) кнопка+наличие не
   влезают в одну строку, без переноса карточки распирают ряд за экран */
.product-thumb .caption .product-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: auto;
  padding-top: 4px;
}
.product-thumb .caption .product-action .btn-cart {
  border: none;
  border-radius: 9px;
  background: #23272f;
  color: #fff;
  font-size: 13.5px;
  font-weight: 800;
  text-transform: none;
  padding: 10px 16px;
  white-space: nowrap;
  flex-shrink: 0;
  box-shadow: none;
  transition: background .15s;
}
.product-thumb .caption .product-action .btn-cart:hover {
  background: var(--dk-p);
  color: #fff;
}
.product-thumb .caption .product-action .btn-cart i { display: none; }
/* тема прячет текст кнопок в .product-action глобально — возвращаем */
.product-thumb .caption .product-action .btn-cart span { display: inline !important; }
.product-thumb .caption .product-action .btn-cart.dk-preorder {
  background: #f3f4f6;
  color: var(--dk-text);
}
.product-thumb .caption .product-action .btn-cart.dk-preorder:hover { background: #e5e7eb; }

.dk-stock { font-size: 12.5px; font-weight: 700; line-height: 1.3; white-space: nowrap; }
.dk-stock.in  { color: #16a34a; }
.dk-stock.out { color: var(--dk-muted); }

/* шапка секции листинга: заголовок по центру */
/* обёртка html-виджета заголовка получает align-self-center — растягиваем */
#entry_215608 { align-self: stretch !important; }
.dk-sec-head {
  display: flex !important;
  width: 100%;
  align-items: baseline;
  justify-content: center;
  gap: 16px;
  /* тот же зазор до контента, что у заголовка «Товар дня» (.module-title) */
  margin-bottom: 1.75rem;
}
/* заголовок наследует темовый .module-title без переопределений —
   тот же стиль, что у «Товар дня» (1.5em, uppercase, margin-bottom 1.75rem) */

/* зазор между «Товар дня» и «Хиты продаж»: у секции товара дня
   скомпилирован margin-bottom 4.1875rem — приводим к стандартному */
#entry_215589 { margin-bottom: 1.5rem !important; }
.dk-sec-all {
  font-size: 14px;
  font-weight: 700;
  color: var(--dk-text);
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 2px solid var(--dk-p);
  padding-bottom: 2px;
  transition: color .15s;
}
.dk-sec-all:hover { color: var(--dk-pd); text-decoration: none; }

/* ── dk-qty: степпер количества в карточке листинга ─────────────────── */
.dk-qty {
  display: flex;
  align-items: stretch;
  height: 39px;               /* тот же габарит, что у кнопки «В корзину» */
  border-radius: 9px;
  overflow: hidden;
  background: #23272f;
  flex-shrink: 0;
}
.dk-qty-btn {
  width: 36px;
  border: none;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
  padding: 0;
}
.dk-qty-btn:hover { background: var(--dk-p); }
/* поле количества: ручной ввод */
.dk-qty-num {
  width: 40px;
  border: none;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 800;
  text-align: center;
  padding: 0 2px;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
}
.dk-qty-num::-webkit-outer-spin-button,
.dk-qty-num::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dk-qty-num:focus { background: rgba(255, 255, 255, .12); }

/* кнопка-корзина (Ozon-style) на месте «В наличии» — ведёт к оформлению */
.dk-goto-cart-btn {
  width: 39px;
  height: 39px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: var(--dk-p);
  color: #fff !important;
  font-size: 15px;
  text-decoration: none !important;
  transition: background .15s;
}
.dk-goto-cart-btn:hover { background: var(--dk-pd); }

/* ── dk-deal: акцентная карточка «Товар дня» в сетке хитов ──────────── */
.product-thumb.dk-deal {
  border: 2px solid var(--dk-p);
  box-shadow: 0 4px 18px rgba(255, 177, 0, .16);
}
.product-thumb.dk-deal:hover {
  border-color: var(--dk-p);
  box-shadow: 0 12px 32px rgba(255, 177, 0, .28);
}
/* бейдж + таймер над фото, слева; сердечко справа не задеваем */
.dk-deal-tag {
  position: absolute;
  top: 10px;
  left: 12px;
  right: 52px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.dk-deal-name {
  background: var(--dk-p);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  border-radius: 6px;
  padding: 5px 8px;
  white-space: nowrap;
}


/* === dk-cart: страница корзины (Ozon/Donplafon-style) ================= */
.dk-cart-page .breadcrumb { margin-bottom: 8px; }

/* шапка: «Корзина²» + поделиться */
.dk-cart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 2px 0 6px;
}
.dk-cart-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--dk-text);
  margin: 0;
}
.dk-cart-count {
  font-size: 16px;
  font-weight: 600;
  color: #9aa1ab;
  margin-left: 2px;
}
.dk-cart-share {
  border: none;
  background: #f2f4f8;
  border-radius: 9px;
  height: 38px;
  padding: 0 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--dk-text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background .15s;
}
.dk-cart-share:hover { background: #e8ebf1; }
.dk-cart-share i { color: #8a919c; font-size: 13px; }

/* сетка: список слева + sticky-сводка справа */
.dk-cart-grid {
  display: flex;
  gap: 28px;
  align-items: flex-start;
  margin-top: 6px;
}
.dk-cart-list { flex: 1 1 auto; min-width: 0; }
.dk-cart-aside {
  width: 360px;
  flex: 0 0 360px;
  position: sticky;
  top: 16px;
}

/* строка товара */
.dk-cart-item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto 150px;
  gap: 12px 20px;
  padding: 20px 0;
  border-bottom: 1px solid #eceff3;
  align-items: start;
  transition: opacity .15s;
}
.dk-ci-img {
  width: 96px;
  height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dk-ci-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dk-ci-name {
  display: block;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--dk-text);
  text-decoration: none;
}
.dk-ci-name:hover { color: var(--dk-pd); }
.dk-ci-model,
.dk-ci-option { font-size: 13px; color: #8a919c; margin-top: 4px; }
.dk-ci-preorder { font-size: 13px; font-weight: 600; color: #e08900; margin-top: 6px; }
.dk-ci-actions { display: flex; gap: 18px; margin-top: 12px; }
.dk-ci-fav,
.dk-ci-remove {
  border: none;
  background: none;
  padding: 0;
  font-size: 13px;
  color: #8a919c;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .15s;
}
.dk-ci-fav:hover,
.dk-ci-fav.active { color: #f22828; }
.dk-ci-remove:hover { color: var(--dk-text); }

/* степпер: минус на 1 шт. заблокирован — удаление только «Удалить» */
.dk-cart-item .dk-qty-minus:disabled { opacity: .35; cursor: default; }
.dk-cart-item .dk-qty-minus:disabled:hover { background: transparent; }

/* цены строки */
.dk-ci-price { text-align: right; }
.dk-ci-total { font-size: 18px; font-weight: 800; color: var(--dk-text); }
.dk-ci-price.dk-discount .dk-ci-total { color: #f22828; }
.dk-ci-old {
  font-size: 13px;
  color: #9aa1ab;
  text-decoration: line-through;
  margin-top: 2px;
}
.dk-ci-unit { font-size: 12px; color: #9aa1ab; margin-top: 6px; }

/* подарочные сертификаты */
.dk-cart-voucher .dk-ci-img { font-size: 30px; color: var(--dk-p); }

/* правая сводка «Ваша корзина» */
.dk-cart-summary {
  background: #fff;
  border: 1px solid #e5e8ed;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 6px 24px rgba(20, 25, 40, .06);
}
.dk-cs-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  border-radius: 10px;
  background: var(--dk-p);
  /* тёмный текст на жёлтом — как у жёлтых кнопок темы (чекаут), белый не читается */
  color: var(--dk-text) !important;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none !important;
  transition: background .15s;
}
.dk-cs-btn:hover { background: var(--dk-pd); }
.dk-cs-note {
  font-size: 12.5px;
  line-height: 1.45;
  color: #8a919c;
  margin: 10px 0 0;
}
/* Условия доставки в корзине — заметнее служебной сноски, но не баннер
   (UX-аудит 2026-09-07: покупатель узнавал про 500 ₽ только в чекауте) */
.dk-cs-delivery {
  font-size: 13px;
  line-height: 1.45;
  color: #343a40;
  font-weight: 600;
  margin: 10px 0 0;
}
.dk-cs-delivery a { color: #1565c0; text-decoration: none; font-weight: 500; }
.dk-cs-delivery a:hover { text-decoration: underline; }
.dk-cs-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 18px 0 8px;
  padding-top: 16px;
  border-top: 1px solid #eceff3;
}
.dk-cs-title { font-size: 16px; font-weight: 800; color: var(--dk-text); }
.dk-cs-meta { font-size: 12.5px; color: #8a919c; white-space: nowrap; }
.dk-cs-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 14px;
  color: var(--dk-text);
  padding: 5px 0;
}
.dk-cs-discount .dk-cs-discount-val { color: #f22828; font-weight: 700; }
.dk-cs-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid #eceff3;
  font-size: 16px;
  font-weight: 800;
  color: var(--dk-text);
}
.dk-cs-total { font-size: 22px; font-weight: 800; }
.dk-cart-continue {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  font-size: 13.5px;
  color: #8a919c;
  text-decoration: none;
}
.dk-cart-continue:hover { color: var(--dk-pd); }

/* пустая корзина */
.dk-cart-empty {
  max-width: 520px;
  margin: 56px auto 88px;
  text-align: center;
}
.dk-cart-empty > i { font-size: 56px; color: #dfe3ea; }
.dk-cart-empty-title { font-size: 24px; font-weight: 800; color: var(--dk-text); margin: 18px 0 8px; }
.dk-cart-empty p { font-size: 14px; color: #8a919c; margin: 0; }
.dk-cart-empty .dk-cs-btn { max-width: 260px; margin: 20px auto 0; }

/* планшет: сводка вниз, на всю ширину */
@media (max-width: 991.98px) {
  .dk-cart-grid { flex-direction: column; }
  .dk-cart-aside { position: static; width: 100%; flex: 1 1 auto; }
}

/* мобильный: фото слева, степпер и цена под описанием */
@media (max-width: 767.98px) {
  .dk-cart-item { grid-template-columns: 80px minmax(0, 1fr); gap: 10px 14px; }
  .dk-ci-img { width: 80px; height: 80px; grid-row: 1 / span 3; }
  .dk-ci-price {
    text-align: left;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 10px;
  }
  .dk-ci-price .dk-ci-old,
  .dk-ci-price .dk-ci-unit { margin-top: 0; }
  .dk-cart-title { font-size: 24px; }
  .dk-cart-title .dk-cart-count { font-size: 14px; }
}

/* === dk-checkout: страница оформления заказа (Ozon-style) ============== */
.dk-checkout .breadcrumb { margin-bottom: 8px; }
.dk-co-title { font-size: 28px; font-weight: 800; color: var(--dk-text); margin: 2px 0 18px; }

/* сетка: карточки слева + sticky-сводка справа */
.dk-co-grid { display: flex; gap: 28px; align-items: flex-start; }
.dk-co-main { flex: 1 1 auto; min-width: 0; }
.dk-co-aside { width: 380px; flex: 0 0 380px; position: sticky; top: 16px; }

/* карточки шагов */
.dk-co-card {
  background: #fff;
  border: 1px solid #e5e8ed;
  border-radius: 14px;
  padding: 22px 24px;
  margin-bottom: 18px;
}
.dk-co-card-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 18px;
  font-weight: 800;
  color: var(--dk-text);
  margin: 0 0 16px;
}
.dk-co-step {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--dk-p);
  color: var(--dk-text);
  font-size: 14px;
  font-weight: 800;
  line-height: 26px;      /* центр цифры: строка = высоте круга */
  text-align: center;
  display: inline-block;
  flex-shrink: 0;
}

/* город доставки — компактный чип в заголовке и popover по клику */
.dk-city-source-field { display: none !important; }
.dk-co-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 16px;
}
.dk-co-card-head .dk-co-card-title { margin: 0; }
.dk-city-compact {
  position: relative;
  flex: 0 0 auto;
}
.dk-city-chip {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid #dfe3e9;
  border-radius: 999px;
  background: #f7f8fa;
  color: #677180;
  font-size: 12.5px;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.dk-city-chip:hover,
.dk-city-chip[aria-expanded="true"] {
  border-color: #d4a32d;
  background: #fffaf0;
}
.dk-city-chip:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 177, 0, .18);
}
.dk-city-chip > .fa-map-marker-alt { color: #d89a00; }
.dk-city-chip strong {
  color: var(--dk-text);
  font-size: 13px;
  font-weight: 800;
}
.dk-city-chip-chevron {
  margin-left: 1px;
  color: #9aa1ab;
  font-size: 9px;
  transition: transform .18s ease;
}
.dk-city-chip[aria-expanded="true"] .dk-city-chip-chevron { transform: rotate(180deg); }
.dk-city-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  right: 0;
  width: 340px;
  max-width: calc(100vw - 48px);
  padding: 14px;
  border: 1px solid #dfe3e9;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(25, 31, 44, .16);
}
.dk-city-popover[hidden] { display: none !important; }
.dk-city-popover > label {
  display: block;
  margin: 0 0 8px;
  color: var(--dk-text);
  font-size: 13px;
  font-weight: 800;
}
.dk-city-picker-field {
  position: relative;
  display: flex;
  align-items: center;
}
.dk-city-picker-field > i {
  position: absolute;
  z-index: 2;
  left: 13px;
  color: #7b8491;
  pointer-events: none;
}
.dk-city-picker-field input {
  width: 100%;
  height: 44px;
  padding: 9px 126px 9px 38px;
  border: 1px solid #ccd2dc;
  border-radius: 9px;
  background: #fff;
  color: var(--dk-text);
  font-size: 14px;
  outline: none;
}
.dk-city-picker-field input:focus {
  border-color: #e6a300;
  box-shadow: 0 0 0 3px rgba(255, 177, 0, .14);
}
#dk-city-geolocate {
  position: absolute;
  z-index: 2;
  right: 5px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border: 0;
  border-radius: 7px;
  background: #f0f2f5;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
#dk-city-geolocate:hover { background: #e7eaf0; }
#dk-city-geolocate.is-ready { color: #18753c; background: #e8f7ee; }
#dk-city-geolocate:disabled { opacity: .65; cursor: wait; }
.dk-city-suggestions {
  position: absolute;
  z-index: 30;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  overflow: hidden;
  border: 1px solid #dce1e8;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(25, 31, 44, .14);
}
.dk-city-suggestions[hidden] { display: none !important; }
.dk-city-suggestions button {
  width: 100%;
  display: block;
  padding: 10px 13px;
  border: 0;
  border-bottom: 1px solid #f0f2f5;
  background: #fff;
  color: var(--dk-text);
  font-size: 13.5px;
  text-align: left;
  cursor: pointer;
}
.dk-city-suggestions button:last-child { border-bottom: 0; }
.dk-city-suggestions button:hover,
.dk-city-suggestions button:focus { background: #fff7e6; outline: none; }
.dk-city-status {
  min-height: 17px;
  margin-top: 5px;
  color: #748092;
  font-size: 11.5px;
}
.dk-city-status:empty { min-height: 0; margin-top: 0; }
.dk-city-status.is-error { color: #b42318; }

/* плитки способов (доставка и оплата) */
.dk-tiles { display: flex; flex-direction: column; gap: 10px; }
.dk-tiles-pay { flex-direction: row; flex-wrap: wrap; }
.dk-tiles-pay .dk-tile { flex: 1 1 calc(50% - 5px); min-width: 240px; }
.dk-tile {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1.5px solid #e0e4ea;
  border-radius: 11px;
  padding: 13px 16px;
  cursor: pointer;
  margin: 0;
  transition: border-color .15s, box-shadow .15s;
  background: #fff;
}
.dk-tile:hover { border-color: #c9cfd9; }
.dk-tile.active {
  border-color: var(--dk-p);
  box-shadow: 0 0 0 1px var(--dk-p), 0 4px 14px rgba(255, 177, 0, .12);
}
.dk-tile input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.dk-tile-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f2f4f8;
  color: #4b5563;
  font-size: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dk-tile.active .dk-tile-icon { background: #fff4dd; color: #a97400; }
.dk-tile-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dk-tile-title { font-size: 14.5px; font-weight: 700; color: var(--dk-text); line-height: 1.3; }
.dk-tile-sub { font-size: 12.5px; color: #8a919c; }
.dk-tile-price { margin-left: auto; font-size: 14.5px; font-weight: 800; color: var(--dk-text); white-space: nowrap; }
.dk-tile-price.free { color: #1d9e45; }

/* бейджи провайдеров */
.dk-badge-ya, .dk-badge-ozon, .dk-badge-sber {
  width: 24px;
  height: 24px;
  border-radius: 7px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.dk-badge-ya { background: #fc3f1d; }
.dk-badge-ozon { background: #005bff; }
.dk-badge-sber { background: #21a038; }

/* подсказка ПВЗ */
.dk-pvz-hint {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  background: #f5f8ff;
  border: 1px solid #d8e3fb;
  border-radius: 10px;
  padding: 12px 14px;
  margin-top: 14px;
  font-size: 13px;
  color: #4b5563;
  line-height: 1.45;
}
.dk-pvz-hint i { color: #3b6fd4; margin-top: 2px; }
.dk-pvz-hint a { color: #3b6fd4; font-weight: 600; }
.dk-pvz-hint-body { flex: 1 1 auto; min-width: 0; }
.dk-pvz-action-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}
.dk-pvz-action-row[hidden] { display: none !important; }
.dk-pvz-address-summary {
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 5px;
  color: #667085;
}
.dk-pvz-address-summary span {
  flex: 0 0 auto;
  font-weight: 600;
}
.dk-pvz-address-summary strong {
  color: var(--dk-text);
  font-weight: 700;
}
.dk-pvz-address-summary strong.is-empty {
  color: #7b8491;
  font-weight: 600;
}
.dk-pvz-map-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  flex: 0 0 auto;
  margin: 0;
  padding: 8px 15px;
  border: 0;
  border-radius: 8px;
  background: var(--dk-p);
  color: var(--dk-text);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.dk-pvz-map-btn:hover { background: var(--dk-pd); }
.dk-yandex-pvz-error {
  margin-top: 9px;
  color: #b42318;
  font-weight: 600;
}

/* официальный виджет ПВЗ Яндекс Доставки */
body.dk-pvz-modal-open { overflow: hidden; }
.dk-pvz-modal {
  position: fixed;
  inset: 0;
  z-index: 10050;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.dk-pvz-modal[hidden] { display: none !important; }
.dk-pvz-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 25, 40, .58);
  backdrop-filter: blur(2px);
}
.dk-pvz-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(1120px, 96vw);
  height: min(780px, 92vh);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border-radius: 15px;
  box-shadow: 0 24px 70px rgba(20, 25, 40, .28);
}
.dk-pvz-modal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e8ed;
}
.dk-pvz-modal-head h2 {
  margin: 0;
  font-size: 19px;
  font-weight: 800;
  color: var(--dk-text);
}
.dk-pvz-modal-head p {
  margin: 3px 0 0;
  font-size: 13px;
  color: #6b7280;
}
.dk-pvz-modal-close {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 0;
  border-radius: 50%;
  background: #f2f4f7;
  color: #303640;
  font-size: 27px;
  line-height: 36px;
  cursor: pointer;
}
.dk-pvz-modal-close:hover { background: #e8ebf0; }
.dk-yandex-modal-error {
  margin: 10px 16px 0;
  padding: 9px 12px;
  border: 1px solid #f5c2c7;
  border-radius: 8px;
  background: #fff1f2;
  color: #b42318;
  font-size: 13px;
  font-weight: 600;
}
.dk-yandex-delivery-widget {
  min-height: 0;
  flex: 1 1 auto;
}
.dk-pvz-widget-loading {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 8px 28px rgba(20, 25, 40, .14);
  color: #4b5563;
  font-size: 14px;
}

/* формы: сетка полей */
.dk-form-grid { display: flex; flex-wrap: wrap; gap: 12px 16px; margin-top: 14px; }
.dk-field { flex: 1 1 calc(50% - 8px); min-width: 220px; }
.dk-field-wide { flex: 1 1 100%; }
.dk-field .form-label { font-size: 13px; font-weight: 600; color: #4b5563; margin-bottom: 4px; }
.dk-field.required .form-label::after { content: ' *'; color: #f22828; }
.dk-field .form-control { height: 44px; border-radius: 9px; font-size: 14px; }
#dk-address-mount { margin-top: 2px; }

/* переключатель гость / вход / регистрация */
.dk-acc-switch { display: flex; flex-wrap: wrap; gap: 8px; }
.dk-chip {
  border: 1.5px solid #e0e4ea;
  border-radius: 999px;
  padding: 7px 16px;
  font-size: 13.5px;
  font-weight: 600;
  color: #4b5563;
  cursor: pointer;
  margin: 0;
  transition: all .15s;
}
.dk-chip:hover { border-color: #c9cfd9; }
.dk-chip.active { border-color: var(--dk-p); background: #fff4dd; color: var(--dk-text); }
.dk-chip input { position: absolute; opacity: 0; pointer-events: none; }
#checkout-login { margin-top: 4px; }
.dk-login-actions { display: flex; align-items: center; gap: 16px; margin-top: 14px; }
.dk-login-actions a { font-size: 13px; color: #8a919c; }

/* правая сводка */
.dk-co-summary {
  background: #fff;
  border: 1px solid #e5e8ed;
  border-radius: 14px;
  padding: 22px;
  box-shadow: 0 6px 24px rgba(20, 25, 40, .06);
}
.dk-co-sum-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 12px; }
.dk-co-sum-title { font-size: 17px; font-weight: 800; color: var(--dk-text); }
.dk-co-edit { font-size: 13px; color: #8a919c; }
.dk-co-edit:hover { color: var(--dk-pd); }

/* состав заказа */
.dk-co-items { border-bottom: 1px solid #eceff3; margin-bottom: 8px; }
.dk-co-item { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
.dk-co-item-img {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #eceff3;
  border-radius: 9px;
  overflow: hidden;
  background: #fff;
}
.dk-co-item-img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.dk-co-item-gift { font-size: 20px; color: var(--dk-p); }
.dk-co-item-info { min-width: 0; flex: 1 1 auto; }
.dk-co-item-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--dk-text);
  text-decoration: none;
}
.dk-co-item-name:hover { color: var(--dk-pd); }
.dk-co-item-meta { font-size: 12px; color: #8a919c; margin-top: 2px; }
.dk-co-item-total { font-size: 13.5px; font-weight: 800; color: var(--dk-text); white-space: nowrap; }

/* итоги */
.dk-co-totals { padding: 4px 0 2px; }
.dk-co-total-row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: var(--dk-text); padding: 4px 0; }
.dk-co-total-grand { margin-top: 8px; padding-top: 12px; border-top: 1px solid #eceff3; font-size: 16px; font-weight: 800; }
.dk-co-total-grand span:last-child { font-size: 21px; }

/* промокод-аккордеоны и комментарий */
.dk-co-summary .accordion { margin-top: 12px; }
.dk-co-summary .accordion-button { font-size: 13.5px; padding: 10px 14px; }
.dk-co-summary .accordion-body { padding: 12px 14px; }
.dk-co-comment { margin-top: 14px; }
.dk-co-comment .form-label { font-size: 13px; font-weight: 600; color: #4b5563; margin-bottom: 4px; }
.dk-co-comment textarea { border-radius: 9px; font-size: 13.5px; }
.dk-co-agree { margin-top: 12px; font-size: 12.5px; color: #4b5563; }
.dk-co-agree a { color: inherit; text-decoration: underline; }

/* кнопка и примечание */
.dk-co-submit { width: 100%; border: none; }
.dk-co-note { font-size: 12.5px; color: #8a919c; line-height: 1.45; margin: 10px 0 0; text-align: center; }
/* рейтинг Яндекс Маркета под кнопкой оплаты (R3-раскладка, мягкая карточка) */
.dk-co-mkt { margin-top: 14px; background: #fff6f3; border: 1px solid #ffdcd2; border-radius: 13px; padding: 12px 13px 13px; }
.dk-co-mkt-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.dk-co-mkt-tiles > div { text-align: center; background: #fff; border-radius: 10px; padding: 9px 4px; }
.dk-co-mkt-tiles b { display: block; font-size: 19px; font-weight: 800; color: var(--dk-text); line-height: 1.1; }
.dk-co-mkt-tiles b .dk-co-mkt-st { color: var(--dk-p); font-size: 14px; }
.dk-co-mkt-tiles span { font-size: 11px; color: #8a7d78; }
.dk-co-mkt-cta { display: block; text-align: center; margin-top: 10px; font-size: 13px; font-weight: 800; color: #2f6fd6; text-decoration: none; }
.dk-co-mkt-cta:hover { text-decoration: underline; }

/* подтверждение оплаты (confirm-страница) */
.dk-pay-note { font-size: 14px; color: #4b5563; }

/* адаптив */
@media (max-width: 991.98px) {
  .dk-co-grid { flex-direction: column; }
  .dk-co-aside { position: static; width: 100%; flex: 1 1 auto; }
}
@media (max-width: 575.98px) {
  .dk-co-card { padding: 16px; }
  .dk-tiles-pay .dk-tile { flex: 1 1 100%; }
  .dk-field { flex: 1 1 100%; }
  .dk-co-title { font-size: 24px; }
  .dk-pvz-modal { padding: 0; }
  .dk-pvz-modal-dialog {
    width: 100vw;
    height: 100dvh;
    max-height: none;
    border-radius: 0;
  }
  .dk-pvz-modal-head { padding: 12px 14px; }
  .dk-pvz-modal-head p { display: none; }
  .dk-co-card-head { align-items: flex-start; flex-wrap: wrap; gap: 8px; }
  .dk-city-compact { margin-left: auto; }
  .dk-city-popover { max-width: calc(100vw - 52px); }
  .dk-city-picker-field input { padding-right: 48px; }
  #dk-city-geolocate { width: 34px; padding: 0; justify-content: center; }
  #dk-city-geolocate span { display: none; }
  .dk-pvz-action-row { align-items: stretch; flex-direction: column; gap: 10px; }
  .dk-pvz-address-summary { display: block; }
  .dk-pvz-address-summary span { display: block; margin-bottom: 2px; }
  .dk-tile { gap: 10px; padding: 12px; }
  .dk-tile-body { flex: 1 1 auto; }
  .dk-tile-price {
    flex: 0 0 92px;
    max-width: 92px;
    white-space: normal;
    text-align: right;
    line-height: 1.3;
  }
}

/* === dk-checkout v2: правки по фидбеку ================================ */
/* официальные знаки в плитках */
.dk-tile-icon img { max-width: 28px; max-height: 28px; display: block; }
.dk-tile-icon img.dk-icon-wide { max-width: 34px; }
.dk-tile-icon:has(img) { background: #fff; border: 1px solid #eceff3; }

/* «Состав заказа» внутри карточки «Способ получения» (Ozon-style) */
.dk-co-compose { margin-top: 20px; padding-top: 16px; border-top: 1px solid #eceff3; }
.dk-co-compose-head { display: flex; align-items: baseline; gap: 10px; margin-bottom: 12px; }
.dk-co-compose-title { font-size: 15px; font-weight: 800; color: var(--dk-text); }
.dk-co-compose-count { font-size: 13px; color: #8a919c; }
.dk-co-compose-head .dk-co-edit { margin-left: auto; }
.dk-co-thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.dk-co-thumb {
  position: relative;
  width: 56px;
  height: 56px;
  border: 1px solid #eceff3;
  border-radius: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  text-decoration: none;
}
.dk-co-thumb img { max-width: 88%; max-height: 88%; object-fit: contain; border-radius: 8px; }
.dk-co-thumb-qty {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  border-radius: 10px;
  background: #23272f;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 20px;
  text-align: center;
}
.dk-co-thumb-more {
  font-size: 13px;
  font-weight: 800;
  color: #4b5563;
  background: #f2f4f8;
}
.dk-co-thumb-more:hover { background: #e8ebf1; color: var(--dk-text); }
.dk-co-thumb-gift { font-size: 18px; color: var(--dk-p); }

/* промокод/сертификат (Ozon-style) */
.dk-promo { margin-top: 12px; }
.dk-promo-toggle {
  border: none;
  background: none;
  padding: 0;
  font-size: 13.5px;
  font-weight: 600;
  color: #3b6fd4;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.dk-promo-toggle:hover { text-decoration: underline; }
.dk-promo-row { display: flex; gap: 8px; }
.dk-promo-row .form-control { height: 42px; border-radius: 9px; font-size: 14px; min-width: 0; }
/* кнопка не сжимается — сжимается поле (иначе «Применить» обрезается) */
.dk-promo-row .btn { border-radius: 9px; font-size: 13.5px; font-weight: 600; white-space: nowrap; flex-shrink: 0; padding-left: 14px; padding-right: 14px; }
.dk-promo-msg { font-size: 12.5px; color: #f22828; margin-top: 6px; }

/* строка «Уже покупали у нас?» */
.dk-acc-login-line { font-size: 13.5px; color: #4b5563; margin-bottom: 4px; }
.dk-acc-login-line a { color: #3b6fd4; font-weight: 600; }

/* === dk-recent: блок «Вы смотрели» на странице корзины ================= */
.dk-recent { margin: 44px 0 24px; }
.dk-recent-title {
  font-size: 22px;
  font-weight: 800;
  color: var(--dk-text);
  margin: 0 0 16px;
}
.dk-recent-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 16px;
}
/* карточки берут глобальные стили dk-card (.product-thumb) */
.dk-recent .product-thumb { height: 100%; }
.dk-recent .image img { width: 100%; height: auto; }
@media (max-width: 575.98px) {
  .dk-recent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* === dk-search-clear: крестик очистки поисковой строки ================ */
.dk-search-clear {
  border: none;
  background: none;
  padding: 0 10px;
  align-self: center;
  color: #9aa1ab;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  transition: color .15s;
}
.dk-search-clear:hover { color: var(--dk-text); }

/* === dk-search: подпись исправленного запроса и пустая выдача ========== */
.dk-search-note {
  display: flex;
  align-items: baseline;
  gap: 10px;
  background: #f5f8ff;
  border: 1px solid #d8e3fb;
  border-radius: 10px;
  padding: 12px 16px;
  margin: 12px 0 4px;
  font-size: 14px;
  color: #4b5563;
}
.dk-search-note i { color: #3b6fd4; }
.dk-search-empty { margin-bottom: 40px; }
.dk-search-empty-head { max-width: 560px; margin: 12px auto 8px; text-align: center; }
.dk-search-empty-head > i { font-size: 44px; color: #dfe3ea; }
.dk-search-empty-title { font-size: 22px; font-weight: 800; color: var(--dk-text); margin: 14px 0 8px; }
.dk-search-empty-head p { font-size: 14px; color: #8a919c; margin: 0; }
.dk-search-empty-btn { max-width: 240px; margin: 18px auto 8px; }

/* категории в автокомплите поиска */
.autocomplete .dk-ac-cat { list-style: none; background: #f7f9fc; border-bottom: 1px solid #eceff3; }
.autocomplete .dk-ac-cat a {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--dk-text);
  text-decoration: none;
}
.autocomplete .dk-ac-cat a > i:first-child { color: #9aa1ab; font-size: 12px; }
.autocomplete .dk-ac-cat .dk-ac-arrow { margin-left: auto; color: #c3c9d2; }
.autocomplete .dk-ac-cat a:hover span { color: var(--dk-pd); }

/* ═══ dk-refine: чипы подкатегорий на странице категории ═══ */
.dk-refine {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 2px 0 6px;
}
.dk-refine .dk-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 16px;
  border: 1px solid #e3e6ea;
  border-radius: 999px;
  background: #f7f8fa;
  color: #333;
  font-size: 14px;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color .15s, color .15s, background .15s;
}
.dk-refine .dk-chip:hover {
  border-color: var(--dk-p);
  background: #fff;
  color: #1b1e25;
  text-decoration: none;
}
.dk-refine .dk-chip-count {
  color: #98a0ab;
  font-size: 12.5px;
}
.dk-refine .dk-chip:hover .dk-chip-count { color: var(--dk-pd); }
@media (max-width: 575px) {
  .dk-refine { gap: 6px; }
  .dk-refine .dk-chip { padding: 7px 12px; font-size: 13px; }
}

/* ═══ Избранное: самостоятельная карточная страница для гостя ═══ */
#account-wishlist { padding-bottom: 44px; }
.dk-wish-head { display: flex; align-items: flex-end; justify-content: space-between; margin: 8px 0 22px; }
.dk-wish-head .page-title { margin: 0; font-size: 30px; font-weight: 800; color: var(--dk-text); }
.dk-wish-head p { margin: 5px 0 0; color: var(--dk-muted); font-size: 14px; }
.dk-wishlist-products > .row { row-gap: 24px; }
.dk-wish-empty { padding: 56px 20px 28px; text-align: center; }
.dk-wish-empty > i { font-size: 52px; color: #d9dde3; }
.dk-wish-empty h2 { margin: 18px 0 7px; font-size: 21px; font-weight: 800; color: var(--dk-text); }
.dk-wish-empty p { margin: 0; color: var(--dk-muted); }
.dk-wish-continue { margin: 22px auto 0; max-width: 240px; text-align: center; }
.dk-wish-continue .btn { width: 100%; }
@media (max-width: 767.98px) {
  .dk-wish-head .page-title { font-size: 25px; }
}

/* ═══ dk-filter: широкая раскладка категории + воздушный сайдбар фильтра ═══ */
/* Контейнеры страницы категории растянуты до 1600px, сайдбар — фикс. 264px,
   товары забирают остальное (entry-id стабильны: layout 3, skin 28). */
@media (min-width: 992px) {
  #entry_215630.container,
  #entry_215632.container { max-width: 1600px; padding-left: 40px; padding-right: 40px; } /* боковые поля, как у Ozon */
  /* align-self:stretch обязателен: у ряда align-items-start, без него col
     короткий и sticky-фильтру некуда ехать */
  #entry_215698 { flex: 0 0 288px; width: 288px; max-width: 288px; padding-right: 24px; align-self: stretch; }
  #entry_215634 { flex: 1 1 0%; width: auto; max-width: none; }
  #entry_215646 { margin-left: auto; } /* сортировка - вправо (сетка/список и «Показать по» скрыты) */
}

/* сайдбар: отдельная воздушная панель (только desktop-колонка, не drawer).
   Sticky: панель едет вместе со скроллом товаров; она выше экрана,
   поэтому скроллится внутри себя (тонкий скроллбар) */
#entry_215699 {
  position: sticky;
  top: 14px;
  flex-grow: 0; /* тема растягивает модуль на всю col (grow:1) - sticky некуда ехать */
}
#entry_215699 .mz-filter {
  background: #f7f8fa;
  border-radius: 16px;
  padding: 6px 20px 18px;
  max-height: calc(100vh - 28px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #d3d8df transparent;
}
#entry_215699 .mz-filter::-webkit-scrollbar { width: 6px; }
#entry_215699 .mz-filter::-webkit-scrollbar-thumb { background: #d3d8df; border-radius: 3px; }
#entry_215699 .mz-filter::-webkit-scrollbar-track { background: transparent; }
#entry_215699 .mz-filter .mz-filter-group:not(:last-child) { border-color: #e9ecf1; }
#entry_215699 .dk-filter-all { background: #fff; }
#entry_215699 .mz-filter input.form-control { background: #fff; }
#entry_215699 .mz-filter .ui-slider { background: #e2e5ea; }
#entry_215699 .mz-filter .mz-filter-group-content.more:not(.show) .mz-see-more {
  background: linear-gradient(0deg, #f7f8fa 60%, rgba(247, 248, 250, 0) 100%);
}

/* «Сбросить всё» — первой строкой панели (появляется при активном фильтре) */
.dk-filter-clear {
  display: block;
  margin: 12px 0 -2px;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: #e2483d;
  cursor: pointer;
  user-select: none;
}
.dk-filter-clear i { font-size: 11px; }
.dk-filter-clear:hover { color: #b91c1c; }

/* автоподгрузка: кнопка «Показать ещё», пагинация - только для краулеров */
.dk-loadmore {
  order: 99; /* дети #entry_215634 расставлены flex-order классами; без order кнопка всплывает наверх колонки */
  display: block; width: 300px; max-width: 100%; margin: 22px auto 6px; padding: 12px 18px;
  background: #f6f7f9; border: 1px solid #e3e6ea; border-radius: 10px;
  font-size: 14.5px; font-weight: 600; color: #1b1e25; cursor: pointer;
  transition: border-color .15s, background .15s;
}
.dk-loadmore:hover { border-color: var(--dk-p); background: #fff; }
.dk-loadmore:disabled { opacity: .6; cursor: default; }
#entry_215652.dk-lm-on {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0, 0, 0, 0); white-space: nowrap;
}

/* обёртка — без карточной рамки */
.mz-filter.card { border: 0; border-radius: 0; background: transparent; }
.mz-filter .card-header,
.mz-filter .card-header:not(.collapsed) { padding: 0 0 6px; }
.mz-filter .module-title { font-size: 16px; font-weight: 700; color: #1b1e25; text-transform: none; }
.mz-filter .card-header .fa-chevron-circle-down { display: none; } /* сайдбар целиком не сворачиваем */
.mz-filter .card-header[data-bs-toggle] { pointer-events: none; }
.mz-filter .card-header .mz-filter-reset { pointer-events: auto; }

/* группы: тонкие разделители, спокойные заголовки без капса */
.mz-filter .mz-filter-group:not(:last-child) { border-bottom: 1px solid #eef0f3; }
.mz-filter .mz-filter-group-header {
  padding: 13px 0;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: #1b1e25;
}
.mz-filter .dk-fname { display: inline-block; }
.mz-filter .dk-fname::first-letter { text-transform: uppercase; }
.mz-filter .mz-filter-group-header .fa-angle-up { color: #b6bcc6; font-size: 12px; }
.mz-filter .mz-filter-group-content { padding: 2px 0 16px; }

/* значения: компактные строки, жёлтые чекбоксы, счётчик — серый текст */
.mz-filter .mz-filter-value:not(:last-child) { margin-bottom: 2px; }
.mz-filter .form-check { min-height: 28px; display: flex; align-items: center; gap: 9px; margin: 0; padding-left: 0; }
.mz-filter .form-check-label { font-size: 14px; color: #333; }
.mz-filter .form-check-input {
  width: 17px; height: 17px; margin: 0; flex: 0 0 auto; float: none;
  border: 1.5px solid #cfd4db; border-radius: 4px;
}
.mz-filter .form-check-input:checked { background-color: var(--dk-p); border-color: var(--dk-p); }
.mz-filter .form-check-input:focus { box-shadow: none; border-color: var(--dk-p); }
.mz-filter .mz-product-total {
  background: transparent !important; padding: 0;
  color: #a4abb6; font-size: 12px; font-weight: 400;
}
.mz-filter .mz-see-more { text-transform: none; font-weight: 500; font-size: 13px; color: var(--dk-pd); }
.mz-filter .mz-filter-group-content.more:not(.show) { max-height: 236px; }
.mz-filter .mz-filter-group-content.more:not(.show) .mz-see-more { padding: 26px 0 0; }

/* слайдер цены — жёлтый, лёгкий */
.mz-filter .ui-slider { height: 3px; background: #e8eaee; border: 0; border-radius: 2px; margin: 10px 9px 18px; }
.mz-filter .ui-slider .ui-slider-range { background: var(--dk-p); }
.mz-filter .ui-slider .ui-slider-handle {
  width: 18px; height: 18px; top: -8px; border-radius: 50%;
  background: #fff; border: 2px solid var(--dk-p); cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .15);
}
.mz-filter input.form-control { border: 1px solid #dfe3e8; border-radius: 8px; height: 36px; font-size: 13.5px; }

/* скрытый уровень редких групп + кнопка «Все фильтры» */
.mz-filter .dk-filter-extra { display: none; }
.mz-filter.dk-filter-open .dk-filter-extra { display: block; }
.dk-filter-all {
  display: block; width: 100%; margin: 16px 0 4px; padding: 10px 14px;
  background: #f6f7f9; border: 1px solid #e3e6ea; border-radius: 10px;
  font-size: 14px; font-weight: 600; color: #1b1e25; cursor: pointer;
  transition: border-color .15s, background .15s;
}
.dk-filter-all:hover { border-color: var(--dk-p); background: #fff; }

/* ═══ dk-sort: компактная сортировка + чистые крошки ═══ */
/* полоса-underline у крошек не вписывается в воздушный каталог */
.breadcrumb { border-bottom: 0 !important; }

/* родной select с label скрыт; dk-sort строится из него JS-ом
   (option.value обновляет mz_filter при ajax-фильтрации - читаем свежие) */
.content-sort-by .input-group { display: none !important; }
#entry_215650 { margin-left: auto; }
.dk-sort { position: relative; display: inline-block; z-index: 1100; } /* выше сердечек/бейджей карточек */
.dk-sort-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 14px;
  background: #f6f7f9; border: 1px solid #e3e6ea; border-radius: 10px;
  font-size: 13.5px; font-weight: 600; color: #1b1e25;
  cursor: pointer; transition: border-color .15s, background .15s;
}
.dk-sort-btn:hover { border-color: var(--dk-p); background: #fff; }
.dk-sort-btn .dk-sort-caret { font-size: 10px; color: #9aa1ab; }
.dk-sort-menu {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 1100;
  min-width: 190px; padding: 6px;
  background: #fff; border: 1px solid #e8eaee; border-radius: 12px;
  box-shadow: 0 10px 30px rgba(23, 26, 31, .12);
  display: none;
}
.dk-sort.open .dk-sort-menu { display: block; }
.dk-sort-menu a {
  display: block; padding: 9px 12px; border-radius: 8px;
  font-size: 14px; color: #333; text-decoration: none; white-space: nowrap;
}
.dk-sort-menu a:hover { background: #f6f7f9; color: #1b1e25; }
.dk-sort-menu a.active { color: var(--dk-pd); font-weight: 700; }
/* линия под чипами (content_border_bottom у entry 215639) - убрана, воздух */
#entry_215639 { border-bottom: 0 !important; }

/* ═══ dk-instock: тумблер «Только в наличии» в тулбаре ═══ */
/* группа «Наличие» из сайдбара/drawer убрана - её заменяет тумблер */
.mz-filter-group.stock_status { display: none !important; }
.dk-instock {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}
.dk-instock input { position: absolute; opacity: 0; pointer-events: none; }
.dk-instock-track {
  flex: 0 0 auto;
  width: 38px; height: 22px;
  border-radius: 999px;
  background: #d7dbe1;
  position: relative;
  transition: background .15s;
}
.dk-instock-track::after {
  content: '';
  position: absolute;
  top: 3px; left: 3px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
  transition: left .15s;
}
.dk-instock input:checked + .dk-instock-track { background: var(--dk-p); }
.dk-instock input:checked + .dk-instock-track::after { left: 19px; }

/* сдвиг sticky-фильтра под плавающее меню (класс ставит dk-nav-offset JS) */
#entry_215699 { transition: top .25s; }
#entry_215699.dk-nav-offset { top: 80px; }
#entry_215699.dk-nav-offset .mz-filter { max-height: calc(100vh - 94px); }

/* ===================================================================
   dk-auth: страницы входа и регистрации (account/login, account/register)
   =================================================================== */
.dk-auth-page { padding-top: 32px; padding-bottom: 64px; }

.dk-auth {
  max-width: 430px;
  margin: 0 auto;
  background: #f7f8fa;
  border-radius: 16px;
  padding: 26px 28px 22px;
}

/* переключатель Вход | Регистрация */
.dk-auth-tabs {
  display: flex;
  gap: 4px;
  background: #eceef2;
  border-radius: 12px;
  padding: 4px;
  margin-bottom: 20px;
}
.dk-auth-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  color: var(--dk-muted);
  text-decoration: none;
  cursor: pointer;
}
.dk-auth-tab:hover { color: var(--dk-text); text-decoration: none; }
.dk-auth-tab.active {
  background: #fff;
  color: var(--dk-text);
  box-shadow: 0 1px 3px rgba(0, 0, 0, .08);
  cursor: default;
}

/* панели Вход/Регистрация — переключаются JS без перезагрузки */
.dk-auth-pane { display: none; }
.dk-auth-pane.active { display: block; }

/* honeypot-поле против ботов: увести за экран (не display:none —
   умные боты такое пропускают) */
.dk-hp {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* поля: фиксированная высота — тема меняет паддинги form-floating
   при заполнении (16/16 -> 26/10), без height поля «прыгают» */
.dk-auth-field { margin-bottom: 12px; }
.dk-auth .form-control {
  border-radius: 10px;
  border-color: var(--dk-border);
  background: #fff;
}
.dk-auth .form-floating > .form-control {
  height: 52px;
  min-height: 52px;
  padding: 26px 14px 10px;
}
.dk-auth .form-floating > label { padding: 15px 14px; }
.dk-auth .form-control:focus {
  border-color: var(--dk-p);
  box-shadow: 0 0 0 3px rgba(255, 177, 0, .18);
}

/* глазок «показать пароль» */
.dk-pass { position: relative; }
.dk-pass input { padding-right: 44px; }
.dk-pass .dk-eye {
  position: absolute;
  right: 6px;
  top: 14px;
  padding: 6px 8px;
  color: #9ca3af;
  cursor: pointer;
  z-index: 5;
}
.dk-pass .dk-eye:hover { color: var(--dk-text); }

.dk-auth-links {
  display: flex;
  justify-content: flex-end;
  margin: -2px 0 16px;
}
.dk-auth-links a { font-size: 13px; color: var(--dk-muted); }

.dk-auth-btn {
  display: block;
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 10px;
  background: var(--dk-p);
  color: #1a1a1a;
  font-weight: 700;
  font-size: 15px;
  transition: background .15s;
}
.dk-auth-btn:hover { background: var(--dk-pd); }

.dk-auth-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--dk-muted);
  margin: 2px 0 16px;
  cursor: pointer;
}
.dk-auth-check input { accent-color: var(--dk-p); width: 16px; height: 16px; }

.dk-auth-note {
  font-size: 12.5px;
  line-height: 1.5;
  color: #9ca3af;
  text-align: center;
  margin: 14px 0 0;
}
.dk-auth-note a { color: var(--dk-muted); text-decoration: underline; }
.dk-auth-note a:hover { color: var(--dk-text); }

.dk-auth-alert {
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13.5px;
  margin-bottom: 16px;
}
.dk-auth-alert.err { background: #fdecea; color: #b3261e; }
.dk-auth-alert.ok { background: #e6f4ea; color: #1e7e34; }

.dk-auth-social { margin-top: 16px; }

@media (max-width: 575px) {
  .dk-auth { padding: 20px 16px 18px; }
  .dk-auth-page { padding-top: 16px; padding-bottom: 40px; }
}

/* ===================================================================
   dk-lk: личный кабинет (account/account) — минималистичный дашборд
   =================================================================== */
.dk-lk-page { padding-top: 32px; padding-bottom: 64px; }

.dk-lk { max-width: 880px; margin: 0 auto; }

.dk-lk-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}
.dk-lk-title { font-size: 26px; font-weight: 700; margin: 0 0 2px; }
.dk-lk-sub { font-size: 14px; color: var(--dk-muted); }
.dk-lk-logout {
  flex-shrink: 0;
  font-size: 14px;
  color: var(--dk-muted);
  text-decoration: none;
  padding: 8px 0;
}
.dk-lk-logout:hover { color: #e2483d; text-decoration: none; }

.dk-lk-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  gap: 14px;
}
.dk-lk-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 2px;
  background: #f7f8fa;
  border-radius: 16px;
  padding: 20px;
  text-decoration: none;
  color: var(--dk-text);
  transition: background .15s;
}
.dk-lk-card:hover { background: #f1f3f6; color: var(--dk-text); text-decoration: none; }
.dk-lk-card i {
  font-size: 20px;
  color: var(--dk-p);
  margin-bottom: 10px;
}
.dk-lk-card-t { font-size: 15px; font-weight: 700; }
.dk-lk-card-d { font-size: 12.5px; color: var(--dk-muted); }

.dk-lk-links {
  display: flex;
  gap: 24px;
  margin-top: 22px;
}
.dk-lk-links a {
  font-size: 13px;
  color: var(--dk-muted);
  text-decoration: underline;
}
.dk-lk-links a:hover { color: var(--dk-text); }

@media (max-width: 575px) {
  .dk-lk-page { padding-top: 18px; padding-bottom: 40px; }
  .dk-lk-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .dk-lk-card { padding: 16px; }
  .dk-lk-title { font-size: 22px; }
}

/* ===================================================================
   dk-ord: список заказов в ЛК (account/order) + оплата (account/dk_pay)
   =================================================================== */
.dk-ord-back { font-size: 13px; color: var(--dk-muted); text-decoration: none; }
.dk-ord-back:hover { color: var(--dk-text); text-decoration: none; }

.dk-ord-list { display: flex; flex-direction: column; gap: 14px; }

.dk-ord {
  background: #f7f8fa;
  border-radius: 16px;
  padding: 18px 20px;
}
.dk-ord-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.dk-ord-name { font-size: 15px; font-weight: 700; }
.dk-ord-date { font-weight: 400; color: var(--dk-muted); font-size: 13.5px; }

/* статус-чипы по order_status_id */
.dk-ord-chip {
  font-size: 12.5px;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
  background: #eceef2;
  color: #4b5563;
  white-space: nowrap;
}
.dk-ord-chip.dk-ord-st-17 { background: #fff3d6; color: #9a6700; } /* ожидает оплаты */
.dk-ord-chip.dk-ord-st-1  { background: #e8eaf6; color: #3f51b5; } /* новый */
.dk-ord-chip.dk-ord-st-2,
.dk-ord-chip.dk-ord-st-15 { background: #e3f2fd; color: #1565c0; } /* в обработке */
.dk-ord-chip.dk-ord-st-3  { background: #ede7f6; color: #6a3fb5; } /* отправлен */
.dk-ord-chip.dk-ord-st-5  { background: #e6f4ea; color: #1e7e34; } /* выполнен */
.dk-ord-chip.dk-ord-st-7,
.dk-ord-chip.dk-ord-st-8,
.dk-ord-chip.dk-ord-st-10,
.dk-ord-chip.dk-ord-st-14,
.dk-ord-chip.dk-ord-st-16 { background: #fdecea; color: #b3261e; } /* отменён/ошибка */

.dk-ord-mid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 14px 0;
}
.dk-ord-thumbs { display: flex; gap: 8px; }
.dk-ord-thumbs img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--dk-border);
}
.dk-ord-meta { text-align: right; }
.dk-ord-total { font-size: 17px; font-weight: 700; }
.dk-ord-count { font-size: 12.5px; color: var(--dk-muted); }

.dk-ord-actions { display: flex; gap: 10px; }
.dk-ord-pay,
.dk-ord-view {
  display: inline-block;
  padding: 9px 22px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s;
}
.dk-ord-pay { background: var(--dk-p); color: #1a1a1a; }
.dk-ord-pay:hover { background: var(--dk-pd); color: #1a1a1a; text-decoration: none; }
.dk-ord-view { background: #fff; border: 1px solid var(--dk-border); color: var(--dk-text); font-weight: 600; }
.dk-ord-view:hover { border-color: #cbd0d8; color: var(--dk-text); text-decoration: none; }

.dk-ord-pagination { margin-top: 18px; }
.dk-ord-pagination .pagination { justify-content: center; }

.dk-ord-empty {
  text-align: center;
  padding: 48px 0 24px;
  color: var(--dk-muted);
}
.dk-ord-empty i { font-size: 40px; color: #d3d7de; margin-bottom: 14px; }
.dk-ord-empty p { margin-bottom: 20px; }
.dk-ord-empty-btn { display: inline-block; width: auto; padding: 0 28px; line-height: 48px; text-decoration: none; color: #1a1a1a; }
.dk-ord-empty-btn:hover { color: #1a1a1a; text-decoration: none; }

/* баннер «ожидает оплаты» на странице заказа */
.dk-ord-paybar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: #fff3d6;
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 18px;
}
.dk-ord-paybar b { color: #9a6700; }
.dk-ord-paybar span { color: #9a6700; opacity: .85; font-size: 14px; }

/* страница тестового шлюза */
.dk-pay { text-align: center; }
.dk-pay-icon { font-size: 34px; color: var(--dk-p); margin: 4px 0 10px; }
.dk-pay-title { font-size: 20px; font-weight: 700; margin: 0 0 18px; }
.dk-pay-rows { margin-bottom: 18px; }
.dk-pay-row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  padding: 9px 0;
  border-bottom: 1px solid #eef0f3;
}
.dk-pay-row span { color: var(--dk-muted); }
.dk-pay-row.dk-pay-total { border-bottom: 0; font-size: 16px; }
.dk-pay-row.dk-pay-total b { font-size: 18px; }

@media (max-width: 575px) {
  .dk-ord { padding: 14px; }
  .dk-ord-mid { flex-direction: column; align-items: flex-start; gap: 10px; }
  .dk-ord-meta { text-align: left; }
  .dk-ord-actions a { flex: 1; text-align: center; }
}

/* ===================================================================
   dk-oi: страница заказа в ЛК (account/order/info)
   =================================================================== */
.dk-oi-date { font-weight: 400; color: var(--dk-muted); font-size: 16px; }

.dk-oi-card {
  background: #f7f8fa;
  border-radius: 16px;
  padding: 6px 20px;
  margin-bottom: 14px;
}

.dk-oi-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
  border-bottom: 1px solid #eceef2;
}
.dk-oi-thumb {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  object-fit: contain;
  background: #fff;
  border-radius: 10px;
  border: 1px solid var(--dk-border);
}
.dk-oi-info { flex: 1 1 auto; min-width: 0; }
.dk-oi-name {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: var(--dk-text);
  text-decoration: none;
  line-height: 1.35;
}
a.dk-oi-name:hover { color: var(--dk-text); text-decoration: underline; }
.dk-oi-model { font-size: 12px; color: var(--dk-muted); margin-top: 2px; }
.dk-oi-links { margin-top: 6px; display: flex; gap: 14px; }
.dk-oi-links a { font-size: 12.5px; color: var(--dk-muted); text-decoration: underline; }
.dk-oi-links a:hover { color: var(--dk-text); }

.dk-oi-qty { font-size: 13px; color: var(--dk-muted); white-space: nowrap; }
.dk-oi-sum { font-size: 15px; font-weight: 700; white-space: nowrap; min-width: 90px; text-align: right; }

.dk-oi-totals { padding: 12px 0 14px; margin-left: auto; max-width: 320px; }
.dk-oi-trow {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  padding: 4px 0;
}
.dk-oi-trow span { color: var(--dk-muted); }
.dk-oi-trow b { font-weight: 600; }
.dk-oi-trow.dk-oi-grand { font-size: 16px; padding-top: 8px; }
.dk-oi-trow.dk-oi-grand b { font-size: 18px; font-weight: 700; }

.dk-oi-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}
.dk-oi-grid .dk-oi-card { margin-bottom: 0; padding: 18px 20px; }
.dk-oi-h {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--dk-muted);
  margin-bottom: 8px;
}
.dk-oi-h2 { margin-top: 14px; }
.dk-oi-val { font-size: 14px; font-weight: 600; }
.dk-oi-addr { font-size: 13.5px; color: var(--dk-muted); line-height: 1.55; margin-top: 4px; }

.dk-oi-hist { padding-bottom: 12px; }
.dk-oi-hrow {
  display: flex;
  gap: 14px;
  align-items: baseline;
  font-size: 13.5px;
  padding: 5px 0;
}
.dk-oi-hdate { color: var(--dk-muted); white-space: nowrap; }
.dk-oi-hstatus { font-weight: 600; }
.dk-oi-hcomment { color: var(--dk-muted); }

@media (max-width: 640px) {
  .dk-oi-grid { grid-template-columns: 1fr; }
  .dk-oi-item { flex-wrap: wrap; gap: 10px 12px; }
  .dk-oi-info { flex: 1 1 calc(100% - 76px); }
  .dk-oi-qty { margin-left: 76px; }
  .dk-oi-sum { flex: 1; }
}

/* ===================================================================
   dk: внутренние страницы ЛК — Мои данные / Пароль / Подписка / Адреса
   =================================================================== */
.dk-auth-title { font-size: 20px; font-weight: 700; margin: 2px 0 18px; }

.dk-auth .form-floating > .form-select {
  height: 52px;
  min-height: 52px;
  padding: 22px 14px 6px;
  border-radius: 10px;
  background-color: #fff;
}

.dk-lk-narrow { max-width: 720px; }

.dk-adr-list { display: flex; flex-direction: column; gap: 14px; }
.dk-adr {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #f7f8fa;
  border-radius: 16px;
  padding: 18px 20px;
}
.dk-adr-text { font-size: 14px; line-height: 1.55; }
.dk-adr-actions { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.dk-adr-del { font-size: 13px; color: #e2483d; text-decoration: underline; }
.dk-adr-del:hover { color: #b3261e; }

@media (max-width: 575px) {
  .dk-adr { flex-direction: column; align-items: flex-start; }
}

/* dk-auth: доп. элементы форм (возвраты, восстановление пароля, успех) */
.dk-auth-text { font-size: 13.5px; color: var(--dk-muted); line-height: 1.55; margin: -6px 0 16px; }
.dk-auth-sub {
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--dk-muted);
  margin: 18px 0 10px;
}
.dk-auth-sub:first-child { margin-top: 0; }
.dk-return-reasons { display: flex; flex-direction: column; gap: 2px; margin-bottom: 10px; }
.dk-return-reasons .dk-auth-check { margin: 0; padding: 4px 0; }
.dk-auth .form-floating > textarea.form-control.dk-auth-textarea {
  height: 96px;
  min-height: 96px;
  padding-top: 26px;
  resize: vertical;
}

.dk-success { text-align: center; }
.dk-success-icon { font-size: 40px; color: #1e7e34; margin: 6px 0 12px; }
.dk-success .dk-auth-title { margin-bottom: 10px; }
.dk-success .dk-auth-text { margin: 0 0 18px; }
/* text_message приходит абзацами — ровные отступы вместо голых переносов */
.dk-success .dk-auth-text p { margin: 0 0 10px; }
.dk-success .dk-auth-text p:last-child { margin-bottom: 0; }
.dk-success .dk-auth-text a { color: inherit; text-decoration: underline; }
.dk-success-order { font-size: 16px; color: #1a1a1a; }
.dk-success-order strong { white-space: nowrap; }

/* Бейдж «Работает с Алисой»: плашка после h1 на странице товара
   и значок на фото карточек рекомендаций */
.dk-alice-badge { display: inline-flex; align-items: center; gap: 8px; margin: 8px 0 2px; padding: 5px 14px 5px 7px; background: #f4f0ff; border-radius: 18px; font-size: 13px; font-weight: 600; color: #5b2ee5; }
.dk-alice-badge img { width: 22px; height: 22px; display: block; }
.dk-recs-grid .image { position: relative; }
.dk-rec-alice { position: absolute; left: 8px; bottom: 8px; width: 26px; height: 26px; z-index: 3; filter: drop-shadow(0 1px 3px rgba(0,0,0,.25)); }
.dk-rec-alice img { width: 100%; height: 100%; display: block; }

/* dk-suggest: выпадающие подсказки адреса (DaData) */
.dk-suggest-box { position: absolute; left: 0; right: 0; top: 100%; z-index: 1050; margin-top: 4px; background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.09); overflow: hidden; }
.dk-suggest-item { padding: 10px 14px; font-size: 13.5px; line-height: 1.4; cursor: pointer; }
.dk-suggest-item:hover, .dk-suggest-item.active { background: #f6f6f6; }

/* Плитка-анонс способа доставки («скоро»): видно, но не выбрать */
.dk-tile-soon { opacity: .55; cursor: default; pointer-events: none; }
.dk-tile-soon .dk-tile-icon img { filter: grayscale(1); }
.dk-soon-badge { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 10px; background: #f2f2f2; color: #777; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; vertical-align: 1px; }

/* Системные алерты (корзина/чекаут: купоны, ошибки оплаты) — в стиле dk */
.alert { border: none; border-radius: 12px; padding: 14px 18px; font-size: 14px; line-height: 1.45; }
.alert .fas, .alert .fa { margin-right: 8px; }
.alert-success { background: #e9f6ec; color: #1e6b34; }
.alert-danger { background: #fdecec; color: #a92222; }
.alert-warning { background: #fdf6e3; color: #8a6d1a; }
.alert .close, .alert .btn-close { opacity: .45; }
.dk-success-btn { display: block; line-height: 48px; height: 48px; padding: 0; text-decoration: none; color: #1a1a1a; }
.dk-success-btn:hover { color: #1a1a1a; text-decoration: none; }

/* ===================================================================
   dk-info: информационные страницы (Доставка/Оплата/Гарантия/…)
   Разметка живёт в description страниц (tmp/fill_info_pages.py)
   =================================================================== */
.dk-info {
  max-width: 860px;
  margin: 0 auto;
  padding: 8px 0 48px;
  font-size: 15px;
  line-height: 1.65;
  color: var(--dk-text);
}
.dk-info h2 {
  font-size: 19px;
  font-weight: 700;
  margin: 28px 0 12px;
}
.dk-info p { margin: 0 0 12px; }
.dk-info ol, .dk-info ul { margin: 0 0 14px; padding-left: 22px; }
.dk-info li { margin-bottom: 8px; }
.dk-info a { color: inherit; text-decoration: underline; text-decoration-color: var(--dk-p); text-underline-offset: 2px; }
.dk-info a:hover { color: var(--dk-pd); }

.dk-info-lead { font-size: 16.5px; }

.dk-info-hl {
  background: #fff3d6;
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 8px;
}

.dk-info-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 16px 0 8px;
}
@media (max-width: 520px) { .dk-info-cards { grid-template-columns: 1fr; } }
.dk-info-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: #f7f8fa;
  border: 1px solid #eef0f3;
  border-top: 3px solid var(--dk-p);
  border-radius: 14px;
  padding: 18px 20px;
}
.dk-info-card b { font-size: 15px; }
.dk-info-card span { font-size: 13.5px; color: var(--dk-muted); }
.dk-info-ico {
  width: 42px; height: 42px;
  flex: 0 0 42px;
  border-radius: 11px;
  background: #fff3d6;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 8px;
}
.dk-info-ico svg { width: 23px; height: 23px; fill: var(--dk-p); }

.dk-info-table { margin: 4px 0 16px; }
.dk-info-row {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 11px 0;
  border-bottom: 1px solid #eef0f3;
}
.dk-info-row span { color: var(--dk-muted); flex-shrink: 0; }
.dk-info-row b { text-align: right; font-weight: 600; }

.dk-info-note { font-size: 13.5px; color: var(--dk-muted); }
.dk-info-btn {
  display: inline-block;
  background: var(--dk-p);
  color: #1b1e25;
  font-weight: 700;
  font-size: 14px;
  padding: 10px 18px;
  border-radius: 10px;
  text-decoration: none;
}
.dk-info-btn:hover { filter: brightness(1.05); color: #1b1e25; }
.dk-info-rating { display: flex; align-items: baseline; gap: 12px; margin: 0 0 8px; flex-wrap: wrap; }
.dk-info-rating b { font-size: 22px; color: #1b1e25; }
.dk-info-rating span { font-size: 13.5px; color: var(--dk-muted); }

@media (max-width: 575px) {
  .dk-info-row { flex-direction: column; gap: 2px; }
  .dk-info-row b { text-align: left; }
}

/* ===================================================================
   dk-categories: мобильный адаптив плиток «Популярные категории»
   (разметка в html-виджете entry 215592: col-9/col-4/col-6/col-3 без
   брейкпоинтов — на xs перекрываем ширины здесь)
   =================================================================== */
@media (max-width: 767px) {
  .dk-categories .col-9,
  .dk-categories .col-3 { width: 100%; }
  .dk-categories .col-4,
  .dk-categories .col-6 { width: 50%; }
  .dk-cat { height: 158px; padding: 12px 10px 10px; }
  .dk-cat__name { font-size: 13.5px; margin-top: 8px; }
  /* правая колонка: сбрасываем inline-grid, «Уличный свет» — обычная плитка,
     «Смотреть все» — кнопка на всю ширину */
  .dk-categories .col-3[style] {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
    height: auto !important;
  }
  /* «Уличный свет»: широкая плитка — выше и с укрупнённой картинкой
     (!important: перебиваем inline-<style> самого html-виджета) */
  .dk-categories .dk-cat--tall { height: 230px !important; }
  .dk-cat--all { height: 52px; }
}

/* ===================================================================
   dk-404: страница «не найдено»
   =================================================================== */
.dk-404 {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
  padding: 24px 0 40px;
}
.dk-404-code {
  font-size: 96px;
  font-weight: 800;
  line-height: 1;
  color: var(--dk-p);
  letter-spacing: 4px;
}
.dk-404-title { font-size: 24px; font-weight: 700; margin: 10px 0 10px; }
.dk-404-text { color: var(--dk-muted); margin-bottom: 22px; }
.dk-404-search {
  display: flex;
  gap: 10px;
  max-width: 440px;
  margin: 0 auto 20px;
}
.dk-404-search .form-control {
  height: 48px;
  border-radius: 10px;
  border-color: var(--dk-border);
}
.dk-404-search .dk-auth-btn { width: auto; padding: 0 26px; flex-shrink: 0; }
.dk-404-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  font-size: 13.5px;
}
.dk-404-links a { color: var(--dk-muted); text-decoration: underline; }
.dk-404-links a:hover { color: var(--dk-text); }

/* ===================================================================
   dk-contact: страница контактов
   =================================================================== */
.dk-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: start;
}
.dk-contact-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.dk-contact-cards .dk-lk-card i { margin-bottom: 6px; }
.dk-contact-cards .dk-lk-card-d a { color: var(--dk-muted); text-decoration: underline; }
.dk-contact-form {
  background: #f7f8fa;
  border-radius: 16px;
  padding: 24px 26px 20px;
}
.dk-contact-msg { min-height: 140px; }
.dk-contact-form .form-floating > .dk-contact-msg { height: 140px; padding-top: 26px; }

@media (max-width: 767px) {
  .dk-contact-grid { grid-template-columns: 1fr; }
}

/* ===================================================================
   dk-search: страница поиска — тот же вид, что у категории
   (entries: section 215665, сайдбар 215667/фильтр 215668, контент 215670)
   =================================================================== */
/* мусорные блоки: «Критерий поиска» (дублирует поиск в шапке), grid/list,
   «показать по», сравнение, нижний дубль limit/sort, список категорий */
#entry_215672, #entry_215675, #entry_215677, #entry_215678,
#entry_215682, #entry_215683, #entry_215669 { display: none !important; }

@media (min-width: 992px) {
  #entry_215665.container { max-width: 1600px; padding-left: 40px; padding-right: 40px; }
  #entry_215667 { flex: 0 0 288px; align-self: stretch; }
  #entry_215670 { flex: 1 1 0%; min-width: 0; }
}

/* панель фильтра как на категории + sticky (offset класс ставит dk-nav-offset) */
#entry_215668 {
  position: sticky;
  top: 14px;
  flex-grow: 0;
  transition: top .25s;
}
#entry_215668.dk-nav-offset { top: 80px; }
#entry_215668 .mz-filter {
  background: #f7f8fa;
  border-radius: 16px;
  padding: 6px 20px 18px;
  max-height: calc(100vh - 28px);
  overflow-y: auto;
  scrollbar-width: thin;
}
#entry_215668.dk-nav-offset .mz-filter { max-height: calc(100vh - 94px); }
#entry_215668 .mz-filter::-webkit-scrollbar { width: 6px; }
#entry_215668 .mz-filter::-webkit-scrollbar-thumb { background: #d9dde3; border-radius: 3px; }

/* ===================================================================
   dk-recs: «С этим товаром покупают» + «Похожие товары» на карточке
   (виджет dk_recs, entry после dk_tabs)
   =================================================================== */
.dk-recs { margin: 36px 0 8px; }
.dk-recs-title { font-size: 20px; font-weight: 700; margin: 26px 0 14px; }
/* Лента рекомендаций: карточки — общий product-thumb (1:1 с каталогом),
   раскладка — горизонтальная прокрутка на всех экранах (только эти блоки) */
.dk-recs-grid { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 16px; margin: 0 0 8px; padding-bottom: 8px; scroll-snap-type: x proximity; }
.dk-recs-grid > .col { flex: 0 0 260px; width: auto; padding: 0; scroll-snap-align: start; }
.dk-recs-grid::-webkit-scrollbar { height: 6px; }
.dk-recs-grid::-webkit-scrollbar-thumb { background: #d9dde3; border-radius: 3px; }
@media (max-width: 767px) {
  .dk-recs-grid > .col { flex-basis: 210px; }
}
.dk-recs-row {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 10px;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}
.dk-recs-row::-webkit-scrollbar { height: 6px; }
.dk-recs-row::-webkit-scrollbar-thumb { background: #d9dde3; border-radius: 3px; }
.dk-rec {
  flex: 0 0 190px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #f7f8fa;
  border-radius: 14px;
  padding: 14px;
  text-decoration: none !important;
  color: var(--dk-text);
  scroll-snap-align: start;
  transition: box-shadow .15s;
}
.dk-rec:hover { box-shadow: 0 4px 16px rgba(0,0,0,.10); color: var(--dk-text); }
.dk-rec-img {
  display: block;
  height: 140px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}
.dk-rec-img img { width: 100%; height: 100%; object-fit: contain; }
/* dk: аккуратная заглушка для товаров без фото (вместо серой no_image) */
.dk-rec-img--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: linear-gradient(135deg, #f5f6f8 0%, #eceef1 100%);
  color: #c2c7cf;
}
.dk-rec-img--empty i { font-size: 34px; color: #d8b24a; opacity: .85; }
.dk-rec-img--empty em {
  font-style: normal;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: .5px;
  color: #aeb4bd;
}
.dk-rec-name {
  font-size: 13px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 35px;
}
.dk-rec-price { font-size: 15px; }
.dk-rec-stock { font-size: 11.5px; color: #1e7e34; }
.dk-rec-stock--out { color: var(--dk-muted); }

@media (max-width: 575px) {
  .dk-rec { flex-basis: 158px; padding: 10px; }
  .dk-rec-img { height: 110px; }
}

/* dk_tabs и dk_recs — flex-дети одной колонки 215503: каждому своя строка
   (у колонки flex-row nowrap — без wrap блоки вставали рядом) */
#entry_215503 { flex-wrap: wrap; }
#entry_215303, #entry_215705 { flex: 0 0 100%; min-width: 0; }

/* ===================================================================
   dk-imgbg: единая подложка фото товаров.
   Часть фото Denkirs на белом фоне, часть на студийном сером — сетка
   выглядела разнобойно. Все фото кладутся на светло-серую плитку, белые
   фоны вплавляются через mix-blend-mode: multiply (файлы не трогаем).
   =================================================================== */
.product-thumb .image {
  background: #f2f3f5;
  border-radius: 12px;
  overflow: hidden;
}
.product-thumb .image img { mix-blend-mode: multiply; }

/* фикс «прыжка» высоты карточки: у части товаров кадры карусели имеют разные
   пропорции (напр. DK6430-WH: главное 1680×1430, доп. 1680×1121) — при height:auto
   высота фото гуляет при hover-скрабе. Держим квадратный бокс, кадр вписываем
   целиком (object-fit: contain). Нормализует высоту для ВСЕХ листингов. */
.product-thumb .image { position: relative; aspect-ratio: 1 / 1; }
.product-thumb .image .carousel,
.product-thumb .image .carousel-inner,
.product-thumb .image .carousel-item { height: 100%; }
/* 2026-09-05: квадратный бокс (aspect-ratio выше) + overflow:hidden темы обрезали
   полоски-индикаторы: они position:static и лежали НИЖЕ кромки бокса (elementFromPoint
   в точке полоски давал уже артикул подписи). Кладём их абсолютно к нижнему краю фото. */
.product-thumb .image .carousel-indicators { position: absolute; left: 0; right: 0; bottom: 8px; margin: 0; z-index: 2; }
.product-thumb .image .carousel-item img,
.product-thumb .image > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* галерея карточки товара */
.image-gallery .image-thumb {
  background: #f2f3f5;
  border-radius: 14px;
  overflow: hidden;
}
.image-gallery .image-thumb img { mix-blend-mode: multiply; }

/* рекомендации, заказы, состав заказа в чекауте */
.dk-rec-img { background: #f2f3f5; }
.dk-rec-img img,
.dk-ord-thumbs img,
.dk-oi-thumb img,
.dk-co-thumbs img { mix-blend-mode: multiply; }
.dk-ord-thumbs img { background: #f2f3f5; border-color: transparent; }

/* Резервируем место под фото ДО его загрузки (UX-аудит 2026-09-08).
   У десктопной галереи (#entry_215009) высота задана жёстко — 550px, а у
   мобильной (#entry_215011) высоты не было: пока грузилось фото, блок имел
   нулевую высоту и весь контент под ним прыгал. Замер PerformanceObserver
   на 390px: один сдвиг 0.2277 из суммарных 0.229, источник —
   entry_215008 / .image-thumb / .image-gallery-overlay. Фото товара
   квадратные, поэтому резервируем 1:1. Раньше сдвига было не видно, потому
   что прелаодер прятал страницу целиком до window.onload. */
#product-product #entry_215011 .image-gallery .image-thumb {
  aspect-ratio: 1 / 1;
  width: 100%;
}
/* запасной вариант для браузеров без aspect-ratio (Safari < 15) */
@supports not (aspect-ratio: 1 / 1) {
  #product-product #entry_215011 .image-gallery .image-thumb::before {
    content: "";
    display: block;
    padding-top: 100%;
  }
}

/* фикс: mix-blend-mode у фото галереи создаёт stacking context и картинка
   перекрывала кнопку избранного — оверлей выше, блендинг изолируем */
.image-gallery .image-thumb { isolation: isolate; }
.image-gallery .image-gallery-overlay { z-index: 5; }
.product-thumb .image { isolation: isolate; }

/* сердце на фото галереи: белый круг с тенью — не сливается со светлой
   подложкой фото; hover и активное состояние — красные */
.image-gallery .image-gallery-overlay .btn-wishlist {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .14);
  color: #4b5563;
  font-size: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color .15s, box-shadow .15s, transform .1s;
}
.image-gallery .image-gallery-overlay .btn-wishlist:hover {
  color: #e2483d;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
  transform: scale(1.06);
}
.image-gallery .image-gallery-overlay .btn-wishlist.wished,
.image-gallery .image-gallery-overlay .btn-wishlist.active,
.image-gallery .image-gallery-overlay .btn-wishlist[data-wishlist="1"] {
  color: #e2483d;
  border-color: #f6cdc9;
}

/* ===================================================================
   dk-mob: мобильная версия страницы товара (серверный mobile-layout,
   свои entry-id; блок покупки — фикс-бар #mz-component-1051082544)
   =================================================================== */

/* Нижний бар покупки: тема отдаёт класс text-bg- с пустым модификатором →
   фон прозрачный, контент страницы просвечивал вокруг степпера */
#mz-component-1051082544.fixed-bottom {
  background: #fff !important;
  box-shadow: 0 -4px 16px rgba(0, 0, 0, .1) !important;
  padding-bottom: env(safe-area-inset-bottom) !important;
}

/* Фикс-бар перекрывал последние ~64px страницы (низ футера) — резервируем
   место. :has не везде — в старых браузерах остаётся как было */
body:has(#mz-component-1051082544.fixed-bottom) {
  padding-bottom: calc(76px + env(safe-area-inset-bottom));
}

/* Галерея: «полировка» выше (#entry_215009, 2 id) не media-guarded и на
   мобильном оставляла вертикальный свайпер миниатюр 88×550px — дыра в
   пол-экрана. Селекторы здесь с теми же 2 id, блок ниже по файлу — побеждает. Миниатюры — горизонтальной лентой под фото; transform
   вертикального свайпера глушим, клики по миниатюрам работают как есть */
@media (max-width: 767.98px) {
  #product-product #entry_215009 .image-gallery { flex-wrap: wrap !important; }

  #product-product #entry_215009 .image-gallery .image-thumb {
    flex: 0 0 100% !important;
    width: 100% !important;
    height: auto !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
    order: 1 !important;
    margin-top: 10px !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional .swiper {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional .swiper-wrapper {
    transform: none !important;
    height: auto !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 8px !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional .swiper-slide {
    flex: 0 0 64px !important;
    width: 64px !important;
    height: 64px !important;
    margin: 0 !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional .thumbnail {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 64px !important;
    height: 64px !important;
    padding: 4px !important;
    border: 1px solid var(--dk-border) !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional .thumbnail.dk-thumb-active {
    border-color: var(--dk-p) !important;
  }

  #product-product #entry_215009 .image-gallery .image-additional img {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  /* стрелки прокрутки вертикальной ленты не нужны */
  #product-product #entry_215009 .image-gallery .image-additional .mz-button-prev,
  #product-product #entry_215009 .image-gallery .image-additional .mz-button-next {
    display: none !important;
  }
}

/* ═══ dk-cardname: артикул отдельной строкой в карточках листингов (2026-08-22) ═══
   Спутник JS-модуля dk-cardname в dk-product.js. Плюс компактный мобильный
   тулбар категории — до фикса «Только в наличии»/Фильтр/Сортировка занимали
   пол-экрана до первого товара. */
.product-thumb .caption h4 .dk-card-sku {
  cursor: default;
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .4px;
  color: #9aa0a8;
  margin-bottom: 2px;
}

/* тема режет название max-height (2.4em/3em) — на нестандартном кегле
   остаётся уродливая полустрока; заменяем честным line-clamp */
.product-thumb .caption h4.title a,
.product-thumb .caption h4 a.text-ellipsis-2 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: none !important;
}

@media (max-width: 767.98px) {
  .product-thumb .caption h4 a { font-size: 13px; line-height: 1.3; }
  /* на узкой плитке даём названию 3 строки — там вся суть товара */
  .product-thumb .caption h4.title a,
  .product-thumb .caption h4 a.text-ellipsis-2 { -webkit-line-clamp: 3; line-clamp: 3; }
  /* тулбар: убрать лишнюю вертикальную пустоту между рядами */
  #entry_215641, #entry_215645, #entry_215646 { margin-top: 0 !important; margin-bottom: 6px !important; }
  #entry_215639 { margin-bottom: 8px !important; } /* чипы подкатегорий */
}

/* ═══ dk-usp: строка доверия/УТП на категориях и поиске ═══ */
.dk-usp {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 14px 0 18px;
}
.dk-usp-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  background: #f7f8fa;
  border: 1px solid #eceef1;
  border-radius: 12px;
  min-width: 0;
}
.dk-usp-ico {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  fill: var(--dk-p);
}
.dk-usp-txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.dk-usp-txt b { font-size: 13px; font-weight: 700; color: var(--dk-text); white-space: nowrap; }
.dk-usp-txt span { font-size: 11.5px; color: var(--dk-muted); overflow: hidden; text-overflow: ellipsis; }

@media (max-width: 991px) {
  .dk-usp { grid-template-columns: repeat(2, 1fr); gap: 8px; margin: 12px 0 14px; }
  .dk-usp-txt b { white-space: normal; }
  .dk-usp-item { align-items: flex-start; }
}
@media (max-width: 400px) {
  .dk-usp-item { padding: 9px 10px; gap: 8px; }
  .dk-usp-ico { width: 22px; height: 22px; flex-basis: 22px; }
  .dk-usp-txt b { font-size: 12px; }
  .dk-usp-txt span { font-size: 11px; }
}

/* dk: iOS не зумит страницу при тапе в поле, только если font-size >= 16px.
   Тема ставила 13.5–14px (#search input и фильтр цены), из-за чего Safari на
   iPhone масштабировал страницу при фокусе — и оставался горизонтальный скролл.
   В Chrome/headless эффекта нет, поэтому баг не воспроизводился автотестами.
   Селекторы усилены: правило темы #search input[type="text"] специфичнее простого input. */
@media (max-width: 991.98px) {
  #search input[type="text"],
  #search input[type="search"],
  input[name^="mz_fp"],
  input[type="text"], input[type="search"], input[type="email"], input[type="tel"],
  input[type="number"], input[type="password"], input:not([type]), select, textarea {
    font-size: 16px !important;
  }
  input[name^="mz_fp"] { padding-left: 8px; padding-right: 8px; }
}

/* dk: обёртка официального бейджа Яндекс Сплит (Web SDK, <yandex-pay-badge>) */
.dk-split-badge {
  /* под ценой, слева — и в карточках листинга, и на странице товара (решение владельца 2026-09-06) */
  margin-top: 8px;
  min-height: 0;
}
/* карточки: одинаковые отступы цена → бейдж → «В корзину» (2026-09-06). line-height:0 убирает
   строчные поля вокруг 14px-таблетки; 12px gap подписи + 4px = 16 сверху (визуально ~20 с учётом
   внутреннего поля цифр цены), 12px gap + 4px padding .product-action + 4px = 20 снизу */
.product-thumb .caption .dk-split-badge { margin: 4px 0; line-height: 0; }
/* страница товара: тема даёт .price margin 20px снизу, плюс 8+10px отступы entry/row до кнопки.
   Визуально цена (50px, цифры без нижних выносов ≈ 10px поля) → таблетка 20px, таблетка → кнопка 20px */
.content-price .dk-split-badge { margin: -10px 0 2px; line-height: 0; }
.dk-split-badge:empty { display: none; }
.dk-split-badge yandex-pay-badge:not(:defined) { display: none; }
/* dk: бейдж «баллы Плюса» в плитке способа оплаты (чекаут) */
.dk-tile-plus { display: block; margin-top: 2px; line-height: 0; }
.dk-tile-plus yandex-pay-badge { display: inline-block; vertical-align: top; }
.dk-tile-plus yandex-pay-badge:not(:defined) { display: none; }

/* Планшетная полоса: горизонтальный скролл на карточке товара ---------
   Ряд карточки (entry_215008) настроен в Maza с гуттером 5rem, то есть
   margin-left/right по −32px, а секция-контейнер держит штатные 12px
   паддинга. Пока контейнер уже своего max-width (920px), лишние 20px с
   каждой стороны уходят в свободное поле; как только контейнер становится
   во всю ширину — 768…991px — правый край ряда вылезает за вьюпорт и даёт
   горизонтальный скролл (замер 2026-09-07: scrollWidth 772 при 768).
   Уменьшаем гуттер ТОЛЬКО этого ряда и ТОЛЬКО в этой полосе: 80px между
   колонками на планшете и так избыточны, десктоп и мобильные не трогаем. */
@media (min-width: 768px) and (max-width: 991.98px) {
  #product-product #entry_215008 { --bs-gutter-x: 1.5rem; }
}

/* Горизонтальный скролл от фиксированных баров ------------------------
   Замер 2026-09-07, эмуляция iPhone 360×780, 3 прогона из 3: страница отдавала
   scrollWidth 368 при clientWidth 360. Среди обычных элементов виновников НЕТ
   (проверено отдельным проходом по всему DOM) — переполняли только два
   `position: fixed` бара карточки: #dk-sticky-bar сверху и мобильный бар
   покупки mz-component-1051082544 снизу, оба ровно 368px.
   Механика: бары заданы как left:0/right:0, то есть берут ширину у initial
   containing block. В мобильном режиме браузер расширяет layout viewport под
   содержимое, ICB становится 368, бары растягиваются следом и дальше удерживают
   переполнение сами — петля не разрывается. В desktop-режиме на той же ширине
   переполнения нет, то есть виноваты именно бары, а не вёрстка страницы.
   Лечим привязкой к вьюпорту: 100vw в мобильном браузере равен видимой ширине.
   ⚠️ Только до 991px: на десктопе 100vw включает ширину классического
   скроллбара и сам создал бы скролл. `overflow-x: clip` на корне пробовали —
   петлю он не рвёт (ICB считается раньше), поэтому правило не оставлено. */
@media (max-width: 991.98px) {
  #dk-sticky-bar,
  #mz-component-1051082544 { max-width: 100vw; }
}
