/* Главная страница, макет «Главная 1a».
   [2026-09-27] v2 — первый экран строго по макету: снимок во всю ширину,
   тёмно-бирюзовая заливка слева, текст поверх. Ниже белая полоса из трёх
   обещаний с вертикальными разделителями.
   Цвета из макета: заливка rgba(12,52,61,…), бренд #146678, WhatsApp
   #25D366, подзаголовок #D6E5E8, значок в плашке #7FD3A0. */

.dm-hero {
  position: relative;
  height: 560px;
  overflow: hidden;
}

.dm-hero .dm-hero-shot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 70% 50%;
  display: block;
}

.dm-hero-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(12, 52, 61, .96) 0%,
    rgba(12, 52, 61, .88) 40%,
    rgba(12, 52, 61, .35) 62%,
    rgba(12, 52, 61, .05) 82%);
}

[dir="rtl"] .dm-hero-veil {
  background: linear-gradient(270deg,
    rgba(12, 52, 61, .96) 0%,
    rgba(12, 52, 61, .88) 40%,
    rgba(12, 52, 61, .35) 62%,
    rgba(12, 52, 61, .05) 82%);
}

/* [2026-09-27] В иврите текст справа, поэтому снимок отражаем зеркально:
   мебель смотрит в ту же сторону, что и в русской версии относительно
   текста, и не оказывается за заливкой. */
[dir="rtl"] .dm-hero .dm-hero-shot {
  transform: scaleX(-1);
  object-position: 70% 50%;
}

.dm-hero-text {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* [2026-09-27] слева висит кнопка линейки доступности (50 px шириной
     с отступом 15) — отодвигаем текст, иначе она ложится на заголовок */
  padding-inline-start: clamp(20px, 6vw, 96px);
  padding-inline-end: clamp(20px, 4vw, 60px);
  max-width: 880px;
}

.dm-hero-badge {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  margin-bottom: 20px;
  padding: 6px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .16);
  font-size: 13px;
  color: #FFFFFF;
}

.dm-hero-badge .dm-ico { color: #7FD3A0; }

.dm-hero h1 {
  margin: 0;
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.25;
  font-weight: 700;
  color: #FFFFFF;
}

.dm-hero-lead {
  margin: 16px 0 0;
  max-width: 560px;
  font-size: 17px;
  line-height: 1.45;
  color: #D6E5E8;
}

.dm-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}

/* размеры кнопок держим жёстко: под курсором меняется только фон */
.dm-hero-main,
.dm-hero-main:hover,
.dm-hero-main:focus,
.dm-hero-wa,
.dm-hero-wa:hover,
.dm-hero-wa:focus {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 52px;
  padding-inline: 28px;
  border-radius: 8px;
  font-size: 17px;
  font-weight: 500;
  color: #FFFFFF !important;
  text-decoration: none !important;
  transform: none !important;
  box-shadow: none !important;
}

