/* ==========================================================================
   РЕДИЗАЙН по макетам Claude Design (с 27.09.2026)
   Слой поверх custom.css: подключается отдельным файлом после общего CSS
   (templates/_partials/head.tpl, блок stylesheets). После правки этого файла
   меняйте число после ?v= в head.tpl — иначе браузеры покажут старую версию.
   Макеты: D:\electromir-improvements\design\redesign\artboards\
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. ОСНОВА: кнопки, ссылки, отметки
   Основные кнопки — глубокий синий #0077ad: белый текст на нём читается
   (контраст 4.9:1). Фирменный #009ee0 — только акценты: полоски, рамки,
   подсветка при наведении, фокус.
   -------------------------------------------------------------------------- */
:root {
  --rd-btn: #0077ad;
  --rd-btn-hover: #00679a;
  --rd-tg: #1c7fb8;
  --rd-viber: #665cac;
  --rd-off: #9aa3ae;   /* точка «под заказ» */
}

.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active {
  background: var(--rd-btn);
  border-color: var(--rd-btn);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus {
  background: var(--rd-btn-hover);
  border-color: var(--rd-btn-hover);
  color: #fff;
}
.btn-primary:disabled,
.btn-primary.disabled {
  background: var(--em-faint);
  border-color: var(--em-faint);
  color: #fff;
  box-shadow: none;
  opacity: 1;
}

/* Вторичная кнопка: при наведении — голубая подложка и синяя рамка (как было) */
.btn-secondary:hover,
.btn-tertiary:hover,
.btn-outline-primary:hover {
  background: var(--em-blue-wash);
  border-color: var(--em-blue);
  color: var(--em-blue-deep);
}

/* Заливки с белым текстом — тем же глубоким синим, что и кнопки */
.pagination .page-list li.current a,
.pagination .page-list li.current span,
.product-flags li.product-flag.new,
.em-tab-count,
.em-confirm-step-num,
#checkout .step-number,
.js-checkout-step .step-number,
#cms .page-content.em-article ol > li::before {
  background: var(--rd-btn);
}

/* Выбранная «фишка» (длина и т. п.): голубая подложка, синяя рамка */
.em-len-chip.is-active {
  background: var(--em-blue-wash);
  border-color: var(--em-blue);
  color: var(--em-blue-deep);
}
.em-len-chip.is-active span { color: var(--em-blue-deep); opacity: .75; }

/* Флажки и переключатели браузера — в цвет кнопок */
input[type="checkbox"],
input[type="radio"] { accent-color: var(--rd-btn); }

/* --------------------------------------------------------------------------
   2. ШАПКА (макеты Header, MHeader, MMenu, MTabBar)
   От 992 px — три строки, как в макете для компьютера. Меньше — шапка
   телефона и нижняя панель: в 768–991 px строка с каталогом, поиском
   и тремя значками уже не помещается.
   -------------------------------------------------------------------------- */
/* Ширина страницы как в макете: 1440 с полями 48 px */
.container,
.rd-wrap {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 48px;
  padding-right: 48px;
}
@media (max-width: 1199px) { .container, .rd-wrap { padding-left: 32px; padding-right: 32px; } }
@media (max-width: 991px)  { .container, .rd-wrap { padding-left: 24px; padding-right: 24px; } }
@media (max-width: 767px)  { .container, .rd-wrap { padding-left: 16px; padding-right: 16px; } }

#header {
  position: relative;
  z-index: 60;
  background: #fff;
  box-shadow: none;
}
#header .header-banner:empty { display: none; }

/* 2.1 Тёмная строка: город, страницы о магазине, часы, телефон, мессенджеры */
.rd-top {
  background: var(--em-navy);
  color: rgba(255,255,255,.72);
  font-size: 13px;
  line-height: 1.3;
}
.rd-top .rd-wrap {
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.rd-top-l, .rd-top-r { display: flex; align-items: center; min-width: 0; }
.rd-top-l { gap: 22px; }
.rd-top-r { gap: 16px; }
.rd-city { display: flex; align-items: center; gap: 6px; color: #fff; font-weight: 600; white-space: nowrap; }
.rd-top-nav { display: flex; align-items: center; gap: 18px; }
#header .rd-top a { color: rgba(255,255,255,.72); white-space: nowrap; text-decoration: none; }
#header .rd-top a:hover,
#header .rd-top a:focus-visible { color: #fff; }
.rd-hours { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.rd-hours i { width: 7px; height: 7px; border-radius: 50%; background: #3fbe78; flex-shrink: 0; }
.rd-hours.is-closed i { background: var(--rd-off); }
#header .rd-top .rd-top-phone { color: #fff; font-size: 14px; font-weight: 600; }
.rd-top-msg { display: flex; gap: 6px; }
#header .rd-top-msg a {
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  color: rgba(255,255,255,.9);
  transition: background .15s ease;
}
#header .rd-top-msg a:hover { background: rgba(255,255,255,.22); color: #fff; }
@media (max-width: 1279px) { .rd-top-mail { display: none; } }
@media (max-width: 1099px) { .rd-top .rd-hours, .rd-city { display: none; } }

/* 2.2 Основная строка: логотип, «Каталог», поиск, вход / избранное / корзина */
.rd-main .rd-wrap {
  height: 80px;
  display: flex;
  align-items: center;
  gap: 20px;
  padding-right: 44px;
}
.rd-logo { flex-shrink: 0; display: flex; }
.rd-logo a { display: flex; align-items: center; min-height: 44px; }  /* зона нажатия под палец */
.rd-logo img { width: 164px; height: 36px; object-fit: contain; object-position: left center; }

.rd-catbtn {
  height: 48px;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 0 22px 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--rd-btn);
  color: #fff;
  font: 600 16px/1 var(--em-font);
  box-shadow: var(--em-sh-blue);
  cursor: pointer;
  transition: background .15s ease;
}
.rd-catbtn:hover,
.rd-catbtn[aria-expanded="true"] { background: var(--rd-btn-hover); }

/* поиск: поле с лупой слева и кнопкой «Найти» */
.rd-search { flex: 1 1 0; min-width: 0; }
.rd-search-head { display: flex; align-items: center; min-width: 0; }
.rd-search-back,
.rd-search-body { display: none; }
#header .rd-search .search-widgets {
  flex: 1 1 0;
  min-width: 0;
  max-width: none;
  width: auto;
  margin: 0;
}
#header .rd-search .search-widgets form {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 4px 0 16px;
  border: 1.5px solid var(--em-line);
  border-radius: 8px;
  background: var(--em-surface);
}
#header .rd-search .search-widgets form:focus-within {
  border-color: var(--em-blue);
  background: #fff;
  box-shadow: 0 0 0 4px rgba(0,158,224,.12);
}
.rd-sw-icon { display: flex; flex-shrink: 0; color: var(--em-muted); }
#header .rd-search .search-widgets input[name="s"],
#header .rd-search .search-widgets input[name="s"]:focus {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  outline: 0;
  color: var(--em-ink);
  font-size: 15px;
}
#header .rd-search .search-widgets input[name="s"]::placeholder { color: var(--em-faint); opacity: 1; }
.rd-sw-go {
  height: 38px;
  flex-shrink: 0;
  padding: 0 18px;
  border: 0;
  border-radius: 6px;
  background: var(--rd-btn);
  color: #fff;
  font: 600 14px/1 var(--em-font);
  cursor: pointer;
  transition: background .15s ease;
}
.rd-sw-go:hover { background: var(--rd-btn-hover); }
.rd-sw-clear { display: none; }

/* значки с подписью: вход, избранное, корзина */
.rd-user { display: flex; align-items: center; gap: 2px; flex-shrink: 0; }
.rd-user-info, #_desktop_cart, #_desktop_cart .blockcart { display: flex; }
#header .rd-navi {
  position: relative;
  width: 78px;
  height: 56px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border-radius: 8px;
  color: var(--em-ink);
  font-size: 12.5px;
  line-height: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
#header .rd-navi:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-navi > span { max-width: 74px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-badge {
  position: absolute;
  top: 4px;
  left: 42px;
  min-width: 20px;
  height: 20px;
  box-sizing: border-box;
  padding: 0 5px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--rd-btn);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-variant-numeric: tabular-nums;
}
.rd-badge[hidden] { display: none; }

.rd-mcall, .rd-mstrip, .rd-msearch { display: none; }

/* 2.3 Строка разделов */
.rd-cats { background: #fff; border-top: 1px solid var(--em-line); border-bottom: 1px solid var(--em-line); }
.rd-cats .rd-wrap {
  height: 47px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-left: 36px;
  padding-right: 36px;
}
.rd-cats-l, .rd-cats-r { display: flex; align-items: center; gap: 2px; min-width: 0; }
#header .rd-cats a {
  height: 36px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  border-radius: 8px;
  color: var(--em-ink);
  font-size: 14.5px;
  font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: background .15s ease, color .15s ease;
}
#header .rd-cats a:hover,
#header .rd-cats a.is-current { background: var(--em-surface); color: var(--rd-btn); }
#header .rd-cats .rd-cats-sale { color: #a85a12; font-weight: 700; }
#header .rd-cats .rd-cats-sale:hover { background: var(--em-amber-wash); color: #8a4a0f; }
@media (max-width: 1379px) { #header .rd-cats a { padding: 0 9px; font-size: 14px; } }
/* что не помещается, остаётся в «Каталоге» */
@media (max-width: 1259px) { .rd-cats-l a:nth-child(n+7) { display: none !important; } }
@media (max-width: 1119px) { .rd-cats-l a:nth-child(n+5) { display: none !important; } }

/* 2.4 Каталог — выпадающая панель на компьютере */
.rd-catalog[hidden] { display: none !important; }
.rd-catalog-top, .rd-catalog-more, #header .rd-consult { display: none; }
/* макет CatalogMenu: три колонки — список разделов, подразделы выбранного, скидки и мессенджеры;
   под панелью страница затемнена (клик по затемнению закрывает каталог) */
@media (min-width: 992px) {
  .rd-catalog {
    position: absolute;
    left: 0; right: 0; top: 100%;
    z-index: 60;
    height: 100vh;
    padding: 0 48px;
    background: rgba(16,27,45,.45);
    border-top: 1px solid var(--em-line);
  }
  .rd-catalog-in {
    position: relative;
    max-width: 1344px; height: 680px; max-height: calc(100vh - 190px); min-height: 420px;
    margin: 0 auto;
    display: grid; grid-template-columns: 336px minmax(0, 1fr) 280px;
    background: #fff;
    border-radius: 0 0 12px 12px;
    box-shadow: 0 24px 60px rgba(16,27,45,.25);
    overflow: hidden;
  }
  .rd-menu { grid-column: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; box-sizing: border-box; padding: 12px; border-right: 1px solid var(--em-line); }
  .rd-menu-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
  .rd-menu-row { display: flex; align-items: center; }
  #header .rd-menu-link {
    flex: 1 1 auto; min-width: 0; min-height: 38px; box-sizing: border-box;
    display: flex; align-items: center; gap: 10px;
    padding: 0 10px; border-radius: 8px;
    color: var(--em-ink); font-size: 14.5px; line-height: 19px; font-weight: 500;
    text-decoration: none;
  }
  #header .rd-menu-link::after { content: ""; width: 7px; height: 7px; margin-left: auto; flex-shrink: 0; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .45; }
  .rd-menu-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .rd-menu .rd-menu-img { width: 28px; height: 28px; border-radius: 6px; }
  .rd-menu .rd-menu-img img { max-width: 24px; max-height: 24px; }
  #header .rd-menu-item.is-active > .rd-menu-row .rd-menu-link { background: var(--em-blue-wash); color: var(--rd-btn); font-weight: 600; }
  #header .rd-menu-item.is-active > .rd-menu-row .rd-menu-link::after { opacity: 1; }
  .rd-menu-toggle, .rd-menu-go, .rd-menu-all { display: none !important; }
  /* середина: подразделы раздела под мышью */
  .rd-menu-sub {
    display: none;
    position: absolute; top: 0; bottom: 0; left: 336px; right: 280px;
    box-sizing: border-box; margin: 0; padding: 24px 28px 28px;
    overflow-y: auto; overscroll-behavior: contain;
    list-style: none;
  }
  .rd-menu-item.is-active > .rd-menu-sub { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; row-gap: 24px; align-content: start; }
  /* раздел без третьего уровня — та же сетка с картинками, строки плотнее */
  .rd-menu-item.is-active > .rd-menu-sub.is-flat { row-gap: 16px; }
  .rd-menu-item.is-active > .rd-menu-sub.is-leaf { display: block; }
  .rd-menu-subhead { grid-column: 1 / -1; margin: 0 0 -4px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
  .rd-menu-sub.is-flat .rd-menu-subhead { margin-bottom: 4px; }
  .rd-menu-subh { font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); }
  #header .rd-menu-subhead a { flex-shrink: 0; min-height: 44px; display: inline-flex; align-items: center; gap: 4px; padding: 0; color: var(--rd-btn); font-size: 15px; font-weight: 600; text-decoration: none; }
  #header .rd-menu-subhead a:hover { color: var(--em-blue); }
  .rd-menu-grp { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
  #header .rd-menu-grp > a { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; padding: 0; color: var(--em-ink); font-size: 15.5px; line-height: 20px; font-weight: 700; text-decoration: none; }
  #header .rd-menu-grp > a:hover, #header .rd-menu-grp > a.is-current { color: var(--rd-btn); }
  .rd-menu-sub .rd-menu-gimg { width: 44px; height: 44px; border-radius: 8px; }
  .rd-menu-sub .rd-menu-gimg img { max-width: 38px; max-height: 38px; }
  .rd-menu-sub3 { list-style: none; margin: 0; padding: 0; }
  #header .rd-menu-sub3 a { display: block; padding: 4px 0; color: var(--em-muted); font-size: 14.5px; line-height: 20px; font-weight: 400; text-decoration: none; }
  #header .rd-menu-sub3 a:hover, #header .rd-menu-sub3 a.is-current { color: var(--rd-btn); }
  #header .rd-menu-sub.is-flat .rd-menu-grp > a { margin: 0; font-weight: 600; }
  .rd-menu-leaf { margin: 16px 0 0; font-size: 15px; color: var(--em-muted); }
  /* справа: скидки и мессенджеры */
  .rd-catalog-side { grid-column: 3; min-height: 0; box-sizing: border-box; padding: 20px; display: flex; flex-direction: column; gap: 12px; }
  #header .rd-catalog-promo {
    position: relative; flex: 1 1 auto; box-sizing: border-box;
    display: flex; flex-direction: column;
    padding: 22px; border-radius: 12px; overflow: hidden;
    background-color: var(--em-navy);
    background-image: radial-gradient(closest-side, rgba(255,206,128,.35), rgba(255,206,128,0)), linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 240px 240px, 32px 32px, 32px 32px;
    background-position: right -80px top -80px, 0 0, 0 0;
    background-repeat: no-repeat, repeat, repeat;
    color: #fff; text-decoration: none;
  }
  .rd-catalog-promo-k { font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--em-blue); }
  .rd-catalog-promo-h { margin-top: 8px; font-size: 22px; line-height: 28px; font-weight: 700; color: #fff; }
  .rd-catalog-promo-l { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 20px; color: rgba(255,255,255,.8); }
  .rd-catalog-promo-f { margin-top: auto; padding-top: 14px; font-size: 13px; color: rgba(255,255,255,.66); }
  .rd-catalog-help { box-sizing: border-box; padding: 14px 16px; border: 1px solid var(--em-line); border-radius: 12px; }
  .rd-catalog-help-h { margin: 0; font-size: 14.5px; line-height: 20px; font-weight: 700; color: var(--em-ink); }
  .rd-catalog-help-p { margin: 2px 0 0; font-size: 13px; line-height: 18px; color: var(--em-muted); }
  .rd-catalog-help .rd-msgr { margin-top: 10px; }
  .rd-catalog-help .rd-msgr a { height: 44px; font-size: 14.5px; }
}
@media (min-width: 992px) and (max-width: 1279px) {
  .rd-catalog { padding: 0 24px; }
  .rd-catalog-in { grid-template-columns: 280px minmax(0, 1fr); }
  .rd-menu-sub { left: 280px; right: 0; }
  .rd-menu-item.is-active > .rd-menu-sub { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-catalog-side { display: none; }
}
@media (max-width: 991px) {
  .rd-catalog-side, .rd-menu-subhead, .rd-menu-sub3, .rd-menu-gimg, .rd-menu-leaf { display: none !important; }
}
.rd-menu-img {
  width: 36px; height: 36px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--em-line); border-radius: 8px;
  background: #fff; overflow: hidden;
}
.rd-menu-img img { max-width: 30px; max-height: 30px; width: auto; height: auto; object-fit: contain; }

/* 2.5 Телефон и планшет */
.rd-tabbar { display: none; }
@media (max-width: 991px) {
  .rd-top, .rd-cats, .rd-catbtn, .rd-user { display: none; }
  #header { border-bottom: 1px solid var(--em-line); }

  .rd-mstrip {
    height: 30px;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    padding: 0 12px;
    background: var(--em-navy);
    color: rgba(255,255,255,.86);
    font-size: 12.5px; font-weight: 600;
    white-space: nowrap; overflow: hidden;
  }
  .rd-mstrip span { overflow: hidden; text-overflow: ellipsis; }
  .rd-mstrip .rd-i { flex-shrink: 0; }

  .rd-main .rd-wrap { height: 56px; justify-content: space-between; gap: 12px; padding: 0 10px 0 16px; }
  .rd-logo img { width: 128px; height: 28px; }
  .rd-mcall { display: flex; gap: 6px; }
  #header .rd-mcall a {
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 50%;
  }
  #header .rd-mcall-tel { background: var(--em-surface); color: var(--em-ink); }
  #header .rd-mcall-tg { background: #e6f2f9; color: var(--rd-tg); }
  #header .rd-mcall-vb { background: #efedf7; color: var(--rd-viber); }

  .rd-msearch { display: block; padding: 0 12px 10px; }
  .rd-msearch-btn {
    width: 100%; height: 44px;
    display: flex; align-items: center; gap: 10px;
    padding: 0 14px;
    border: 1.5px solid var(--em-line); border-radius: 8px;
    background: var(--em-surface);
    color: var(--em-faint);
    font: 400 15px/1.2 var(--em-font);
    text-align: left;
    cursor: pointer;
  }

  /* поиск открывается на весь экран (макет MSearch) */
  .rd-search {
    display: none;
    position: fixed; inset: 0;
    z-index: 1045;
    background: var(--em-surface);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  body.rd-search-open .rd-search { display: block; }
  .rd-search-head {
    position: sticky; top: 0; z-index: 2;
    gap: 4px;
    padding: 8px 12px 8px 4px;
    background: #fff;
    border-bottom: 1px solid var(--em-line);
  }
  .rd-search-back {
    width: 44px; height: 44px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: 8px; background: transparent; color: var(--em-ink);
  }
  .rd-search-body { display: block; }
  #header .rd-search .search-widgets form { height: 44px; padding: 0 4px 0 12px; background: var(--em-surface); }
  .rd-sw-go { display: none; }
  .rd-sw-clear {
    width: 36px; height: 36px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: 50%; background: var(--em-surface); color: var(--em-muted);
  }
  .rd-sw-clear[hidden] { display: none; }

  /* каталог — экран на весь телефон над нижней панелью (макет MMenu) */
  .rd-catalog {
    position: fixed;
    top: 0; left: 0; right: 0;
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    z-index: 1035;
    background: var(--em-surface);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .rd-catalog-in { padding-bottom: 24px; }
  .rd-catalog-top { display: block; padding: 8px 12px 12px; background: #fff; border-bottom: 1px solid var(--em-line); }
  .rd-catalog-head { height: 48px; display: flex; align-items: center; justify-content: space-between; }
  .rd-catalog-title { margin: 0; font-size: 26px; line-height: 32px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); }
  #header .rd-catalog-call { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; color: var(--em-ink); }
  .rd-catalog-top .rd-msearch-btn { margin-top: 4px; }

  .rd-menu-list {
    list-style: none;
    margin: 12px 12px 0; padding: 0;
    background: #fff;
    border: 1px solid var(--em-line); border-radius: 12px;
    overflow: hidden;
  }
  .rd-menu-item { border-top: 1px solid var(--em-line); }
  .rd-menu-item:first-child { border-top: 0; }
  .rd-menu-row { min-height: 60px; display: flex; align-items: center; padding: 0 4px 0 10px; }
  #header .rd-menu-link {
    flex: 1 1 0; min-width: 0; min-height: 60px;
    display: flex; align-items: center; gap: 12px;
    color: var(--em-ink); font-size: 15.5px; line-height: 20px; font-weight: 600;
    text-decoration: none;
  }
  .rd-menu-img { width: 44px; height: 44px; border-radius: 10px; }
  .rd-menu-img img { max-width: 36px; max-height: 36px; }
  .rd-menu-toggle, .rd-menu-go {
    width: 44px; height: 44px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: 0; border-radius: 8px; background: transparent; color: var(--em-muted);
    padding: 0;
  }
  .rd-menu-toggle .rd-i { transition: transform .2s ease; }
  .rd-menu-sub { display: none; list-style: none; margin: 0; padding: 4px 0 8px; }
  .rd-menu-item.is-open > .rd-menu-row { background: var(--em-blue-wash); }
  #header .rd-menu-item.is-open .rd-menu-link { color: var(--rd-btn); font-weight: 700; }
  .rd-menu-item.is-open .rd-menu-toggle { color: var(--rd-btn); }
  .rd-menu-item.is-open .rd-menu-toggle .rd-i { transform: rotate(180deg); }
  .rd-menu-item.is-open .rd-menu-sub { display: block; }
  #header .rd-menu-sub a {
    min-height: 48px;
    display: flex; align-items: center; gap: 4px;
    padding: 0 16px 0 66px;
    color: var(--em-ink); font-size: 15px; line-height: 20px;
    text-decoration: none;
  }
  #header .rd-menu-sub a.is-current { color: var(--rd-btn); font-weight: 600; }
  #header .rd-menu-all a { color: var(--rd-btn); font-weight: 600; }

  .rd-catalog-more {
    display: block;
    margin: 12px 12px 0;
    background: #fff;
    border: 1px solid var(--em-line); border-radius: 12px;
    overflow: hidden;
  }
  #header .rd-catalog-more a {
    height: 52px;
    display: flex; align-items: center; gap: 12px;
    padding: 0 14px;
    border-top: 1px solid var(--em-line);
    color: var(--em-ink); font-size: 15px; font-weight: 600;
    text-decoration: none;
  }
  #header .rd-catalog-more a:first-child { border-top: 0; }
  .rd-catalog-more a > span { flex: 1 1 0; }
  .rd-catalog-more .rd-i-chev-r { color: var(--em-muted); }
  #header .rd-catalog-more .rd-more-sale { color: #a85a12; }

  #header .rd-consult { display: block; margin: 12px 12px 0; }

  /* нижняя панель */
  .rd-tabbar {
    display: flex;
    position: fixed; left: 0; right: 0; bottom: 0;
    z-index: 1036;
    height: 64px;
    box-sizing: content-box;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: #fff;
    border-top: 1px solid var(--em-line);
    box-shadow: 0 -6px 20px rgba(16,27,45,.06);
    backdrop-filter: none;
  }
  .rd-tab {
    position: relative;
    flex: 1 1 0;
    height: 64px;
    min-height: 0;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    padding: 0;
    border: 0; background: transparent;
    color: var(--em-muted);
    font: 600 11px/14px var(--em-font);
    text-decoration: none;
    cursor: pointer;
  }
  .rd-tab:hover, .rd-tab:focus { color: var(--em-muted); }
  .rd-tab.is-active,
  .rd-tab[aria-expanded="true"] { color: var(--rd-btn); }
  body.rd-cat-open .rd-tab.is-active { color: var(--em-muted); }
  .rd-tab .rd-badge { top: 6px; left: calc(50% + 6px); min-width: 18px; height: 18px; font-size: 10.5px; }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  /* в нижней панели есть «Написать» — плавающая кнопка чата на телефоне лишняя */
  .em-chat-start { display: none !important; }
}
@media (min-width: 992px) {
  .rd-mstrip, .rd-msearch, .rd-mcall { display: none !important; }
}
body.rd-lock { overflow: hidden; }
/* Каталог и поиск живут внутри #header, а у шапки свой слой (z-index 60) — пока
   открыт экран поверх страницы, поднимаем шапку: каталог — под нижней панелью,
   поиск — над ней (в макете MSearch панели нет, а клавиатура и так занимает пол-экрана). */
body.rd-cat-open #header { z-index: 1030; }
body.rd-search-open #header { z-index: 1050; }
body.rd-search-open .rd-tabbar { display: none; }

/* Карточка «Консультация по подбору» (тёмная, с сеткой) */
.rd-consult {
  position: relative;
  padding: 22px 18px 18px;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--em-navy);
  background-image:
    radial-gradient(closest-side, rgba(255,206,128,.35), rgba(255,206,128,0)),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 240px 240px, 32px 32px, 32px 32px;
  background-position: right -80px top -80px, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat;
  color: #fff;
}
.rd-consult-kicker { display: block; font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--em-blue); }
.rd-consult-h { margin: 8px 0 0; font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.rd-consult-p { margin: 8px 0 0; font-size: 14.5px; line-height: 22px; color: rgba(255,255,255,.76); }
.rd-consult-row { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rd-consult .rd-consult-tel { color: #fff; font-size: 20px; line-height: 26px; font-weight: 700; text-decoration: none; }
.rd-consult .rd-hours { font-size: 12.5px; color: rgba(255,255,255,.72); }

/* Кнопки мессенджеров (Telegram / Viber) */
.rd-msgr { margin-top: 14px; display: flex; gap: 8px; }
.rd-msgr a {
  flex: 1 1 0;
  height: 44px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 8px;
  color: #fff;
  font-size: 15px; font-weight: 600;
  text-decoration: none;
  transition: filter .15s ease;
}
.rd-msgr a:hover, .rd-msgr a:focus { color: #fff; filter: brightness(1.1); }
.rd-msgr .rd-msgr-tg { background: var(--rd-tg); }
.rd-msgr .rd-msgr-vb { background: var(--rd-viber); }

/* --------------------------------------------------------------------------
   3. ПОДВАЛ (макеты Footer и MHome)
   -------------------------------------------------------------------------- */
.footer-container.rd-footer {
  margin-top: 56px;
  padding: 48px 0 0;
  background: var(--em-navy);
  color: rgba(255,255,255,.72);
  border: 0;
  box-shadow: none;
}
.rd-footer-grid {
  display: grid;
  grid-template-columns: 340px repeat(3, minmax(0, 1fr)) 330px;
  gap: 40px;
}
.rd-fbrand { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.rd-fcontact { grid-column: 5; grid-row: 1; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.rd-fcol { min-width: 0; }
.rd-fcol-terms { display: none; }

.rd-footer .rd-flogo { display: flex; width: fit-content; padding: 8px 12px; border-radius: 8px; background: #fff; }
.rd-flogo img { width: 146px; height: 32px; object-fit: contain; }
.rd-fabout { margin: 0; font-size: 14px; line-height: 22px; color: rgba(255,255,255,.72); }
.rd-fterms { display: flex; flex-direction: column; gap: 6px; font-size: 13px; line-height: 18px; }
.rd-fterms span { display: flex; align-items: flex-start; gap: 8px; }
.rd-fterms .rd-i { flex-shrink: 0; margin-top: 1px; }

.rd-ftitle {
  margin: 0 0 10px;
  font-size: 13px; line-height: 17px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: #fff;
}
.footer-container.rd-footer .rd-ftitle a { color: #fff; font-size: inherit; }
.rd-facc { display: none; }
.rd-flist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.footer-container.rd-footer li { margin: 0; }
.footer-container.rd-footer a { color: rgba(255,255,255,.72); font-size: 14px; text-decoration: none; transition: color .15s ease; }
.footer-container.rd-footer a:hover,
.footer-container.rd-footer a:focus-visible { color: #fff; }
.footer-container.rd-footer .rd-flist a { display: block; padding: 6px 0; line-height: 20px; }
.rd-flist-note { display: none; }

.rd-fcontact .rd-ftitle { margin: 0; }
.footer-container.rd-footer .rd-fphone { color: #fff; font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -.01em; }
.rd-fhours { font-size: 13px; margin-top: -6px; }
.rd-fhours-mail { display: none; }
.rd-fcontact .rd-msgr { margin-top: 0; }
.footer-container.rd-footer .rd-msgr a { color: #fff; font-size: 15px; }
.rd-faddr { display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 20px; }

.rd-fbottom {
  margin-top: 40px;
  padding: 20px 0 24px;
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  border-top: 1px solid rgba(255,255,255,.1);
  font-size: 12.5px; line-height: 18px;
  color: rgba(255,255,255,.6);
}
.rd-flegal { margin: 0; max-width: 820px; }
.rd-fdocs { display: flex; flex-wrap: wrap; gap: 6px 18px; flex-shrink: 0; }
.footer-container.rd-footer .rd-fdocs a { font-size: 12.5px; }

@media (max-width: 1439px) {
  .rd-footer-grid { grid-template-columns: 300px repeat(3, minmax(0, 1fr)) 300px; gap: 32px; }
}
@media (max-width: 1199px) {
  .rd-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rd-fbrand { grid-column: 1 / span 2; }
  .rd-fcontact { grid-column: 3; }
  .rd-fbottom { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* телефон и планшет: контакты сверху, разделы — гармошкой */
@media (max-width: 991px) {
  .footer-container.rd-footer { margin-top: 32px; padding: 28px 0 0; }
  .rd-footer-grid { display: flex; flex-direction: column; gap: 0; }
  .rd-fbrand { order: 1; gap: 0; }
  .rd-fcontact { order: 2; gap: 0; }
  .rd-fcol-links { order: 3; }
  .rd-fcol-terms { order: 4; display: block; }
  .rd-fcol-account { order: 5; }
  .rd-fcol-links:first-of-type, .rd-fcol:not(.rd-fcol-terms):not(.rd-fcol-account) { }
  .rd-flogo img { width: 128px; height: 28px; }
  .rd-footer .rd-flogo { padding: 7px 10px; }
  .rd-fabout, .rd-fterms, .rd-fcontact .rd-ftitle, .rd-faddr { display: none; }
  .rd-fphone { margin-top: 18px; }
  .rd-fhours { margin: 4px 0 14px; }
  .rd-fhours-mail { display: inline; }
  .rd-fcontact .rd-msgr { margin-bottom: 20px; }

  .rd-ftitle { display: none; }
  .rd-facc {
    width: 100%; height: 52px;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0;
    border: 0; border-top: 1px solid rgba(255,255,255,.1);
    background: transparent;
    color: #fff;
    font: 600 15px/1.2 var(--em-font);
    text-align: left;
    cursor: pointer;
  }
  .rd-facc .rd-i { color: rgba(255,255,255,.6); transition: transform .2s ease; }
  .rd-fcol.is-open .rd-facc .rd-i { transform: rotate(180deg); }
  .rd-flist { display: none; padding: 0 0 10px; gap: 0; }
  .rd-fcol.is-open .rd-flist { display: flex; }
  .footer-container.rd-footer .rd-flist a { min-height: 44px; display: flex; align-items: center; padding: 0; font-size: 15px; }
  .rd-flist-note { display: block; padding: 6px 0 4px; font-size: 13px; line-height: 19px; color: rgba(255,255,255,.6); }

  .rd-fbottom { margin-top: 0; padding: 16px 0 20px; font-size: 12px; line-height: 18px; }
  .footer-container.rd-footer .rd-fdocs a { min-height: 44px; display: inline-flex; align-items: center; font-size: 13px; }
  .rd-fdocs { gap: 0 18px; }
}

/* --------------------------------------------------------------------------
   4. КАРТОЧКА ТОВАРА (макеты Card — компьютер, MCard — телефон)
   -------------------------------------------------------------------------- */
/* Сетка карточек: на компьютере колонки по ~256 px (5 в ряд на всю ширину,
   4 рядом с фильтрами), на телефоне две колонки */
#products .products,
.featured-products .products,
.product-accessories .products,
.rd-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
  gap: 16px;
  margin: 0;
}
#products .products::before, #products .products::after,
.featured-products .products::before, .featured-products .products::after,
.product-accessories .products::before, .product-accessories .products::after,
.rd-grid::before, .rd-grid::after { display: none; }
#products .products > .js-product,
.featured-products .products > .js-product,
.product-accessories .products > .js-product,
.rd-grid > .js-product {
  width: auto;
  max-width: none;
  flex: none;
  float: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 991px) {
  #products .products, .featured-products .products, .product-accessories .products, .rd-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  }
}
@media (max-width: 767px) {
  #products .products, .featured-products .products, .product-accessories .products, .rd-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
}

.product-miniature.rd-card {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: #fff;
  border: 1px solid var(--em-line);
  border-radius: 12px;
  box-shadow: none;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
/* при наведении карточка приподнимается (тёплое пятно за фото убрано по просьбе владельца 28.09) */
@media (hover: hover) {
  .product-miniature.rd-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 34px rgba(16,27,45,.13);
    border-color: rgba(0,158,224,.5);
  }
  .rd-card:hover .rd-card-photo img { transform: scale(1.035); }
}
@media (prefers-reduced-motion: reduce) {
  .product-miniature.rd-card, .rd-card-photo img { transition: none; }
  .product-miniature.rd-card:hover { transform: none; }
  .rd-card:hover .rd-card-photo img { transform: none; }
}

.product-miniature.rd-card .rd-card-photo {
  position: relative;
  display: block;
  height: 228px;
  margin: 12px 12px 0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  isolation: isolate;
}
.rd-card-photo picture { display: block; height: 100%; }
.product-miniature.rd-card .rd-card-photo img {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform .35s ease;
}

.rd-card-badges {
  position: absolute; top: 20px; left: 20px; z-index: 2;
  display: flex; flex-wrap: wrap; gap: 6px;
  max-width: calc(100% - 80px);
  pointer-events: none;
}
.rd-card-badges:empty { display: none; }
.rd-card-badges span {
  height: 24px;
  display: inline-flex; align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12.5px; font-weight: 700; line-height: 1;
  white-space: nowrap;
}
.rd-badge-sale { background: var(--em-amber); color: var(--em-ink); }
.rd-badge-new { background: var(--rd-btn); color: #fff; }
.rd-badge-hit { background: var(--em-navy); color: #fff; }

.rd-fav {
  position: absolute; top: 18px; right: 18px; z-index: 2;
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  padding: 0; border: 0; background: transparent;
  color: var(--em-ink);
  cursor: pointer;
}
.rd-fav > span {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  box-shadow: var(--em-sh-1);
  transition: transform .15s ease, color .15s ease;
}
.rd-fav:hover > span { transform: scale(1.06); color: var(--em-red); }
.rd-fav[aria-pressed="true"] { color: var(--em-red); }
.rd-fav[aria-pressed="true"] svg { fill: currentColor; }

.product-miniature.rd-card .rd-card-body {
  position: static;
  width: auto; height: auto;
  flex: 1 1 auto;
  min-height: 0;
  display: flex; flex-direction: column; gap: 0;
  padding: 12px 16px 16px;
  background: transparent;
}
.product-miniature.rd-card .rd-card-sku {
  order: 1;
  margin: 0;
  font-family: var(--em-mono);
  font-size: 12px; line-height: 17px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--em-faint);
}
.product-miniature.rd-card .rd-card-title { order: 2; margin: 4px 0 0; text-align: left; text-transform: none; font-size: inherit; }
.product-miniature.rd-card .rd-card-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 42px;
  font-size: 15px; line-height: 21px; font-weight: 400;
  color: var(--em-ink);
  text-align: left;
  text-decoration: none;
}
.product-miniature.rd-card .rd-card-title a:hover { color: var(--rd-btn); }
.rd-card-specs {
  order: 3;
  display: flex; gap: 6px;
  height: 22px; margin-top: 8px;
  overflow: hidden;
}
.rd-card-specs span {
  height: 22px;
  display: inline-flex; align-items: center;
  padding: 0 8px;
  border-radius: 6px;
  background: var(--em-surface);
  color: var(--em-muted);
  font-size: 12px; font-weight: 600;
  white-space: nowrap;
}
.rd-card-gap { order: 4; flex: 1 1 0; min-height: 10px; }
.product-miniature.rd-card .rd-card-price {
  order: 5;
  min-height: 28px;
  margin: 0; padding: 0;
  display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 8px; row-gap: 0;
  text-align: left;
}
.product-miniature.rd-card .rd-card-price .price {
  font-size: 20px; line-height: 24px; font-weight: 700; letter-spacing: -.02em;
  color: var(--em-ink);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.product-miniature.rd-card .rd-card-price .em-price-request { font-size: 16px; color: var(--em-muted); font-weight: 600; letter-spacing: 0; }
.product-miniature.rd-card .regular-price { font-size: 14px; color: var(--em-faint); text-decoration: line-through; font-weight: 400; white-space: nowrap; }
.product-miniature.rd-card .rd-card-disc {
  align-self: center;
  height: 20px;
  display: inline-flex; align-items: center;
  padding: 0 6px;
  border-radius: 6px;
  background: var(--em-amber-wash);
  color: #a85a12;
  font-size: 12px; font-weight: 700;
}
.rd-stock {
  order: 6;
  display: flex; align-items: center; gap: 6px;
  min-height: 18px; margin-top: 2px;
  font-size: 13px; font-weight: 600; line-height: 18px;
}
.rd-stock::before { content: ""; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: currentColor; }
.rd-stock.is-in { color: #1f7a4a; }
.rd-stock.is-in::before { background: var(--em-green); }
.rd-stock.is-low { color: #a85a12; }
.rd-stock.is-low::before { background: var(--em-amber); }
.rd-stock.is-out { color: var(--em-muted); }
.rd-stock.is-out::before { background: var(--rd-off); }

.product-miniature.rd-card .rd-card-act { order: 7; display: block; margin-top: 12px; min-height: 44px; }
.rd-card .rd-buy { margin: 0; min-width: 0; }
.rd-add {
  width: 100%; height: 44px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 10px;
  border: 0; border-radius: 8px;
  background: var(--rd-btn);
  color: #fff;
  font: 600 15px/1 var(--em-font);
  letter-spacing: .01em;
  cursor: pointer;
  transition: background .15s ease, opacity .15s ease;
}
.rd-add:hover, .rd-add:focus-visible { background: var(--rd-btn-hover); color: #fff; }
.rd-add[hidden], .rd-step[hidden] { display: none; }
.rd-buy.is-busy { opacity: .7; pointer-events: none; }
.rd-step {
  width: 100%; height: 44px;
  box-sizing: border-box;
  display: flex; align-items: center;
  border: 1.5px solid var(--em-blue);
  border-radius: 8px;
  background: var(--em-blue-wash);
  color: var(--rd-btn);
}
.rd-step-btn {
  width: 44px; height: 100%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 0; border: 0; background: transparent;
  color: var(--rd-btn);
  cursor: pointer;
}
.rd-step-btn:hover { color: var(--rd-btn-hover); }
.rd-card .rd-step-qty {
  flex: 1 1 0; min-width: 0;
  text-align: center;
  font-size: 14px; font-weight: 600;
  color: var(--rd-btn);
  white-space: nowrap;
  text-decoration: none;
}
.rd-step-qty b { font-weight: 700; }
.rd-short { display: none; }
.rd-card .rd-notify {
  width: 100%; height: 44px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 10px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  color: var(--em-ink);
  font-size: 14px; font-weight: 600;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.rd-card .rd-notify:hover { background: var(--em-blue-wash); border-color: var(--em-blue); color: var(--rd-btn); }

/* телефон: цена сверху, характеристики не показываем (макет MCard) */
@media (max-width: 767px) {
  .product-miniature.rd-card .rd-card-photo { height: 150px; margin: 8px 8px 0; }
  .rd-card-badges { top: 14px; left: 14px; max-width: calc(100% - 60px); }
  .rd-card-badges span { height: 22px; font-size: 11.5px; }
  .rd-fav { top: 6px; right: 6px; width: 44px; height: 44px; }
  .rd-fav > span { width: 32px; height: 32px; }
  .product-miniature.rd-card .rd-card-body { padding: 8px 10px 10px; }
  .product-miniature.rd-card .rd-card-price { order: 1; min-height: 22px; column-gap: 6px; }
  .product-miniature.rd-card .rd-card-price .price { font-size: 17px; line-height: 22px; }
  .product-miniature.rd-card .rd-card-price .em-price-request { font-size: 14px; }
  .product-miniature.rd-card .regular-price { font-size: 12px; }
  .product-miniature.rd-card .rd-card-disc { height: 18px; padding: 0 5px; border-radius: 5px; font-size: 11px; }
  .product-miniature.rd-card .rd-card-title { order: 2; }
  .product-miniature.rd-card .rd-card-title a { height: 36px; font-size: 13.5px; line-height: 18px; }
  .product-miniature.rd-card .rd-card-sku { order: 3; margin-top: 4px; font-size: 11px; line-height: 15px; }
  .rd-card-specs { display: none; }
  .rd-stock { order: 4; min-height: 16px; gap: 5px; font-size: 12px; line-height: 16px; }
  .rd-stock::before { width: 6px; height: 6px; }
  .rd-card-gap { order: 5; min-height: 8px; }
  .product-miniature.rd-card .rd-card-act { order: 6; margin-top: 0; }
  .rd-add { gap: 6px; font-size: 14px; }
  .rd-step-btn { width: 42px; }
  .rd-card .rd-step-qty { font-weight: 700; }
  .rd-card .rd-long { display: none; }
  .rd-card .rd-short { display: inline; }
}

/* Всплывающая подсказка внизу экрана: «Добавлено в корзину», ошибки корзины */
.rd-toast {
  position: fixed;
  left: 50%; bottom: 24px; z-index: 1060;
  max-width: min(440px, calc(100vw - 24px));
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px 12px 16px;
  border-radius: 12px;
  background: var(--em-navy);
  color: #fff;
  font-size: 14.5px; line-height: 20px;
  box-shadow: var(--em-sh-2);
  transform: translate(-50%, 16px);
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
  pointer-events: none;
}
.rd-toast.is-on { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
.rd-toast.is-error { background: #7a2019; }
.rd-toast a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.rd-toast a:hover { color: #fff; }
@media (max-width: 991px) {
  .rd-toast { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
}

/* Пустое состояние (избранное, пустая корзина и т. п.) */
.rd-empty {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 48px 20px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  text-align: center;
}
.rd-empty[hidden] { display: none; }
.rd-empty-ico { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-empty-h { margin: 6px 0 0; font-size: 20px; line-height: 26px; font-weight: 700; color: var(--em-ink); }
.rd-empty-p { margin: 0 0 8px; max-width: 460px; color: var(--em-muted); }
.rd-page-sub { margin: 4px 0 0; color: var(--em-muted); }

/* --------------------------------------------------------------------------
   5. ГЛАВНАЯ (макеты Main и MHome)
   -------------------------------------------------------------------------- */
/* на телефоне поля страницы 12 px — как во всех мобильных макетах
   (две карточки по 178 px с зазором 10 px на экране 390 px) */
@media (max-width: 767px) {
  .container, .rd-wrap { padding-left: 12px; padding-right: 12px; }
  .row { margin-left: -12px; margin-right: -12px; }
  .row > [class*="col-"] { padding-left: 12px; padding-right: 12px; }
}

#index #wrapper { padding-top: 24px; }
#index .page-home { margin: 0; }
.rd-long {}
.rd-short { display: none; }
@media (max-width: 767px) {
  .rd-long { display: none !important; }
  .rd-short { display: inline !important; }
}

/* 5.1 Герой: тёмный блок слева, баннеры справа */
.rd-hero { grid-template-columns: minmax(0, 1fr) 448px; gap: 16px; }
.rd-hero-main {
  position: relative;
  height: 448px;
  box-sizing: border-box;
  display: flex; flex-direction: column; justify-content: space-between;
  padding: 44px 48px;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--em-navy);
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 32px 32px;
  color: #fff;
}
.rd-hero-glow {
  position: absolute; right: -90px; top: -10px;
  width: 520px; height: 520px;
  background: radial-gradient(closest-side, rgba(255,206,128,.46), rgba(255,206,128,.14) 52%, rgba(255,206,128,0) 74%);
  pointer-events: none;
}
.rd-hero-lamp {
  position: absolute; right: 60px; top: 92px;
  width: 240px; height: 240px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 12px rgba(255,255,255,.06), 0 0 0 28px rgba(255,255,255,.03), 0 30px 90px rgba(255,190,90,.45);
  overflow: hidden;
}
.rd-hero-lamp img { width: 196px; height: 196px; object-fit: contain; }
.rd-hero-spec {
  position: absolute;
  height: 30px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 12px;
  border-radius: 999px;
  /* плашка заходит на белый круг лампы — тёмная подложка, чтобы текст не пропадал */
  background: rgba(16,27,45,.62);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 13px; font-weight: 600;
  white-space: nowrap;
}
.rd-hero-spec i { width: 6px; height: 6px; border-radius: 50%; background: var(--em-blue); }
.rd-hero-spec-1 { right: 262px; top: 118px; }
.rd-hero-spec-2 { right: 28px; top: 196px; }
.rd-hero-spec-3 { right: 236px; top: 300px; }
.rd-hero-text { position: relative; display: flex; flex-direction: column; gap: 16px; max-width: 540px; }
#index .rd-hero-kicker {
  margin: 0; padding: 0;
  font-size: 12.5px; line-height: 17px; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--em-blue);
}
#index .rd-hero-kicker::before { display: none; }
.rd-hero-kicker span { color: inherit; }
.rd-hero-title { margin: 0; font-size: 40px; line-height: 46px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.rd-hero-lead { margin: 0; max-width: 480px; font-size: 17px; line-height: 27px; color: rgba(255,255,255,.78); }
.rd-hero-cta { position: relative; display: flex; flex-wrap: wrap; gap: 10px; }
.rd-hero-btn, .rd-hero-tg {
  height: 52px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 8px;
  font: 600 16px/1 var(--em-font);
  letter-spacing: .01em;
  white-space: nowrap;
  text-decoration: none;
  cursor: pointer;
}
.rd-hero-btn { padding: 0 24px; border: 0; background: var(--rd-btn); color: #fff; box-shadow: var(--em-sh-blue); transition: background .15s ease; }
.rd-hero-btn:hover, .rd-hero-btn[aria-expanded="true"] { background: var(--rd-btn-hover); }
#index .rd-hero-tg { padding: 0 22px; border: 1px solid rgba(255,255,255,.2); background: rgba(255,255,255,.08); color: #fff; transition: background .15s ease; }
#index .rd-hero-tg:hover { background: rgba(255,255,255,.16); color: #fff; }
/* лампа занимает правую часть блока — на узких экранах она наехала бы на текст */
@media (max-width: 1379px) { .rd-hero-lamp, .rd-hero-spec { display: none; } }

/* слайдер баннеров: квадрат 448 px, стрелки парой внизу справа, точки сверху справа */
.rd-hero-slider {
  position: relative;
  display: block;
  flex: none; align-self: auto; max-width: none; min-width: 0;
  width: 448px; height: 448px;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--em-sh-1);
}
.rd-hero-slider .homeslider-container,
.rd-hero-slider .rslides { width: 100%; height: 100%; margin: 0; padding: 0; list-style: none; }
/* у контейнера слайдера в теме float:left — на телефоне из-за него блок под героем
   сжимался в ноль и уезжал за правый край экрана */
.rd-hero-slider .homeslider-container { float: none !important; }
.rd-hero { display: flow-root; }
@media (min-width: 992px) { .rd-hero { display: grid; } }
.rd-hero-slider .rslides li { width: 100%; height: 100%; }
.rd-hero-slider .rslides img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* стрелки — круглые белые из custom.css (.homeslider_nav); в макете они видны всегда.
   С 28.09.2026 (макет «Баннеры»): парой внизу справа — центр на 87 % высоты, правый край в 7,4 %
   от правого края, между кнопками 8 px. Баннеры рисуются так, что в этом углу нет текста. */
.rd-hero-slider .homeslider_nav { opacity: 1; }
.rd-hero-slider.em-hero-slider .homeslider_nav { top: 87%; }
.rd-hero-slider.em-hero-slider .homeslider_nav.next { right: 7.4%; left: auto; }
.rd-hero-slider.em-hero-slider .homeslider_nav.prev { right: calc(7.4% + 48px); left: auto; }
.rd-dots {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  display: flex; align-items: center; gap: 5px;
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(16,27,45,.55);
  pointer-events: none;
}
.rd-dots span { width: 6px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.5); transition: width .2s ease, background .2s ease; }
.rd-dots span.is-on { width: 22px; background: #fff; }
.rd-mchips { display: none; }

/* 5.2 Общий вид секций главной */
.rd-sec { margin-top: 56px; }
.rd-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.rd-bar { display: block; width: 46px; height: 4px; margin-bottom: 12px; border-radius: 4px; background: var(--em-blue); }
#index .rd-h2 { margin: 0; padding: 0; font-size: 26px; line-height: 32px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); }
.rd-sec-sub { margin: 4px 0 0; font-size: 14px; line-height: 20px; color: var(--em-muted); }
.rd-sec-tools { display: flex; align-items: center; gap: 8px; }
.rd-more {
  height: 44px;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 0; border: 0; background: none;
  color: var(--rd-btn);
  font: 600 15px/1 var(--em-font);
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
.rd-more:hover { color: var(--em-blue); }
.rd-arrow {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border: 1px solid var(--em-line); border-radius: 50%;
  background: #fff; color: var(--em-ink);
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, opacity .15s ease;
}
.rd-arrow:hover { border-color: var(--em-blue); color: var(--rd-btn); }
.rd-arrow:disabled { opacity: .4; cursor: default; border-color: var(--em-line); color: var(--em-ink); }

/* 5.3 Преимущества */
.rd-benefits { margin-top: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rd-ben {
  min-height: 80px;
  box-sizing: border-box;
  display: flex; align-items: center; gap: 14px;
  padding: 0 18px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  color: var(--em-ink);
  text-decoration: none;
}
a.rd-ben:hover { border-color: var(--em-blue); color: var(--em-ink); }
.rd-ben-ico { width: 44px; height: 44px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-ben > div { display: flex; flex-direction: column; min-width: 0; }
.rd-ben b { font-size: 15px; line-height: 20px; font-weight: 600; }
.rd-ben-sub { font-size: 13px; line-height: 18px; color: var(--em-muted); }

/* 5.4 Популярные разделы */
.rd-tiles { margin-top: 20px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.rd-tile {
  height: 204px;
  box-sizing: border-box;
  display: flex; flex-direction: column;
  padding: 14px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  color: var(--em-ink);
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.rd-tile:hover { border-color: var(--em-blue); box-shadow: 0 10px 34px rgba(16,27,45,.10); color: var(--em-ink); }
.rd-tile-img { height: 124px; display: flex; align-items: center; justify-content: center; border-radius: 8px; overflow: hidden; background: #fff; }
.rd-tile-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rd-tile-name { margin-top: 12px; display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; font-size: 15px; line-height: 20px; font-weight: 600; }
.rd-tile-name .rd-i { flex-shrink: 0; margin-top: 1px; color: var(--em-muted); }
.rd-chips { margin-top: 12px; display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.rd-chips::-webkit-scrollbar { display: none; }
.rd-chip {
  height: 40px; flex-shrink: 0;
  box-sizing: border-box;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 0 14px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  color: var(--em-ink);
  font-size: 14px; font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: border-color .15s ease;
}
.rd-chip .rd-i { color: var(--em-blue); }
.rd-chip:hover { border-color: var(--em-blue); color: var(--em-ink); }

/* 5.5 Полки товаров: лента с прокруткой по стрелкам (5 карточек по 256 px) */
.rd-shelf {
  margin-top: 16px;
  padding: 4px 0 12px;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 64px) / 5);
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.rd-shelf::-webkit-scrollbar { display: none; }
.rd-shelf > .js-product { width: auto; max-width: none; margin: 0; padding: 0; scroll-snap-align: start; }
@media (max-width: 1199px) { .rd-shelf { grid-auto-columns: calc((100% - 48px) / 4); } }
@media (max-width: 991px)  { .rd-shelf { grid-auto-columns: calc((100% - 32px) / 3); } }
.rd-all-m { display: none; }

/* 5.6 Промо-строка */
.rd-promo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rd-promo-ban { display: block; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; box-shadow: var(--em-sh-1); }
.rd-promo-ban img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rd-promo-ban:hover img { transform: scale(1.02); }
.rd-promo-consult {
  position: relative;
  box-sizing: border-box;
  display: flex; flex-direction: column;
  padding: 32px;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--em-navy);
  background-image:
    radial-gradient(closest-side, rgba(0,158,224,.28), rgba(0,158,224,0)),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 360px 360px, 32px 32px, 32px 32px;
  background-position: right -120px top -120px, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat;
  color: #fff;
}
.rd-promo-consult .rd-consult-kicker { font-size: 12.5px; line-height: 17px; }
.rd-promo-h { margin: 12px 0 0; font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.rd-promo-p { margin: 12px 0 0; font-size: 15px; line-height: 24px; color: rgba(255,255,255,.76); }
.rd-promo-gap { flex: 1 1 0; min-height: 20px; }
#index .rd-promo-tel { color: #fff; font-size: 24px; line-height: 30px; font-weight: 700; text-decoration: none; }
.rd-promo-hours { margin: 4px 0 16px; font-size: 13px; color: rgba(255,255,255,.72); }
.rd-promo-hours i { width: 8px; height: 8px; }
.rd-promo-consult .rd-msgr { margin-top: 0; }

/* 5.7 Полезно знать */
.rd-arts { margin-top: 20px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.rd-art-main {
  height: 240px;
  box-sizing: border-box;
  display: grid; grid-template-columns: 290px minmax(0, 1fr);
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  overflow: hidden;
  color: var(--em-ink);
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.rd-art-main:hover { border-color: var(--em-blue); box-shadow: 0 10px 34px rgba(16,27,45,.10); color: var(--em-ink); }
.rd-art-main img { width: 100%; height: 100%; object-fit: cover; }
.rd-art-body { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px; min-width: 0; }
.rd-art-kicker { font-size: 12px; line-height: 16px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--rd-btn); }
.rd-art-title { font-size: 18px; line-height: 24px; font-weight: 700; letter-spacing: -.01em; }
.rd-art-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 21px; color: var(--em-muted); }
.rd-art-read { margin-top: auto; display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--rd-btn); }
.rd-art-list {
  height: 240px;
  box-sizing: border-box;
  display: flex; flex-direction: column; justify-content: center;
  padding: 8px 12px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
}
.rd-art-row {
  min-height: 72px;
  display: flex; align-items: center; gap: 14px;
  padding: 0 12px;
  border-radius: 8px;
  color: var(--em-ink);
  text-decoration: none;
}
.rd-art-row + .rd-art-row { border-top: 1px solid var(--em-line); }
.rd-art-row:hover { background: #f9fbfd; color: var(--rd-btn); }
.rd-art-ico { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-art-row-t { flex: 1 1 0; font-size: 15px; line-height: 20px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.rd-art-row > .rd-i:last-child { flex-shrink: 0; color: var(--em-muted); }

/* 5.8 Бренды */
.rd-brands {
  min-height: 96px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  padding: 0 32px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
}
.rd-brands-l { display: flex; align-items: center; gap: 14px; }
.rd-brands-ico { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-green-wash); color: #1f7a4a; }
.rd-brands-l > div { display: flex; flex-direction: column; }
.rd-brands-l b { font-size: 16px; line-height: 22px; font-weight: 700; }
.rd-brands-l span { font-size: 13px; line-height: 18px; color: var(--em-muted); }
.rd-brands-names { display: flex; align-items: center; gap: 56px; }
.rd-brands-names a { font-size: 28px; line-height: 1; font-weight: 700; letter-spacing: -.02em; color: #707a88; text-decoration: none; transition: color .15s ease; }
.rd-brands-names a:hover { color: var(--rd-btn); }

/* 5.9 Средние экраны */
@media (max-width: 1199px) {
  .rd-hero { grid-template-columns: minmax(0, 1fr) 380px; }
  .rd-hero-main { height: 380px; padding: 36px 36px; }
  .rd-hero-slider { width: 380px; height: 380px; }
  .rd-hero-title { font-size: 34px; line-height: 40px; }
  .rd-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rd-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-promo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-promo-ban:nth-of-type(2) { display: none; }
  .rd-arts { grid-template-columns: 1fr; }
  .rd-brands-names { gap: 32px; }
  .rd-brands-names a { font-size: 22px; }
}

/* 5.10 Телефон и планшет (макет MHome): тёмного блока нет, остаётся заголовок */
@media (max-width: 991px) {
  #index #wrapper { padding-top: 12px; }
  .rd-hero { display: block; }
  .rd-hero-main {
    height: auto; padding: 0;
    background: none; border-radius: 0; overflow: visible;
    color: var(--em-ink);
  }
  .rd-hero-glow, .rd-hero-lamp, .rd-hero-spec, .rd-hero-title, .rd-hero-lead, .rd-hero-cta { display: none; }
  .rd-hero-text { gap: 0; max-width: none; }
  #index .rd-hero-kicker { font-size: 18px; line-height: 24px; letter-spacing: -.01em; text-transform: none; color: var(--em-ink); }
  #index .rd-hero-kicker span { color: var(--rd-btn); }

  .rd-mchips {
    display: flex; gap: 8px;
    margin: 12px -12px 0; padding: 0 12px;
    overflow-x: auto; scrollbar-width: none;
  }
  .rd-mchips::-webkit-scrollbar { display: none; }
  .rd-chip-pill { border-radius: 999px; gap: 7px; }

  /* баннеры — лента, которую листают пальцем */
  .rd-hero-slider {
    width: auto; height: auto;
    margin: 12px -12px 0;
    border-radius: 0; overflow: visible;
    background: none; box-shadow: none;
  }
  .rd-hero-slider .homeslider-container { height: auto; }
  .rd-hero-slider .rslides {
    display: flex !important; gap: 8px;
    height: auto;
    padding: 0 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .rd-hero-slider .rslides::-webkit-scrollbar { display: none; }
  .rd-hero-slider .rslides li {
    position: relative !important;
    display: block !important;
    float: none !important;
    flex: 0 0 min(342px, calc(100vw - 48px));
    width: auto !important; height: auto;
    opacity: 1 !important;
    z-index: auto !important;
    scroll-snap-align: center;
    border-radius: 12px; overflow: hidden;
    box-shadow: var(--em-sh-1);
  }
  .rd-hero-slider .rslides img { aspect-ratio: 1 / 1; height: auto; }
  .rd-hero-slider .homeslider_nav { display: none !important; }
  .rd-dots { position: static; justify-content: center; margin-top: 10px; padding: 0; background: none; pointer-events: none; }
  .rd-dots span { background: #c9d1db; }
  .rd-dots span.is-on { width: 20px; background: var(--rd-btn); }

  .rd-sec { margin-top: 28px; }
  .rd-bar { width: 36px; margin-bottom: 10px; }
  #index .rd-h2 { font-size: 22px; line-height: 28px; }
  .rd-sec-head { align-items: flex-end; }
  .rd-arrow { display: none; }

  .rd-benefits { margin-top: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .rd-ben { min-height: 64px; gap: 10px; padding: 8px 12px; }
  .rd-ben-ico { width: 36px; height: 36px; border-radius: 9px; }
  .rd-ben-ico .rd-i { width: 19px; height: 19px; }
  .rd-ben b { font-size: 13.5px; line-height: 18px; font-weight: 700; }
  .rd-ben-sub { font-size: 12px; line-height: 16px; }

  .rd-tiles { margin-top: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .rd-tile { height: auto; padding: 8px 8px 10px; }
  .rd-tile-img { height: 84px; }
  .rd-tile-name { margin-top: 8px; font-size: 12.5px; line-height: 16px; justify-content: center; text-align: center; }
  .rd-tile-name .rd-i { display: none; }
  .rd-sec .rd-chips { display: none; }

  /* хиты — сеткой в две колонки, первые 4; полка раздела — лентой */
  .rd-shelf { margin-top: 14px; grid-auto-columns: 178px; gap: 10px; margin-left: -12px; margin-right: -12px; padding-left: 12px; padding-right: 12px; scroll-padding-left: 12px; }
  .rd-shelf-grid {
    grid-auto-flow: row; grid-auto-columns: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0;
  }
  .rd-shelf-grid > .js-product:nth-child(n+5) { display: none; }
  .rd-all-m {
    height: 44px; margin-top: 4px;
    display: flex; align-items: center; justify-content: center;
    border: 1.5px solid var(--em-line); border-radius: 8px;
    background: #fff; color: var(--em-ink);
    font-size: 15px; font-weight: 600;
    text-decoration: none;
  }
  .rd-all-m:hover { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }

  .rd-promo { grid-template-columns: 1fr; }
  .rd-promo-ban { display: none; }
  .rd-promo-consult { padding: 22px 18px 18px; }
  .rd-promo-h { margin-top: 8px; font-size: 22px; line-height: 28px; }
  .rd-promo-p { margin-top: 8px; font-size: 14.5px; line-height: 22px; }
  .rd-promo-gap { min-height: 16px; }
  #index .rd-promo-tel { font-size: 20px; line-height: 26px; }

  .rd-arts { margin-top: 14px; grid-template-columns: 1fr; }
  .rd-art-main { height: auto; grid-template-columns: 1fr; }
  .rd-art-main img { height: 180px; }
  .rd-art-body { gap: 6px; padding: 14px 16px 16px; }
  .rd-art-title { font-size: 17px; line-height: 23px; }
  .rd-art-text { display: none; }
  .rd-art-read { margin-top: 4px; }
  .rd-art-list { display: none; }

  .rd-brands { display: none; }
}

/* --------------------------------------------------------------------------
   6. РАЗДЕЛ КАТАЛОГА И ФИЛЬТРЫ (макеты Catalog, MCategory, MFilters)
   -------------------------------------------------------------------------- */
/* 6.1 Заголовок раздела на всю ширину */
.rd-cat-head {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 16px;
  padding-top: 10px;
}
#wrapper .rd-cat-title {
  margin: 0; padding: 0;
  font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em;
  color: var(--em-ink);
}
.rd-cat-title::before { display: none; }
.rd-cat-ship { display: flex; align-items: center; gap: 8px; font-size: 14px; line-height: 20px; color: var(--em-muted); white-space: nowrap; }
.rd-cat-ship .rd-i { color: var(--em-green); flex-shrink: 0; }

/* 6.2 Подразделы — плитки */
.rd-subcats { margin-top: 20px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.rd-subcat {
  min-height: 80px;
  box-sizing: border-box;
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px 10px 10px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  color: var(--em-ink);
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.rd-subcat:hover { border-color: var(--em-blue); box-shadow: 0 10px 34px rgba(16,27,45,.10); color: var(--em-ink); }
.rd-subcat-img { width: 60px; height: 60px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 8px; overflow: hidden; background: #fff; }
.rd-subcat-img picture { display: contents; }
.rd-subcat-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rd-subcat-name { flex: 1 1 0; min-width: 0; font-size: 15px; line-height: 20px; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; -webkit-hyphens: auto; hyphens: auto; }
.rd-subcat > .rd-i { flex-shrink: 0; color: var(--em-muted); }
@media (max-width: 1199px) {
  .rd-subcats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* длинное слово («профессиональные») обрезалось: картинка поменьше, без стрелки,
     а если слово всё равно не влезает — перенос внутри слова */
  .rd-subcat { gap: 10px; }
  .rd-subcat-img { width: 48px; height: 48px; }
  .rd-subcat > .rd-i { display: none; }
  .rd-subcat-name { overflow-wrap: anywhere; -webkit-line-clamp: 3; font-size: 14.5px; }
}

/* 6.3 Две колонки: фильтры 248 px и товары */
/* сетка Bootstrap в теме — на float; строку страницы делаем флексом:
   колонка фильтров 248 px (+15 px поля колонки), остальное — товары */
@media (min-width: 768px) {
  #wrapper > .container > .row { display: flex; flex-wrap: nowrap; align-items: flex-start; }
  #wrapper > .container > .row::before,
  #wrapper > .container > .row::after { display: none; }
  #wrapper > .container > .row > #left-column {
    order: 0;
    float: none;
    flex: 0 0 263px;
    width: 263px;
    max-width: none;
    padding-right: 0;
  }
  #wrapper > .container > .row > #content-wrapper {
    order: 1;
    float: none;
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
  }
  #wrapper > .container > .row > #content-wrapper.left-column { padding-left: 24px; }
}
/* планшет 768–991: в custom.css (аудит 15.08) обе колонки растянуты на 100 % с !important —
   при строке без переноса раздел уезжал вбок на всю ширину экрана. Фильтры — узкой
   колонкой 240 px слева, товары — рядом (на телефоне до 767 px фильтры в шторке). */
@media (min-width: 768px) and (max-width: 991px) {
  #wrapper > .container > .row > #left-column { flex: 0 0 240px !important; width: 240px !important; max-width: none !important; }
  #wrapper > .container > .row > #content-wrapper { flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0; }
  #wrapper > .container > .row > #content-wrapper.left-column { padding-left: 16px; }
}
/* обёртка фильтров раньше была карточкой — теперь карточка сам блок фильтров */
#left-column #search_filters_wrapper { margin: 0; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; }
body#category #wrapper > .container > .row { margin-top: 28px; }

/* 6.4 Панель фильтров */
#left-column #search_filters.rd-filters {
  padding: 20px;
  margin: 0;
  background: #fff;
  border: 1px solid var(--em-line);
  border-radius: 12px;
  box-shadow: none;
}
.rd-filters-head { display: flex; align-items: center; justify-content: space-between; min-height: 28px; }
.rd-filters-title { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 18px; line-height: 24px; font-weight: 700; color: var(--em-ink); }
.rd-filters-reset {
  height: 28px; padding: 0; border: 0; background: none;
  color: var(--rd-btn); font: 600 14px/1 var(--em-font);
  cursor: pointer;
}
.rd-filters-reset:hover { color: var(--em-blue); }
#search_filters .rd-facet {
  margin: 0;
  padding: 18px 0;
  border: 0;
  border-top: 1px solid var(--em-line);
  box-shadow: none;
  background: none;
}
#search_filters .rd-facet-stock { margin-top: 8px; padding: 0; border-top: 0; }
.rd-ftoggle {
  min-height: 44px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  color: var(--em-ink);
  font-size: 14.5px; font-weight: 600;
  text-decoration: none;
}
.rd-ftoggle:hover { color: var(--em-ink); }
.rd-switch {
  position: relative;
  width: 44px; height: 26px; flex-shrink: 0;
  border-radius: 999px;
  background: #c9d1db;
  transition: background .15s ease;
}
.rd-switch i {
  position: absolute; top: 2px; left: 2px;
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgba(16,27,45,.25);
  transition: left .15s ease;
}
.rd-switch.is-on { background: var(--rd-btn); }
.rd-switch.is-on i { left: 20px; }
.rd-ftoggle:hover .rd-switch:not(.is-on) { background: #b6bec8; }
#search_filters .rd-facet-title {
  margin: 0 0 12px;
  display: flex; align-items: center; justify-content: space-between;
  font-size: 15px; line-height: 20px; font-weight: 700;
  letter-spacing: 0; text-transform: none;
  color: var(--em-ink);
}
/* цена: поля «от» и «до» и ползунок */
.rd-price { display: flex; gap: 8px; margin-bottom: 16px; }
.rd-price-f {
  flex: 1 1 0; min-width: 0;
  height: 44px; margin: 0;
  box-sizing: border-box;
  display: flex; align-items: center; gap: 6px;
  padding: 0 10px 0 12px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.rd-price-f:focus-within { border-color: var(--em-blue); box-shadow: 0 0 0 4px rgba(0,158,224,.12); }
.rd-price-f span { font-size: 13px; color: var(--em-muted); }
#search_filters .rd-price-f input {
  width: 100%; min-width: 0; height: auto;
  margin: 0; padding: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0;
  color: var(--em-ink); font-size: 15px;
  -moz-appearance: textfield;
  appearance: textfield;
}
#search_filters .rd-price-f input::-webkit-outer-spin-button,
#search_filters .rd-price-f input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
#search_filters .rd-slider { list-style: none; margin: 0 10px 4px; padding: 0; }
#search_filters .rd-slider li { margin: 0; }
#search_filters .rd-slider-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); margin: 0; }
#search_filters .rd-slider .ui-slider {
  position: relative;
  height: 4px; margin: 8px 0;
  border: 0; border-radius: 4px;
  background: var(--em-line);
}
#search_filters .rd-slider .ui-slider .ui-slider-range { top: 0; height: 100%; border-radius: 4px; background: var(--em-blue); }
#search_filters .rd-slider .ui-slider .ui-slider-handle {
  top: -8px;
  width: 20px; height: 20px; margin-left: -10px;
  box-sizing: border-box;
  border: 2px solid var(--em-blue); border-radius: 50%;
  background: #fff;
  box-shadow: var(--em-sh-1);
  cursor: pointer;
  outline: 0;
}
#search_filters .rd-slider .ui-slider .ui-slider-handle:focus-visible { box-shadow: 0 0 0 4px rgba(0,158,224,.3); }
/* «фишки» */
.rd-fchips { display: flex; flex-wrap: wrap; gap: 8px; }
#search_filters .rd-fchip {
  height: 36px;
  box-sizing: border-box;
  display: inline-flex; align-items: center;
  padding: 0 12px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  color: var(--em-ink);
  font-size: 13.5px; font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
#search_filters .rd-fchip:hover { border-color: var(--em-blue); }
#search_filters .rd-fchip.is-on { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }
/* флажки */
#search_filters .rd-fchecks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
#search_filters .rd-fchecks li { margin: 0; }
#search_filters .rd-fcheck {
  min-height: 32px;
  display: flex; align-items: center; gap: 10px;
  margin: 0;
  font-size: 14.5px; line-height: 1.4; font-weight: 400;
  color: var(--em-ink);
  cursor: pointer;
}
#search_filters .rd-fcheck input { width: 18px; height: 18px; margin: 0; flex-shrink: 0; accent-color: var(--rd-btn); cursor: pointer; }
#search_filters .rd-fcheck a { flex: 1 1 auto; min-width: 0; color: var(--em-ink); font-size: inherit; text-decoration: none; }
#search_filters .rd-fcheck a:hover { color: var(--rd-btn); }
#search_filters .rd-fcheck .magnitude { flex-shrink: 0; font-size: 13px; color: var(--em-faint); }
.rd-fcolor { width: 18px; height: 18px; flex-shrink: 0; border-radius: 50%; border: 1px solid var(--em-line); background-size: cover; }
.rd-filters-foot { padding-top: 16px; border-top: 1px solid var(--em-line); }
.rd-filters-go { width: 100%; height: 44px; display: flex; align-items: center; justify-content: center; padding: 0 20px; }

/* 6.5 Панель над товарами: сортировка, число товаров */
#js-product-list-top.rd-toolbar {
  min-height: 44px;
  margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: none; border: 0; box-shadow: none;
}
#js-product-list-top .rd-sort,
.rd-sort { position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 0; width: auto; max-width: none; flex: none; background: none; border: 0; box-shadow: none; }
.rd-sort-label { font-size: 14px; color: var(--em-muted); white-space: nowrap; }
.rd-sort-btn {
  height: 40px;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 0 12px 0 14px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  color: var(--em-ink);
  font: 600 14px/1 var(--em-font);
  white-space: nowrap;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.rd-sort-btn:hover, .rd-sort.show .rd-sort-btn, .rd-sort-btn[aria-expanded="true"] { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-sort-btn .rd-i:first-child { color: var(--em-muted); }
.rd-sort-btn:hover .rd-i:first-child { color: inherit; }
.rd-sort .rd-sort-menu {
  min-width: 240px;
  margin-top: 6px; padding: 6px;
  border: 1px solid var(--em-line); border-radius: 12px;
  background: #fff;
  box-shadow: var(--em-sh-2);
}
.rd-sort .rd-sort-menu .select-list {
  display: flex; align-items: center;
  min-height: 40px; padding: 0 12px;
  border-radius: 8px;
  color: var(--em-ink);
  font-size: 14.5px;
  text-decoration: none;
}
.rd-sort .rd-sort-menu .select-list:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-sort .rd-sort-menu .select-list.current { background: var(--em-blue-wash); color: var(--rd-btn); font-weight: 600; }
.rd-total { margin: 0; font-size: 14px; color: var(--em-muted); white-space: nowrap; }
/* быстрый выбор длины над списком — на компьютере он дублирует фильтр слева */
@media (min-width: 768px) { .em-len-chips { display: none !important; } }

/* 6.6 Выбранные фильтры */
/* в custom.css блок скрыт, пока в нём нет старых .filter-block — у нас свои фишки */
#js-active-search-filters.rd-active { display: block; margin: 12px 0 0; padding: 0; background: none; border: 0; box-shadow: none; }
#js-active-search-filters.rd-active.hide { display: none; }
.rd-active-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rd-active-list li { margin: 0; }
.rd-achip {
  height: 34px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 10px 0 12px;
  border: 1.5px solid var(--em-blue); border-radius: 8px;
  background: var(--em-blue-wash);
  color: var(--rd-btn);
  font-size: 13.5px; font-weight: 600;
  white-space: nowrap;
  text-decoration: none;
}
.rd-achip:hover { background: #d7eefa; color: var(--rd-btn); }
.rd-aclear { height: 34px; margin-left: 4px; padding: 0; border: 0; background: none; color: var(--rd-btn); font: 600 14px/1 var(--em-font); cursor: pointer; }
.rd-aclear:hover { color: var(--em-blue); }

/* 6.7 Сетка раздела и карточка «Подбор…» */
#js-product-list .products { margin-top: 16px; }
/* карточка «Подбор…» стоит после 4-го товара; где в ряду 5 или 3 колонки (поиск, раздел
   без фильтров, узкий экран), она переносится на новую строку — плотная раскладка
   ставит следующий товар в освободившуюся клетку, дыры в сетке нет */
#js-product-list .products { grid-auto-flow: row dense; }
.rd-pick {
  grid-column: span 2;
  position: relative;
  box-sizing: border-box;
  min-height: 100%;
  display: flex; flex-direction: column;
  padding: 32px;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--em-navy);
  background-image:
    radial-gradient(closest-side, rgba(255,206,128,.4), rgba(255,206,128,0)),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 300px 300px, 32px 32px, 32px 32px;
  background-position: right -40px top -40px, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat;
  color: #fff;
}
.rd-pick-img {
  position: absolute; right: 36px; top: 36px;
  width: 128px; height: 128px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 20px 60px rgba(255,190,90,.35);
  overflow: hidden;
}
.rd-pick-img img { width: 96px; height: 96px; object-fit: contain; }
.rd-pick .rd-consult-kicker { position: relative; font-size: 12.5px; line-height: 17px; }
.rd-pick-h { position: relative; margin: 12px 0 0; max-width: 300px; font-size: 26px; line-height: 32px; font-weight: 700; letter-spacing: -.02em; color: #fff; }
.rd-pick-p { position: relative; margin: 12px 0 0; max-width: 420px; font-size: 15px; line-height: 24px; color: rgba(255,255,255,.76); }
.rd-pick .rd-pick-link { position: relative; margin-top: 16px; width: fit-content; display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; color: #7fd3f5; text-decoration: none; }
.rd-pick .rd-pick-link:hover { color: #fff; }
.rd-pick-gap { flex: 1 1 0; min-height: 20px; }
.rd-pick .rd-msgr { position: relative; margin-top: 0; }

/* 6.8 «Показать ещё» и номера страниц */
#js-product-list .pagination.rd-pager {
  width: 100%;
  margin: 24px 0 0; padding: 0;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.rd-more-btn {
  height: 48px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 24px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  color: var(--em-ink);
  font-size: 15px; font-weight: 600; letter-spacing: .01em;
  white-space: nowrap;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.rd-more-btn:hover { background: var(--em-blue-wash); border-color: var(--em-blue); color: var(--rd-btn); }
.rd-more-btn.is-busy { opacity: .6; pointer-events: none; }
.rd-more-end { font-size: 14px; color: var(--em-muted); }
.rd-pager .rd-pages { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 6px; }
.rd-pager .rd-pages li { margin: 0; }
.rd-pager .rd-pages a,
.rd-pager .rd-pages .spacer {
  width: 44px; height: 44px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border-radius: 8px;
  font-size: 15px; font-weight: 600;
  text-decoration: none;
}
.rd-pager .rd-pages a { border: 1px solid var(--em-line); background: #fff; color: var(--em-ink); }
.rd-pager .rd-pages a:hover { border-color: var(--em-blue); color: var(--rd-btn); background: #fff; }
.rd-pager .rd-pages .current a { border: 0; background: var(--rd-btn); color: #fff; }
.rd-pager .rd-pages a.disabled { opacity: .4; pointer-events: none; }
.rd-pager .rd-pages .spacer { width: 24px; color: var(--em-muted); }
/* старые правила .pagination .page-list (custom.css) сильнее — повторяем с их весом */
.pagination.rd-pager .page-list.rd-pages {
  display: flex; flex-wrap: wrap; gap: 6px;
  padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none;
}
.pagination.rd-pager .page-list li a,
.pagination.rd-pager .page-list li span { min-width: 44px; height: 44px; border-radius: 8px; letter-spacing: 0; }
.pagination.rd-pager .page-list li a { border: 1px solid var(--em-line); background: #fff; color: var(--em-ink); }
.pagination.rd-pager .page-list li a:hover { border-color: var(--em-blue); background: #fff; color: var(--rd-btn); }
.pagination.rd-pager .page-list li.current a { border: 0; background: var(--rd-btn); color: #fff; opacity: 1; }
.pagination.rd-pager .page-list li .spacer { min-width: 24px; border: 0; background: none; }
#js-product-list .pagination.rd-pager .rd-more-btn { letter-spacing: .01em; font-size: 15px; }

/* 6.9 Низ страницы: статьи и описание раздела */
.rd-cat-foot { margin-top: 32px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.rd-cat-foot.is-single { grid-template-columns: 1fr; }
.rd-cat-foot .em-cat-articles,
.rd-cat-desc {
  position: relative;
  box-sizing: border-box;
  margin: 0;
  padding: 18px 20px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: none;
}
.rd-cat-foot .em-cat-articles-title { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 16px; line-height: 22px; font-weight: 700; color: var(--em-ink); }
.rd-cat-foot .em-cat-articles-title::before {
  content: "";
  width: 18px; height: 18px; flex-shrink: 0;
  background: var(--em-blue);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2V16h5v-.1c0-.8.4-1.5 1-2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 21h4M12 3a6 6 0 0 0-3.5 10.9c.6.5 1 1.2 1 2V16h5v-.1c0-.8.4-1.5 1-2A6 6 0 0 0 12 3z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.rd-cat-foot .em-cat-articles ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.rd-cat-foot .em-cat-articles li { margin: 0; padding: 0; }
.rd-cat-foot .em-cat-articles li::before { display: none; }
.rd-cat-foot .em-cat-articles a { font-size: 14.5px; line-height: 21px; color: var(--rd-btn); text-decoration: none; }
.rd-cat-foot .em-cat-articles a:hover { color: var(--em-blue); text-decoration: underline; text-underline-offset: 3px; }
#wrapper .rd-cat-desc-h { margin: 0; padding: 0; font-size: 16px; line-height: 22px; font-weight: 700; letter-spacing: 0; }
.rd-cat-desc-h::before { display: none; }
.rd-cat-desc-text { margin-top: 10px; font-size: 14.5px; line-height: 22px; color: var(--em-ink); }
.rd-cat-desc-text > :last-child { margin-bottom: 0; }
.rd-cat-desc.is-collapsed .rd-cat-desc-text { max-height: 176px; overflow: hidden; }
.rd-cat-desc.is-collapsed .rd-cat-desc-text::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: 60px;
  height: 40px;
  background: linear-gradient(rgba(255,255,255,0), #fff);
  pointer-events: none;
}
.rd-cat-desc-more {
  margin-top: 4px;
  height: 44px;
  display: inline-flex; align-items: center; gap: 4px;
  padding: 0; border: 0; background: transparent;
  color: var(--rd-btn);
  font: 600 14px/1 var(--em-font);
  cursor: pointer;
}
.rd-cat-desc-more .rd-i { transition: transform .2s ease; }
.rd-cat-desc:not(.is-collapsed) .rd-cat-desc-more .rd-i { transform: rotate(180deg); }

/* 6.10 Шторка фильтров на телефоне (макет MFilters) */
.em-filter-sheet { max-height: 92vh; }
.em-filter-grab { display: block; width: 40px; height: 4px; margin: 8px auto 0; border-radius: 4px; background: #d3d9e1; flex-shrink: 0; }
.em-filter-sheet-head { gap: 8px; padding: 6px 8px 8px 16px; }
.em-filter-sheet-head b { flex: 1 1 auto; font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; }
.em-filter-reset {
  height: 44px; padding: 0 8px;
  border: 0; background: none;
  color: var(--rd-btn); font: 600 15px/1 var(--em-font);
  cursor: pointer;
}
.em-filter-sheet-body #search_filters.rd-filters { padding: 0 0 8px; }
.em-filter-sheet-body .rd-filters-head,
.em-filter-sheet-body .rd-filters-foot { display: none; }
.em-filter-sheet-body #search_filters .rd-facet-stock { margin-top: 0; }
.em-filter-sheet-body #search_filters .rd-fchip { height: 44px; padding: 0 14px; font-size: 14.5px; }
.em-filter-sheet-body #search_filters .rd-fcheck { min-height: 44px; }
.em-filter-sheet-foot { padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--em-line); background: #fff; }
.em-filter-sheet-foot .em-filter-apply { width: 100%; height: 52px; font-size: 16px; }
.em-filter-btn { position: relative; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 8px; font-size: 14.5px; }
.em-filter-count {
  min-width: 20px; height: 20px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--rd-btn); color: #fff;
  font-size: 11.5px; font-weight: 700;
}

/* 6.11 Телефон (макет MCategory) */
@media (max-width: 767px) {
  .rd-cat-head { display: block; padding-top: 4px; }
  #wrapper .rd-cat-title { font-size: 24px; line-height: 30px; }
  .rd-cat-ship { margin-top: 4px; font-size: 13px; white-space: normal; }

  /* подразделы — кружки строкой */
  .rd-subcats {
    display: flex; gap: 4px;
    margin: 14px -12px 0; padding: 0 12px;
    overflow-x: auto; scrollbar-width: none;
  }
  .rd-subcats::-webkit-scrollbar { display: none; }
  .rd-subcat {
    flex: 0 0 84px; min-height: 0;
    flex-direction: column; gap: 6px;
    padding: 0 0 4px;
    background: none; border: 0; border-radius: 0;
    text-align: center;
  }
  .rd-subcat:hover { box-shadow: none; }
  .rd-subcat-img { width: 64px; height: 64px; border-radius: 50%; border: 1px solid var(--em-line); }
  .rd-subcat-img img { max-width: 44px; max-height: 44px; }
  .rd-subcat-name { flex: none; font-size: 12px; line-height: 15px; }
  .rd-subcat-name .rd-short { display: inline-block !important; }
  .rd-subcat-name .rd-short::first-letter { text-transform: uppercase; }
  .rd-subcat > .rd-i { display: none; }

  body#category #wrapper > .container > .row { margin-top: 16px; }
  #js-product-list-top.rd-toolbar { justify-content: flex-start; flex-wrap: nowrap; gap: 8px; }
  .rd-sort-label, .rd-total { display: none; }
  #js-product-list-top .rd-sort { flex: 1 1 auto; min-width: 0; }
  .rd-sort-btn { height: 44px; width: 100%; justify-content: space-between; }
  .rd-sort-btn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
  #js-product-list-top .em-filter-btn { flex: 0 0 auto; }
  .rd-sort-btn .rd-i:first-child { display: none; }
  .rd-active-list { gap: 6px; }
  .rd-achip, .rd-aclear { height: 40px; }

  .rd-pick { grid-column: 1 / -1; padding: 18px 16px 16px; }
  .rd-pick-img { right: 16px; top: 16px; width: 72px; height: 72px; }
  .rd-pick-img img { width: 52px; height: 52px; }
  .rd-pick-h { margin-top: 8px; max-width: calc(100% - 84px); font-size: 18px; line-height: 24px; }
  .rd-pick-p { font-size: 14px; line-height: 21px; max-width: none; }
  .rd-pick .rd-pick-link { display: none; }
  .rd-pick-gap { min-height: 14px; }

  #js-product-list .pagination.rd-pager { flex-direction: column; align-items: stretch; gap: 12px; }
  .rd-more-btn { width: 100%; }
  .rd-pager .rd-pages { justify-content: center; flex-wrap: wrap; }

  .rd-cat-foot { grid-template-columns: 1fr; margin-top: 24px; }
  .rd-cat-foot .em-cat-articles a { display: block; padding: 6px 0; }
}

/* --------------------------------------------------------------------------
   7. ПОИСК: подсказки (макет MSearch; на компьютере — выпадающий список)
   -------------------------------------------------------------------------- */
/* компьютер: панель под полем, пока поле в фокусе и в панели что-то есть.
   position: relative — только здесь: на телефоне .rd-search — экран на весь экран (fixed) */
@media (min-width: 992px) {
  .rd-search { position: relative; }
  .rd-search .rd-search-body {
    display: none;
    position: absolute;
    left: 0; right: 0; top: calc(100% + 8px);
    z-index: 80;
    max-height: min(72vh, 640px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px 12px 14px;
    background: var(--em-surface);
    border: 1px solid var(--em-line);
    border-radius: 12px;
    box-shadow: 0 24px 48px rgba(16,27,45,.18);
  }
  .rd-search.is-open.has-panel .rd-search-body { display: block; }
}
@media (max-width: 991px) {
  .rd-search .rd-search-body { padding: 12px 12px 24px; }
  /* поле в экране поиска — с рамкой фокуса, как в макете */
  #header .rd-search .search-widgets form { border: 2px solid var(--em-blue); background: #fff; box-shadow: 0 0 0 3px rgba(0,158,224,.15); }
  #header .rd-search .search-widgets input[name="s"] { font-size: 16px; }
}

.rd-sg { display: flex; flex-direction: column; }
.rd-sg-sec { margin-top: 0; }
.rd-sg-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin: 18px 4px 8px;
  font-size: 13px; line-height: 18px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--em-muted);
}
.rd-sg > .rd-sg-card:first-child { margin-top: 10px; }
#header .rd-sg-clear, #header .rd-sg-all,
.rd-sg-clear, .rd-sg-all {
  height: 32px;
  display: inline-flex; align-items: center;
  padding: 0; border: 0; background: none;
  color: var(--rd-btn);
  font: 600 13.5px/1 var(--em-font);
  letter-spacing: 0; text-transform: none;
  text-decoration: none;
  cursor: pointer;
}
.rd-sg-card { background: #fff; border: 1px solid var(--em-line); border-radius: 12px; overflow: hidden; }
.rd-sg-card > * + * { border-top: 1px solid var(--em-line); }

.rd-sg-row {
  width: 100%; min-height: 50px;
  display: flex; align-items: center; gap: 12px;
  padding: 0 14px;
  border: 0; background: #fff;
  color: var(--em-ink);
  font: 400 15.5px/1.3 var(--em-font);
  text-align: left;
  cursor: pointer;
}
.rd-sg-row > .rd-i { color: var(--em-muted); flex-shrink: 0; }
.rd-sg-rtext { flex: 1 1 auto; min-width: 0; }
.rd-sg-rtext b { font-weight: 700; }
.rd-sg-fill { display: flex; color: var(--em-muted); }

.rd-sg-cat {
  min-height: 60px;
  display: flex; align-items: center; gap: 12px;
  padding: 0 14px;
  color: var(--em-ink);
  text-decoration: none;
}
.rd-sg-cimg { width: 40px; height: 40px; flex-shrink: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border: 1px solid var(--em-line); border-radius: 8px; background: #fff; overflow: hidden; }
.rd-sg-cimg img { max-width: 32px; max-height: 32px; object-fit: contain; }
.rd-sg-cname { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 20px; font-weight: 600; }
.rd-sg-cat > .rd-i { color: var(--em-muted); flex-shrink: 0; }

.rd-sg-prod { display: flex; align-items: center; gap: 12px; padding: 12px 14px; }
.rd-sg-pimg { width: 64px; height: 64px; flex-shrink: 0; box-sizing: border-box; display: flex; align-items: center; justify-content: center; padding: 4px; border: 1px solid var(--em-line); border-radius: 8px; background: #fff; }
.rd-sg-pimg img { max-width: 100%; max-height: 100%; object-fit: contain; }
.rd-sg-pbody { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rd-sg-pname { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 19px; color: var(--em-ink); text-decoration: none; }
.rd-sg-price { font-size: 16px; font-weight: 700; color: var(--em-ink); font-variant-numeric: tabular-nums; }
.rd-sg-buy { margin: 0; flex-shrink: 0; }
.rd-sg-buy.is-busy { opacity: .6; pointer-events: none; }
.rd-sg-add {
  width: 44px; height: 44px;
  display: flex; align-items: center; justify-content: center;
  padding: 0; border: 0; border-radius: 50%;
  background: var(--rd-btn); color: #fff;
  cursor: pointer;
  transition: background .15s ease;
}
.rd-sg-add:hover { background: var(--rd-btn-hover); }

.rd-sg-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rd-sg-chip {
  height: 40px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 12px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  color: var(--em-ink);
  font: 600 14px/1 var(--em-font);
  white-space: nowrap;
  cursor: pointer;
}
.rd-sg-chip.is-hist { border-radius: 999px; padding: 0 14px; }
.rd-sg-chip.is-hist .rd-i { color: var(--em-muted); }
.rd-sg-chip:hover { border-color: var(--em-blue); }

.rd-sg-none { margin-top: 12px; padding: 16px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-sg-none p { margin: 0; color: var(--em-muted); font-size: 14.5px; }
.rd-sg-none .rd-sg-none-h { margin-bottom: 4px; color: var(--em-ink); font-size: 16px; font-weight: 700; }

.rd-sg .is-active, .rd-sg-row:hover, .rd-sg-cat:hover { background: var(--em-blue-wash); }
.rd-sg-pname.is-active { background: none; color: var(--rd-btn); }
.rd-search.is-loading .rd-sg { opacity: .6; transition: opacity .15s ease; }
@media (max-width: 991px) {
  .rd-sg-chip { height: 44px; }
  .rd-sg-clear, .rd-sg-all { height: 44px; }
}

/* выдача поиска: заголовок с запросом */
.rd-search-head-title { padding-top: 4px; margin-bottom: 20px; }
@media (max-width: 767px) { .rd-search-head-title { margin-bottom: 12px; } }

/* --------------------------------------------------------------------------
   8. СТРАНИЦА ТОВАРА (макеты Product, MProduct, Calc, MCalc, PriceRequest,
      MPriceRequest, NoPhoto, MNoPhoto; 28.09.2026)
   Компьютер (от 992 px): галерея 632 px слева, справа название, шильдик,
   главные характеристики и блок покупки; ниже вкладки. Меньше 992 px — одна
   колонка из белых секций во всю ширину, вкладки — раскрывающимися разделами,
   блок .product-add-to-cart — панелью внизу экрана (вместо нижней навигации).
   -------------------------------------------------------------------------- */
.em-buybar { display: none !important; }            /* старая липкая панель из custom.js */

.rd-product { --rd-gut: 48px; padding-top: 16px; }
.rd-ptop {
  display: grid;
  grid-template-columns: minmax(0, 632px) minmax(0, 1fr);
  gap: 32px;
  align-items: start;
}

/* 8.1 Галерея */
.rd-product .rd-pgal .page-content { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.rd-product .rd-gal {
  display: flex; gap: 16px;
  margin: 0; padding: 16px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
}
#main .rd-gal .rd-gal-main {
  position: relative;
  flex: 1 1 0; min-width: 0;
  height: 510px;
  display: flex; align-items: center; justify-content: center;
  margin: 0; padding: 0;
  background: #fff; border: 0; border-radius: 8px; box-shadow: none;
  overflow: hidden;
}
#main .rd-gal.is-nophoto .rd-gal-main,
#main .rd-gal:not(.has-thumbs) .rd-gal-main { height: 560px; }
#main .rd-gal .rd-gal-main picture { display: contents; }
#main .rd-gal .rd-gal-main img {
  display: block;
  max-width: 100%; max-height: 100%;
  width: auto; height: auto;
  object-fit: contain;
  border-radius: 0;
  background: none;
}
.rd-gal-brand {
  position: absolute; top: 8px; left: 8px;
  height: 26px;
  display: inline-flex; align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--em-navy); color: #fff;
  font-size: 12.5px; font-weight: 700;
  pointer-events: none;
}
.rd-gal.is-nophoto .rd-gal-brand { display: none; }
.rd-gal-zoom {
  position: absolute; right: 8px; bottom: 8px;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border: 1px solid var(--em-line); border-radius: 50%;
  background: #fff; color: var(--em-ink);
  cursor: zoom-in;
}
.rd-gal-zoom:hover { border-color: var(--em-blue); color: var(--rd-btn); }
.rd-gal-tools, .rd-gal-count { display: none; }

.rd-gal-thumbs { order: -1; flex: 0 0 72px; margin: 0; width: 72px; }
.rd-product .rd-gal-thumbs.js-qv-mask { width: 72px; overflow: visible; }
.rd-product .rd-gal-thumbs .product-images {
  display: flex; flex-direction: column; gap: 10px;
  margin: 0; padding: 0;
  max-height: 510px;
  overflow-y: auto;
  scrollbar-width: none;
  list-style: none;
  white-space: normal;
}
.rd-product .rd-gal-thumbs .product-images::-webkit-scrollbar { display: none; }
.rd-product .rd-gal-thumbs .thumb-container { display: block; width: 72px; height: 72px; margin: 0; flex-shrink: 0; }
.rd-product .rd-gal-thumbs .thumb-container picture { display: block; width: 100%; height: 100%; }
.rd-product .rd-gal-thumbs .product-images > li.thumb-container > .thumb,
.rd-product .rd-gal-thumbs .product-images > li.thumb-container .thumb {
  display: block;
  width: 72px; height: 72px;
  margin: 0; padding: 4px;
  box-sizing: border-box;
  object-fit: contain;
  background: #fff;
  border: 2px solid var(--em-line) !important;
  border-radius: 8px;
  cursor: pointer;
}
.rd-product .rd-gal-thumbs .product-images > li.thumb-container .thumb.selected,
.rd-product .rd-gal-thumbs .product-images > li.thumb-container .thumb:hover { border-color: var(--em-blue) !important; }

/* 8.2 Заглушка «Фото скоро появится» — в карточках, галерее, подсказках поиска */
.rd-nophoto {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 9px;
  padding: 12px;
  box-sizing: border-box;
  text-align: center;
  background-color: var(--em-surface);
  background-image: radial-gradient(var(--em-line) 1px, transparent 1px);
  background-size: 14px 14px;
}
.rd-nophoto-mark { display: block; flex-shrink: 0; }
.rd-nophoto-cap { font-size: 12.5px; line-height: 1.35; font-weight: 600; color: var(--em-muted); }
.rd-nophoto-note { max-width: 320px; font-size: 14.5px; line-height: 1.45; color: #8a939e; }
.rd-nophoto-note a { color: var(--rd-btn); font-weight: 600; }
.rd-gal-main .rd-nophoto { gap: 20px; border-radius: 8px; }
.rd-gal-main .rd-nophoto-cap { font-size: 16px; }
.rd-card-photo .rd-nophoto { z-index: 1; }

/* 8.3 Правая колонка: заголовок, шильдик, главные характеристики */
.rd-pinfo { display: flex; flex-direction: column; min-width: 0; }
.rd-product .rd-ptitle {
  margin: 0;
  font-size: 30px; line-height: 38px; font-weight: 700; letter-spacing: -.02em;
  text-transform: none;
  color: var(--em-ink);
  text-wrap: balance;
}
.rd-pbrand-m { display: none; }
.rd-pmeta {
  margin-top: 12px;
  min-height: 40px;
  display: flex; align-items: center; flex-wrap: wrap;
  gap: 8px 14px;
}
.rd-psku {
  height: 28px;
  display: inline-flex; align-items: center;
  padding: 0 10px;
  border-radius: 6px;
  background: var(--em-surface);
  font-family: var(--em-mono); font-size: 12.5px; letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--em-faint);
}
.rd-pbrand, .rd-pbrand-m { font-size: 14px; color: var(--em-muted); }
.rd-pbrand a, .rd-pbrand-m a { font-weight: 600; color: var(--rd-btn); }
.rd-pbrand b, .rd-pbrand-m b { font-weight: 600; color: var(--em-ink); }
.rd-pstock {
  height: 26px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 13px; font-weight: 600;
  white-space: nowrap;
}
.rd-pstock::before { content: ""; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: currentColor; }
.rd-pstock.is-in  { background: var(--em-green-wash); color: #1f7a4a; }
.rd-pstock.is-in::before { background: var(--em-green); }
.rd-pstock.is-low { background: var(--em-amber-wash); color: #a85a12; }
.rd-pstock.is-low::before { background: var(--em-amber); }
.rd-pstock.is-out { background: var(--em-surface); color: var(--em-muted); }
.rd-pstock.is-out::before { background: var(--rd-off); }
.rd-pmeta-tools { margin-left: auto; display: flex; gap: 8px; }
.rd-pround {
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border: 1px solid var(--em-line); border-radius: 50%;
  background: #fff; color: var(--em-ink);
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease;
}
.rd-pround:hover { border-color: var(--em-blue); color: var(--rd-btn); }
.rd-pfav[aria-pressed="true"] { color: var(--em-red); }
.rd-pfav[aria-pressed="true"] svg { fill: currentColor; }

.rd-pkeys { margin-top: 16px; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.rd-pkey {
  min-height: 60px; min-width: 0;
  box-sizing: border-box;
  display: flex; flex-direction: column; justify-content: center;
  padding: 8px 12px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 8px;
}
.rd-pkey span { font-size: 12px; line-height: 16px; color: var(--em-muted); }
.rd-pkey b { font-size: 16px; line-height: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--em-ink); overflow-wrap: anywhere; }

/* 8.4 Блок покупки. Порядок частей задаётся здесь: у товара без цены он другой */
.rd-pbuy {
  margin-top: 20px;
  display: flex; flex-direction: column;
  padding: 24px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
}
.rd-pprice-row { order: 1; }
.rd-pbuy > .product-actions { order: 2; }
.rd-pask-acts { order: 3; }
.rd-passure { order: 4; }
.rd-pask { order: 5; }
.rd-pask-info { order: 6; }
.rd-product.is-ask .rd-passure { order: 7; }

.rd-pprice-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 16px; }
.rd-product .rd-pprices { margin: 0; display: flex; flex-direction: column; gap: 2px; }
.rd-product .rd-pprices .product-price { margin: 0; }
.rd-product .rd-pprices .current-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 10px; margin: 0; }
.rd-product .rd-pprices .current-price .rd-pprice {
  font-size: 36px; line-height: 44px; font-weight: 700; letter-spacing: -.03em;
  color: var(--em-ink);
}
.rd-punit { font-size: 14px; color: var(--em-muted); }
.rd-product .rd-pold { display: flex; align-items: center; gap: 8px; margin: 2px 0 0; }
.rd-product .rd-pold .regular-price { margin: 0; font-size: 16px; color: var(--em-faint); text-decoration: line-through; }
.rd-product .rd-pold .discount {
  height: 22px; margin: 0;
  display: inline-flex; align-items: center;
  padding: 0 7px;
  border-radius: 6px;
  background: var(--em-amber-wash); color: #a85a12;
  font-size: 13px; font-weight: 700;
  box-shadow: none; text-transform: none;
}
.rd-product .tax-shipping-delivery-label { margin-top: 4px; font-size: 13px; color: var(--em-faint); }
.rd-pdisc {
  margin: 0;
  min-height: 36px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--em-amber-wash); color: #a85a12;
  font-size: 13.5px; line-height: 18px; font-weight: 600;
}
.rd-pdisc .rd-i { flex-shrink: 0; }

/* количество «− 1 +»: кнопки рисует TouchSpin темы, раскладываем их в строку */
.rd-product .product-add-to-cart { margin: 16px 0 0; padding: 0; border: 0; }
.rd-product .product-add-to-cart .control-label { display: none; }
.rd-product .product-quantity { display: flex; align-items: stretch; gap: 10px; margin: 0; flex-wrap: nowrap; }
.rd-product .product-quantity::after { display: none; }
.rd-product .product-quantity .qty { float: none; flex: 0 0 148px; margin: 0; }
.rd-product .product-quantity .bootstrap-touchspin {
  display: flex; align-items: stretch;
  width: 148px; height: 52px;
  box-sizing: border-box;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: none;
}
.rd-product .product-quantity .bootstrap-touchspin .input-group-btn-vertical { display: contents; }
.rd-product .product-quantity .bootstrap-touchspin .btn-touchspin {
  position: static;
  flex: 0 0 48px;
  width: 48px; min-width: 0; height: 100%; min-height: 0;
  margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 0;
  background: transparent; color: var(--em-ink);
}
.rd-product .product-quantity .bootstrap-touchspin .btn-touchspin:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-product .product-quantity .bootstrap-touchspin .btn-touchspin i { display: none; }
.rd-product .product-quantity .bootstrap-touchspin .btn-touchspin::before {
  content: "";
  position: static;
  width: 18px; height: 18px;
  border: 0;
  transform: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}
.rd-product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-up::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.rd-product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-down { order: 0; }
.rd-product .product-quantity .bootstrap-touchspin #quantity_wanted { order: 1; }
.rd-product .product-quantity .bootstrap-touchspin .bootstrap-touchspin-up { order: 2; }
.rd-product .product-quantity .bootstrap-touchspin #quantity_wanted,
.rd-product .product-quantity .qty #quantity_wanted {
  flex: 1 1 0;
  width: 100%; min-width: 0; height: 100%; min-height: 0;
  margin: 0; padding: 0;
  border: 0; border-radius: 0;
  background: transparent;
  text-align: center;
  font: 600 16px/1 var(--em-font);
  color: var(--em-ink);
  box-shadow: none;
  -moz-appearance: textfield;
       appearance: textfield;
}
.rd-product .product-quantity #quantity_wanted::-webkit-inner-spin-button,
.rd-product .product-quantity #quantity_wanted::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.rd-product .product-quantity .add { float: none; flex: 1 1 0; min-width: 0; margin: 0; }
.rd-product .rd-addbtn {
  width: 100%; height: 52px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 0 16px;
  border: 0; border-radius: 8px;
  font-size: 16px; font-weight: 600; text-transform: none;
  white-space: nowrap;
  box-shadow: var(--em-sh-blue);
}
.rd-product .rd-addbtn:disabled { box-shadow: none; }
.rd-product .rd-addbtn .rd-i { flex-shrink: 0; }
.rd-product .rd-bar-oneclick { display: none; }
.rd-pbar-info { display: none; }
.rd-product.is-order .product-quantity { display: none; }
.rd-product.is-ask .product-add-to-cart { display: none; }
.rd-product #product-availability > span { display: flex; align-items: flex-start; gap: 6px; margin-top: 10px; font-size: 14px; line-height: 20px; font-weight: 600; }
.rd-product #product-availability .rd-i { flex-shrink: 0; margin-top: 2px; }
.rd-product .em-stock-order { color: #a85a12; }
.rd-product .em-stock-out { color: var(--em-muted); }
.rd-product .em-stock-left { color: #a85a12; }
.rd-product .product-minimal-quantity:empty { display: none; }
.rd-product .product-discounts:empty { display: none; }

/* уже в корзине: счётчик меняет количество в корзине, ссылка ведёт к оформлению */
.rd-pincart { display: none; }
body.rd-in-cart .rd-pincart { display: flex; gap: 10px; margin-top: 16px; }
body.rd-in-cart .rd-product .product-add-to-cart .product-quantity { display: none; }
.rd-pincart .rd-step { flex: 0 0 148px; width: 148px; height: 52px; }
.rd-pincart .rd-step-btn { width: 48px; }
.rd-pincart .rd-step-qty { flex: 1 1 0; min-width: 0; text-align: center; font-size: 16px; font-weight: 600; color: var(--rd-btn); white-space: nowrap; }
.rd-pincart.is-busy { opacity: .7; pointer-events: none; }
.rd-pincart-go {
  flex: 1 1 0; min-width: 0;
  height: 52px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 0 14px;
  border: 1.5px solid var(--em-green); border-radius: 8px;
  background: var(--em-green-wash); color: #1f7a4a;
  font-size: 16px; font-weight: 600;
  text-decoration: none;
}
.rd-pincart-go:hover { color: #1f7a4a; filter: brightness(.98); }
.rd-pincart-go > span { display: inline-flex; align-items: center; gap: 10px; }
.rd-product .rd-pincart-go .rd-short { display: none !important; }
.rd-product .rd-pincart-go .rd-long { display: inline-flex !important; }

.rd-product .rd-oneclick-btn {
  width: 100%; min-height: 46px; height: 46px;
  margin-top: 10px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border: 1.5px solid var(--em-blue); border-radius: 8px;
  background: #fff; color: var(--rd-btn);
  font-size: 15px; font-weight: 600;
}
.rd-product .rd-oneclick-btn:hover { background: var(--em-blue-wash); color: var(--rd-btn); }

.rd-passure {
  margin-top: 16px;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
  padding: 16px;
  border-radius: 12px;
  background: var(--em-surface);
}
.rd-passure > div { display: flex; gap: 10px; align-items: flex-start; min-width: 0; }
.rd-passure .rd-i { flex-shrink: 0; margin-top: 2px; color: var(--em-blue); }
.rd-passure span { display: flex; flex-direction: column; font-size: 13px; line-height: 18px; color: var(--em-muted); }
.rd-passure b { font-size: 14px; line-height: 20px; font-weight: 600; color: var(--em-ink); }

.rd-pask { margin-top: 16px; }
.rd-pask-t { margin: 0; font-size: 14px; line-height: 20px; color: var(--em-muted); }
.rd-pask .rd-msgr { margin-top: 8px; }

/* товар без цены (макет PriceRequest) */
.rd-product.is-ask .rd-pprice-row { display: block; }
.rd-product .rd-pprices.is-ask { flex-direction: row; align-items: flex-start; justify-content: space-between; gap: 16px; }
.rd-product .rd-pprices.is-ask .product-price { display: flex; flex-direction: column; gap: 4px; }
.rd-product .rd-pprices.is-ask .rd-pprice { font-size: 30px; line-height: 38px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); }
.rd-product .rd-pprices.is-ask .em-price-request-note { margin: 0; font-size: 14.5px; line-height: 21px; color: var(--em-muted); }
.rd-product.is-ask .rd-pmeta .rd-pstock { display: none; }
.rd-pask-acts { margin-top: 18px; }
.rd-pask-acts-h, .rd-pask-acts-sub { display: none; }
.rd-pask-row { display: flex; gap: 10px; align-items: stretch; }
.rd-product .rd-askbtn-main {
  flex: 1 1 0; min-width: 0;
  height: 52px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  border: 0; border-radius: 8px;
  font-size: 16px; font-weight: 600; text-transform: none;
  box-shadow: var(--em-sh-blue);
}
.rd-pask-tel {
  width: 236px; flex-shrink: 0;
  box-sizing: border-box;
  display: flex; flex-direction: column; justify-content: center;
  padding: 6px 16px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  color: var(--em-ink);
  text-decoration: none;
}
.rd-pask-tel:hover { border-color: var(--em-blue); color: var(--em-ink); }
.rd-pask-tel b { display: flex; align-items: center; gap: 8px; font-size: 16px; line-height: 21px; font-weight: 700; white-space: nowrap; }
.rd-pask-tel span { font-size: 12.5px; line-height: 16px; color: var(--em-muted); }
.rd-product.is-ask .rd-pask { margin-top: 14px; }
.rd-product.is-ask .rd-pask .rd-msgr a { height: 48px; }
.rd-pask-info {
  margin-top: 14px;
  display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px;
  padding: 12px 14px;
  border-radius: 10px;
  background: var(--em-surface);
  font-size: 14px; line-height: 20px; color: var(--em-ink);
}
.rd-pask-info-t { flex: 1 1 240px; display: flex; gap: 10px; align-items: flex-start; }
.rd-pask-info-t .rd-i { flex-shrink: 0; color: var(--em-muted); }
.rd-pask-notify { min-height: 36px; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--rd-btn); white-space: nowrap; }
.rd-pbar-ask { display: none; }

.rd-pshort { margin-top: 20px; font-size: 15px; line-height: 24px; color: var(--em-ink); }
.rd-pshort p:last-child { margin-bottom: 0; }
.rd-pdeliv-m { display: none; }

/* 8.5 Вкладки: Описание · Характеристики · Доставка и оплата */
.rd-ptabs { margin-top: 40px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; overflow: hidden; }
.rd-ptabs-bar { display: flex; gap: 32px; padding: 0 28px; border-bottom: 1px solid var(--em-line); overflow-x: auto; scrollbar-width: none; }
.rd-ptabs-bar::-webkit-scrollbar { display: none; }
.rd-ptab {
  flex-shrink: 0;
  height: 58px;
  padding: 0;
  border: 0; background: transparent;
  color: var(--em-muted);
  font: 600 16px/1 var(--em-font);
  cursor: pointer;
  box-shadow: inset 0 -3px 0 transparent;
  transition: color .15s ease, box-shadow .15s ease;
}
.rd-ptab:hover { color: var(--em-ink); }
.rd-ptab.is-on { color: var(--em-ink); box-shadow: inset 0 -3px 0 var(--em-blue); }
.rd-ppanel { display: none; }
.rd-ppanel.is-on { display: block; }
.rd-pacc, .rd-ppanel-m { display: none; }
.rd-ppanel-in { padding: 24px 28px; }
.rd-pdesc { max-width: 820px; font-size: 15px; line-height: 24px; }
.rd-pdesc img { max-width: 100%; height: auto; }

.rd-details { margin: 0; }
.rd-specs { margin: 0; columns: 2; column-gap: 56px; }
.rd-spec {
  break-inside: avoid;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  min-height: 44px;
  box-sizing: border-box;
  padding: 10px 0;
  border-bottom: 1px solid var(--em-line);
  font-size: 15px; line-height: 20px;
}
.rd-spec dt { margin: 0; font-weight: 400; color: var(--em-muted); }
.rd-spec dd { margin: 0; font-weight: 600; text-align: right; color: var(--em-ink); overflow-wrap: anywhere; }
.rd-specs-more { display: none; }
.rd-details .product-out-of-stock:empty { display: none; }
.rd-files .attachment { padding: 12px 0; border-bottom: 1px solid var(--em-line); }
.rd-file-h { margin: 0 0 4px; font-weight: 600; }

/* «Доставка и оплата»: _partials/rd-delivery-info.tpl */
.rd-deliv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.rd-deliv-h { margin: 0 0 18px; font-size: 17px; line-height: 22px; font-weight: 700; color: var(--em-ink); }
.rd-deliv-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 18px; }
.rd-deliv-list li { display: flex; gap: 12px; align-items: flex-start; }
.rd-deliv-ico {
  width: 40px; height: 40px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: var(--em-blue-wash); color: var(--rd-btn);
}
.rd-deliv-list li > span:last-child { display: flex; flex-direction: column; font-size: 13.5px; line-height: 20px; color: var(--em-muted); }
.rd-deliv-list b { font-size: 15px; line-height: 21px; font-weight: 600; color: var(--em-ink); }

/* 8.6 Частые вопросы + тёмная карточка «Не нашли ответ?» */
.rd-product .em-faq.rd-pfaq { margin: 48px 0 0; }
.rd-product .rd-h2, .rd-pshelf .rd-h2 { margin: 0; padding: 0; font-size: 26px; line-height: 32px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-pfaq-toggle { display: none; }
.rd-pfaq-body { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 1fr) 448px; gap: 16px; align-items: start; }
.rd-pfaq-list { display: flex; flex-direction: column; gap: 8px; }
.rd-pfaq .em-faq-item { margin: 0; background: #fff; border: 1px solid var(--em-line); border-radius: 8px; overflow: hidden; }
.rd-pfaq .em-faq-item[open] { border-color: rgba(0,158,224,.5); }
.rd-pfaq .em-faq-item summary {
  min-height: 54px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 18px;
  font-size: 15.5px; line-height: 22px; font-weight: 600;
}
.rd-pfaq .em-faq-item summary .rd-i { flex-shrink: 0; color: var(--em-muted); transition: transform .18s ease; }
.rd-pfaq .em-faq-item[open] summary .rd-i { transform: rotate(180deg); }
.rd-pfaq .em-faq-item p { padding: 0 18px 18px; font-size: 15px; line-height: 23px; }
.rd-pfaq-consult { min-height: 330px; box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; padding: 32px; }
.rd-pfaq-consult .rd-consult-h { margin-top: 12px; font-size: 28px; line-height: 34px; }
.rd-pfaq-consult .rd-consult-p { margin-top: 12px; font-size: 15px; line-height: 24px; }
.rd-pfaq-gap { flex: 1 1 auto; min-height: 16px; }
.rd-pfaq-consult .rd-consult-tel { position: relative; color: #fff; font-size: 24px; line-height: 30px; font-weight: 700; text-decoration: none; }
.rd-pfaq-consult .rd-hours { margin: 4px 0 16px; font-size: 13px; color: rgba(255,255,255,.72); }
.rd-pfaq-consult .rd-msgr { margin-top: 0; width: 100%; }

/* 8.7 Полки под товаром: «С этим товаром покупают», «Похожие товары», «Вы недавно смотрели» */
.rd-pshelf { margin-top: 56px; }
.rd-pshelf .rd-shelf { margin-top: 20px; }
.rd-product .page-footer:empty { display: none; }

/* 8.8 Окно «Узнать цену и наличие» (_partials/rd-ask.tpl) */
.rd-ask[hidden] { display: none; }
.rd-ask {
  position: fixed; inset: 0;
  z-index: 1060;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 120px 16px 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.rd-ask-bg { position: fixed; inset: 0; background: rgba(16,27,45,.55); }
.rd-ask-box {
  position: relative;
  width: 460px; max-width: 100%;
  box-sizing: border-box;
  padding: 26px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(16,27,45,.25);
  font-family: var(--em-font);
}
.rd-ask-grip { display: none; }
.rd-ask-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.rd-ask-h { margin: 0; font-size: 21px; line-height: 27px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-ask-x {
  width: 44px; height: 44px; flex-shrink: 0;
  margin: -8px -10px 0 0;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border: 0; border-radius: 50%;
  background: transparent; color: var(--em-muted);
  cursor: pointer;
}
.rd-ask-x:hover { background: var(--em-surface); color: var(--em-ink); }
.rd-ask-item { margin-top: 12px; display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 10px; background: var(--em-surface); }
.rd-ask-img {
  position: relative;
  width: 64px; height: 64px; flex-shrink: 0;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 4px;
  border: 1px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.rd-ask-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rd-ask-img .rd-nophoto { background-size: 10px 10px; }
.rd-ask-img.has-img .rd-nophoto { display: none; }
.rd-ask-desc { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rd-ask-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 19px; color: var(--em-ink); }
.rd-ask-meta { font-size: 12.5px; line-height: 17px; color: var(--em-muted); }
.rd-ask-p { margin: 14px 0 0; font-size: 14.5px; line-height: 22px; color: var(--em-muted); }
.rd-ask-copy {
  margin-top: 10px;
  display: flex; align-items: center; gap: 10px;
  padding: 10px 10px 10px 14px;
  border: 1px dashed #c9d1db; border-radius: 10px;
  background: var(--em-surface);
}
.rd-ask-text { flex: 1 1 0; min-width: 0; font-size: 13.5px; line-height: 19px; color: var(--em-ink); }
.rd-ask-copybtn {
  height: 44px; flex-shrink: 0;
  display: inline-flex; align-items: center;
  padding: 0 14px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font: 600 14px/1 var(--em-font);
  cursor: pointer;
}
.rd-ask-copybtn:hover { border-color: var(--em-blue); }
.rd-ask-c1, .rd-ask-c2 { display: inline-flex; align-items: center; gap: 6px; }
.rd-ask-c2 { display: none; }
.rd-ask-c2 .rd-i { color: #1f7a4a; }
.rd-ask-copybtn.is-done .rd-ask-c1 { display: none; }
.rd-ask-copybtn.is-done .rd-ask-c2 { display: inline-flex; }
.rd-ask-acts { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.rd-ask-acts .rd-msgr { order: 1; margin: 0; }
.rd-ask-acts .rd-msgr a { height: 52px; }
.rd-ask-call {
  order: 2;
  height: 52px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  color: var(--em-ink);
  font-size: 16px; font-weight: 600;
  text-decoration: none;
}
.rd-ask-call:hover { border-color: var(--em-blue); color: var(--em-ink); }
.rd-ask-hours { margin: 12px 0 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; color: var(--em-muted); }

/* «Узнать цену» в карточке каталога (макеты Card и MCard) */
.rd-card .rd-askbtn {
  width: 100%; height: 44px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 10px;
  border: 1.5px solid var(--rd-btn); border-radius: 8px;
  background: #fff; color: var(--rd-btn);
  font: 600 15px/1 var(--em-font);
  cursor: pointer;
  transition: background .15s ease;
}
.rd-card .rd-askbtn:hover { background: var(--em-blue-wash); }
.rd-card .em-price-request { font-size: 17px; }

/* подсказки поиска: товар без цены и без фото */
.rd-sg-price.is-ask { font-size: 13px; line-height: 16px; font-weight: 700; white-space: normal; text-align: right; }
.rd-sg-ask {
  width: 44px; height: 44px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border: 1.5px solid var(--rd-btn); border-radius: 8px;
  background: #fff; color: var(--rd-btn);
  cursor: pointer;
}
.rd-sg-ask:hover { background: var(--em-blue-wash); }
.rd-sg-pimg .rd-nophoto { position: static; width: 100%; height: 100%; padding: 0; background-size: 8px 8px; border-radius: inherit; }

/* 8.8а Поправки поверх темы и custom.css */
#product #content-wrapper .rd-pgal #content.page-content { max-width: none; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }  /* тема ужимала галерею до 452 px */
.rd-product .rd-pprices.is-ask .em-price-request {                  /* custom.css задаёт !important */
  font-size: 30px !important; line-height: 38px; font-weight: 700 !important; letter-spacing: -.02em;
  color: var(--em-ink) !important;
}
.product-miniature.rd-card .rd-card-price .em-price-request { font-size: 17px !important; font-weight: 700 !important; color: var(--em-ink) !important; letter-spacing: -.01em; }
@media (min-width: 992px) {
  /* у товара без цены форма «Сообщить о поступлении» — после блока с наличием */
  .rd-product.is-ask .rd-pbuy > .product-actions { order: 7; }
  .rd-product.is-ask .rd-passure { order: 8; }
}

/* ссылки внутри строк (бренд в характеристиках, мессенджеры в заглушке) — зона нажатия 44 px */
.rd-spec dd a, .rd-nophoto-note a { display: inline-block; padding: 12px 0; margin: -12px 0; }
.rd-pask-notify { min-height: 44px; }

/* 8.9 Средние экраны: колонка покупки уже */
@media (max-width: 1199px) {
  .rd-product { --rd-gut: 32px; }
  .rd-ptop { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  #main .rd-gal .rd-gal-main { height: 420px; }
  .rd-pkeys { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rd-passure { grid-template-columns: 1fr; gap: 10px; }
  .rd-pask-tel { width: 200px; }
  .rd-pfaq-body { grid-template-columns: minmax(0, 1fr) 360px; }
}

/* 8.10 Телефон и планшет (макеты MProduct, MCalc, MPriceRequest, MNoPhoto) */
@media (max-width: 991px) {
  .rd-product { --rd-gut: 24px; padding-top: 0; }
  body#product #wrapper { background: var(--em-surface); }
  .rd-ptop { display: block; margin: 0 calc(-1 * var(--rd-gut)); }

  /* галерея во всю ширину, миниатюры — лентой под фото */
  .rd-product .rd-gal { display: block; padding: 0; border: 0; border-radius: 0; }
  #main .rd-gal .rd-gal-main,
  #main .rd-gal.is-nophoto .rd-gal-main,
  #main .rd-gal:not(.has-thumbs) .rd-gal-main { height: auto; aspect-ratio: 1 / 1; max-height: min(100vw, 520px); border-radius: 0; }
  #main .rd-gal.is-nophoto .rd-gal-main { aspect-ratio: 390 / 320; }
  .rd-gal-brand, .rd-gal-zoom { display: none; }
  .rd-gal-tools { position: absolute; top: 12px; right: 12px; z-index: 2; display: flex; gap: 8px; }
  .rd-gal-tools .rd-pround { width: 44px; height: 44px; border: 0; background: rgba(255,255,255,.94); box-shadow: var(--em-sh-1); }
  .rd-gal-count {
    position: absolute; right: 12px; bottom: 12px; z-index: 2;
    height: 26px;
    display: inline-flex; align-items: center;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(16,27,45,.7); color: #fff;
    font-size: 12.5px; font-weight: 600;
  }
  .rd-gal-main .rd-nophoto { gap: 16px; border-radius: 0; }
  .rd-gal-main .rd-nophoto-mark { width: 96px; height: 96px; }
  .rd-gal-main .rd-nophoto-cap { font-size: 15px; }
  .rd-gal-main .rd-nophoto-note { font-size: 13.5px; }
  .rd-gal-thumbs { width: auto; }
  .rd-product .rd-gal-thumbs.js-qv-mask {
    width: auto;
    padding: 10px 12px;
    background: #fff;
    border-bottom: 1px solid var(--em-line);
    overflow-x: auto;
    scrollbar-width: none;
  }
  .rd-product .rd-gal-thumbs .product-images { flex-direction: row; gap: 8px; max-height: none; overflow: visible; }
  .rd-product .rd-gal-thumbs .thumb-container { width: 56px; height: 56px; }
  .rd-product .rd-gal-thumbs .product-images > li.thumb-container .thumb { width: 56px; height: 56px; padding: 3px; }

  /* правая колонка — белые секции во всю ширину; части блока покупки встают по порядку макета */
  .rd-pinfo { display: flex; flex-direction: column; }
  .rd-pbuy { display: contents; }
  .rd-pinfo > *, .rd-pbuy > * { margin: 0; padding-left: 16px; padding-right: 16px; background: #fff; }
  .rd-pmeta { order: 1; min-height: 0; padding-top: 16px; justify-content: space-between; }
  .rd-pmeta .rd-pbrand, .rd-pmeta-tools { display: none; }
  .rd-psku { height: 26px; padding: 0 8px; font-size: 12px; }
  .rd-product .rd-ptitle { order: 2; padding-top: 12px; font-size: 21px; line-height: 27px; }
  .rd-pbrand-m { order: 3; display: block; padding-top: 6px; }
  .rd-pkeys { order: 4; padding-top: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rd-pkey { min-height: 56px; padding: 6px 10px; background: #fff; }
  .rd-pkey span { font-size: 11.5px; line-height: 15px; }
  .rd-pkey b { font-size: 15px; line-height: 20px; }
  .rd-pprice-row { order: 5; padding-top: 16px; padding-bottom: 16px; flex-direction: column; align-items: stretch; gap: 10px; }
  .rd-product .rd-pprices .current-price .rd-pprice { font-size: 32px; line-height: 38px; }
  .rd-pdisc { display: flex; }
  .rd-pask-info { order: 6; border: 16px solid #fff; border-top-width: 0; padding: 12px 14px; background: var(--em-surface); }
  .rd-pdeliv-m { order: 8; display: block; margin-top: 10px; padding-top: 16px; padding-bottom: 16px; }
  .rd-pdeliv-m-h { margin: 0 0 14px; font-size: 17px; font-weight: 700; color: var(--em-ink); }
  .rd-pdeliv-m .rd-deliv { display: block; }
  .rd-pdeliv-m .rd-deliv-col + .rd-deliv-col { display: none; }
  .rd-pdeliv-m .rd-deliv-h { display: none; }
  .rd-pdeliv-m .rd-deliv-list { gap: 14px; }
  .rd-pdeliv-m .rd-deliv-list b { font-size: 14.5px; }
  .rd-pdeliv-m .rd-deliv-list li > span:last-child { font-size: 13px; }
  .rd-pdeliv-m::after {
    content: "Оплата наличными или картой при получении";
    display: block;
    margin-top: 14px;
    padding-left: 30px;
    font-size: 13.5px; color: var(--em-muted);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23009ee0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5.5' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18M7 15h3'/%3E%3C/svg%3E") left center / 20px 20px no-repeat;
  }
  .rd-pbuy > .product-actions { order: 9; margin-top: 10px; padding-top: 16px; }
  .rd-product .rd-oneclick-btn { margin-top: 0; }
  .rd-pask-acts { order: 9; margin-top: 10px; padding-top: 16px; }
  .rd-pask { order: 10; margin-top: 0; padding-top: 14px; padding-bottom: 16px; }
  .rd-product.is-ask .rd-pask { margin-top: 0; padding-top: 8px; }
  .rd-product.is-ask .rd-pask-t { display: none; }
  .rd-passure { display: none; }
  .rd-pshort { order: 11; margin-top: 10px; padding-top: 16px; padding-bottom: 16px; }
  .rd-pinfo > .product-customization, .rd-pinfo > .blockreassurance_product { order: 12; }

  /* товар без цены: крупно «Цена по запросу», наличие — в строке с артикулом, «Узнать цену» — секцией */
  .rd-product.is-ask .rd-pmeta .rd-pstock { display: inline-flex; }
  .rd-product.is-ask .rd-pask-acts,
  .rd-product.is-ask .rd-pask { order: 7; }
  /* у товара без цены в блоке покупки остаётся только форма «Сообщить о поступлении» (если товара нет) */
  .rd-product.is-ask .rd-pbuy > .product-actions { margin: 0; padding: 0; background: none; }
  .rd-product.is-ask .product-actions .em-mailalert { margin: 10px 0 0; border-radius: 0; border-left: 0; border-right: 0; }
  .rd-product .rd-pprices.is-ask .rd-pstock { display: none; }
  .rd-product .rd-pprices.is-ask .em-price-request { font-size: 26px !important; line-height: 32px; }
  .rd-pask-acts-h { display: block; margin: 0; font-size: 17px; line-height: 22px; font-weight: 700; color: var(--em-ink); }
  .rd-pask-acts-sub { display: block; margin: 2px 0 12px; font-size: 14px; color: var(--em-muted); }
  .rd-pask-row { display: block; }
  .rd-product .rd-askbtn-main { display: none; }
  .rd-pask-tel { width: 100%; height: 48px; flex-direction: row; align-items: center; justify-content: center; padding: 0 16px; }
  .rd-pask-tel span { display: none; }
  .rd-pask-tel b { font-size: 15px; font-weight: 600; }

  /* вкладки → раскрывающиеся разделы (характеристики — первыми и открыты) */
  .rd-ptabs { margin: 10px calc(-1 * var(--rd-gut)) 0; display: flex; flex-direction: column; border: 0; border-radius: 0; }
  .rd-ptabs-bar { display: none; }
  .rd-ppanel, .rd-ppanel.is-on { display: block; border-top: 1px solid var(--em-line); }
  #rd-pp-specs { order: -1; border-top: 0; }
  .rd-ppanel-deliv, .rd-ppanel.rd-ppanel-deliv.is-on { display: none; }
  .rd-ppanel-m { display: block; }
  .rd-pacc {
    width: 100%; height: 56px;
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 0 16px;
    border: 0; background: transparent;
    color: var(--em-ink);
    font: 700 16px/1 var(--em-font);
    text-align: left;
    cursor: pointer;
  }
  .rd-pacc .rd-i { flex-shrink: 0; color: var(--em-muted); transition: transform .18s ease; }
  .rd-ppanel.is-open > .rd-pacc .rd-i { transform: rotate(180deg); }
  .rd-ppanel-in { display: none; padding: 0 16px 16px; }
  .rd-ppanel.is-open > .rd-ppanel-in { display: block; }
  .rd-ppanel-deliv > .rd-ppanel-in { display: none; }
  .rd-specs { columns: 1; }
  .rd-spec { font-size: 14.5px; }
  .rd-specs.is-cut .rd-spec:nth-child(n+8) { display: none; }
  .rd-specs-more {
    height: 44px;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 0;
    border: 0; background: none;
    color: var(--rd-btn);
    font: 600 14.5px/1 var(--em-font);
    cursor: pointer;
  }
  .rd-pwarr p { margin: 0 0 8px; font-size: 14.5px; line-height: 22px; }
  .rd-pdesc { font-size: 14.5px; line-height: 23px; }

  /* частые вопросы — один раскрывающийся раздел с числом вопросов */
  .rd-product .em-faq.rd-pfaq { margin: 10px calc(-1 * var(--rd-gut)) 0; background: #fff; }
  .rd-pfaq-head { display: none; }
  .rd-pfaq-toggle { display: flex; }
  .rd-pfaq-toggle > span { display: inline-flex; align-items: center; gap: 8px; }
  .rd-pcount {
    min-width: 22px; height: 22px;
    box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--em-surface); color: var(--em-muted);
    font-size: 12px; font-weight: 600;
  }
  .rd-pfaq.is-open .rd-pfaq-toggle .rd-i { transform: rotate(180deg); }
  .rd-pfaq-body { display: none; margin: 0; padding: 0 16px 16px; }
  .rd-pfaq.is-open .rd-pfaq-body { display: block; }
  .rd-pfaq-consult { display: none; }
  .rd-pfaq .em-faq-item summary { font-size: 15px; padding: 12px 14px; }
  .rd-pfaq .em-faq-item p { padding: 0 14px 14px; font-size: 14.5px; line-height: 22px; }

  .rd-pshelf { margin-top: 24px; }
  .rd-pshelf .rd-shelf { margin-top: 14px; }
  .rd-product .rd-h2, .rd-pshelf .rd-h2 { font-size: 22px; line-height: 28px; }

  /* панель покупки внизу экрана: слева цена и наличие, справа кнопка */
  .rd-product .product-add-to-cart.rd-pbar-on,
  .rd-pbar-ask {
    position: fixed; left: 0; right: 0; bottom: 0;
    z-index: 1035;
    height: 80px;
    box-sizing: content-box;
    display: flex; align-items: center; gap: 12px;
    margin: 0;
    padding: 0 12px env(safe-area-inset-bottom, 0px) 16px;
    background: #fff;
    border-top: 1px solid var(--em-line);
    box-shadow: 0 -8px 24px rgba(16,27,45,.08);
  }
  .rd-pbar-info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
  .rd-pbar-info b { font-size: 22px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); white-space: nowrap; }
  .rd-pbar-ask .rd-pbar-info b { font-size: 17px; line-height: 22px; letter-spacing: 0; }
  .rd-pbar-info span { font-size: 12.5px; line-height: 16px; font-weight: 600; white-space: nowrap; }
  .rd-pbar-info .is-in { color: #1f7a4a; }
  .rd-pbar-info .is-low { color: #a85a12; }
  .rd-pbar-info .is-out { color: var(--em-muted); }
  .rd-product .product-add-to-cart.rd-pbar-on .product-quantity { flex: 0 1 220px; min-width: 150px; margin-left: auto; }
  .rd-product.is-order .product-add-to-cart.rd-pbar-on .product-quantity { display: flex; }
  .rd-product .product-add-to-cart.rd-pbar-on .qty { display: none; }
  .rd-product .product-add-to-cart.rd-pbar-on .rd-addbtn-sum,
  .rd-product .product-add-to-cart.rd-pbar-on #product-availability,
  .rd-product .product-add-to-cart.rd-pbar-on .product-minimal-quantity { display: none; }
  .rd-product .product-add-to-cart.rd-pbar-on .rd-bar-oneclick {
    width: 100%; height: 52px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    padding: 0 14px;
    border: 0; border-radius: 8px;
    font-size: 15.5px; font-weight: 600; text-transform: none;
    white-space: nowrap;
    box-shadow: var(--em-sh-blue);
  }
  .rd-pbar-ask .btn {
    flex: 0 0 176px;
    height: 52px;
    display: flex; align-items: center; justify-content: center; gap: 8px;
    border: 0; border-radius: 8px;
    font-size: 16px; font-weight: 600; text-transform: none;
    box-shadow: var(--em-sh-blue);
  }
  /* товар уже в корзине: поверх кнопки — счётчик и «Корзина» (макет MProduct) */
  body.rd-in-cart .rd-product .product-add-to-cart.rd-pbar-on .product-quantity { display: flex; visibility: hidden; }
  body.rd-in-cart .rd-pincart {
    position: fixed; right: 12px; bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    z-index: 1036;
    width: 220px; max-width: calc(100vw - 170px);
    margin: 0; padding: 0;
    gap: 8px;
    background: none;
  }
  .rd-pincart .rd-step { flex: 1 1 124px; width: auto; }
  .rd-pincart .rd-step-btn { width: 42px; }
  .rd-pincart-go { flex: 0 0 88px; padding: 0; border: 0; background: var(--rd-btn); color: #fff; font-size: 13px; line-height: 16px; }
  .rd-pincart-go:hover { color: #fff; background: var(--rd-btn-hover); filter: none; }
  .rd-product .rd-pincart-go .rd-long { display: none !important; }
  .rd-product .rd-pincart-go .rd-short { display: inline-flex !important; flex-direction: column; gap: 2px; }

  body.rd-pbar .rd-tabbar { display: none; }
  body.rd-pbar { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
  body.rd-pbar .em-totop { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
  body.rd-pbar .em-chat-start { bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 767px) {
  .rd-product { --rd-gut: 12px; }
  .rd-card .rd-askbtn { font-size: 14px; gap: 6px; }
  .product-miniature.rd-card .rd-card-price .em-price-request { font-size: 15px !important; }
  .rd-card .rd-nophoto { gap: 8px; }
  .rd-card .rd-nophoto-mark { width: 44px; height: 44px; }
  .rd-card .rd-nophoto-cap { font-size: 11.5px; }

  /* окно «Узнать цену» — шторкой снизу, главная кнопка — «Позвонить» */
  .rd-ask { align-items: flex-end; padding: 0; }
  .rd-ask-box { width: 100%; max-height: 92vh; overflow-y: auto; padding: 10px 18px calc(24px + env(safe-area-inset-bottom, 0px)); border-radius: 16px 16px 0 0; }
  .rd-ask-grip { display: block; width: 40px; height: 4px; margin: 0 auto 12px; border-radius: 4px; background: #d3d9e1; }
  .rd-ask-call { order: 0; border: 0; background: var(--rd-btn); color: #fff; box-shadow: var(--em-sh-blue); }
  .rd-ask-call:hover, .rd-ask-call:focus { background: var(--rd-btn-hover); color: #fff; }
}

/* 8.11 Калькуляторы (макеты PowerCalc, PowerCalcM, LedCalc, LedCalcM; catalog/_partials/product-calc.tpl).
   Место — после вкладок, перед «Частыми вопросами» (макеты Calc и MCalc). */
.rd-calc {
  margin-top: 40px;
  display: flex; flex-direction: column;
  padding: 28px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  font-family: var(--em-font);
}
.rd-calc-head { display: flex; align-items: center; gap: 14px; }
.rd-calc-title { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.rd-calc-ico {
  width: 48px; height: 48px; flex-shrink: 0; align-self: flex-start;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
}
.rd-calc-ico.is-amber { background: var(--em-amber-wash); color: #a85a12; }
.rd-calc-ico.is-blue { background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-product .rd-calc-h { margin: 0; padding: 0; font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-calc-sub { margin: 0; font-size: 14px; line-height: 19px; color: var(--em-muted); }
.rd-seg { flex-shrink: 0; display: flex; gap: 4px; padding: 4px; border-radius: 10px; background: var(--em-surface); }
.rd-seg button {
  height: 40px;
  padding: 0 14px;
  border: 0; border-radius: 8px;
  background: transparent; color: var(--em-muted);
  font: 600 14px/1 var(--em-font);
  white-space: nowrap;
  cursor: pointer;
}
.rd-seg button.is-on { background: #fff; color: var(--em-ink); box-shadow: 0 1px 3px rgba(16,27,45,.12); }
.rd-apps { margin-top: 20px; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; }
.rd-app {
  position: relative;
  min-height: 76px; min-width: 0;
  box-sizing: border-box;
  display: flex; flex-direction: column; justify-content: center; gap: 2px;
  padding: 8px 12px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font-family: var(--em-font);
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease;
}
.rd-app:hover { border-color: var(--em-blue); }
.rd-app[aria-pressed="true"] { border-color: var(--em-blue); background: var(--em-blue-wash); }
.rd-app b { padding-right: 14px; font-size: 14.5px; line-height: 18px; font-weight: 600; }
.rd-app span { font-size: 13px; line-height: 16px; color: var(--em-muted); }
.rd-app-ck {
  position: absolute; top: 7px; right: 7px;
  width: 16px; height: 16px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--rd-btn); color: #fff;
  opacity: 0;
  transition: opacity .15s ease;
}
.rd-app-ck .rd-i { stroke-width: 3; }
.rd-app[aria-pressed="true"] .rd-app-ck { opacity: 1; }
.rd-calc-total { margin-top: 20px; display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.rd-calc-total b { font-size: 16px; line-height: 22px; font-weight: 700; }
.rd-calc-total span { font-size: 14px; font-weight: 600; color: var(--em-muted); }
.rd-calc-bar { position: relative; margin-top: 10px; height: 12px; border-radius: 99px; background: var(--em-line); overflow: hidden; }
.rd-calc-bar i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 99px; background: var(--em-line); transition: width .25s ease, background .25s ease; }
.rd-pcalc[data-state="ok"] .rd-calc-bar i { background: var(--em-green); }
.rd-pcalc[data-state="wound"] .rd-calc-bar i { background: var(--em-amber); }
.rd-pcalc[data-state="over"] .rd-calc-bar i { background: var(--em-red); }
.rd-calc-msg {
  margin-top: 16px;
  min-height: 58px;
  box-sizing: border-box;
  display: flex; align-items: center; gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  background: var(--em-surface);
}
.rd-calc-msg-ico {
  width: 36px; height: 36px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: #fff; color: var(--em-muted);
}
.rd-calc-msg-txt { display: flex; flex-direction: column; min-width: 0; }
.rd-calc-msg-txt b { font-size: 15px; line-height: 20px; font-weight: 700; color: var(--em-ink); }
.rd-calc-msg-txt span { font-size: 13px; line-height: 18px; color: var(--em-ink); }
.rd-calc-msg.is-ok { background: var(--em-green-wash); }
.rd-calc-msg.is-ok .rd-calc-msg-ico { color: #1f7a4a; }
.rd-calc-msg.is-wound { background: var(--em-amber-wash); }
.rd-calc-msg.is-wound .rd-calc-msg-ico { color: #a85a12; }
.rd-calc-msg.is-over { background: #fdecea; }
.rd-calc-msg.is-over .rd-calc-msg-ico { color: var(--em-red); }
.rd-calc-note { margin: 12px 0 0; font-size: 12.5px; line-height: 18px; color: var(--em-muted); }
.rd-calc-note a { color: var(--rd-btn); }

/* лента */
.rd-lcalc-body { margin-top: 20px; display: flex; gap: 28px; }
.rd-lcalc-in { width: 360px; flex-shrink: 0; display: flex; flex-direction: column; gap: 14px; }
.rd-lcalc-l { margin: 0 0 -8px; text-align: left; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--em-ink); }
.rd-num {
  height: 52px;
  box-sizing: border-box;
  display: flex; align-items: stretch;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.rd-num button {
  width: 52px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  padding: 0; border: 0;
  background: transparent; color: var(--em-ink);
  cursor: pointer;
}
.rd-num button:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-num input {
  flex: 1 1 0; min-width: 0;
  border: 0; padding: 0;
  text-align: center;
  font: 700 18px/1 var(--em-font);
  color: var(--em-ink);
  background: transparent;
  -moz-appearance: textfield;
       appearance: textfield;
}
.rd-num input::-webkit-inner-spin-button, .rd-num input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.rd-num input:focus { outline: none; }
.rd-num:focus-within { border-color: var(--em-blue); }
.rd-lcalc-src {
  margin: 0;
  min-height: 40px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px 10px;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--em-surface);
  font-size: 13.5px;
}
.rd-lcalc-src span { color: var(--em-muted); }
.rd-lcalc-src b { font-weight: 700; white-space: nowrap; }
.rd-lcalc-out { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
.rd-lcalc-out .rd-calc-msg { margin-top: 0; }
.rd-ltiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.rd-ltile {
  min-height: 88px; min-width: 0;
  box-sizing: border-box;
  display: flex; flex-direction: column; justify-content: center;
  padding: 8px 16px;
  border: 1px solid var(--em-line); border-radius: 10px;
}
.rd-ltile span, .rd-ltile small { font-size: 12px; line-height: 16px; color: var(--em-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-ltile b { font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.rd-lpsu {
  min-height: 64px;
  box-sizing: border-box;
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px;
  border: 1px solid var(--em-line); border-radius: 10px;
}
.rd-lpsu-ico {
  width: 40px; height: 40px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 10px;
  background: var(--em-blue-wash); color: var(--rd-btn);
}
.rd-lpsu-txt { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
.rd-lpsu-txt b { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 15px; line-height: 20px; font-weight: 700; }
.rd-lpsu-txt span { font-size: 12.5px; line-height: 18px; color: var(--em-muted); }
.rd-lpsu-go {
  height: 44px; flex-shrink: 0;
  box-sizing: border-box;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 0 14px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font-size: 14px; font-weight: 600;
  text-decoration: none;
}
.rd-lpsu-go:hover { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-lpsu-go[hidden] { display: none; }

@media (max-width: 1199px) {
  .rd-apps { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .rd-lcalc-in { width: 300px; }
}
@media (max-width: 991px) {
  .rd-calc { margin-top: 10px; padding: 18px; }
  .rd-calc-head { flex-wrap: wrap; align-items: flex-start; }
  .rd-calc-ico { width: 40px; height: 40px; }
  .rd-product .rd-calc-h { font-size: 18px; line-height: 24px; }
  .rd-calc-sub { font-size: 13.5px; }
  .rd-seg { flex: 1 1 100%; margin-top: 0; }
  .rd-seg button { flex: 1 1 0; }
  .rd-apps { margin-top: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rd-app { min-height: 64px; padding: 8px 10px; }
  .rd-app b { font-size: 13px; line-height: 16px; }
  .rd-app span { font-size: 12px; }
  .rd-calc-total { margin-top: 14px; }
  .rd-calc-total b { font-size: 15px; }
  .rd-calc-msg { margin-top: 12px; }
  .rd-lcalc-body { margin-top: 14px; flex-direction: column; gap: 12px; }
  .rd-lcalc-in { width: auto; }
  .rd-ltile { min-height: 80px; padding: 8px 10px; }
  .rd-ltile b { font-size: 18px; line-height: 24px; }
  .rd-lpsu { flex-wrap: wrap; }
  .rd-lpsu-go { flex: 1 1 100%; justify-content: center; }
}
@media (max-width: 767px) {
  .rd-seg-w { display: none; }
}

/* 8.12 Окна (макеты Modals, MOneClick, MAdded, MNotify): «Купить в 1 клик», «Сообщить
   о поступлении», «Товар добавлен в корзину». Компьютер — окно 424 px поверх страницы,
   телефон — шторка снизу. Закрываются крестиком, Esc и нажатием на фон. */
.rd-dlg[hidden] { display: none !important; }
.rd-dlg {
  position: fixed; inset: 0;
  z-index: 1060;
  display: flex; align-items: flex-start; justify-content: center;
  padding: 90px 16px 16px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.rd-dlg-bg { position: fixed; inset: 0; background: rgba(16,27,45,.55); }
.rd-dlg-box {
  position: relative;
  width: 424px; max-width: 100%;
  box-sizing: border-box;
  padding: 26px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 24px 64px rgba(16,27,45,.25);
  font-family: var(--em-font); color: var(--em-ink);
  text-align: left;
}
.rd-dlg-grip { display: none; }
.rd-dlg-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.rd-dlg-head.is-end { justify-content: flex-end; }
.rd-dlg .rd-dlg-h, .rd-cartdlg .rd-dlg-h { margin: 0; font-size: 21px; line-height: 27px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-dlg-x {
  width: 44px; height: 44px; flex-shrink: 0;
  margin: -8px -10px 0 auto;
  display: flex; align-items: center; justify-content: center;
  padding: 0;
  border: 0; border-radius: 50%;
  background: transparent; color: var(--em-muted);
  cursor: pointer;
  opacity: 1; text-shadow: none;
}
.rd-dlg-x:hover { background: var(--em-surface); color: var(--em-ink); }
.rd-dlg-p { margin: 10px 0 0; font-size: 14.5px; line-height: 22px; color: var(--em-muted); }
.rd-dlg-item { margin-top: 16px; display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 10px; background: var(--em-surface); }
.rd-dlg-img {
  position: relative;
  width: 64px; height: 64px; flex-shrink: 0;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 4px;
  border: 1px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.rd-dlg-item.is-big .rd-dlg-img { width: 72px; height: 72px; }
.rd-dlg-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rd-dlg-img .rd-nophoto { background-size: 10px 10px; }
.rd-dlg-desc { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.rd-dlg-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 19px; color: var(--em-ink); }
.rd-dlg-meta { font-size: 12.5px; line-height: 17px; color: var(--em-muted); }
.rd-dlg-price { flex-shrink: 0; font-size: 16px; font-weight: 700; white-space: nowrap; color: var(--em-ink); }
.rd-dlg-form { margin-top: 16px; display: flex; flex-direction: column; gap: 12px; }
.rd-dlg .rd-field { display: flex; flex-direction: column; gap: 6px; margin: 0; min-width: 0; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--em-ink); text-align: left; }
.rd-dlg .rd-field input {
  width: 100%; height: 48px;
  box-sizing: border-box;
  margin: 0; padding: 0 14px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font: 400 15px/1 var(--em-font);
  box-shadow: none;
}
.rd-dlg .rd-field input:focus { border-color: var(--em-blue); outline: none; box-shadow: 0 0 0 3px rgba(0,158,224,.18); }
.rd-dlg .rd-consent {
  display: flex; gap: 10px; align-items: flex-start;
  margin: 2px 0 0;
  font-size: 12.5px; line-height: 18px; font-weight: 400; color: var(--em-muted);
  text-align: left;
  cursor: pointer;
}
.rd-dlg .rd-consent input { width: 20px; height: 20px; flex-shrink: 0; margin: 0; accent-color: var(--rd-btn); }
.rd-dlg .rd-consent a { color: var(--rd-btn); }
.rd-dlg .gdpr_consent_wrapper, .rd-dlg .gdpr_consent { margin: 0; padding: 0; border: 0; background: none; font-size: inherit; }
.rd-dlg-btn,
.rd-dlg .btn.rd-dlg-btn,
.rd-cartdlg .btn.rd-dlg-btn {
  width: 100%; height: 52px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  margin: 4px 0 0; padding: 0 20px;
  border: 0; border-radius: 8px;
  font-size: 16px; font-weight: 600; text-transform: none;
  box-shadow: var(--em-sh-blue);
}
.rd-dlg-btn2 {
  width: 100%; height: 48px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center;
  margin-top: 20px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font: 600 15px/1 var(--em-font);
  cursor: pointer;
}
.rd-dlg-btn2:hover { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-dlg-note { display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; line-height: 18px; color: var(--em-muted); text-align: center; }
.rd-dlg-foot { margin: 12px 0 0; font-size: 13px; line-height: 18px; color: var(--em-muted); text-align: center; }
.rd-linkbtn { padding: 12px 0; margin: -12px 0; border: 0; background: none; color: var(--rd-btn); font: 600 13px/18px var(--em-font); cursor: pointer; }
.rd-linkbtn:hover { color: var(--em-blue); }
.rd-dlg-sep { margin: 16px 0 10px; padding-top: 16px; border-top: 1px solid var(--em-line); font-size: 13.5px; color: var(--em-muted); text-align: center; }
.rd-dlg-done { display: flex; flex-direction: column; align-items: center; text-align: center; }
.rd-dlg-done .rd-dlg-head { align-self: stretch; }
.rd-dlg-done .rd-dlg-h { margin-top: 20px; font-size: 22px; line-height: 28px; }
.rd-dlg-done .rd-dlg-p { max-width: 340px; font-size: 15px; line-height: 23px; }
.rd-dlg-done .rd-msgr { align-self: stretch; margin-top: 0; }
.rd-done-ico { width: 72px; height: 72px; margin-top: 8px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.rd-done-ico.is-green { background: var(--em-green-wash); color: #1f7a4a; box-shadow: 0 0 0 10px rgba(232,246,238,.4); }
.rd-done-ico.is-blue { background: var(--em-blue-wash); color: var(--rd-btn); box-shadow: 0 0 0 10px rgba(232,246,253,.4); }
.rd-dlg-done[hidden], .rd-dlg-main[hidden] { display: none !important; }
.em-oneclick-card.is-done .rd-dlg-main { display: none; }
.rd-dlg .js-mailalert-alerts:empty { display: none; }
.rd-dlg .js-mailalert-alerts .alert { margin: 0; padding: 10px 12px; border-radius: 8px; font-size: 13.5px; }
.rd-notify-me { margin: 0; display: flex; align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid var(--em-line); border-radius: 10px; font-size: 14.5px; }
.rd-notify-me .rd-i { flex-shrink: 0; color: var(--rd-btn); }
.rd-notify-me b { font-weight: 700; }
.em-oneclick-modal.rd-dlg .em-oneclick-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }

/* кнопка «Сообщить о поступлении» на странице товара (вместо формы) */
.rd-product .em-mailalert.rd-notify { margin: 16px 0 0; padding: 0; border: 0; background: none; box-shadow: none; }
.rd-notify-open {
  width: 100%; height: 46px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font: 600 15px/1 var(--em-font);
  cursor: pointer;
}
.rd-notify-open:hover { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-notify-on { margin: 0; display: flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 14px; border-radius: 8px; background: var(--em-blue-wash); color: var(--rd-btn); font-size: 14.5px; font-weight: 600; }
.rd-product.is-order .rd-oneclick-btn { margin-top: 10px; }

/* окно корзины ps_shoppingcart (Bootstrap) */
#blockcart-modal.rd-cartdlg .modal-dialog { width: auto; max-width: 424px; margin: 90px auto 16px; }
#blockcart-modal.rd-cartdlg .modal-content {
  box-sizing: border-box;
  padding: 26px;
  border: 0; border-radius: 16px;
  background: #fff;
  box-shadow: 0 24px 64px rgba(16,27,45,.25);
  font-family: var(--em-font); color: var(--em-ink);
}
.rd-cartdlg .rd-dlg-head { align-items: center; }
.rd-cartdlg .rd-dlg-x { margin-top: -8px; }
.rd-cartdlg-ok { width: 36px; height: 36px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--em-green-wash); color: #1f7a4a; }
.rd-cartdlg .rd-dlg-item { margin-top: 18px; }
.rd-tiers { margin-top: 14px; padding: 14px; border-radius: 10px; background: var(--em-amber-wash); }
.rd-tiers-h { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: #a85a12; }
.rd-tiers-row { margin-top: 10px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.rd-tier { padding: 8px; border-radius: 8px; background: #fff; text-align: center; border: 1.5px solid transparent; }
.rd-tier b { display: block; font-size: 17px; line-height: 22px; font-weight: 700; }
.rd-tier span { display: block; font-size: 12px; line-height: 16px; color: var(--em-muted); }
.rd-tier.is-on { border-color: #e2892a; }
.rd-tiers-note { margin: 10px 0 0; font-size: 13px; line-height: 18px; color: var(--em-ink); }
.rd-tiers-note:empty { display: none; }
.rd-cartdlg-acts { margin-top: 18px; display: flex; flex-direction: column; gap: 10px; }
.rd-cartdlg-acts .rd-dlg-btn2 { margin-top: 0; }
.rd-cartdlg-acts a.rd-dlg-btn { color: #fff; }

@media (max-width: 767px) {
  .rd-dlg { align-items: flex-end; padding: 0; }
  .rd-dlg-box { width: 100%; max-height: 92vh; overflow-y: auto; padding: 10px 18px calc(24px + env(safe-area-inset-bottom, 0px)); border-radius: 16px 16px 0 0; }
  .rd-dlg-grip { display: block; width: 40px; height: 4px; margin: 0 auto 12px; border-radius: 4px; background: #d3d9e1; }
  #blockcart-modal.rd-cartdlg { padding: 0 !important; }
  #blockcart-modal.rd-cartdlg .modal-dialog { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; max-width: none; }
  #blockcart-modal.rd-cartdlg.fade .modal-dialog { transform: translate(0, 100%); transition: transform .25s ease-out; }
  #blockcart-modal.rd-cartdlg.in .modal-dialog, #blockcart-modal.rd-cartdlg.show .modal-dialog { transform: none; }
  #blockcart-modal.rd-cartdlg .modal-content { max-height: 92vh; overflow-y: auto; padding: 10px 18px calc(24px + env(safe-area-inset-bottom, 0px)); border-radius: 16px 16px 0 0; }
}
/* у товара без цены подписка открывается ссылкой в строке «Сейчас нет на складе» */
.rd-product.is-ask .rd-notify-open { display: none; }
.rd-product.is-ask .product-actions .em-mailalert.rd-notify { margin: 0; border: 0; }

/* --------------------------------------------------------------------------
   9. КОРЗИНА (макеты Cart и MCart; пустая — как «Избранное» в макете Empty)
   -------------------------------------------------------------------------- */
.rd-page-h { margin: 0; font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-btn-l { height: 48px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 20px; border-radius: 8px; font-size: 15px; font-weight: 600; text-transform: none; }
.rd-btn-s {
  border: 1.5px solid var(--em-line); background: #fff; color: var(--em-ink);
  text-decoration: none;
}
.rd-btn-s:hover { border-color: var(--em-blue); background: var(--em-blue-wash); color: var(--rd-btn); }

/* пустое состояние: корзина, избранное, фильтры, поиск */
.rd-empty {
  margin-top: 20px;
  box-sizing: border-box;
  display: flex; align-items: center; gap: 40px;
  padding: 40px 48px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  text-align: left;
}
.rd-empty-ico {
  width: 120px; height: 120px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--em-surface); color: var(--em-muted);
}
.rd-empty-body { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.rd-empty .rd-empty-h { margin: 0; font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-empty-p { margin: 0; max-width: 620px; font-size: 16px; line-height: 25px; color: var(--em-muted); }
.rd-empty-acts { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.rd-empty-acts .rd-msgr { margin: 0; width: 300px; max-width: 100%; }
.rd-empty-acts .rd-msgr a { height: 48px; }

.rd-cart { padding-top: 8px; }
.rd-cart-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 14px; }
.rd-cart-count { font-size: 16px; color: var(--em-muted); }
.rd-cart-grid { margin-top: 20px; display: grid; grid-template-columns: minmax(0, 1fr) 424px; gap: 24px; align-items: start; }
.rd-cart-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; margin: 0; }
.rd-cart .cart-grid-body, .rd-cart .cart-grid-right { margin: 0; padding: 0; float: none; width: auto; max-width: none; }

/* «Ваша выгода» */
.rd-cart .em-goal.rd-goal {
  margin: 0;
  box-sizing: border-box;
  padding: 20px 24px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: none;
}
.rd-goal .em-goal-row { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; border: 0; background: none; }
.rd-goal-ico { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-amber-wash); color: #a85a12; }
.rd-goal-top.is-done .rd-goal-ico { background: var(--em-green-wash); color: #1f7a4a; }
.rd-goal-txt { display: flex; flex-direction: column; min-width: 0; }
.rd-goal .em-goal-text { margin: 0; font-size: 15px; line-height: 21px; color: var(--em-ink); }
.rd-goal .em-goal-text b { font-weight: 700; }
.rd-goal-sub { margin: 0; font-size: 13px; line-height: 18px; color: var(--em-muted); }
.rd-goal-legacy { display: none !important; }
.rd-goal-scale { display: block; margin-top: 16px; }
.rd-goal-track { position: relative; display: block; height: 8px; border-radius: 99px; background: var(--em-line); }
.rd-goal-fill { position: absolute; left: 0; top: 0; bottom: 0; max-width: 100%; border-radius: 99px; background: var(--em-blue); transition: width .3s ease; }
.rd-goal-tick { position: absolute; top: -3px; width: 2px; height: 14px; margin-left: -1px; border-radius: 2px; background: #fff; box-shadow: 0 0 0 1px var(--em-line); }
.rd-goal-labels { position: relative; display: block; height: 18px; margin-top: 8px; font-size: 12px; line-height: 18px; color: var(--em-muted); }
.rd-goal-labels > span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.rd-goal-labels > span.is-last { right: 0; transform: none; }
.rd-goal-labels > span.is-on { color: #1f7a4a; font-weight: 600; }
.rd-goal .rd-goal-ship { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--em-line); gap: 10px; }
.rd-goal-ship-ico { display: flex; flex-shrink: 0; color: var(--rd-btn); }
.rd-goal-ship .em-goal-text { font-size: 14.5px; line-height: 20px; }
.rd-goal-ship.is-done .rd-goal-ship-ico { color: #1f7a4a; }
.rd-goal .rd-goal-note { margin: 8px 0 0 30px; font-size: 12.5px; line-height: 18px; color: var(--em-muted); }

/* список товаров */
.rd-cart .rd-cart-box { margin: 0; padding: 0; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; box-shadow: none; overflow: hidden; }
.rd-cart-box-head { height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 24px; }
.rd-cart .rd-cart-box-h { margin: 0; font-size: 18px; font-weight: 700; text-transform: none; color: var(--em-ink); }
.rd-cart-more { min-height: 44px; display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--rd-btn); }
.rd-cart .cart-overview { padding: 0; }
.rd-cart .cart-items { margin: 0; padding: 0; list-style: none; }
.rd-cart .cart-item { margin: 0; padding: 0; border: 0; border-top: 1px solid var(--em-line); }
.rd-cline {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) 132px 120px;
  gap: 20px;
  align-items: center;
  padding: 18px 24px;
}
.rd-cline::after { display: none; }
.rd-cline-img {
  position: relative;
  width: 92px; height: 92px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 6px;
  border: 1px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.rd-cline-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rd-cline-img .rd-nophoto { background-size: 10px 10px; }
.rd-cline-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rd-cart .rd-cline-name {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  padding: 0;
  font-size: 15px; line-height: 21px; font-weight: 400; text-align: left;
  color: var(--em-ink); text-decoration: none;
}
.rd-cart .rd-cline-name:hover { color: var(--rd-btn); }
.rd-cline-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; }
.rd-cline-sku { font-family: var(--em-mono); font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--em-faint); }
.rd-cline-meta .rd-stock { font-size: 13px; }
.rd-cline-attr { font-size: 13px; color: var(--em-muted); }
.rd-cline-acts { display: flex; gap: 16px; margin-top: 2px; }
.rd-cart .rd-cline-act {
  min-height: 30px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0; border: 0; background: transparent;
  color: var(--em-muted);
  font: 600 13.5px/1 var(--em-font);
  text-decoration: none;
  cursor: pointer;
}
.rd-cart .rd-cline-act:hover { color: var(--rd-btn); }
.rd-cline-fav[aria-pressed="true"] { color: var(--em-red); }
.rd-cline-fav[aria-pressed="true"] svg { fill: currentColor; }
.rd-cline-qty { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.rd-cline-unit { font-size: 12.5px; color: var(--em-muted); white-space: nowrap; }
.rd-cline-sum { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.rd-cline-sum b { font-size: 19px; line-height: 24px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; color: var(--em-ink); }
.rd-cline-old { font-size: 13px; color: var(--em-faint); text-decoration: line-through; white-space: nowrap; }

/* счётчик количества в строке: кнопки TouchSpin раскладываем в строку «− N +» */
.rd-cline-qty .bootstrap-touchspin {
  display: flex; align-items: stretch;
  width: 124px; height: 40px;
  box-sizing: border-box;
  margin: 0;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
  box-shadow: none;
}
.rd-cline-qty .bootstrap-touchspin .input-group-btn-vertical { display: contents; }
.rd-cline-qty .bootstrap-touchspin .btn-touchspin {
  position: static;
  flex: 0 0 36px;
  width: 36px; min-width: 0; height: 100%; min-height: 0;
  margin: 0; padding: 0;
  display: flex; align-items: center; justify-content: center;
  border: 0; border-radius: 0;
  background: transparent; color: var(--em-ink);
}
.rd-cline-qty .bootstrap-touchspin .btn-touchspin:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-cline-qty .bootstrap-touchspin .btn-touchspin i { display: none; }
.rd-cline-qty .bootstrap-touchspin .btn-touchspin::before {
  content: "";
  position: static;
  width: 16px; height: 16px;
  border: 0;
  transform: none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.rd-cline-qty .bootstrap-touchspin .bootstrap-touchspin-up::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.rd-cline-qty .bootstrap-touchspin .bootstrap-touchspin-down { order: 0; }
.rd-cline-qty .bootstrap-touchspin input { order: 1; }
.rd-cline-qty .bootstrap-touchspin .bootstrap-touchspin-up { order: 2; }
.rd-cline-qty .bootstrap-touchspin .js-cart-line-product-quantity,
.rd-cart .cart-line-product-quantity .js-cart-line-product-quantity {
  flex: 1 1 0;
  width: 100%; min-width: 0; height: 100%; min-height: 0;
  margin: 0; padding: 0;
  border: 0; border-radius: 0;
  background: transparent;
  text-align: center;
  font: 600 15px/1 var(--em-font);
  color: var(--em-ink);
  box-shadow: none;
  -moz-appearance: textfield;
       appearance: textfield;
}
.rd-cline-qty input::-webkit-inner-spin-button, .rd-cline-qty input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* «Ваш заказ» */
.rd-cart-side { position: sticky; top: 16px; }
.rd-cart .rd-cart-sum {
  margin: 0;
  box-sizing: border-box;
  padding: 24px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: var(--em-sh-1);
}
.rd-cart .rd-cart-sum-h { margin: 0; font-size: 20px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-cart-sum .card-block { padding: 0; }
.rd-cart-sum .cart-detailed-subtotals { margin-top: 16px; display: flex; flex-direction: column; gap: 10px; }
.rd-cart-sum .cart-summary-line { margin: 0; display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; font-size: 15px; line-height: 22px; }
.rd-cart-sum .cart-summary-line::after { display: none; }
.rd-cart-sum .cart-summary-line .label { padding: 0; font-size: 15px; font-weight: 400; color: var(--em-muted); text-align: left; float: none; }
.rd-cart-sum .cart-summary-line .value { font-weight: 600; color: var(--em-ink); white-space: nowrap; float: none; text-align: right; }
.rd-cart-sum .rd-sumline.is-discount .value { color: #1f7a4a; }
.rd-cart-sum .em-shipping-hint { font-size: 14px; font-weight: 600; color: var(--em-muted); white-space: normal; }
.rd-cart-sum .cart-summary-totals { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--em-line); }
.rd-cart-sum .cart-summary-line.cart-total { align-items: baseline; }
.rd-cart-sum .cart-total .label { font-size: 17px; font-weight: 600; color: var(--em-ink); }
.rd-cart-sum .cart-total .value { font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -.03em; }
.rd-cart-sum .cart-summary-line .sub { font-size: 13px; }
.rd-csave { margin: 4px 0 0; text-align: right; font-size: 13.5px; font-weight: 600; color: #1f7a4a; }
.rd-cart-sum .block-promo { display: none; }
.rd-cacts { margin-top: 18px; padding: 0; text-align: left; }
.rd-cart .rd-cgo {
  width: 100%; height: 56px;
  box-sizing: border-box;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 8px;
  font-size: 17px; font-weight: 600; text-transform: none;
  box-shadow: var(--em-sh-blue);
}
.rd-cpay { margin: 14px 0 0; display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; line-height: 19px; color: var(--em-muted); }
.rd-cpay .rd-i { flex-shrink: 0; margin-top: 1px; color: var(--rd-btn); }
.rd-cmsg { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--em-line); }
.rd-cmsg-t { margin: 0; font-size: 14px; line-height: 20px; color: var(--em-muted); }
.rd-cmsg .rd-msgr { margin-top: 10px; }
.rd-cbar { display: none; }
.rd-cart .rd-addons { margin-top: 56px; }

@media (max-width: 1199px) {
  .rd-cart-grid { grid-template-columns: minmax(0, 1fr) 360px; }
  .rd-cline { grid-template-columns: 76px minmax(0, 1fr) 124px; }
  .rd-cline-img { width: 76px; height: 76px; }
  .rd-cline-sum { grid-column: 2 / 4; flex-direction: row; justify-content: flex-end; align-items: baseline; gap: 10px; }
}
@media (max-width: 991px) {
  .rd-page-h { font-size: 24px; line-height: 30px; }
  .rd-cart-count { font-size: 13.5px; }
  .rd-cart-grid { margin-top: 12px; grid-template-columns: 1fr; gap: 10px; }
  .rd-cart-main { gap: 10px; }
  .rd-cart-side { position: static; }
  .rd-cart .em-goal.rd-goal { padding: 12px 16px; }
  .rd-goal .em-goal-text { font-size: 14.5px; }
  .rd-goal-ship .em-goal-text { font-size: 13.5px; }
  .rd-goal .rd-goal-note { margin-left: 0; }
  .rd-cart-box-head { height: 48px; padding: 0 14px; }
  .rd-cart .rd-cart-box-h { font-size: 16px; }
  .rd-cline {
    grid-template-columns: 76px minmax(0, 1fr);
    grid-template-areas: "img body" "img sum" "qty qty";
    gap: 4px 12px;
    padding: 14px;
  }
  .rd-cline-img { grid-area: img; align-self: start; width: 76px; height: 76px; padding: 5px; }
  .rd-cline-body { grid-area: body; }
  .rd-cline-sum { grid-area: sum; grid-column: auto; flex-direction: column; align-items: flex-start; text-align: left; }
  .rd-cline-sum b { font-size: 17px; }
  .rd-cline-qty { grid-area: qty; margin-top: 6px; flex-direction: row; align-items: center; gap: 10px; }
  .rd-cline-qty .bootstrap-touchspin { width: 128px; height: 44px; }
  .rd-cline-qty .bootstrap-touchspin .btn-touchspin { flex-basis: 40px; width: 40px; }
  /* «В избранное» и «Удалить» — значками справа от счётчика */
  .rd-cline-acts { position: absolute; right: 14px; margin: 0; gap: 0; }
  .rd-cart .cart-item { position: relative; }
  .rd-cline { position: static; }
  .rd-cline-body { position: static; }
  .rd-cart .rd-cline-act { width: 44px; height: 44px; justify-content: center; }
  .rd-cart .rd-cline-act span { display: none; }
  .rd-cline-acts { bottom: 14px; }
  .rd-cart .rd-cart-sum { padding: 16px; box-shadow: none; }
  .rd-cart .rd-cart-sum-h { font-size: 17px; }
  .rd-cart-sum .cart-total .value { font-size: 26px; line-height: 32px; }
  .rd-cart .rd-cgo { display: none; }
  .rd-cbar {
    position: fixed; left: 0; right: 0; bottom: calc(64px + env(safe-area-inset-bottom, 0px));
    z-index: 1030;
    height: 76px;
    box-sizing: border-box;
    display: flex; align-items: center; gap: 12px;
    padding: 0 12px 0 16px;
    background: #fff;
    border-top: 1px solid var(--em-line);
    box-shadow: 0 -8px 24px rgba(16,27,45,.08);
  }
  .rd-cbar-sum { display: flex; flex-direction: column; }
  .rd-cbar-sum small { font-size: 12.5px; color: var(--em-muted); }
  .rd-cbar-sum b { font-size: 21px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
  .rd-cbar .btn { margin-left: auto; height: 52px; display: inline-flex; align-items: center; padding: 0 22px; border-radius: 8px; font-size: 16px; font-weight: 600; text-transform: none; box-shadow: var(--em-sh-blue); }
  body#cart .rd-cart { padding-bottom: 88px; }
  .rd-cart .rd-addons { margin-top: 24px; }
  .rd-empty { flex-direction: column; align-items: center; gap: 20px; padding: 28px 20px; text-align: center; }
  .rd-empty-ico { width: 88px; height: 88px; }
  .rd-empty-ico .rd-i { width: 38px; height: 38px; }
  .rd-empty .rd-empty-h { font-size: 20px; line-height: 26px; }
  .rd-empty-p { font-size: 15px; line-height: 23px; }
  .rd-empty-acts { flex-direction: column; align-items: stretch; width: 100%; }
  .rd-empty-acts .rd-msgr { width: auto; }
}
/* итог корзины: у темы правило с пятью классами — перебиваем точнее */
.rd-cart .rd-cart-sum .card-block.cart-summary-totals { padding: 16px 0 0; background: none; }
.rd-cart .rd-cart-sum .card-block.cart-summary-totals .cart-summary-line.cart-total { margin: 0; padding: 0; background: none; }
.rd-cart .rd-cart-sum .card-block.cart-summary-totals .cart-summary-line.cart-total .label { font-size: 17px; font-weight: 600; color: var(--em-ink); }
.rd-cart .rd-cart-sum .card-block.cart-summary-totals .cart-summary-line.cart-total .value { font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -.03em; }
@media (max-width: 991px) {
  .rd-cart .rd-cart-sum .card-block.cart-summary-totals .cart-summary-line.cart-total .value { font-size: 26px; line-height: 32px; }
}
@media (max-width: 991px) {
  /* кнопки счётчика в корзине — не меньше 44 px */
  .rd-cline-qty .bootstrap-touchspin { width: 136px; height: 48px; }
  .rd-cline-qty .bootstrap-touchspin .btn-touchspin { flex-basis: 44px; width: 44px; }
}

/* --------------------------------------------------------------------------
   10. ОФОРМЛЕНИЕ ЗАКАЗА (макеты Checkout, MCheckout) и «Заказ оформлен» (Done, MDone)
   Шаги PrestaShop — карточками с номером, способы доставки и оплаты — плитками,
   «Ваш заказ» — справа (на телефоне — сверху, список свёрнут).
   -------------------------------------------------------------------------- */
/* шапка оформления: логотип, шаги, «В корзину», телефон */
.rd-chead { background: #fff; border-bottom: 1px solid var(--em-line); }
.rd-chead-in { height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rd-chead-logo img { display: block; width: auto; max-height: 36px; }
.rd-csteps { margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 12px; }
.rd-csteps li { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--em-muted); white-space: nowrap; }
.rd-csteps-n {
  width: 26px; height: 26px;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  border: 2px solid var(--em-line); border-radius: 50%;
  font-size: 13px; font-weight: 700;
}
.rd-csteps li.is-done { color: #1f7a4a; }
.rd-csteps li.is-done .rd-csteps-n { border-color: var(--em-green); background: var(--em-green); color: #fff; }
.rd-csteps li.is-now { color: var(--em-ink); }
.rd-csteps li.is-now .rd-csteps-n { border-color: var(--rd-btn); background: var(--rd-btn); color: #fff; }
.rd-csteps li.rd-csteps-line { width: 48px; height: 2px; padding: 0; border-radius: 2px; background: var(--em-line); }
.rd-csteps li.rd-csteps-line.is-on { background: var(--em-blue); }
.rd-chead-side { display: flex; align-items: center; gap: 20px; }
.rd-chead-back { min-height: 44px; display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--rd-btn); }
.rd-chead-tel { display: flex; flex-direction: column; align-items: flex-end; }
.rd-chead-tel a { font-size: 16px; line-height: 20px; font-weight: 700; color: var(--em-ink); text-decoration: none; white-space: nowrap; }
.rd-chead-tel span { font-size: 12.5px; color: var(--em-muted); white-space: nowrap; }
.rd-chead-msgr { display: flex; gap: 8px; }
.rd-chead-m { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; }
.rd-chead-m:hover { color: #fff; filter: brightness(1.1); }
.rd-chead-m.is-tg { background: var(--rd-tg); }
.rd-chead-m.is-vb { background: var(--rd-viber); }
body#checkout #header, body#order-confirmation #header { background: #fff; }

.rd-checkout { padding-top: 32px; }
.rd-checkout-sub { margin: 6px 0 0; display: flex; align-items: center; gap: 8px; font-size: 14.5px; color: var(--em-muted); }
.rd-checkout-sub .rd-i { color: var(--rd-btn); }
.rd-checkout-grid { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) 424px; gap: 24px; align-items: start; }
.rd-checkout .cart-grid-body, .rd-checkout .cart-grid-right { margin: 0; padding: 0; float: none; width: auto; max-width: none; }
.rd-checkout-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.rd-checkout-side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 16px; }

/* шаг — карточка */
body#checkout section.checkout-step.rd-cstep {
  margin: 0;
  padding: 24px;
  box-sizing: border-box;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: none;
}
body#checkout section.checkout-step.rd-cstep .rd-cstep-h,
body#checkout section.checkout-step.rd-cstep .step-title {
  margin: 0; padding: 0;
  display: flex; align-items: center; gap: 12px;
  border: 0; background: none;
  font-size: 20px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; text-transform: none;
  color: var(--em-ink);
  cursor: default;
}
body#checkout section.checkout-step.rd-cstep .rd-cstep-n,
body#checkout section.checkout-step.rd-cstep .step-number {
  width: 32px; height: 32px; flex-shrink: 0;
  margin: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--em-surface); color: var(--em-muted);
  font-size: 15px; font-weight: 700;
}
body#checkout section.checkout-step.rd-cstep.-current .rd-cstep-n { background: var(--rd-btn); color: #fff; }
.rd-cstep-ok { display: none; width: 32px; height: 32px; flex-shrink: 0; align-items: center; justify-content: center; border-radius: 50%; background: var(--em-green); color: #fff; }
body#checkout section.checkout-step.rd-cstep.-complete:not(.-current) .rd-cstep-n { display: none; }
body#checkout section.checkout-step.rd-cstep.-complete:not(.-current) .rd-cstep-ok { display: flex; }
.rd-cstep-t { flex: 1 1 auto; min-width: 0; }
body#checkout section.checkout-step.rd-cstep .step-edit.rd-cstep-edit { display: none; margin-left: auto; font-size: 14px; font-weight: 600; color: var(--rd-btn); cursor: pointer; }
body#checkout section.checkout-step.rd-cstep.-reachable.-complete:not(.-current) .rd-cstep-edit { display: inline-flex; min-height: 44px; align-items: center; }
body#checkout section.checkout-step.rd-cstep.-reachable.-complete:not(.-current) .step-title { cursor: pointer; }
body#checkout section.checkout-step.rd-cstep:not(.-current) { padding-top: 18px; padding-bottom: 18px; }
body#checkout section.checkout-step.rd-cstep:not(.-reachable) .rd-cstep-h { color: var(--em-muted); }
body#checkout section.checkout-step.rd-cstep .content { padding: 0; margin-top: 20px; }
body#checkout section.checkout-step.rd-cstep:not(.-current) .content { display: none; }
body#checkout section.checkout-step.rd-cstep.-current .content { display: block; }

/* поля форм: подпись над полем, поле во всю ширину (как в макетах) */
body#checkout section.checkout-step.rd-cstep .form-group.row,
body#authentication .form-group.row,
body#identity .form-group.row,
body#address .form-group.row,
body#registration .form-group.row,
body#password .form-group.row,
body#guest-tracking .form-group.row {
  display: flex; flex-direction: column; gap: 6px;
  margin: 0 0 14px;
}
body#checkout section.checkout-step.rd-cstep .form-group.row::after,
body#authentication .form-group.row::after, body#identity .form-group.row::after,
body#address .form-group.row::after, body#registration .form-group.row::after { display: none; }
body#checkout section.checkout-step.rd-cstep .form-group.row > [class*="col-"],
body#authentication .form-group.row > [class*="col-"], body#identity .form-group.row > [class*="col-"],
body#address .form-group.row > [class*="col-"], body#registration .form-group.row > [class*="col-"],
body#password .form-group.row > [class*="col-"], body#guest-tracking .form-group.row > [class*="col-"] {
  width: 100%; max-width: none; flex: none; float: none;
  padding: 0; margin: 0;
}
body#checkout section.checkout-step.rd-cstep .form-control-label,
body#authentication .form-control-label, body#identity .form-control-label, body#address .form-control-label,
body#registration .form-control-label, body#password .form-control-label, body#guest-tracking .form-control-label {
  padding: 0;
  font-size: 14px; line-height: 20px; font-weight: 600; text-align: left;
  color: var(--em-ink);
}
body#checkout section.checkout-step.rd-cstep .form-control,
body#authentication .form-control, body#identity .form-control, body#address .form-control,
body#registration .form-control, body#password .form-control, body#guest-tracking .form-control {
  height: 48px;
  box-sizing: border-box;
  padding: 0 14px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: #fff; color: var(--em-ink);
  font: 400 15px/1 var(--em-font);
  box-shadow: none;
}
body#checkout section.checkout-step.rd-cstep textarea.form-control, body#checkout section.checkout-step.rd-cstep textarea { height: auto; min-height: 88px; padding: 12px 14px; line-height: 1.45; resize: vertical; }
body#checkout section.checkout-step.rd-cstep .form-control:focus,
body#authentication .form-control:focus, body#identity .form-control:focus, body#address .form-control:focus {
  border-color: var(--em-blue); outline: none; box-shadow: 0 0 0 3px rgba(0,158,224,.18);
}
body#checkout section.checkout-step.rd-cstep .form-control-comment { padding: 0; font-size: 13px; line-height: 18px; color: var(--em-muted); }
body#checkout section.checkout-step.rd-cstep .form-group.row > .form-control-comment:empty { display: none; }
body#checkout section.checkout-step.rd-cstep .input-group .btn { height: 48px; }
body#checkout section.checkout-step.rd-cstep .custom-checkbox label, body#checkout section.checkout-step.rd-cstep .custom-checkbox { font-size: 13px; line-height: 19px; color: var(--em-muted); }
body#checkout section.checkout-step.rd-cstep .nav-inline { margin: 0 0 18px; display: inline-flex; gap: 4px; padding: 4px; border-radius: 10px; background: var(--em-surface); }
body#checkout section.checkout-step.rd-cstep .nav-inline .nav-item { margin: 0; }
body#checkout section.checkout-step.rd-cstep .nav-inline .nav-item.hidden-xs-down,
body#checkout section.checkout-step.rd-cstep .nav-inline .nav-separator { display: none; }
body#checkout section.checkout-step.rd-cstep .nav-inline .nav-link {
  min-height: 40px;
  display: flex; align-items: center;
  padding: 0 14px;
  border-radius: 8px;
  font-size: 14px; font-weight: 600;
  color: var(--em-muted);
}
body#checkout section.checkout-step.rd-cstep .nav-inline .nav-link.active { background: #fff; color: var(--em-ink); box-shadow: 0 1px 3px rgba(16,27,45,.12); }
body#checkout section.checkout-step.rd-cstep .continue.btn,
body#checkout section.checkout-step.rd-cstep button[name="confirm-addresses"],
body#checkout section.checkout-step.rd-cstep button[name="confirmDeliveryOption"] {
  float: none;
  min-width: 220px; height: 52px;
  margin: 8px 0 0 auto;
  display: flex; align-items: center; justify-content: center;
  padding: 0 24px;
  border-radius: 8px;
  font-size: 16px; font-weight: 600; text-transform: none;
  box-shadow: var(--em-sh-blue);
}
body#checkout section.checkout-step.rd-cstep form > .clearfix::after, body#checkout section.checkout-step.rd-cstep .clearfix::after { display: none; }

/* способы доставки и оплаты — плитками (макет Checkout) */
body#checkout section.checkout-step.rd-cstep .delivery-options,
body#checkout section.checkout-step.rd-cstep .payment-options {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px;
}
body#checkout section.checkout-step.rd-cstep .delivery-options > .clearfix { display: none; }
body#checkout section.checkout-step.rd-cstep .delivery-options > .carrier-extra-content,
body#checkout section.checkout-step.rd-cstep .payment-options > .js-payment-option-form,
body#checkout section.checkout-step.rd-cstep .payment-options > p { grid-column: 1 / -1; margin: 0; }
body#checkout section.checkout-step.rd-cstep .em-delivery-card,
body#checkout section.checkout-step.rd-cstep .em-pay-card {
  margin: 0;
  display: flex;
  border: 1.5px solid var(--em-line); border-radius: 12px;
  background: #fff;
  box-shadow: none;
}
body#checkout section.checkout-step.rd-cstep .em-delivery-card.is-selected,
body#checkout section.checkout-step.rd-cstep .em-pay-card.is-selected { border-color: var(--em-blue); background: #f5fbfe; box-shadow: 0 0 0 1px var(--em-blue) inset; }
body#checkout section.checkout-step.rd-cstep .em-pay-card .payment-option { width: 100%; }
body#checkout section.checkout-step.rd-cstep .em-delivery-label,
body#checkout section.checkout-step .payment-options .em-pay-card .em-pay-label {
  position: relative;
  flex: 1 1 auto; width: 100%;
  box-sizing: border-box;
  display: flex; flex-direction: column; align-items: flex-start; gap: 6px;
  margin: 0;
  padding: 16px;
  cursor: pointer;
}
body#checkout section.checkout-step.rd-cstep .em-delivery-mark,
body#checkout section.checkout-step.rd-cstep .em-pay-card .em-pay-mark { position: absolute; top: 16px; right: 16px; margin: 0; }
.rd-dico { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
body#checkout section.checkout-step.rd-cstep .em-delivery-body, body#checkout section.checkout-step.rd-cstep .em-pay-body { margin-top: 4px; display: flex; flex-direction: column; gap: 4px; min-width: 0; width: 100%; }
body#checkout section.checkout-step.rd-cstep .em-delivery-head { flex-direction: column; align-items: flex-start; gap: 4px; }
body#checkout section.checkout-step.rd-cstep .em-delivery-name, body#checkout section.checkout-step.rd-cstep .em-pay-name { font-size: 15.5px; line-height: 21px; font-weight: 700; color: var(--em-ink); }
body#checkout section.checkout-step.rd-cstep .delivery-options .carrier-price { text-align: left; white-space: normal; font-size: 14px; line-height: 19px; font-weight: 600; }
body#checkout section.checkout-step.rd-cstep .em-delivery-delay, body#checkout section.checkout-step.rd-cstep .em-pay-desc { margin: 0; font-size: 13px; line-height: 18px; color: var(--em-muted); }
body#checkout section.checkout-step.rd-cstep .em-delivery-logo, body#checkout section.checkout-step.rd-cstep .em-pay-logo { display: none; }
body#checkout section.checkout-step.rd-cstep .order-options { margin-top: 18px; }
body#checkout section.checkout-step.rd-cstep #delivery label { display: block; margin: 0 0 6px; font-size: 14px; font-weight: 600; color: var(--em-ink); text-align: left; }
body#checkout section.checkout-step.rd-cstep #delivery textarea { width: 100%; box-sizing: border-box; border: 1.5px solid var(--em-line); border-radius: 8px; font: 400 15px/1.45 var(--em-font); }
body#checkout section.checkout-step.rd-cstep .js-conditions-to-approve ul { margin: 16px 0 0; padding: 0; list-style: none; }
body#checkout section.checkout-step.rd-cstep .js-conditions-to-approve li { display: flex; gap: 10px; align-items: flex-start; }
body#checkout section.checkout-step.rd-cstep .js-conditions-to-approve .float-xs-left { float: none; }
body#checkout section.checkout-step.rd-cstep .condition-label label { font-size: 13px; line-height: 19px; color: var(--em-muted); text-align: left; }
body#checkout #payment-confirmation { margin-top: 18px; }
body#checkout #payment-confirmation .btn {
  width: 100%; height: 56px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 8px;
  font-size: 17px; font-weight: 600; text-transform: none;
  box-shadow: var(--em-sh-blue);
}

/* «Ваш заказ» */
body#checkout .rd-csum {
  margin: 0;
  padding: 24px;
  box-sizing: border-box;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: var(--em-sh-1);
}
body#checkout .rd-csum .card-block { padding: 0; }
.rd-csum-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
body#checkout .rd-csum-h { margin: 0; font-size: 20px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-csum-edit { min-height: 44px; display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; color: var(--rd-btn); }
.rd-csum-list > summary { list-style: none; }
.rd-csum-list > summary::-webkit-details-marker { display: none; }
.rd-csum-toggle { display: none; }
.rd-csum-items { margin: 12px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
body#checkout .rd-csum-item { margin: 0; display: flex; align-items: center; gap: 12px; }
.rd-csum-img {
  position: relative;
  width: 52px; height: 52px; flex-shrink: 0;
  box-sizing: border-box;
  display: flex; align-items: center; justify-content: center;
  padding: 3px;
  border: 1px solid var(--em-line); border-radius: 8px;
  background: #fff;
  overflow: hidden;
}
.rd-csum-img img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.rd-csum-img .rd-nophoto { background-size: 8px 8px; }
.rd-csum-desc { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; }
.rd-csum-name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; line-height: 20px; color: var(--em-ink); }
.rd-csum-name:hover { color: var(--rd-btn); }
.rd-csum-qty, .rd-csum-attr { font-size: 13px; color: var(--em-muted); }
.rd-csum-line { flex-shrink: 0; font-size: 14.5px; font-weight: 700; white-space: nowrap; color: var(--em-ink); }
body#checkout .rd-csum .cart-summary-subtotals-container { margin-top: 18px; padding: 16px 0 0; border-top: 1px solid var(--em-line); display: flex; flex-direction: column; gap: 10px; }
body#checkout .rd-csum .cart-summary-line { margin: 0; display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; font-size: 15px; line-height: 22px; }
body#checkout .rd-csum .cart-summary-line::after { display: none; }
body#checkout .rd-csum .cart-summary-line .label { padding: 0; font-size: 15px; font-weight: 400; color: var(--em-muted); float: none; text-align: left; }
body#checkout .rd-csum .cart-summary-line .value { font-weight: 600; color: var(--em-ink); float: none; white-space: nowrap; }
body#checkout .rd-csum #cart-subtotal-discount .value { color: #1f7a4a; }
body#checkout .rd-csum .em-shipping-hint { font-size: 14px; color: var(--em-muted); white-space: normal; text-align: right; }
body#checkout .rd-csum .card-block.cart-summary-totals { margin-top: 16px; padding: 16px 0 0; border-top: 1px solid var(--em-line); background: none; }
body#checkout .rd-csum .card-block.cart-summary-totals .cart-summary-line.cart-total { padding: 0; background: none; }
body#checkout .rd-csum .card-block.cart-summary-totals .cart-summary-line.cart-total .label { font-size: 17px; font-weight: 600; color: var(--em-ink); }
body#checkout .rd-csum .card-block.cart-summary-totals .cart-summary-line.cart-total .value { font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -.03em; }
body#checkout .rd-csum .block-promo { display: none; }

.rd-chead-m.is-tel { display: none; background: var(--rd-btn); }
@media (max-width: 1199px) {
  .rd-checkout-grid { grid-template-columns: minmax(0, 1fr) 360px; }
  .rd-chead-tel span { display: none; }
  .rd-csteps li.rd-csteps-line { width: 24px; }
}
@media (max-width: 991px) {
  .rd-chead-in { height: 60px; gap: 12px; }
  .rd-chead-logo img { max-height: 28px; }
  .rd-csteps { display: none; }
  .rd-chead-tel { display: none; }
  .rd-chead-m.is-tel { display: flex; }
  .rd-chead-m { width: 44px; height: 44px; }
  .rd-chead-side { gap: 8px; }
  .rd-chead-back span { display: none; }
  .rd-chead-back { width: 44px; justify-content: center; }
  .rd-checkout { padding-top: 16px; }
  .rd-checkout-sub { font-size: 13.5px; }
  .rd-checkout-grid { margin-top: 14px; grid-template-columns: 1fr; gap: 10px; }
  .rd-checkout-side { order: -1; position: static; }
  body#checkout .rd-csum { padding: 14px 16px; box-shadow: none; }
  body#checkout .rd-csum-h { font-size: 17px; }
  .rd-csum-toggle { min-height: 44px; margin-top: 4px; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; font-weight: 600; color: var(--rd-btn); cursor: pointer; }
  .rd-csum-list[open] .rd-csum-toggle .rd-i { transform: rotate(180deg); }
  body#checkout .rd-csum .card-block.cart-summary-totals .cart-summary-line.cart-total .value { font-size: 24px; line-height: 30px; }
  body#checkout section.checkout-step.rd-cstep { padding: 16px; }
  body#checkout section.checkout-step.rd-cstep .rd-cstep-h { font-size: 18px; line-height: 24px; }
  body#checkout section.checkout-step.rd-cstep .delivery-options, body#checkout section.checkout-step.rd-cstep .payment-options { grid-template-columns: 1fr; gap: 8px; }
  body#checkout section.checkout-step.rd-cstep .em-delivery-label,
  body#checkout section.checkout-step .payment-options .em-pay-card .em-pay-label { flex-direction: row; align-items: center; gap: 12px; padding: 12px 44px 12px 12px; }
  body#checkout section.checkout-step.rd-cstep .em-delivery-mark, body#checkout section.checkout-step.rd-cstep .em-pay-card .em-pay-mark { top: 50%; margin-top: -10px; right: 14px; }
  body#checkout section.checkout-step.rd-cstep .em-delivery-body, body#checkout section.checkout-step.rd-cstep .em-pay-body { margin-top: 0; }
  .rd-dico { flex-shrink: 0; }
  body#checkout section.checkout-step.rd-cstep .continue.btn,
  body#checkout section.checkout-step.rd-cstep button[name="confirm-addresses"],
  body#checkout section.checkout-step.rd-cstep button[name="confirmDeliveryOption"] { width: 100%; min-width: 0; }
  body#checkout { padding-bottom: 24px !important; }
}

/* «Заказ оформлен» (макеты Done и MDone) */
.rd-done { padding-top: 32px; }
.rd-done-grid { display: grid; grid-template-columns: minmax(0, 1fr) 424px; gap: 24px; align-items: start; }
.rd-done-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.rd-done-hero {
  position: relative;
  padding: 36px;
  border-radius: 12px;
  overflow: hidden;
  background-color: var(--em-navy);
  background-image:
    radial-gradient(closest-side, rgba(0,158,224,.28), rgba(0,158,224,0)),
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 420px 420px, 32px 32px, 32px 32px;
  background-position: right -60px top -100px, 0 0, 0 0;
  background-repeat: no-repeat, repeat, repeat;
  color: #fff;
}
.rd-done-check { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--em-green); color: #fff; box-shadow: 0 0 0 8px rgba(46,158,91,.25); }
.rd-done .rd-done-h { margin: 20px 0 0; font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: #fff; }
.rd-done-p { margin: 8px 0 0; max-width: 560px; font-size: 16.5px; line-height: 26px; color: rgba(255,255,255,.78); }
.rd-done .rd-done-h2 { margin: 8px 0 0; font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-done-steps { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rd-done-steps li { box-sizing: border-box; display: flex; flex-direction: column; gap: 8px; padding: 18px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-done-n { display: flex; align-items: center; gap: 10px; color: var(--rd-btn); }
.rd-done-n i { width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--rd-btn); color: #fff; font-size: 14px; font-weight: 700; font-style: normal; }
.rd-done.em-confirm { max-width: none; margin: 0; padding-left: 0; padding-right: 0; }
.rd-done-total b { color: var(--em-ink); }
.rd-done-steps b { font-size: 16.5px; line-height: 22px; font-weight: 700; color: var(--em-ink); }
.rd-done-steps li > span:last-child { font-size: 14px; line-height: 21px; color: var(--em-muted); }
.rd-done-card { box-sizing: border-box; padding: 22px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-done-reg-head { display: flex; gap: 14px; align-items: flex-start; }
.rd-done-reg-ico { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-done-reg-h { margin: 0; font-size: 17px; font-weight: 700; color: var(--em-ink); }
.rd-done-reg-p { margin: 4px 0 0; font-size: 14px; line-height: 21px; color: var(--em-muted); }
.rd-done-reg form { margin-top: 16px; }
.rd-done-reg .form-group.row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; }
.rd-done-reg .form-group.row > [class*="col-"] { width: 100%; max-width: none; flex: none; padding: 0; }
.rd-done-reg .form-control-label { padding: 0; text-align: left; font-size: 14px; font-weight: 600; }
.rd-done-reg .form-control { height: 48px; border: 1.5px solid var(--em-line); border-radius: 8px; }
.rd-done-reg .form-footer .btn, .rd-done-reg button[type="submit"] { height: 48px; padding: 0 24px; border-radius: 8px; font-weight: 600; text-transform: none; }
.rd-done-acts { display: flex; flex-wrap: wrap; gap: 10px; }
.rd-done-acts .rd-btn-l { height: 52px; }
.rd-done-side { display: flex; flex-direction: column; gap: 16px; }
.rd-done .rd-done-card-h { margin: 0; font-size: 19px; line-height: 25px; font-weight: 700; text-transform: none; color: var(--em-ink); }
.rd-done-items { margin-top: 14px; }
.rd-done-items .rd-csum-item { display: flex; align-items: center; gap: 12px; }
.rd-done-items .rd-csum-img { width: 48px; height: 48px; }
.rd-done-sums { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--em-line); display: flex; flex-direction: column; gap: 8px; }
.rd-done-sum { margin: 0; display: flex; justify-content: space-between; gap: 12px; font-size: 14.5px; line-height: 21px; }
.rd-done-sum span { color: var(--em-muted); }
.rd-done-sum b { font-weight: 600; color: var(--em-ink); white-space: nowrap; }
.rd-done-sum.is-discount b { color: #1f7a4a; }
.rd-done-total { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--em-line); display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.rd-done-total span { font-size: 16px; font-weight: 600; }
.rd-done-total b { font-size: 24px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.rd-done-meta { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; line-height: 19px; color: var(--em-muted); }
.rd-done-meta span { display: flex; gap: 8px; align-items: flex-start; }
.rd-done-meta .rd-i { flex-shrink: 0; margin-top: 1px; color: var(--rd-btn); }
.rd-done-help-h { margin: 0; font-size: 16px; font-weight: 700; color: var(--em-ink); }
.rd-done-help-p { margin: 2px 0 0; font-size: 14px; color: var(--em-muted); }
.rd-done-tel { display: block; margin-top: 12px; font-size: 20px; font-weight: 700; color: var(--em-ink); text-decoration: none; }
.rd-done-help .rd-msgr { margin-top: 12px; }
@media (max-width: 1199px) { .rd-done-grid { grid-template-columns: minmax(0, 1fr) 360px; } }
@media (max-width: 991px) {
  .rd-done { padding-top: 12px; }
  .rd-done-grid { grid-template-columns: 1fr; gap: 12px; }
  .rd-done-main { gap: 14px; }
  .rd-done-hero { padding: 24px 20px; }
  .rd-done-check { width: 52px; height: 52px; }
  .rd-done .rd-done-h { margin-top: 14px; font-size: 24px; line-height: 30px; }
  .rd-done-p { font-size: 15px; line-height: 23px; }
  .rd-done .rd-done-h2 { font-size: 19px; }
  .rd-done-steps { grid-template-columns: 1fr; gap: 8px; }
  .rd-done-steps li { padding: 14px; }
  .rd-done-acts { flex-direction: column; }
  .rd-done-acts .rd-btn-l { width: 100%; }
  .rd-done-card { padding: 16px; }
}
/* шаги оформления: убрать линии и обводки темы во всех состояниях шага */
body#checkout #content section.checkout-step.rd-cstep > .step-title { border: 0 !important; box-shadow: none !important; }
body#checkout #content section.checkout-step.rd-cstep > .step-title::before,
body#checkout #content section.checkout-step.rd-cstep > .step-title::after { display: none !important; }
body#checkout #content section.checkout-step.rd-cstep .step-number.rd-cstep-n { border: 0 !important; }
body#checkout #content section.checkout-step.rd-cstep .step-edit.rd-cstep-edit { text-transform: none; }
body#checkout #content section.checkout-step.rd-cstep:not(.-current) > .content { display: none !important; }
body#checkout .rd-cstep .js-conditions-to-approve li { align-items: center; }
body#checkout .rd-cstep .condition-label label { margin: 0; }

/* --------------------------------------------------------------------------
   11. ЛИЧНЫЙ КАБИНЕТ И ВХОД (макеты Login, MLogin, Profile, MProfile, Account, Order, MOrder)
   -------------------------------------------------------------------------- */
.rd-acc { padding-top: 12px; }
.rd-acc.has-nav { display: grid; grid-template-columns: 264px minmax(0, 1fr); gap: 24px; align-items: start; }
.rd-acc-side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 16px; }
.rd-acc-main { margin: 0; padding: 0; min-width: 0; background: none; box-shadow: none; }
#content-wrapper .rd-acc-main.page-content:not(.card) { padding: 0; }
.rd-acc-head { margin: 0 0 20px; }
.rd-acc-card { box-sizing: border-box; padding: 20px 12px 12px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-acc-who { display: flex; align-items: center; gap: 12px; padding: 0 8px 16px; border-bottom: 1px solid var(--em-line); }
.rd-acc-ini { width: 52px; height: 52px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--em-blue-wash); color: var(--rd-btn); font-size: 20px; font-weight: 700; }
.rd-acc-name { display: flex; flex-direction: column; min-width: 0; }
.rd-acc-name b { font-size: 16px; line-height: 22px; font-weight: 700; color: var(--em-ink); }
.rd-acc-name span { font-size: 13px; color: var(--em-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rd-acc-nav { margin-top: 10px; display: flex; flex-direction: column; gap: 2px; }
.rd-acc-nav a {
  min-height: 44px;
  display: flex; align-items: center; gap: 12px;
  padding: 0 12px;
  border-radius: 8px;
  color: var(--em-ink);
  font-size: 15px; font-weight: 500;
  text-decoration: none;
}
.rd-acc-nav a > span { flex: 1 1 auto; }
.rd-acc-nav a .rd-i { flex-shrink: 0; color: var(--em-muted); }
.rd-acc-nav a:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-acc-nav a.is-on { background: var(--em-blue-wash); color: var(--rd-btn); font-weight: 600; }
.rd-acc-nav a.is-on .rd-i { color: var(--rd-btn); }
.rd-acc-cnt { min-width: 24px; height: 22px; box-sizing: border-box; padding: 0 7px; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--em-surface); color: var(--em-muted); font-size: 12px; font-weight: 700; font-style: normal; }
.rd-acc-cnt[hidden] { display: none; }
.rd-acc-nav a.rd-acc-out { margin-top: 6px; border-top: 1px solid var(--em-line); border-radius: 0 0 8px 8px; color: var(--em-muted); }
.rd-acc-help { padding: 18px; }
.rd-acc-help-h { margin: 0; font-size: 15px; font-weight: 700; color: var(--em-ink); }
.rd-acc-help-p { margin: 4px 0 0; font-size: 13.5px; line-height: 19px; color: var(--em-muted); }
.rd-acc-help .rd-msgr { margin-top: 12px; flex-direction: column; }
.rd-btn-m { min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border-radius: 8px; font-size: 14px; font-weight: 600; }

/* главная кабинета: плитки разделов */
body#my-account .em-account-hello { display: none; }
body#my-account .em-account-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
body#my-account .em-account-card {
  box-sizing: border-box;
  display: flex; flex-direction: column; gap: 6px;
  min-height: 140px;
  padding: 20px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  color: var(--em-ink); text-decoration: none;
  box-shadow: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
body#my-account .em-account-card:hover { border-color: var(--em-blue); box-shadow: 0 10px 34px rgba(16,27,45,.10); }
body#my-account .em-account-ico { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
body#my-account .em-account-card b { margin-top: 6px; font-size: 16px; font-weight: 700; }
body#my-account .em-account-note { font-size: 13.5px; line-height: 19px; color: var(--em-muted); }
body#my-account .em-account-help { margin-top: 16px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 20px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }

/* «Мои заказы» */
.rd-ord-last { box-sizing: border-box; padding: 24px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-ord-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.rd-ord-h { margin: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; font-size: 20px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); }
.rd-ord-sub { margin: 4px 0 0; font-size: 14px; color: var(--em-muted); }
.rd-ord-sum { display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
.rd-ord-sum b { font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.rd-ord-sum span { font-size: 13px; color: var(--em-muted); }
.rd-ord-acts { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--em-line); display: flex; flex-wrap: wrap; gap: 10px; }
.rd-ostate {
  height: 26px;
  display: inline-flex; align-items: center; gap: 6px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--em-surface);
  color: var(--em-ink);
  font-size: 13px; font-weight: 600; letter-spacing: 0;
  white-space: nowrap;
}
.rd-ostate::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--st, var(--em-green)); }
.rd-ord-list { margin-top: 24px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; overflow: hidden; }
.rd-ord-list-h { margin: 0; height: 60px; display: flex; align-items: center; padding: 0 24px; font-size: 18px; font-weight: 700; text-transform: none; color: var(--em-ink); }
.rd-ord-row {
  display: grid; grid-template-columns: 160px 170px 130px minmax(0, 1fr) 150px;
  gap: 16px; align-items: center;
  min-height: 60px;
  padding: 8px 24px;
  border-top: 1px solid var(--em-line);
  font-size: 15px;
}
.rd-ord-row:hover { background: #f9fbfd; }
.rd-ord-row-h { min-height: 40px; background: var(--em-surface); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--em-muted); }
.rd-ord-row-h:hover { background: var(--em-surface); }
.rd-ord-ref { font-weight: 700; color: var(--rd-btn); }
.rd-ord-date { color: var(--em-muted); }
.rd-ord-total { white-space: nowrap; }
.rd-ord-go { display: flex; justify-content: flex-end; }
.rd-ord-go .rd-btn-m { min-height: 40px; }

/* подробности заказа (order-detail): карточки вместо голых таблиц темы */
body#order-detail .rd-acc-main > .box,
body#order-detail .rd-acc-main #order-infos,
body#order-detail .rd-acc-main #order-history,
body#order-detail .rd-acc-main .addresses,
body#order-detail .rd-acc-main #order-products,
body#order-detail .rd-acc-main .order-items,
body#order-detail .rd-acc-main .order-message-form,
body#order-detail .rd-acc-main .messages {
  margin: 0 0 16px;
  padding: 20px 24px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: none;
}
body#order-detail .rd-acc-main .addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
body#order-detail .rd-acc-main .addresses > [class*="col-"] { width: auto; max-width: none; padding: 0; float: none; }
body#order-detail .rd-acc-main .addresses::after { display: none; }
body#order-detail .rd-acc-main table { width: 100%; margin: 0; border: 0; }
body#order-detail .rd-acc-main table th, body#order-detail .rd-acc-main table td { padding: 12px 8px; border: 0; border-bottom: 1px solid var(--em-line); background: none; font-size: 14.5px; }
body#order-detail .rd-acc-main thead th { font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--em-muted); }
body#order-detail .rd-acc-main h3, body#order-detail .rd-acc-main .h3, body#order-detail .rd-acc-main h4 { font-size: 18px; font-weight: 700; text-transform: none; color: var(--em-ink); }
body#order-detail .rd-acc-main .label-pill { border-radius: 999px; padding: 4px 10px; font-weight: 600; }

/* адреса */
body#addresses .rd-acc-main .address {
  margin: 0 0 16px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  box-shadow: none;
}
body#addresses .rd-acc-main .address-body { padding: 20px; }
body#addresses .rd-acc-main .address-footer { padding: 12px 20px; border-top: 1px solid var(--em-line); display: flex; gap: 16px; }
body#addresses .rd-acc-main .address-footer a { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--rd-btn); }
body#addresses .rd-acc-main .addresses-footer a, body#address .rd-acc-main .form-footer .btn,
body#identity .rd-acc-main .form-footer .btn, body#registration .form-footer .btn {
  min-height: 48px;
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 24px;
  border-radius: 8px;
  font-size: 15px; font-weight: 600; text-transform: none;
}

/* личные данные, адрес, регистрация — формы карточкой */
body#identity .rd-acc-main form, body#address .rd-acc-main .address-form, body#registration .rd-acc-main .register-form {
  box-sizing: border-box;
  padding: 24px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
}
body#identity .rd-acc-main .form-footer, body#address .rd-acc-main .form-footer, body#registration .form-footer { padding: 8px 0 0; text-align: left; border: 0; }

/* вход и регистрация (макет Login) */
body#authentication #content-wrapper .page-header h1 { margin: 0; font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-login { margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.rd-login-side { display: flex; flex-direction: column; gap: 16px; }
.rd-login-card { box-sizing: border-box; padding: 28px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-login-card.is-small { padding: 22px; }
.rd-login .rd-login-h { margin: 0 0 18px; font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-login .rd-login-h3 { margin: 0; font-size: 19px; line-height: 25px; font-weight: 700; text-transform: none; color: var(--em-ink); }
.rd-login-p { margin: 6px 0 0; font-size: 14px; line-height: 21px; color: var(--em-muted); }
.rd-login-plus { margin: 16px 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.rd-login-plus li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--em-ink); }
.rd-login-plus .rd-i { color: #1f7a4a; flex-shrink: 0; }
.rd-login .rd-login-btn, .rd-login #submit-login, .rd-login-reset .btn {
  width: 100%; height: 52px;
  display: flex; align-items: center; justify-content: center;
  margin-top: 16px;
  border-radius: 8px;
  font-size: 16px; font-weight: 600; text-transform: none;
  box-shadow: var(--em-sh-blue);
}
.rd-login-reset .btn { height: 48px; margin-top: 12px; }
.rd-login .form-group.row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.rd-login .form-group.row > [class*="col-"] { width: 100%; max-width: none; flex: none; padding: 0; float: none; }
.rd-login .form-group.row > .form-control-comment:empty { display: none; }
.rd-login .form-control-label { padding: 0; text-align: left; font-size: 14px; font-weight: 600; color: var(--em-ink); }
.rd-login .form-control { height: 48px; box-sizing: border-box; padding: 0 14px; border: 1.5px solid var(--em-line); border-radius: 8px; font: 400 15px/1 var(--em-font); box-shadow: none; }
.rd-login .input-group .btn { height: 48px; }
.rd-login .forgot-password { margin: -4px 0 0; text-align: right; }
.rd-login .forgot-password a { min-height: 36px; display: inline-flex; align-items: center; font-size: 14px; font-weight: 600; color: var(--rd-btn); }
.rd-login .form-footer { padding: 0; text-align: left; }
.rd-login-note { display: flex; gap: 12px; align-items: flex-start; }
.rd-login-ico { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-green-wash); color: #1f7a4a; }
.rd-login-note-h { margin: 0; font-size: 17px; line-height: 23px; font-weight: 700; color: var(--em-ink); }
.rd-login-acts { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.rd-login-acts .rd-btn-s { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; padding: 0 14px; border-radius: 8px; font-size: 14px; font-weight: 600; }
.rd-login-reset { margin-top: 14px; }
.rd-login-reset .rd-field { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 14px; font-weight: 600; color: var(--em-ink); }

@media (max-width: 1199px) {
  .rd-login { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-login-side { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rd-ord-row { grid-template-columns: 140px 150px 110px minmax(0, 1fr) 130px; }
}
@media (max-width: 991px) {
  .rd-acc.has-nav { grid-template-columns: 1fr; gap: 12px; }
  .rd-acc-side { position: static; order: 2; }
  .rd-acc-head { margin-bottom: 14px; }
  .rd-login { grid-template-columns: 1fr; gap: 12px; margin-top: 14px; }
  .rd-login-side { display: flex; }
  .rd-login-card { padding: 20px 16px; }
  .rd-ord-last { padding: 16px; }
  .rd-ord-top { flex-direction: column; gap: 8px; }
  .rd-ord-sum { align-items: flex-start; text-align: left; }
  .rd-ord-list-h { height: 52px; padding: 0 16px; font-size: 16px; }
  .rd-ord-row-h { display: none; }
  .rd-ord-row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "ref total" "date date" "state go"; gap: 4px 12px; padding: 12px 16px; }
  .rd-ord-ref { grid-area: ref; }
  .rd-ord-total { grid-area: total; text-align: right; }
  .rd-ord-date { grid-area: date; font-size: 13.5px; }
  .rd-ord-row > span:nth-child(4) { grid-area: state; }
  .rd-ord-go { grid-area: go; }
  .rd-ord-go .rd-btn-m span { display: none; }
  .rd-ord-go .rd-btn-m { width: 44px; min-height: 44px; padding: 0; }
  body#order-detail .rd-acc-main > .box, body#order-detail .rd-acc-main #order-infos, body#order-detail .rd-acc-main #order-history,
  body#order-detail .rd-acc-main .addresses, body#order-detail .rd-acc-main .order-items { padding: 16px; }
  body#identity .rd-acc-main form, body#address .rd-acc-main .address-form, body#registration .rd-acc-main .register-form { padding: 16px; }
}
/* вход: без карточек темы вокруг заголовка и колонок, выравнивание по левому краю */
body#authentication #content-wrapper .page-header,
body#password #content-wrapper .page-header,
body#registration #content-wrapper .page-header { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
body#authentication #content-wrapper #content.page-content,
body#password #content-wrapper #content.page-content,
body#registration #content-wrapper #content.page-content { padding: 0; background: none; border: 0; box-shadow: none; }
.rd-login .no-account, .rd-login .rd-login-card { text-align: left; }
.rd-login #login-form .forgot-password { text-align: right; }
.rd-login-reset .rd-field, .rd-login .rd-field span { text-align: left; }
body#registration #content-wrapper .page-header h1, body#password #content-wrapper .page-header h1 { font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em; text-transform: none; }
@media (max-width: 991px) {
  body#authentication #content-wrapper .page-header h1,
  body#registration #content-wrapper .page-header h1, body#password #content-wrapper .page-header h1 { font-size: 24px; line-height: 30px; }
}
/* кабинет: без карточки темы вокруг содержимого; блок помощи — тёмный текст на белом */
#content-wrapper .rd-acc-main#content.page-content { padding: 0; background: none; border: 0; box-shadow: none; }
body#my-account .em-account-help b { color: var(--em-ink); font-size: 16px; }
body#my-account .em-account-help span { color: var(--em-muted); font-size: 14px; }
body#my-account .em-account-help > div { display: flex; flex-direction: column; gap: 2px; }
.rd-acc-help .rd-msgr a { flex: none; height: 44px; }

/* --------------------------------------------------------------------------
   12. СТАТЬИ И ТЕКСТОВЫЕ СТРАНИЦЫ (макеты Articles, Article, MArticle(s), InfoPage, MInfoPage)
   -------------------------------------------------------------------------- */
body#cms #content-wrapper .page-header { margin: 8px 0 0; padding: 0; background: none; border: 0; box-shadow: none; }
body#cms #content-wrapper .page-header h1 {
  max-width: 800px;
  margin: 0; padding: 0;
  font-size: 38px; line-height: 46px; font-weight: 700; letter-spacing: -.02em; text-transform: none;
  color: var(--em-ink);
  text-wrap: balance;
}
.rd-cms { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 800px) 360px; gap: 88px; align-items: start; }
body#cms #content-wrapper .rd-cms-body#content.page-content,
body#cms #content-wrapper .rd-cms-body#content.page-content.em-article {
  max-width: none; margin: 0; padding: 0;
  background: none; border: 0; box-shadow: none;
  font-size: 17px; line-height: 1.65; color: var(--em-ink);
}
.rd-cms-body h2 { margin: 40px 0 0; font-size: 24px; line-height: 30px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); scroll-margin-top: 16px; }
.rd-cms-body h3 { margin: 28px 0 0; font-size: 19px; line-height: 25px; font-weight: 700; text-transform: none; color: var(--em-ink); }
.rd-cms-body p { margin: 14px 0 0; }
.rd-cms-body > p:first-child, .rd-cms-body > h2:first-child { margin-top: 0; }
.rd-cms-body ul, .rd-cms-body ol { margin: 14px 0 0; padding-left: 22px; }
.rd-cms-body li { margin: 6px 0 0; }
.rd-cms-body img { max-width: 100%; height: auto; border-radius: 12px; }
.rd-cms-body a { color: var(--rd-btn); text-decoration: underline; text-underline-offset: 2px; }
.rd-cms-body a:hover { color: var(--em-blue); }
.rd-table { margin-top: 18px; overflow-x: auto; border: 1px solid var(--em-line); border-radius: 12px; background: #fff; }
.rd-cms-body table { width: 100%; margin: 0; border-collapse: collapse; font-size: 14.5px; line-height: 1.45; }
.rd-cms-body th, .rd-cms-body td { padding: 12px 14px; border: 0; border-top: 1px solid var(--em-line); text-align: left; vertical-align: top; }
.rd-cms-body thead th, .rd-cms-body tr:first-child th { border-top: 0; background: var(--em-surface); font-size: 13px; font-weight: 700; color: var(--em-muted); }
.rd-cms-body blockquote { margin: 16px 0 0; padding: 16px 18px; border: 0; border-radius: 10px; background: var(--em-amber-wash); font-size: 15.5px; line-height: 1.55; }
.rd-art-cta { margin-top: 40px; padding: 32px; }
.rd-art-cta .rd-consult-h { margin-top: 12px; font-size: 28px; line-height: 34px; }
.rd-art-cta .rd-consult-p { margin-top: 12px; font-size: 15px; line-height: 24px; }
.rd-art-cta .rd-consult-tel { display: inline-block; margin-top: 20px; color: #fff; font-size: 24px; line-height: 30px; font-weight: 700; text-decoration: none; }
.rd-art-cta .rd-hours { display: flex; margin: 4px 0 16px; font-size: 13px; color: rgba(255,255,255,.72); }
.rd-art-cta .rd-msgr { max-width: 420px; }
.rd-cms-body .rd-art-cta a { text-decoration: none; }
/* тема красит абзацы и ссылки текстовых страниц (.page-content.page-cms p / a) — в тёмной
   карточке возвращаем её цвета */
.page-content.page-cms .rd-art-cta .rd-consult-kicker { color: var(--em-blue); }
.page-content.page-cms .rd-art-cta .rd-consult-h { color: #fff; }
.page-content.page-cms .rd-art-cta .rd-consult-p { color: rgba(255,255,255,.76); }
.page-content.page-cms .rd-art-cta a.rd-consult-tel,
.page-content.page-cms .rd-art-cta a.rd-consult-tel:hover,
.page-content.page-cms .rd-art-cta .rd-msgr a,
.page-content.page-cms .rd-art-cta .rd-msgr a:hover { color: #fff; }
.page-content.page-cms .rd-art-cta .rd-hours { color: rgba(255,255,255,.72); }
.rd-cms-body .em-art-cta { display: none; }

.rd-cms-side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 16px; }
.rd-toc { box-sizing: border-box; padding: 20px 22px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-toc[hidden] { display: none; }
.rd-toc-h { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--em-muted); }
.rd-toc-list { margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.rd-toc-list li { counter-increment: toc; }
.rd-toc-list a {
  min-height: 40px;
  display: flex; align-items: center; gap: 10px;
  padding: 4px 0;
  font-size: 14.5px; line-height: 20px; font-weight: 500;
  color: var(--em-ink); text-decoration: none;
}
.rd-toc-list a::before { content: counter(toc); flex-shrink: 0; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--em-surface); color: var(--em-muted); font-size: 12px; font-weight: 700; }
.rd-toc-list a:hover, .rd-toc-list a.is-on { color: var(--rd-btn); }
.rd-toc-list a.is-on::before { background: var(--rd-btn); color: #fff; }
.rd-cms-help { box-sizing: border-box; padding: 20px 22px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-cms-help-h { margin: 0; font-size: 16px; font-weight: 700; color: var(--em-ink); }
.rd-cms-help-p { margin: 4px 0 0; font-size: 13.5px; line-height: 19px; color: var(--em-muted); }
.rd-cms-help-tel { display: block; margin-top: 12px; font-size: 20px; font-weight: 700; color: var(--em-ink); text-decoration: none; }
.rd-cms-help .rd-msgr { margin-top: 12px; }

/* список статей и «Статьи по теме» — карточками с обложкой (макеты Articles, Article) */
body#cms-category #content.page-content { padding: 0; background: none; border: 0; box-shadow: none; }
body#cms-category #content-wrapper .page-header { margin: 8px 0 20px; padding: 0; background: none; border: 0; box-shadow: none; }
body#cms-category #content-wrapper .page-header h1 { font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em; text-transform: none; }
.em-art-list, .rd-art-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.em-art-list .em-art-item {
  box-sizing: border-box;
  display: flex; flex-direction: column;
  margin: 0; padding: 0 0 18px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  overflow: hidden;
  color: var(--em-ink); text-decoration: none;
  box-shadow: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.em-art-list .em-art-item:hover { border-color: rgba(0,158,224,.5); box-shadow: 0 10px 34px rgba(16,27,45,.10); transform: translateY(-2px); }
.em-art-list .em-art-item-img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; margin: 0 0 16px; border-radius: 0; }
.em-art-list .em-art-item:not(.has-img)::before { content: ""; display: block; aspect-ratio: 1200 / 630; margin-bottom: 16px; background-color: var(--em-navy); background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); background-size: 28px 28px; }
.em-art-list .em-art-item-title { padding: 0 20px; font-size: 18px; line-height: 24px; font-weight: 700; letter-spacing: -.01em; }
.em-art-list .em-art-item-desc { margin-top: 8px; padding: 0 20px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14.5px; line-height: 22px; color: var(--em-muted); }
.em-art-list .em-art-item-more { margin-top: auto; padding: 14px 20px 0; display: inline-flex; align-items: center; gap: 4px; font-size: 14.5px; font-weight: 600; color: var(--rd-btn); }
.em-art-list .em-art-item-more::after { content: "→"; }
.rd-art-rel { margin-top: 56px; }
.rd-art-rel .rd-art-grid { margin-top: 20px; }

@media (max-width: 1199px) {
  .rd-cms { grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; }
  .em-art-list, .rd-art-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991px) {
  body#cms #content-wrapper .page-header h1 { font-size: 26px; line-height: 32px; }
  .rd-cms { margin-top: 16px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .rd-cms-side { position: static; order: -1; }
  .rd-cms-side .rd-cms-help { display: none; }
  body#cms #content-wrapper .rd-cms-body#content.page-content { font-size: 16px; }
  .rd-cms-body h2 { margin-top: 32px; font-size: 21px; line-height: 27px; }
  .rd-art-cta { padding: 22px 18px; }
  .rd-art-cta .rd-consult-h { font-size: 22px; line-height: 28px; }
  .rd-toc { padding: 14px 16px; }
  body#cms-category #content-wrapper .page-header h1 { font-size: 26px; line-height: 32px; }
  .em-art-list, .rd-art-grid { grid-template-columns: 1fr; gap: 10px; }
  .em-art-list .em-art-item-title { font-size: 16.5px; line-height: 22px; }
  .rd-art-rel { margin-top: 32px; }
}
/* статья: хлебные крошки — по левому краю, как текст (в custom.css были по центру узкой колонки) */
body#cms:has(.rd-cms) .breadcrumb { max-width: none; margin-left: 0; margin-right: 0; }
body#cms:has(.rd-cms) #content-wrapper .page-header.em-article-head { max-width: none; margin-left: 0; margin-right: 0; text-align: left; }

/* 12.2 «Страница не найдена» (макеты NotFound и MNotFound) */
#content-wrapper .rd-nf#content.page-content { padding: 0; background: none; border: 0; box-shadow: none; }
.rd-nf-grid { margin-top: 16px; display: grid; grid-template-columns: minmax(0, 1fr) 424px; gap: 24px; align-items: stretch; }
.rd-nf-main { box-sizing: border-box; padding: 40px 48px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; text-align: left; }
.rd-nf-kicker { font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--em-blue); }
.rd-nf .rd-nf-h { margin: 10px 0 0; font-size: 40px; line-height: 48px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-nf-p { margin: 12px 0 0; max-width: 640px; font-size: 16.5px; line-height: 26px; color: var(--em-muted); }
.rd-nf-search { margin-top: 24px; display: flex; gap: 10px; max-width: 640px; }
.rd-nf-field { position: relative; flex: 1 1 auto; display: flex; align-items: center; }
.rd-nf-field .rd-i { position: absolute; left: 14px; color: var(--em-muted); pointer-events: none; }
.rd-nf-field input { width: 100%; height: 52px; box-sizing: border-box; padding: 0 14px 0 44px; border: 1.5px solid var(--em-line); border-radius: 8px; font: 400 16px/1 var(--em-font); color: var(--em-ink); }
.rd-nf-field input:focus { border-color: var(--em-blue); outline: none; box-shadow: 0 0 0 3px rgba(0,158,224,.18); }
.rd-nf-search .btn { height: 52px; padding: 0 28px; border-radius: 8px; font-size: 16px; font-weight: 600; text-transform: none; }
.rd-nf-acts { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.rd-nf-sub { margin: 28px 0 0; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--em-muted); }
.rd-nf-cats { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; }
.rd-nf-cats .rd-chip { min-height: 44px; height: auto; }
.rd-nf-help { display: flex; flex-direction: column; padding: 32px; }
.rd-nf-help .rd-consult-h { margin-top: 12px; font-size: 26px; line-height: 32px; }
.rd-nf-help .rd-consult-p { margin-top: 12px; font-size: 15px; line-height: 24px; }
.rd-nf-help .rd-consult-tel { position: relative; color: #fff; font-size: 24px; line-height: 30px; font-weight: 700; text-decoration: none; }
.rd-nf-help .rd-hours { margin: 4px 0 16px; font-size: 13px; color: rgba(255,255,255,.72); }
@media (max-width: 991px) {
  .rd-nf-grid { grid-template-columns: 1fr; gap: 12px; }
  .rd-nf-main { padding: 24px 18px; }
  .rd-nf .rd-nf-h { font-size: 28px; line-height: 34px; }
  .rd-nf-p { font-size: 15px; line-height: 23px; }
  .rd-nf-search { flex-direction: column; }
  .rd-nf-acts .rd-btn-l { flex: 1 1 auto; }
  .rd-nf-help { padding: 22px 18px; }
}

/* 12.3 Текстовые страницы и «Контакты» (макеты InfoPage, MInfoPage, Contacts, MContacts):
   слева меню «Доставка, Оплата…», справа заголовок, подзаголовок и текст */
.rd-cms.is-info { margin-top: 20px; grid-template-columns: 248px minmax(0, 800px); gap: 56px; }
.rd-ct.rd-cms.is-info { grid-template-columns: 248px minmax(0, 1fr); }
.rd-cms-nav { position: sticky; top: 16px; min-width: 0; }
.rd-info-nav { box-sizing: border-box; padding: 12px; display: flex; flex-direction: column; gap: 2px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-info-nav a {
  min-height: 44px; box-sizing: border-box;
  display: flex; align-items: center;
  padding: 0 12px; border-radius: 8px;
  font-size: 15px; line-height: 20px; font-weight: 600;
  color: var(--em-ink); text-decoration: none;
}
.rd-info-nav a:hover { background: var(--em-surface); color: var(--rd-btn); }
.rd-info-nav a.is-on { background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-cms-main { min-width: 0; }
body#cms #content-wrapper .rd-info-head.page-header,
body#contact #content-wrapper .rd-info-head.page-header { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
body#cms #content-wrapper .rd-info-head h1,
body#contact #content-wrapper .rd-info-head h1 { max-width: none; margin: 0; padding: 0; font-size: 34px; line-height: 42px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-info-lead { margin: 8px 0 0; max-width: 820px; font-size: 16px; line-height: 25px; color: var(--em-muted); }
body#cms #content-wrapper .rd-cms.is-info .rd-cms-body#content.page-content { margin-top: 28px; font-size: 16px; line-height: 1.6; }
.rd-cms.is-info .rd-cms-body h2 { margin-top: 36px; }
.rd-cms.is-info .rd-cms-body > h2:first-child { margin-top: 0; }
.rd-cms.is-info .rd-cms-body ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rd-cms.is-info .rd-cms-body ul li { position: relative; margin: 0; padding-left: 18px; }
.rd-cms.is-info .rd-cms-body ul li::before { content: ""; position: absolute; left: 0; top: .66em; width: 6px; height: 6px; border-radius: 50%; background: var(--em-blue); }
.rd-cms-body iframe { max-width: 100%; border: 0; border-radius: 12px; }
/* карточки условий на «Доставке» */
.rd-info-cards { margin-top: 20px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.rd-info-card { box-sizing: border-box; display: flex; flex-direction: column; gap: 6px; padding: 18px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-info-card-ico { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-info-card-h { margin-top: 4px; font-size: 16px; line-height: 22px; font-weight: 700; color: var(--em-ink); }
.rd-info-card-v { font-size: 20px; line-height: 26px; font-weight: 700; letter-spacing: -.02em; color: var(--em-ink); }
.rd-info-card-p { font-size: 13.5px; line-height: 19px; color: var(--em-muted); }

/* «Контакты»: карточка контактов + схема проезда, ниже форма «Напишите нам» */
body#contact #content-wrapper #content.rd-ct-main { margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.rd-ct-top { margin-top: 20px; display: grid; grid-template-columns: 420px minmax(0, 1fr); gap: 24px; align-items: stretch; }
.rd-ct-card { box-sizing: border-box; display: flex; flex-direction: column; gap: 16px; padding: 26px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-ct-k { margin: 0; font-size: 13px; line-height: 18px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--em-muted); }
.rd-ct-card .rd-ct-tel { display: block; margin: -12px 0 0; font-size: 26px; line-height: 32px; font-weight: 700; color: var(--em-ink); text-decoration: none; }
.rd-ct-card .rd-ct-tel:hover { color: var(--rd-btn); }
.rd-ct-hours { margin-top: -14px; font-size: 14px; color: var(--em-muted); }
.rd-ct-card .rd-msgr { margin-top: 0; }
.rd-ct-list { list-style: none; margin: 0; padding: 16px 0 0; display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--em-line); }
.rd-ct-list li { display: flex; gap: 12px; align-items: flex-start; }
.rd-ct-list li > span:last-child { display: flex; flex-direction: column; min-width: 0; font-size: 15.5px; line-height: 22px; font-weight: 600; color: var(--em-ink); overflow-wrap: anywhere; }
.rd-ct-list small { font-size: 13px; line-height: 18px; font-weight: 400; color: var(--em-muted); }
.rd-ct-list a { color: var(--em-ink); text-decoration: none; }
.rd-ct-list a:hover { color: var(--rd-btn); }
.rd-ct-legal { margin: 0; padding-top: 14px; border-top: 1px solid var(--em-line); font-size: 13px; line-height: 19px; color: var(--em-muted); }
.rd-ct-map {
  position: relative; box-sizing: border-box; min-height: 360px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  padding: 32px 24px; border-radius: 12px; text-align: center;
  background-color: #e9eef4;
  background-image: linear-gradient(rgba(16,27,45,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(16,27,45,.05) 1px, transparent 1px);
  background-size: 32px 32px;
}
.rd-ct-map-pin { width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--rd-btn); box-shadow: 0 10px 34px rgba(16,27,45,.13); }
.rd-ct-map-h { margin: 8px 0 0; font-size: 18px; line-height: 24px; font-weight: 700; color: var(--em-ink); }
.rd-ct-map-p { margin: 0; max-width: 380px; font-size: 14.5px; line-height: 21px; color: var(--em-muted); }
.rd-ct-map-acts { margin-top: 10px; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.rd-ct-map-acts a { min-height: 48px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 8px; font-size: 15px; font-weight: 600; text-transform: none; text-decoration: none; }
.rd-ct-form { margin-top: 24px; box-sizing: border-box; padding: 28px; background: #fff; border: 1px solid var(--em-line); border-radius: 12px; }
.rd-ct-form .rd-ct-form-h { margin: 0; font-size: 22px; line-height: 28px; font-weight: 700; letter-spacing: -.02em; text-transform: none; color: var(--em-ink); }
.rd-ct-form-p { margin: 6px 0 0; font-size: 14.5px; line-height: 21px; color: var(--em-muted); }
/* форма модуля contactform (modules/contactform/…/contactform.tpl в теме) */
.rd-cf.contact-form { margin-top: 16px; max-width: 720px; padding: 0; background: none; }
.rd-cf .rd-cf-fields { display: flex; flex-direction: column; gap: 14px; }
.rd-cf-row { display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; }
.rd-cf .rd-cf-l { margin: 0; text-align: left; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--em-ink); }
.rd-cf-l small { margin-left: 6px; font-size: 12.5px; font-weight: 400; color: var(--em-muted); }
.rd-cf .form-control { width: 100%; max-width: none; height: 48px; box-sizing: border-box; padding: 0 14px; border: 1.5px solid var(--em-line); border-radius: 8px; background: #fff; color: var(--em-ink); font-size: 15px; box-shadow: none; }
.rd-cf textarea.form-control { height: auto; min-height: 120px; padding: 12px 14px; line-height: 1.5; resize: vertical; }
.rd-cf .form-control:focus { border-color: var(--em-blue); outline: none; box-shadow: 0 0 0 3px rgba(0,158,224,.18); }
.rd-cf .bootstrap-filestyle { display: flex; gap: 8px; max-width: 100%; }
.rd-cf .bootstrap-filestyle .form-control { flex: 1 1 auto; min-width: 0; }
.rd-cf .bootstrap-filestyle .group-span-filestyle, .rd-cf .bootstrap-filestyle .input-group-btn { display: flex; width: auto; }
.rd-cf .bootstrap-filestyle .btn { min-height: 48px; margin: 0; padding: 0 16px; display: inline-flex; align-items: center; gap: 6px; border: 1.5px solid var(--em-line); border-radius: 8px; background: #fff; color: var(--em-ink); font-size: 14.5px; font-weight: 600; text-transform: none; box-shadow: none; }
.rd-cf .bootstrap-filestyle .btn:hover { border-color: var(--em-blue); color: var(--rd-btn); }
.rd-cf .em-consent label { display: block; margin: 0; padding-left: 30px; position: relative; font-size: 12.5px; line-height: 18px; font-weight: 400; color: var(--em-muted); text-align: left; cursor: pointer; }
.rd-cf .em-consent .custom-checkbox { display: block; }
.rd-cf .em-consent .custom-checkbox input[type=checkbox] + span { position: absolute; left: 0; top: 0; margin: 0; }
.rd-cf .em-consent a { color: var(--rd-btn); }
.rd-cf .rd-cf-foot { margin-top: 18px; padding: 0; justify-content: flex-start; text-align: left; }
.rd-cf .rd-cf-foot .btn { height: 52px; padding: 0 32px; border-radius: 8px; font-size: 16px; font-weight: 600; letter-spacing: .01em; text-transform: none; box-shadow: 0 6px 20px rgba(0,158,224,.28); }
.rd-cf .alert { margin: 0 0 14px; border-radius: 8px; }
.rd-cf .alert ul { margin: 0; padding-left: 18px; }

@media (max-width: 1199px) {
  .rd-cms.is-info { grid-template-columns: 220px minmax(0, 1fr); gap: 32px; }
  .rd-ct.rd-cms.is-info { grid-template-columns: 220px minmax(0, 1fr); }
  .rd-ct-top { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 991px) {
  .rd-cms.is-info, .rd-ct.rd-cms.is-info { margin-top: 12px; grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .rd-cms-nav { position: static; margin: 0 -12px; }
  /* меню — строкой кнопок с прокруткой вбок (прокручивается только сама строка) */
  .rd-info-nav { flex-direction: row; gap: 8px; padding: 0 12px; overflow-x: auto; background: none; border: 0; border-radius: 0; scrollbar-width: none; }
  .rd-info-nav::-webkit-scrollbar { display: none; }
  .rd-info-nav a { flex-shrink: 0; padding: 0 14px; border: 1.5px solid var(--em-line); border-radius: 999px; background: #fff; font-size: 14px; white-space: nowrap; }
  .rd-info-nav a.is-on { border-color: var(--rd-btn); background: var(--rd-btn); color: #fff; }
  .rd-info-nav a:hover { background: #fff; }
  .rd-info-nav a.is-on:hover { background: var(--rd-btn); color: #fff; }
  body#cms #content-wrapper .rd-info-head h1,
  body#contact #content-wrapper .rd-info-head h1 { font-size: 26px; line-height: 32px; }
  .rd-info-lead { margin-top: 6px; font-size: 15px; line-height: 22px; }
  .rd-info-cards { grid-template-columns: minmax(0, 1fr); }
  body#cms #content-wrapper .rd-cms.is-info .rd-cms-body#content.page-content { margin-top: 22px; font-size: 15.5px; }
  .rd-ct-top { margin-top: 14px; gap: 12px; }
  .rd-ct-card { padding: 18px; }
  .rd-ct-card .rd-ct-tel { font-size: 24px; }
  .rd-ct-map { min-height: 0; padding: 24px 16px; }
  .rd-ct-map-acts { flex-direction: column; align-self: stretch; }
  .rd-ct-form { margin-top: 12px; padding: 20px 16px; }
  .rd-cf .rd-cf-foot .btn { width: 100%; }
}

/* 7.x «Статьи по запросу» под результатами поиска (макет SearchResults) */
.rd-sarts { margin-top: 48px; }
.rd-sarts-list { margin-top: 16px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#search .rd-sart {
  min-height: 72px; box-sizing: border-box;
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  background: #fff; border: 1px solid var(--em-line); border-radius: 12px;
  color: var(--em-ink); font-size: 15px; line-height: 21px; font-weight: 600; text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
#search .rd-sart:hover { border-color: var(--em-blue); box-shadow: 0 10px 34px rgba(16,27,45,.10); color: var(--em-ink); }
.rd-sart-ico { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: var(--em-blue-wash); color: var(--rd-btn); }
.rd-sart-t { flex: 1 1 auto; min-width: 0; }
.rd-sart > .rd-i:last-child { flex-shrink: 0; color: var(--rd-btn); }
@media (max-width: 991px) {
  .rd-sarts { margin-top: 32px; }
  .rd-sarts-list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* 13. Мелкие доводки после общей проверки (28.09.2026): кнопки не меньше 44 px на телефоне */
#password #back-to-login.account-link { min-height: 44px; display: inline-flex; align-items: center; gap: 4px; }
#sitemap .sitemap a { min-height: 44px; display: inline-flex; align-items: center; }

/* 13.1 Логотипы брендов (_partials/rd-brand-logo.tpl, файлы — assets/img/brands), 28.09.2026 */
.rd-brand-logo { display: block; width: auto; max-width: 100%; }
.rd-brands-names a { display: inline-flex; align-items: center; min-height: 44px; }
.rd-brands-names .rd-brand-logo { height: 36px; transition: transform .15s ease; }
.rd-brands-names .rd-brand-logo[src*="groniti"] { height: 46px; }
.rd-brands-names a:hover .rd-brand-logo { transform: translateY(-1px); }
.rd-gal-brand.has-logo { height: 28px; padding: 0 10px; background: #fff; border: 1px solid var(--em-line); }
/* правило фото галереи (#main .rd-gal .rd-gal-main img) сжимало логотип в метке до нуля */
#main .rd-gal .rd-gal-brand .rd-brand-logo { width: auto; height: 16px; max-width: none; max-height: none; }
#main .rd-gal .rd-gal-brand .rd-brand-logo[src*="groniti"] { height: 22px; }
#brands .brand-img .rd-brand-logo, #manufacturer .brand-img .rd-brand-logo { height: 40px; margin: 0 auto; }
.rd-brand-head { margin: 0 0 12px; }
.rd-brand-head .rd-brand-logo { height: 48px; }
@media (max-width: 991px) {
  .rd-brand-head .rd-brand-logo { height: 36px; }
}

/* ---------------------------------------------------------------------------
   Нет в наличии (просьба команды 30.09.2026): магазин не возит под заказ.
   Плитка бледная и чёрно-белая, цена серая; вместо кнопки — рамка «Нет в наличии»,
   нажать её нельзя. На карточке товара — серая цена и та же рамка.
   --------------------------------------------------------------------------- */
.rd-outbtn {
  width: 100%; height: 44px;
  display: flex; align-items: center; justify-content: center;
  padding: 0 10px;
  border: 1.5px solid var(--em-line); border-radius: 8px;
  background: transparent; color: var(--em-muted);
  font: 600 14px/1 var(--em-font);
  cursor: default; user-select: none;
}
.rd-card.is-out .rd-card-photo img,
.rd-card.is-out .rd-card-photo .rd-nophoto { filter: grayscale(1); opacity: .55; }
.rd-card.is-out .rd-card-badges { filter: grayscale(1); opacity: .6; }
.rd-card.is-out .rd-card-title a { color: var(--em-muted); }
.rd-card.is-out .price,
.rd-card.is-out .regular-price,
.rd-card.is-out .rd-card-disc { color: var(--em-muted) !important; }
.rd-card.is-out .rd-card-disc { background: var(--em-surface); }
.rd-product.is-out .rd-pprice,
.rd-product.is-out .current-price-value,
.rd-product.is-out .rd-punit,
.rd-product.is-out .regular-price { color: var(--em-muted) !important; }
.rd-product.is-out .rd-pprices .discount { filter: grayscale(1); opacity: .6; }
.rd-product.is-out .product-quantity .qty { display: none; }
.rd-product.is-out .product-quantity .add { flex: 1 1 auto; }
.rd-product.is-out .rd-outbtn { height: 52px; font-size: 16px; }
.rd-product .rd-pprices.is-empty { display: none; }
/* телефон: «Нет в наличии» сразу под ценой, а не после «Доставки и оплаты» */
@media (max-width: 767px) { .rd-product.is-out .rd-pbuy > .product-actions { order: 7; } }
/* подсказки поиска: товар без остатка — серая картинка и «Нет в наличии» (30.09.2026) */
.rd-sg-prod.is-out .rd-sg-pimg img, .rd-sg-prod.is-out .rd-sg-pimg .rd-nophoto { filter: grayscale(1); opacity: .55; }
.rd-sg-prod.is-out .rd-sg-pname { color: var(--em-muted); }
.rd-sg-price.is-out { font-size: 13px; font-weight: 600; color: var(--em-muted); }
/* корзина: товар закончился — фото серое, надпись «Нет в наличии — уберите из корзины» (30.09.2026) */
.rd-cline.is-out .rd-cline-img img, .rd-cline.is-out .rd-cline-img .rd-nophoto { filter: grayscale(1); opacity: .55; }
.rd-cline.is-out .rd-cline-name { color: var(--em-muted); }
.rd-cline .rd-stock.is-out { color: #b42318; font-weight: 600; }