.dm-hero-main { background: #146678; }

.dm-hero-main:hover { background: #0F4E5B; }

.dm-hero-wa { background: #25D366; padding-inline: 24px; }

.dm-hero-wa:hover { background: #1FB855; }

.dm-hero-rating {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 10px;
  margin-top: 32px;
  padding: 8px 14px;
  border-radius: 8px;
  background: #FFFFFF;
  text-decoration: none !important;
}

.dm-hero-rating .dm-ico { color: #146678; fill: currentColor; }

.dm-hero-rating span {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
}

.dm-hero-rating b {
  font-size: 15px;
  font-weight: 600;
  color: #1C2529;
}

.dm-hero-rating em {
  font-style: normal;
  font-size: 13px;
  color: #5C6A72;
}

/* полоса обещаний под первым экраном */
.dm-promise {
  display: flex;
  align-items: center;
  /* [2026-09-28] кегль подняли — высоту задаём наименьшей, иначе текст
     упирается в границы полосы */
  min-height: 84px;
  padding-block: 12px;
  padding-inline: clamp(20px, 4vw, 60px);
  border-bottom: 1px solid #E3E8EC;
  background: #FFFFFF;
}

.dm-promise-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding-inline-start: 32px;
}

.dm-promise-item:first-child { padding-inline-start: 0; }

.dm-promise-item .dm-ico { flex: none; color: #146678; }

.dm-promise-item span {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.dm-promise-item b {
  font-size: 17px;
  font-weight: 500;
  color: #1C2529;
}

.dm-promise-item em {
  font-style: normal;
  font-size: 15px;
  color: #5C6A72;
}

.dm-promise-line {
  flex: none;
  width: 1px;
  height: 40px;
  background: #E3E8EC;
}

@media (max-width: 1199px) {
  .dm-promise-item em { display: none; }
}

@media (max-width: 991px) {
  .dm-hero { height: auto; min-height: 480px; }

  .dm-hero-text {
    max-width: none;
    padding-block: 40px;
  }

  .dm-hero h1 { font-size: 24px; }

  .dm-hero-lead { font-size: 15px; }

  .dm-promise {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding-block: 16px;
  }

  .dm-promise-item { padding-inline-start: 0; }

  .dm-promise-item em { display: block; }

  .dm-promise-line { display: none; }
}

/* ==================================================================
   [2026-09-27] Блоки под первым экраном: каталог, ленты товаров,
   «как мы работаем», отзывы. Макет «Главная 1a»: секция с полями
   48/60, внутри белая карточка радиусом 14 с тенью 0 1px 3px.
   ================================================================== */

.dm-block {
  padding: 48px clamp(16px, 4vw, 60px) 0;
  background: #F7F6F3;
}

.dm-block:last-of-type { padding-bottom: 48px; }

.dm-card-wrap {
  padding: clamp(20px, 2.4vw, 32px);
  border-radius: 14px;
  background: #FFFFFF;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
}

.dm-block-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 24px;
}

.dm-block-head h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #1C2529;
}

.dm-block-head p {
  margin: 8px 0 0;
  font-size: 15px;
  color: #5C6A72;
}

.dm-block-all {
  flex: none;
  /* [2026-09-28] стрелка рядом с подписью: ссылка читается как переход */
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 500;
  color: #146678 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.dm-block-all .dm-ico { flex: none; }

/* в иврите строка идёт справа налево — стрелка смотрит туда же */
[dir="rtl"] .dm-block-all .dm-ico { transform: scaleX(-1); }

.dm-block-all:hover { text-decoration: underline !important; }

/* [2026-09-28] Подпись под заголовком каталога держим в одну строку:
   по макету это одна строка, перенос её ломает. */
.dm-catalog-block .dm-block-head p { white-space: nowrap; }

@media (max-width: 767px) {
  /* [2026-09-28] На телефоне заголовок занимает две строки и ссылка
     «вся мебель» сплющивалась до обрубка сбоку. Ставим её отдельной
     строкой под подписью. */
  .dm-block-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 16px;
  }

  .dm-block-all { font-size: 17px; }
}

/* плитки каталога */
.dm-tiles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.dm-tile {
  position: relative;
  display: block;
  height: 148px;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none !important;
}

.dm-tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.dm-tile:hover img { transform: scale(1.04); }

.dm-tile-name {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  padding: 12px 16px;
  background: linear-gradient(transparent, rgba(15, 78, 91, .88));
  color: #FFFFFF;
  font-size: 17px;
  font-weight: 500;
}

.dm-tile-name em {
  display: block;
  margin-top: 2px;
  font-style: normal;
  font-size: 13px;
  font-weight: 400;
  color: rgba(255, 255, 255, .85);
}

.dm-tile-badge {
  position: absolute;
  top: 12px;
  inset-inline-start: 12px;
  padding: 3px 8px;
  border-radius: 8px;
  background: #146678;
  color: #FFFFFF;
  font-size: 13px;
}

.dm-tile-badge-sale { background: #C9463B; }

/* лента товаров и коллекций */
.dm-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.dm-strip-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  background: #FFFFFF;
  text-decoration: none !important;
}

.dm-strip-card:hover { border-color: #146678; }

.dm-strip-shot {
  display: block;
  aspect-ratio: 1 / 1;
  margin-bottom: 6px;
  border-radius: 8px;
  overflow: hidden;
  background: #F7F6F3;
}

.dm-strip-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dm-strip-maker {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #9AA7AE;
}

/* [2026-09-28] Название показываем целиком: обрезка по двум строкам
   давала обрубки вроде «Шкаф-купе Ларго с зерка…» */
.dm-strip-name {
  font-size: 15px;
  line-height: 1.35;
  color: #1C2529;
}

.dm-strip-price {
  margin-top: auto;
  padding-top: 6px;
  font-size: 17px;
  font-weight: 600;
  color: #1C2529;
}

.dm-strip-price s {
  /* [2026-09-28] Тема снимает оформление у <s> — возвращаем черту,
     иначе прежняя цена читается как вторая, непонятно какая. */
  text-decoration: line-through !important;
  margin-inline-start: 6px;
  font-size: 13px;
  font-weight: 400;
  color: #9AA7AE;
}

/* «для маленьких квартир»: текст слева, три карточки справа */
.dm-small {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 40px);
  align-items: center;
}

.dm-small .dm-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.dm-small-kind {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 13px;
  color: #5C6A72;
}

.dm-small-text h2 {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 600;
  color: #1C2529;
}

.dm-small-text p {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.5;
  color: #5C6A72;
}

.dm-small-btn,
.dm-small-btn:hover {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding-inline: 20px;
  border-radius: 8px;
  background: #146678;
  color: #FFFFFF !important;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none !important;
}

.dm-small-btn:hover { background: #0F4E5B; }

/* как мы работаем */
.dm-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.dm-step {
  position: relative;
  padding: 20px 16px 16px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
}

.dm-step .dm-ico { color: #146678; }

.dm-step-num {
  position: absolute;
  top: 16px;
  inset-inline-end: 16px;
  font-size: 22px;
  font-weight: 700;
  color: #E3E8EC;
}

.dm-step b {
  display: block;
  margin: 10px 0 6px;
  font-size: 17px;
  font-weight: 600;
  color: #1C2529;
}

.dm-step em {
  font-style: normal;
  font-size: 14px;
  line-height: 1.45;
  color: #5C6A72;
}

.dm-steps-ask {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #E3E8EC;
  font-size: 15px;
  color: #5C6A72;
}

/* отзывы */
.dm-says {
  display: grid;
  grid-template-columns: minmax(200px, 260px) repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.dm-says-score {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 20px;
  border-radius: 14px;
  background: #F7F6F3;
}

.dm-says-score b {
  font-size: 40px;
  line-height: 1;
  font-weight: 700;
  color: #1C2529;
}

.dm-says-score em,
.dm-say em {
  font-style: normal;
  font-size: 13px;
  color: #5C6A72;
}

.dm-says-stars {
  display: inline-flex;
  gap: 2px;
  color: #E8A400;
}

.dm-says-stars .dm-ico { fill: currentColor; }

.dm-say {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px;
  border: 1px solid #E3E8EC;
  border-radius: 14px;
}

.dm-say p {
  margin: 0;
  flex: 1;
  font-size: 15px;
  line-height: 1.5;
  color: #1C2529;
}

@media (max-width: 1199px) {
  .dm-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dm-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 991px) {
  .dm-block { padding-top: 24px; }
  .dm-tiles,
  .dm-strip,
  .dm-small .dm-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-small { grid-template-columns: minmax(0, 1fr); }
  .dm-says { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
  /* [2026-09-28] На телефоне карточка занимает всю ширину — и в ленте
     хитов, и в блоке «для маленьких квартир». Двух колонок нет нигде. */
  .dm-strip,
  .dm-strip-small,
  .dm-small .dm-strip { grid-template-columns: minmax(0, 1fr) !important; }

  /* цена по центру карточки: карточка широкая, слева она терялась */
  .dm-strip-price { text-align: center; }
}

@media (max-width: 575px) {
  .dm-tiles { grid-template-columns: minmax(0, 1fr); }
  .dm-steps { grid-template-columns: minmax(0, 1fr); }
}

/* ==================================================================
   [2026-09-27] Старые ленты главной. По макету «Главная 1a» лент три —
   они собраны выше своим слоем. Модуль темы с двенадцатью лентами
   (7 800 px) прячем: в админке он остаётся, включить обратно — снять
   одно правило. Решение Светланы от 27.09.
   ================================================================== */

body.common-home .module-products-257 { display: none !important; }

/* текстовый блок над лентами дублирует заголовок первого экрана */
body.common-home .module-blocks-1134 { display: none !important; }

/* [2026-09-27] Быстрая доставка и распродажа в макете шире — на два кубика,
   с заливкой во всю плитку и подписью в две строки слева. */
.dm-tile-fast,
.dm-tile-sale { grid-column: span 2; }

.dm-tile-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(15, 78, 91, .92), rgba(15, 78, 91, .3));
}

[dir="rtl"] .dm-tile-veil {
  background: linear-gradient(270deg, rgba(15, 78, 91, .92), rgba(15, 78, 91, .3));
}

.dm-tile-sale .dm-tile-veil {
  background: linear-gradient(90deg, rgba(28, 37, 41, .92), rgba(28, 37, 41, .3));
}

[dir="rtl"] .dm-tile-sale .dm-tile-veil {
  background: linear-gradient(270deg, rgba(28, 37, 41, .92), rgba(28, 37, 41, .3));
}

.dm-tile-fast .dm-tile-badge {
  inset-inline-start: 20px;
  background: #2E7D4F;
}

.dm-tile-sale .dm-tile-badge {
  inset-inline-start: 20px;
  background: #C9463B;
}

.dm-tile-wide {
  position: absolute;
  inset-inline-start: 20px;
  inset-inline-end: 20px;
  bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #FFFFFF;
}

.dm-tile-wide b {
  font-size: 20px;
  font-weight: 600;
}

.dm-tile-wide em {
  font-style: normal;
  font-size: 15px;
  color: #CFE3E7;
}

.dm-tile-sale .dm-tile-wide em { color: #E3E8EC; }

/* кнопка под плитками, как в макете */
.dm-tiles-btn,
.dm-tiles-btn:hover {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 52px;
  margin-top: 24px;
  border-radius: 8px;
  background: #146678;
  color: #FFFFFF !important;
  font-size: 17px;
  font-weight: 500;
  text-decoration: none !important;
}

.dm-tiles-btn:hover { background: #0F4E5B; }

@media (max-width: 991px) {
  .dm-tile-fast,
  .dm-tile-sale { grid-column: span 2; }
}

@media (max-width: 575px) {
  .dm-tile-fast,
  .dm-tile-sale { grid-column: span 1; }

  .dm-tile-wide b { font-size: 17px; }
  .dm-tile-wide em { font-size: 13px; }
}

/* ==================================================================
   [2026-09-27] Раскладки по макету: малые квартиры двумя частями,
   новинки на тёмном поле, отзывы рядом с лентой снимков.
   ================================================================== */

/* --- хиты: карточки мельче, пять в ряд --- */
.dm-strip { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.dm-strip-card { padding: 0; overflow: hidden; }

.dm-strip-shot {
  aspect-ratio: 4 / 3;
  margin: 0;
  border-radius: 0;
}

.dm-strip-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
  flex: 1;
}

.dm-strip-name { font-size: 14px; }

.dm-strip-price { font-size: 18px; font-weight: 700; }

/* --- малые квартиры --- */
.dm-small-block { padding-inline: clamp(16px, 4vw, 60px); }

.dm-small {
  display: grid;
  grid-template-columns: minmax(0, 648px) minmax(0, 1fr);
  gap: 24px;
  align-items: stretch;
}

.dm-small-hero {
  position: relative;
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(20px, 2.4vw, 32px);
  border: 1px solid #E3E8EC;
  border-radius: 14px;
  overflow: hidden;
  background: #FFFFFF;
}

.dm-small-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dm-small-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #FFFFFF 30%, rgba(255, 255, 255, .75) 52%, rgba(255, 255, 255, 0) 78%);
}

[dir="rtl"] .dm-small-veil {
  background: linear-gradient(270deg, #FFFFFF 30%, rgba(255, 255, 255, .75) 52%, rgba(255, 255, 255, 0) 78%);
}

.dm-small-text {
  position: relative;
  max-width: 400px;
}

.dm-small-kind {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #5C6A72;
}

.dm-small-text h2 { margin: 0; font-size: 24px; font-weight: 600; }

.dm-small-text p {
  margin: 12px 0 24px;
  font-size: 17px;
  line-height: 1.45;
  color: #1C2529;
}

.dm-small-btn,
.dm-small-btn:hover {
  height: 52px;
  padding-inline: 24px;
  font-size: 17px;
  width: fit-content;
}

.dm-strip-small { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* --- европейские новинки --- */
.dm-new {
  padding: 48px clamp(16px, 4vw, 60px);
  background: #0F4E5B;
}

.dm-new-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.dm-new-head h2 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
  color: #FFFFFF;
}

.dm-new-head p {
  margin: 8px 0 0;
  max-width: 780px;
  font-size: 17px;
  line-height: 1.45;
  color: #B9D3D8;
}

.dm-new-all,
.dm-new-all:hover {
  flex: none;
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding-inline: 20px;
  border: 1px solid #FFFFFF;
  border-radius: 8px;
  color: #FFFFFF !important;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none !important;
  white-space: nowrap;
}

.dm-new-all:hover { background: rgba(255, 255, 255, .12); }

.dm-new-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
}

.dm-new-card {
  display: flex;
  flex-direction: column;
  border-radius: 14px;
  overflow: hidden;
  background: #FFFFFF;
  text-decoration: none !important;
}

.dm-new-shot {
  display: block;
  height: 200px;
  overflow: hidden;
}

.dm-new-shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}

.dm-new-card:hover .dm-new-shot img { transform: scale(1.04); }

.dm-new-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
}

.dm-new-body b {
  font-size: 15px;
  line-height: 1.45;
  font-weight: 500;
  color: #1C2529;
}

.dm-new-body em {
  font-style: normal;
  font-size: 13px;
  color: #5C6A72;
}

/* --- отзывы и снимки --- */
.dm-says-block {
  padding: 48px clamp(16px, 4vw, 60px);
  border-top: 1px solid #E3E8EC;
  background: #FFFFFF;
}

.dm-says-block h2 {
  margin: 0 0 24px;
  font-size: 24px;
  font-weight: 600;
  color: #1C2529;
}

.dm-says-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
}

.dm-says-top {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}

.dm-says-top .dm-ico { color: #146678; fill: currentColor; }

.dm-says-top b { font-size: 17px; font-weight: 600; color: #1C2529; }

.dm-says-top span { font-size: 15px; color: #5C6A72; }

.dm-says-top a {
  margin-inline-start: auto;
  font-size: 15px;
  color: #146678 !important;
  text-decoration: none !important;
}

.dm-says-top a:hover { text-decoration: underline !important; }

/* отзывы едут сами, по одной карточке */
.dm-says-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.dm-says-track::-webkit-scrollbar { display: none; }

.dm-says-track .dm-say {
  flex: 0 0 calc((100% - 32px) / 3);
  scroll-snap-align: start;
  border: none;
  border-top: 1px solid #E3E8EC;
  border-radius: 0;
  padding: 16px 0 0;
}

.dm-says-stars { color: #146678; }

.dm-says-photos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.dm-says-photos img {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  object-fit: cover;
  display: block;
}

@media (max-width: 1199px) {
  .dm-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dm-new-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-says-track .dm-say { flex-basis: calc((100% - 16px) / 2); }
}

@media (max-width: 991px) {
  .dm-small { grid-template-columns: minmax(0, 1fr); }
  .dm-strip,
  .dm-strip-small { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dm-says-cols { grid-template-columns: minmax(0, 1fr); }
  .dm-says-track .dm-say { flex-basis: 80%; }
  .dm-new-head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 575px) {
  .dm-strip,
  .dm-strip-small,
  .dm-new-cards { grid-template-columns: minmax(0, 1fr); }
  .dm-says-photos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* [2026-09-27] Кадр товара в ленте не режем: мебель показываем целиком на
   белом поле, кубик остаётся прежнего размера (просьба Светланы). */
.dm-strip-shot {
  background: #FFFFFF;
  padding: 8px;
  box-sizing: border-box;
}

.dm-strip-shot img { object-fit: contain; }

/* [2026-09-27] Лента польских фабрик: едет сама, как блок «Бренды» внизу
   страницы. Под курсором и при фокусе останавливается — по логотипу можно
   кликнуть и попасть на страницу поставщика. */
.dm-makers {
  /* [2026-09-27] воздух до карточек коллекций: лента и карточки стояли
     вплотную и читались одним блоком */
  margin-bottom: 40px;
  padding: 12px 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  overflow: hidden;
}

.dm-makers-track {
  display: flex;
  gap: 12px;
  width: max-content;
  animation: dm-makers-roll 45s linear infinite;
}

.dm-makers:hover .dm-makers-track,
.dm-makers:focus-within .dm-makers-track { animation-play-state: paused; }

[dir="rtl"] .dm-makers-track { animation-direction: reverse; }

@keyframes dm-makers-roll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.dm-maker {
  flex: none;
  width: 104px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 8px;
  background: #FFFFFF;
  box-sizing: border-box;
}

.dm-maker img {
  /* [2026-09-27] логотипы в родных цветах, по центру плитки: обрезка по
     ширине и высоте плюс margin: auto, иначе низкие и широкие знаки
     прилипали к верхнему краю */
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  object-fit: contain;
  object-position: center;
  transition: transform .2s ease;
}

.dm-maker:hover img { transform: scale(1.06); }

@media (prefers-reduced-motion: reduce) {
  .dm-makers-track { animation: none; }
  .dm-makers { overflow-x: auto; }
}

/* [2026-09-27] Воздух между блоками: «малые квартиры» и «новинки» стояли
   вплотную и читались как один блок. */
.dm-small-block { padding-block: 48px 0; }

.dm-new { margin-top: 48px; }

.dm-says-block { margin-top: 0; }

/* фабрика без логотипа в справочнике: показываем название */
.dm-maker-name {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #5C6A72;
}

.dm-maker:hover .dm-maker-name { color: #146678; }

/* [2026-09-27] Воздух между всеми блоками главной. «Что говорят» стоял
   вплотную к «Как мы работаем», а модули темы ниже шли с разным отступом:
   125, 175, 60, 30 px. Приводим к одному шагу 48. */
.dm-says-block { margin-top: 48px; }

body.common-home .site-wrapper .module {
  margin-top: 48px;
  margin-bottom: 0;
}

body.common-home .site-wrapper .module:first-child { margin-top: 0; }

/* блок «#увасдома» темы налезал на галерею — ставим его в общий поток */
body.common-home .module-blocks-299 {
  position: relative;
  margin-top: 48px;
  transform: none;
}

/* [2026-09-27] Габариты в карточке ленты: в блоке «для маленьких квартир»
   без них не понять, встанет ли вещь в комнату. */
.dm-strip-dims {
  font-size: 13px;
  color: #5C6A72;
}

/* [2026-09-27] Отзыв в ленте: текст, имя автора, подпись об источнике.
   Длинные отзывы обрезаем по строкам, чтобы карточки шли ровно. */
.dm-say p {
  display: -webkit-box;
  -webkit-line-clamp: 7;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dm-say b {
  font-size: 14px;
  font-weight: 600;
  color: #1C2529;
}

/* [2026-09-27] Надпись над заголовком первого экрана (ТЗ 27.09). */
.dm-hero-kicker {
  display: inline-block;
  align-self: flex-start;
  margin-bottom: 10px;
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #B9D3D8;
}

/* [2026-09-27] С главной убраны блоки темы: «Статьи», «Бренды» и нижний
   блок с телефонами, почтой на gmail и текстом про Web Time 2009.
   Модули остались в админке, включаются снятием правила. */
body.common-home .module-blog_posts-40,
body.common-home .module-manufacturers-317,
body.common-home .module-blocks-303 { display: none !important; }

/* [2026-09-27] Кнопки первого экрана крупнее в полтора раза: было 15 px
   (тема перебивает наши 17 правилом для .btn), стало 22. Высота и поля
   подняты, иначе текст упирается в края. */
body.dm-frame-on .dm-hero-main,
body.dm-frame-on .dm-hero-main:hover,
body.dm-frame-on .dm-hero-main:focus,
body.dm-frame-on .dm-hero-wa,
body.dm-frame-on .dm-hero-wa:hover,
body.dm-frame-on .dm-hero-wa:focus {
  height: 60px !important;
  padding-inline: 32px !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

.dm-hero-wa { padding-inline: 28px !important; }

.dm-hero-wa .dm-ico {
  width: 24px;
  height: 24px;
}

@media (max-width: 767px) {
  /* [2026-09-28] Все размеры кнопок первого экрана прописаны через
     .dm-hero-buttons: класс .dm-hero-wa носит ещё и кнопка в блоке
     «как мы работаем», и общие правила её ломали. Размеры — ниже,
     одним правилом на обе кнопки. */

  /* [2026-09-27] Кнопки стоят рядом и не во всю ширину: справа должно
     оставаться видно снимок мебели (просьба Светланы). */
  .dm-hero-buttons {
    gap: 8px;
    flex-wrap: nowrap;
  }

  /* обе кнопки одинаковые и не во всю ширину: справа остаётся снимок.
     Поля задаём с тем же body.dm-frame-on, иначе общий блок выше
     перебивает их своими 32 px. */
  body.dm-frame-on .dm-hero-buttons a {
    flex: 0 0 152px;
    width: 152px;
    justify-content: center;
    padding-inline: 8px !important;
    white-space: nowrap;
    font-size: 16px !important;
    height: 50px !important;
  }

  .dm-hero-buttons .dm-hero-wa .dm-ico { width: 18px; height: 18px; }

  /* кнопка в блоке «как мы работаем»: значок и поля как на экране */
  body.dm-frame-on .dm-steps-ask .dm-hero-wa,
  body.dm-frame-on .dm-steps-ask .dm-hero-wa:hover {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto;
    height: 56px !important;
    padding-inline: 28px !important;
    font-size: 18px !important;
  }

  body.dm-frame-on .dm-steps-ask .dm-hero-wa .dm-ico { width: 22px; height: 22px; }
}

/* короткая подпись у зелёной кнопки — только на телефоне */
.dm-wa-short { display: none; }

@media (max-width: 767px) {
  .dm-wa-long { display: none; }
  .dm-wa-short { display: inline; }
}

/* ==================================================================
   [2026-09-28] Гиды по мебели: последний блок перед подвалом.
   Строки-ссылки со значком, как в шторке разделов.
   ================================================================== */

.dm-guides {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dm-guide,
.dm-guide:hover,
.dm-guide:focus {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  padding: 12px 16px;
  border: 1px solid #E3E8EC;
  border-radius: 12px;
  background: #FFFFFF;
  font-size: 15px !important;
  font-weight: 400 !important;
  color: #1C2529 !important;
  text-decoration: none !important;
}

.dm-guide:hover { border-color: #146678; }

.dm-guide > span { flex: 1 1 0%; min-width: 0; }

.dm-guide .dm-ico { flex: none; color: #146678; }

.dm-guide .dm-ico:last-child { color: #9AA7AE; }

[dir="rtl"] .dm-guide .dm-ico:last-child { transform: scaleX(-1); }

@media (max-width: 991px) {
  .dm-guides { grid-template-columns: minmax(0, 1fr); }
}

/* [2026-09-28] Снимки клиентов: на телефоне три в ряд, и девятый снимок
   закрывает третий ряд. На экране их четыре в ряд — он лишний. */
@media (min-width: 768px) {
  /* правило картинок в сетке сильнее, поэтому важность здесь нужна */
  .dm-says-photos img.dm-says-shot-extra { display: none !important; }
}

@media (max-width: 767px) {
  /* подпись над снимками ломалась на четыре строки */
  body.dm-frame-on .dm-says-top { flex-wrap: wrap; gap: 6px 8px; }

  body.dm-frame-on .dm-says-top b { font-size: 19px !important; }

  body.dm-frame-on .dm-says-top span { font-size: 14px !important; }

  body.dm-frame-on .dm-says-top a { font-size: 15px !important; }

  body.dm-frame-on .dm-guide { font-size: 17px !important; min-height: 72px; }
}

/* [2026-09-28] Строка над названием в карточке ленты: слева фабрика,
   справа артикул — как в карточке раздела. */
.dm-strip-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.dm-strip-top .dm-code {
  flex: none;
  font-size: 12px;
  color: #9AA7AE;
}

@media (max-width: 767px) {
  body.dm-frame-on .dm-strip-top .dm-code,
  body.dm-frame-on .dm-strip-maker { font-size: calc(12px * var(--dm-scale, 1.5)) !important; }
}
