/*
 * DomuSeller — оформление по макету Figma «ИМ БТ DOMU Роман для передачи».
 * Поверх стилей Seller (site.theme.min.css): вёрстка и блоки темы те же, меняется вид.
 * Цвета сняты с экспорта макета: жёлтый #F2DE00, графит #1C1D1C, текст #212121,
 * серый текст #757575, панели #F5F7FF / #F5F5F6, линии #E6E6E6. Шрифт — Roboto.
 */

:root, [data-bs-theme=light] {
    --ds-yellow: #f2de00;
    --ds-yellow-hover: #e0cd00;
    --ds-ink: #1c1d1c;
    --ds-text: #212121;
    --ds-muted: #757575;
    --ds-muted-2: #abb1bf;
    --ds-panel: #f5f7ff;
    --ds-gray: #f5f5f6;
    --ds-line: #e6e6e6;
    --ds-radius: 8px;
    --ds-radius-lg: 10px;
    --ds-shadow: 0 4px 20px rgba(28, 29, 28, .08);
    --ds-shadow-hover: 0 8px 28px rgba(28, 29, 28, .14);
    --ds-tap: 44px;
    --ds-surface: #fff;
    --ds-strong: var(--ds-ink);

    --bs-body-color: var(--ds-text);
    --bs-emphasis-color: var(--ds-text);
    --bs-link-color: var(--ds-text);
    --bs-link-color-rgb: 33, 33, 33;
    --bs-link-hover-color: var(--ds-strong);
    --bs-link-emphasis: var(--ds-text);
    --bs-link-emphasis-hover: var(--ds-ink);
    --bs-text-quaternary: var(--ds-muted);
    --bs-border-color: var(--ds-line);
    --bs-font-sans-serif: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* тёмное оформление (переключатель «Оформление» в меню и в мобильной шапке) */
[data-bs-theme=dark] {
    --ds-text: #e8e8e9;
    --ds-strong: #fff;
    --ds-muted: #a4a7ad;
    --ds-muted-2: #7d8089;
    --ds-panel: #24272d;
    --ds-gray: #2b2d31;
    --ds-line: #3a3c41;
    --ds-surface: #1b1c1e;
    --ds-shadow: 0 4px 20px rgba(0, 0, 0, .35);
    --ds-shadow-hover: 0 8px 28px rgba(0, 0, 0, .5);
    --bs-body-color: var(--ds-text);
    --bs-emphasis-color: #fff;
    --bs-link-color: var(--ds-text);
    --bs-link-color-rgb: 232, 232, 233;
    --bs-link-hover-color: var(--ds-yellow);
    --bs-link-emphasis: var(--ds-text);
    --bs-link-emphasis-hover: var(--ds-yellow);
    --bs-text-quaternary: var(--ds-muted);
    --bs-border-color: var(--ds-line);
}
[data-bs-theme=dark] .l-footer { background: #111213; }
[data-bs-theme=dark] .b-brands-01__link .text-center { color: var(--ds-text); }
[data-bs-theme=dark] .form-check-input:checked { background-color: var(--ds-yellow); border-color: var(--ds-yellow); }

html, body { overflow-x: clip; }
body { font-family: var(--bs-font-sans-serif); color: var(--ds-text); -webkit-text-size-adjust: 100%; }
img, video, iframe { max-width: 100%; }

a:hover { text-decoration-color: var(--ds-yellow); }
::selection { background: var(--ds-yellow); color: var(--ds-ink); }

/* ── Кнопки: жёлтая с тёмным текстом, контурная — жёлтая рамка ─────────────── */
.btn-theme, .btn-accent {
    --bs-btn-color: var(--ds-ink);
    --bs-btn-bg: var(--ds-yellow);
    --bs-btn-border-color: var(--ds-yellow);
    --bs-btn-hover-color: var(--ds-ink);
    --bs-btn-hover-bg: var(--ds-yellow-hover);
    --bs-btn-hover-border-color: var(--ds-yellow-hover);
    --bs-btn-focus-shadow-rgb: 242, 222, 0;
    --bs-btn-active-color: var(--ds-ink);
    --bs-btn-active-bg: var(--ds-yellow-hover);
    --bs-btn-active-border-color: var(--ds-yellow-hover);
    --bs-btn-disabled-color: var(--ds-muted);
    --bs-btn-disabled-bg: var(--ds-gray);
    --bs-btn-disabled-border-color: var(--ds-gray);
    font-weight: 500;
}
.btn-outline-theme, .btn-outline-accent, .btn-outline-theme-dark {
    --bs-btn-color: var(--ds-ink);
    --bs-btn-bg: #fff;
    --bs-btn-border-color: var(--ds-yellow);
    --bs-btn-hover-color: var(--ds-ink);
    --bs-btn-hover-bg: var(--ds-yellow);
    --bs-btn-hover-border-color: var(--ds-yellow);
    --bs-btn-focus-shadow-rgb: 242, 222, 0;
    --bs-btn-active-color: var(--ds-ink);
    --bs-btn-active-bg: var(--ds-yellow);
    --bs-btn-active-border-color: var(--ds-yellow);
    --bs-btn-disabled-color: var(--ds-muted);
    --bs-btn-disabled-border-color: var(--ds-line);
}
.btn-gray-theme {
    --bs-btn-bg: var(--ds-gray);
    --bs-btn-border-color: var(--ds-gray);
    --bs-btn-hover-color: var(--ds-ink);
    --bs-btn-hover-bg: var(--ds-yellow);
    --bs-btn-hover-border-color: var(--ds-yellow);
    --bs-btn-active-color: var(--ds-ink);
    --bs-btn-active-bg: var(--ds-yellow);
    --bs-btn-active-border-color: var(--ds-yellow);
}
.text-theme { color: var(--ds-strong) !important; }
.bg-theme { background-color: var(--ds-yellow) !important; color: var(--ds-ink); }
.bg-accent { background-color: var(--ds-ink) !important; }
.badge.bg-accent, .b-cart__badge { background: var(--ds-yellow) !important; color: var(--ds-ink) !important; font-weight: 500; }
.form-check-input:checked { background-color: var(--ds-ink); border-color: var(--ds-ink); }
.form-check-input:focus, .form-control:focus, .form-select:focus { border-color: var(--ds-yellow); box-shadow: 0 0 0 .2rem rgba(242, 222, 0, .35); }
.page-link, .pagination { --bs-pagination-color: var(--ds-text); --bs-pagination-active-bg: var(--ds-yellow); --bs-pagination-active-border-color: var(--ds-yellow); --bs-pagination-active-color: var(--ds-ink); --bs-pagination-hover-color: var(--ds-ink); }
.nav-pills { --bs-nav-pills-link-active-bg: var(--ds-yellow); --bs-nav-pills-link-active-color: var(--ds-ink); }
.nav-link { color: var(--ds-text); }
.nav-link:hover, .nav-link:focus { color: var(--ds-strong); }

/* заголовки секций: 24 px, «Посмотреть все» — серая подчёркнутая ссылка */
h1, .h1 { font-weight: 500; letter-spacing: 0; }
h2, .h2, h3, .h3 { font-weight: 500; }

/* ── Шапка (ПК) ───────────────────────────────────────────────────────────── */
.l-desktop-header { background: var(--ds-surface); }
.l-desktop-header-top { font-size: 14px; }
.l-desktop-header-top a { color: var(--ds-text); }
.l-desktop-header-top a:hover { color: var(--ds-strong); text-decoration: underline; text-decoration-color: var(--ds-yellow); }

.b-logo-description {
    max-width: 92px;
    font-size: 11px !important;
    line-height: 1.15;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ds-strong) !important;
    margin-left: -12px;
}

.b-catalog__button.btn {
    --bs-btn-bg: var(--ds-surface);
    --bs-btn-color: var(--ds-text);
    --bs-btn-border-color: var(--ds-yellow);
    --bs-btn-hover-bg: var(--ds-yellow);
    --bs-btn-hover-color: var(--ds-ink);
    --bs-btn-hover-border-color: var(--ds-yellow);
    --bs-btn-active-bg: var(--ds-yellow);
    --bs-btn-active-color: var(--ds-ink);
    --bs-btn-active-border-color: var(--ds-yellow);
    font-size: 15px;
    font-weight: 400;
    min-height: var(--ds-tap);
    padding: 8px 14px;
    border-radius: 5px;
    border-width: 1px;
}
.b-catalog__button .b-catalog__icon-list, .b-catalog__button .b-catalog__icon-close { display: none !important; }
.b-catalog__button .b-catalog__chevron { width: 14px; height: 14px; transition: transform .2s; }
.b-catalog__button[aria-expanded=true] .b-catalog__chevron { transform: rotate(180deg); }

/* поиск — поле с нижней линией и лупой справа */
.l-desktop-header .b-search__input.form-control,
.l-desktop-header .b-search input[type=search],
.l-desktop-header .b-search input[type=text] {
    border: 0;
    border-bottom: 1px solid var(--ds-line);
    border-radius: 0;
    background: transparent;
    min-height: var(--ds-tap);
    padding-left: 2px;
    box-shadow: none;
}
.l-desktop-header .b-search__input.form-control:focus { border-bottom-color: var(--ds-yellow); box-shadow: none; }

/* иконки «Войти / Сравнение / Избранное / Корзина» с подписями */
.l-desktop-header-middle .icon, .l-desktop-header--fixed .icon { color: var(--ds-muted); }
.l-desktop-header-middle a:hover .icon, .l-desktop-header-middle button:hover .icon { color: var(--ds-strong); }
.l-desktop-header-middle .fs-xs, .l-desktop-header-middle .fs-sm { color: var(--ds-muted); }
.l-desktop-header-middle .b-cart .fs-xs, .l-desktop-header-middle .b-cart__text { color: var(--ds-text); }

/* «Меню» (бургер DOMU) и «Связаться» — как в Seller, в цветах макета */
.b-domu-menu .domu-menu__btn, .b-domu-callback .btn, .b-domu-callback button, .b-domu-callback a.link-emphasis {
    min-width: var(--ds-tap); min-height: var(--ds-tap);
    color: var(--ds-strong) !important;
}
.b-domu-menu .domu-menu__btn .icon, .b-domu-callback .icon { color: var(--ds-strong) !important; }
.b-domu-menu .domu-menu__btn:hover .icon, .b-domu-callback .btn:hover .icon, .b-domu-callback button:hover .icon { color: var(--ds-strong) !important; filter: drop-shadow(0 2px 0 var(--ds-yellow)); }
.b-domu-menu .domu-menu__btn .fs-sm, .b-domu-callback .fs-sm { color: var(--ds-strong); font-size: 12px !important; }
.domu-menu.offcanvas { --bs-offcanvas-width: 360px; background: var(--ds-surface); }
.domu-menu .offcanvas-header { min-height: 64px; }
.domu-menu .offcanvas-title { font-weight: 500; }
.domu-menu .domu-menu__row { min-height: 52px; color: var(--ds-text) !important; transition: background-color .15s; }
.domu-menu .domu-menu__row:hover, .domu-menu .domu-menu__row:focus-visible { background: var(--ds-panel); }
.domu-menu .domu-menu__row:hover .icon { color: var(--ds-strong) !important; }
.domu-menu .domu-menu__row .badge { background: var(--ds-yellow) !important; color: var(--ds-ink) !important; }
.domu-menu .collapse.bg-body-tertiary, .domu-menu .collapsing.bg-body-tertiary { background: var(--ds-panel) !important; }
.domu-menu .btn-theme, .domu-menu .btn { min-height: var(--ds-tap); }
.domu-menu [data-bs-theme-value], .domu-menu .js-theme-toggle, .domu-menu .b-theme-mode .btn, .l-mobile-header .b-theme-mode .btn { min-width: var(--ds-tap); min-height: var(--ds-tap); }
.domu-menu [data-bs-theme-value].active, .domu-menu .b-theme-mode .btn.active, .l-mobile-header .b-theme-mode .btn.active { background: var(--ds-yellow) !important; color: var(--ds-ink) !important; border-color: var(--ds-yellow) !important; }
.l-desktop-header-middle .b-cart .icon { color: var(--ds-strong); }

/* мега-меню каталога: слева серая колонка разделов, активный — жирный */
.b-mega-menu__aside { background: var(--ds-gray); }
.b-mega-menu__aside_item { color: var(--ds-text); font-size: 14px; }
.b-mega-menu__aside_item:hover, .b-mega-menu__aside_item.active { font-weight: 500; color: var(--ds-strong); }
.b-mega-menu__column-item a:hover { text-decoration: underline; text-decoration-color: var(--ds-yellow); }

/* верхняя строка: слева город и адрес, справа телефон */
.l-desktop-header-top__row { padding-top: 10px !important; padding-bottom: 6px !important; }
.b-domu-address { font-size: 14px; }
.b-domu-address__city { color: var(--ds-text); font-weight: 500; }
.b-domu-address__city .icon { color: var(--ds-muted); }
.b-domu-address__street { color: var(--ds-muted); }
.l-desktop-header-top .b-callback .link-emphasis { font-size: 14px; font-weight: 500; }

/* ── Бренды (главная, боковая колонка каталога, страница «Бренды»): без рамок и фона;
   есть логотип — подпись скрыта от глаз, но остаётся в разметке для поисковиков;
   нет логотипа — вместо заглушки крупное название; при наведении увеличивается логотип/название ── */
.b-brands-01__link, .b-brands-02__link, .b-brands-03__link,
.b-brands-01__link:hover, .b-brands-02__link:hover, .b-brands-03__link:hover {
    border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--ds-text) !important; text-decoration: none;
}
.b-brands-01__image, .b-brands-02__image, .b-brands-03__image { overflow: visible !important; transition: transform .25s ease; will-change: transform; }
.b-brands-01 .b-brands-01__link .b-brands-01__image > img,
.b-brands-01 .b-brands-01__link:hover .b-brands-01__image > img { transform: none !important; }
/* логотипы без скругления: класс rounded у картинки срезал края логотипа */
.b-brands-01__link, .b-brands-02__link, .b-brands-03__link,
.b-brands-01__image, .b-brands-02__image, .b-brands-03__image,
.b-brands-01__image img, .b-brands-02__image img, .b-brands-03__image img,
.b-product-brand, .b-product-brand img { border-radius: 0 !important; overflow: visible !important; }
.b-brands-01__link:hover .b-brands-01__image, .b-brands-02__link:hover .b-brands-02__image, .b-brands-03__link:hover .b-brands-03__image { transform: scale(1.06); }

/* логотипы без скругления: радиус срезал края */
.b-brands-01__link, .b-brands-02__link, .b-brands-03__link,
.b-brands-01__image, .b-brands-01__image > img, .b-brands-02__image > img, .b-brands-03__image > img,
.b-product-brand img { border-radius: 0 !important; }

/* есть логотип: подпись — только для поисковиков и экранных дикторов */
.b-brands-01__link:not(:has(img[data-src$="empty_photo.svg"])):not(:has(img[src$="empty_photo.svg"])) .b-brands-01__image ~ div {
    position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important;
    overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
.b-brands-01__link .card-body { position: relative; }

/* нет логотипа: вместо заглушки — название, по высоте как логотип */
.b-brands-01__image:has(img[data-src$="empty_photo.svg"]),
.b-brands-01__image:has(img[src$="empty_photo.svg"]) { display: none !important; }
.b-brands-01__link:has(img[data-src$="empty_photo.svg"]) .b-brands-01__image ~ div,
.b-brands-01__link:has(img[src$="empty_photo.svg"]) .b-brands-01__image ~ div {
    min-height: 150px; margin: 0 !important; display: flex; align-items: center; justify-content: center; text-align: center;
    font-size: 20px !important; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; line-height: 1.1;
    color: #3a3b3a; transition: transform .25s ease;
}
.b-brands-01__link:hover:has(img[data-src$="empty_photo.svg"]) .b-brands-01__image ~ div,
.b-brands-01__link:hover:has(img[src$="empty_photo.svg"]) .b-brands-01__image ~ div { transform: scale(1.06); color: var(--ds-strong); }
[data-bs-theme=dark] .b-brands-01__link:has(img[data-src$="empty_photo.svg"]) .b-brands-01__image ~ div { color: var(--ds-text); }
.b-brands-01__link .card-body { justify-content: center; }
/* в боковой колонке каталога плитки маленькие */
.s-sidebar-wrapper .b-brands-01 .b-brands-01__image { height: 64px !important; }
.s-sidebar-wrapper .b-brands-01__link:has(img[data-src$="empty_photo.svg"]) .b-brands-01__image ~ div,
.s-sidebar-wrapper .b-brands-01__link:has(img[src$="empty_photo.svg"]) .b-brands-01__image ~ div { min-height: 56px; font-size: 14px !important; }
@media (max-width: 767.98px) {
    .b-brands-01__link:has(img[data-src$="empty_photo.svg"]) .b-brands-01__image ~ div,
    .b-brands-01__link:has(img[src$="empty_photo.svg"]) .b-brands-01__image ~ div { min-height: 110px; font-size: 16px !important; }
}
/* логотипы брендов — без скругления и обрезки краёв: радиус срезал углы логотипа */
.b-brands-01__link, .b-brands-02__link, .b-brands-03__link,
.b-brands-01__image, .b-brands-02__image, .b-brands-03__image,
.b-brands-01 img, .b-brands-02 img, .b-brands-03 img,
.b-product-brand, .b-product-brand img,
img[src*="/plugins/brand/brand_image/"], img[data-src*="/plugins/brand/brand_image/"] {
    border-radius: 0 !important;
    overflow: visible !important;
}
/* логотип бренда в карточке товара — то же увеличение при наведении */
.b-product-brand img, .b-product-brand span { transition: transform .25s ease; }
.b-product-brand:hover img, .b-product-brand:hover span { transform: scale(1.06); }

/* ── Кнопка обратной связи (приложение easyfeedback) — в цветах макета ────── */
.easyfeedback-toggler__fill, .easyfeedback-toggler { background-color: var(--ds-yellow) !important; }
.easyfeedback-toggler__icon svg, .easyfeedback-toggler__icon svg * { fill: var(--ds-ink) !important; color: var(--ds-ink) !important; }
.easyfeedback-toggler:before, .easyfeedback-toggler:after { background-color: rgba(242, 222, 0, .35) !important; border-color: rgba(242, 222, 0, .35) !important; }
.easyfeedback__submit { background: var(--ds-yellow) !important; color: var(--ds-ink) !important; border-color: var(--ds-yellow) !important; min-height: var(--ds-tap); }

/* ── Слайдер и промо-карточки справа («Акции») ────────────────────────────── */
.b-home-slider .swiper, .b-home-slider__media, .b-home-slider__img { border-radius: var(--ds-radius); }
.b-home-slider .swiper-pagination-bullet-active { background: var(--ds-yellow); }
.b-home-slider .swiper-button-next, .b-home-slider .swiper-button-prev,
.swiper-button-next, .swiper-button-prev {
    color: var(--ds-strong);
}

/* ── Карточка товара в списках ─────────────────────────────────────────────── */
.s-product-block.card-body {
    border: 0 !important;
    border-radius: var(--ds-radius-lg) !important;
    background: var(--ds-surface);
}
/* карточки товаров без рамки и без тени/обводки при наведении — во всех списках */
.s-product-block.card-body, .s-product-block.card-body:hover,
.s-products-list .s-product-wrapper, .s-products-list .s-product-wrapper:hover,
.s-products-list .s-product-wrapper.card, .s-products-list .card.shadow-hover:hover, .s-products-list .shadow-hover:hover {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0;
}
.s-product-block .s-info-wrapper { display: flex; flex-direction: column; }
.s-product-block .s-info-wrapper > .s-product-header { order: 1; font-size: 14px; line-height: 1.3; color: var(--ds-text); margin-bottom: 6px !important; }
.s-product-block .s-info-wrapper > .d-flex { order: 2; }
.s-product-block .s-info-wrapper > .b-products-price, .s-product-block .s-info-wrapper > div:has(> .b-products-price) { order: 3; margin-top: 10px; }
.s-product-block .s-info-wrapper > * { order: 4; }
/* цены и кнопки в ряду на одной линии: название — минимум 2 строки, цена прижата к низу */
.s-product-wrapper .s-info-wrapper { display: flex; flex-direction: column; flex-grow: 1; }
.s-product-wrapper .s-product-header { min-height: 2.6em; }
.s-product-wrapper .s-info-wrapper > .b-products-price,
.s-product-wrapper .s-info-wrapper > div:has(> .b-products-price) { margin-top: auto !important; padding-top: 10px; }
.s-product-block .s-info-wrapper > .s-product-header { order: 1; }
.s-product-block .s-info-wrapper > .d-flex.align-items-center { order: 2; }
.b-products-price .fs-5, .b-products-price .fw-semibold, .b-products-price .price { font-weight: 700; color: var(--ds-text); }
.b-products-price del, .b-products-price .compare-at-price, .b-products-price s { color: var(--ds-muted-2); font-size: 13px; }
.b-rating .icon, .b-products-rating .icon, .b-rating svg { color: var(--ds-yellow); fill: currentColor; }
.b-products-sku, .s-product-block .fs-sm.text-quaternary { color: var(--ds-muted); font-size: 12px; }
.s-product-block .b-products-submit .btn-theme,
.s-product-block .b-products-submit .btn { min-height: 40px; border-radius: 20px; }
.b-wishlist, .b-compare { color: var(--ds-muted-2); }
.b-wishlist:hover, .b-compare:hover { color: var(--ds-strong); }
.b-products-badges .badge { border-radius: 4px; font-weight: 500; }

/* ── Вкладки списков товаров на главной — жёлтое подчёркивание ────────────── */
.b-products-sets .fs-3 { font-size: 24px !important; font-weight: 500; }
.b-products-sets__nav .nav-link, .b-products-sets__nav .btn {
    font-size: 14px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: var(--ds-muted) !important;
    padding: 6px 0 !important;
    margin-right: 22px;
    box-shadow: none !important;
    min-height: var(--ds-tap);
}
.b-products-sets__nav .nav-link.active, .b-products-sets__nav .btn.active {
    color: var(--ds-text) !important;
    box-shadow: inset 0 -2px 0 var(--ds-yellow) !important;
}

/* ── Каталог: боковая панель фильтров в светло-голубой плашке ─────────────── */
.s-sidebar-wrapper .b-sidebar-filters, .s-sidebar-wrapper .b-sidebar-categories-01 {
    background: var(--ds-panel);
    border-radius: var(--ds-radius-lg);
    padding: 20px 16px;
}
.b-sidebar-categories-01 .bg-gray-200 { background: var(--ds-yellow) !important; color: var(--ds-ink); }
.b-sidebar-categories-01 > .btn, .s-filter-header .btn-dark-theme-link { font-weight: 500; color: var(--ds-text); }
.s-filter-item.input-group .form-control { border: 0; margin-right: 12px; border-radius: 5px !important; }
.s-filter-name, .s-filter-header { font-weight: 500; font-size: 14px; color: var(--ds-text); }
.s-filter-item .form-control { background: var(--ds-surface); border-color: var(--ds-surface); border-radius: 5px; min-height: 40px; }
.s-filter-item .form-check { min-height: 28px; display: flex; align-items: center; gap: 8px; }
.s-filter-item .form-check-input { width: 16px; height: 16px; border-color: #9aa0ab; border-radius: 3px; margin-top: 0; }
.b-sidebar-filters .btn-theme, .s-filter-wrapper .btn-theme { width: 100%; min-height: var(--ds-tap); }
.noUi-connect, .irs-bar, .ui-slider-range { background: var(--ds-ink) !important; }
.noUi-handle, .irs-handle, .ui-slider-handle { background: var(--ds-ink) !important; border-color: var(--ds-ink) !important; }

/* плитки категорий: без рамки, тени и фона; при наведении увеличивается только фото */
.b-categories-01__item, .b-categories-02__item, .b-categories-03__item,
.b-categories-01__link, .b-categories-02__link, .b-categories-03__link,
.b-categories-01__link:hover, .b-categories-02__link:hover, .b-categories-03__link:hover {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}
.b-categories-01 .b-categories-01__image, .b-categories-02 .b-categories-02__image, .b-categories-03 .b-categories-03__image {
    background: none !important;
    overflow: visible !important;
    transition: transform .25s ease;
    will-change: transform;
}
.b-categories-01__link, .b-categories-01__link:hover, .b-categories-01__link:focus,
.b-categories-02__link, .b-categories-02__link:hover, .b-categories-02__link:focus,
.b-categories-03__link, .b-categories-03__link:hover, .b-categories-03__link:focus,
.b-categories-01__link:hover .b-categories-01__name, .b-categories-02__link:hover .b-categories-02__name, .b-categories-03__link:hover .b-categories-03__name { color: var(--ds-text) !important; text-decoration: none; }
.b-categories-01__name, .b-categories-02__name, .b-categories-03__name,
.b-categories-01__link:hover .b-categories-01__name, .b-categories-02__link:hover .b-categories-02__name, .b-categories-03__link:hover .b-categories-03__name { color: var(--ds-muted) !important; }
/* увеличивается весь блок с фото (со скруглёнными углами), само фото внутри не обрезается */
.b-categories-01 .b-categories-01__image > img, .b-categories-02 .b-categories-02__image > img, .b-categories-03 .b-categories-03__image > img,
.b-categories-01 .b-categories-01__link:hover .b-categories-01__image > img,
.b-categories-02 .b-categories-02__link:hover .b-categories-02__image > img,
.b-categories-03 .b-categories-03__link:hover .b-categories-03__image > img { transform: none !important; border-radius: var(--ds-radius); }
.b-categories-01 .b-categories-01__link:hover .b-categories-01__image,
.b-categories-02 .b-categories-02__link:hover .b-categories-02__image,
.b-categories-03 .b-categories-03__link:hover .b-categories-03__image { transform: scale(1.06); }

/* хлебные крошки */
.b-breadcrumbs, .b-breadcrumbs a { font-size: 12px; color: var(--ds-text); }

/* ── Карточка товара ───────────────────────────────────────────────────────── */
.l-main--product h1 { font-size: 28px; font-weight: 500; }
/* блок покупки справа — светло-голубая плашка без тени, как в макете */
.b-price-group > .card { background: var(--ds-panel) !important; box-shadow: none !important; border-radius: var(--ds-radius-lg); }
.b-price-group .b-product-quantity .btn-theme {
    --bs-btn-bg: #fff; --bs-btn-border-color: var(--ds-line); --bs-btn-color: var(--ds-text);
    --bs-btn-hover-bg: var(--ds-gray); --bs-btn-hover-border-color: var(--ds-line);
}
.b-price-group .b-product-quantity .form-control { border-color: var(--ds-line); background: var(--ds-surface); }
.s-product-aux, .s-product-cart-area { background: transparent !important; }
.b-product-header.fixed-top { background: rgba(255, 255, 255, .96) !important; }
.l-main--product .nav-tabs, .l-main--product .nav-underline {
    --bs-nav-tabs-border-color: var(--ds-line);
    --bs-nav-underline-link-active-color: var(--ds-text);
}
.l-main--product .nav-tabs .nav-link.active, .l-main--product .nav-underline .nav-link.active {
    border-color: transparent;
    box-shadow: inset 0 -2px 0 var(--ds-yellow);
    color: var(--ds-text);
}
.b-product-01 .btn-theme, .s-product-form .btn-theme { min-height: var(--ds-tap); }

/* ── Корзина и оформление ─────────────────────────────────────────────────── */
.s-cart-aside, .s-order-aside, .wa-order-cart-wrapper .wa-cart-details, .wa-order-form-wrapper .wa-step-section-footer {
    background: var(--ds-panel);
    border-radius: var(--ds-radius-lg);
}
.wa-order-cart-wrapper .wa-button, .wa-order-form-wrapper .wa-button, .wa-checkout-section .wa-button, .wa-button.yellow, .wa-button.blue {
    background: var(--ds-yellow) !important;
    border-color: var(--ds-yellow) !important;
    color: var(--ds-ink) !important;
    min-height: var(--ds-tap);
    border-radius: 5px !important;
}

/* ── Подвал: графитовый, скруглённый сверху, белый текст ──────────────────── */
.l-footer {
    background: var(--ds-ink);
    color: #fff;
    border-radius: 24px 24px 0 0;
    margin-top: 48px;
    --bs-body-color: #fff;
    --bs-emphasis-color: #fff;
    --bs-link-gray: rgba(255, 255, 255, .85);
    --bs-link-emphasis: #fff;
    --bs-link-emphasis-hover: var(--ds-yellow);
    --bs-text-quaternary: rgba(255, 255, 255, .6);
    --bs-border-color: rgba(255, 255, 255, .14);
}
.l-footer > div, .l-footer .border-top { border-color: rgba(255, 255, 255, .14) !important; }
.l-footer a, .l-footer .link-gray, .l-footer .text-emphasis, .l-footer .navbar-toggler { color: rgba(255, 255, 255, .88) !important; }
.l-footer a:hover { color: var(--ds-yellow) !important; }
.l-footer .fw-semibold, .l-footer .navbar-toggler { color: #fff !important; text-transform: uppercase; font-size: 13px; letter-spacing: .03em; font-weight: 500 !important; }
.l-footer .form-control { background: #fff; color: var(--ds-text); border: 0; min-height: var(--ds-tap); }
.l-footer .btn-gray-theme { --bs-btn-bg: #fff; --bs-btn-border-color: #fff; --bs-btn-color: var(--ds-ink); min-height: var(--ds-tap); }
.l-footer .b-social-icons__button, .l-footer .b-social-icons__item .btn {
    background: #fff !important;
    color: var(--ds-ink) !important;
    border-radius: 50% !important;
    width: 32px; height: 32px;
}
.l-footer .text-quaternary, .l-footer .fs-sm, .l-footer small { color: rgba(255, 255, 255, .6) !important; }
.l-footer .form-select { background-color: transparent; color: #fff; border-color: rgba(255, 255, 255, .3); }
.l-footer .form-select option { color: var(--ds-text); }

/* кнопка «наверх» — белый круг */
.b-up-button .btn, .b-up-button button { background: #fff; color: var(--ds-ink); border-radius: 50%; box-shadow: var(--ds-shadow); }

/* ── Мобильная версия ─────────────────────────────────────────────────────── */
.l-mobile-header { background: var(--ds-surface); box-shadow: 0 2px 12px rgba(28, 29, 28, .06); }
.l-mobile-header .btn, .l-mobile-header a.icon, .l-mobile-header button { min-width: var(--ds-tap); min-height: var(--ds-tap); }
.l-mobile-header .b-mobile-burger .btn, .l-mobile-header [data-bs-target="#offcanvasMobileNav"], .l-mobile-header .js-mobile-nav-toggle {
    background: var(--ds-yellow);
    color: var(--ds-ink);
    border-radius: 5px;
}

/* кнопка «в корзину»: иконка + текст, на телефоне — жёлтый круг 44 px */
.b-products-submit .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.b-products-submit__icon { width: 18px; height: 18px; }
.b-products-submit__icon svg { width: 18px; height: 18px; fill: currentColor; }
.b-products-submit .spinner-border:not(.d-none) ~ .b-products-submit__icon { display: none; }

.l-mobile-header [data-bs-target="#offcanvasNavbarMobile"] {
    background: var(--ds-yellow) !important;
    color: var(--ds-ink) !important;
    border-radius: 5px;
    width: var(--ds-tap); height: var(--ds-tap);
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0 !important;
}
.b-mobile-logo__img img { max-height: 40px; width: auto; }
.b-mobile-logo__link { display: inline-flex; align-items: center; min-width: var(--ds-tap); min-height: var(--ds-tap); }
[data-bs-theme=dark] .b-logo__img img, [data-bs-theme=dark] .b-mobile-logo__img img { filter: invert(1) hue-rotate(180deg) brightness(1.1); }

.l-main--mobile .b-home-slider > .container-fluid > .row { --bs-gutter-x: 0; margin-left: 0; margin-right: 0; }
@media (max-width: 991.98px) { .b-home-slider > .container-fluid > .row { --bs-gutter-x: 0; margin-left: 0; margin-right: 0; } }

.b-mobile-fixed-panel {
    background: var(--ds-surface) !important;
    border-top: 1px solid var(--ds-line) !important;
    box-shadow: 0 -2px 12px rgba(28, 29, 28, .06) !important;
    padding-bottom: env(safe-area-inset-bottom);
}
.b-mobile-fixed-panel > .container-fluid > .d-flex { overflow-x: visible !important; }
.b-mobile-fixed-panel__item { flex: 1 1 0; min-width: 0; background: transparent; }
.b-mobile-fixed-panel__item a, .b-mobile-fixed-panel__item button {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-height: var(--ds-tap); color: var(--ds-text); text-decoration: none;
}
.b-mobile-fixed-panel__item .icon { color: var(--ds-strong) !important; position: relative; }
.b-mobile-fixed-panel__item .fs-xs, .b-mobile-fixed-panel__item .text-quaternary { color: var(--ds-text) !important; font-size: 11px; white-space: nowrap; }

@media (max-width: 767.98px) {
    body { font-size: 15px; }
    h1, .h1 { font-size: 22px; }
    h2, .h2 { font-size: 20px; }

    /* сетка каталога — две колонки с небольшим зазором, без выхода за экран */
    .s-main-wrapper { padding-left: 12px; padding-right: 12px; }
    .s-main-wrapper .s-products-wrapper { margin-left: 0 !important; margin-right: 0 !important; }
    .s-products-list--grid.row { --bs-gutter-x: 8px; --bs-gutter-y: 8px; margin-left: 0; margin-right: 0; row-gap: 8px !important; }
    .s-products-list--grid.row > .s-product-wrapper { padding-left: 4px; padding-right: 4px; }
    .s-product-block.card-body { padding: 10px; }
    .s-product-block .s-product-header { font-size: 14px; }
    .s-product-wrapper .b-products-submit .btn { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; }
    .s-product-wrapper .b-products-submit .btn .spinner-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .s-product-wrapper .s-buttons-wrapper { align-items: center; justify-content: space-between; flex-wrap: nowrap !important; }
    .s-product-wrapper .b-wishlist, .s-product-wrapper .b-compare { min-width: 36px; min-height: 44px; }

    /* ленты товаров: карточка ~46% ширины экрана, следующая выглядывает */
    .s-products-list--swiper .swiper-slide { width: 46vw; max-width: 210px; }
    .s-products-list--swiper .s-product-wrapper.card { border-radius: var(--ds-radius-lg); }

    /* слайдер главной — скруглённая карточка с отступами, как в макете */
    .b-home-slider .swiper { border-radius: var(--ds-radius-lg); margin: 12px 12px 0; }

    /* кнопки и поля — не меньше 44 px */
    .btn:not(.btn-close):not(.btn-link), .form-control, .form-select { min-height: var(--ds-tap); }
    .form-check-input { width: 20px; height: 20px; }
    .form-check { min-height: var(--ds-tap); display: flex; align-items: center; gap: 8px; }

    /* панель фильтров — выезжает слева на всю высоту */
    #offcanvasMobileFilters { width: min(92vw, 380px); background: var(--ds-panel); }
    #offcanvasMobileFilters .offcanvas-header { font-size: 18px; font-weight: 500; background: var(--ds-surface); min-height: 56px; }
    #offcanvasMobileFilters .offcanvas-footer { background: var(--ds-surface); }
    #offcanvasMobileFilters .offcanvas-footer .btn { flex: 1 1 0; }

    /* подвал: аккордеоны */
    .l-footer { border-radius: 20px 20px 0 0; padding-bottom: 76px; }
    .l-footer .b-footer-nav { border-bottom: 1px solid rgba(255, 255, 255, .14); padding: 6px 0 !important; }
    .l-footer .b-footer-nav .navbar-toggler { width: 100%; min-height: var(--ds-tap); display: flex !important; justify-content: space-between !important; align-items: center; text-align: left; margin-bottom: 0 !important; font-size: 15px; }
    .l-footer .b-footer-nav { align-items: stretch !important; }


    /* горизонтальные ленты не должны растягивать страницу */
    .swiper, .b-home-slider, .s-products-list--swiper { max-width: 100%; }
    .row-scrolling, .overflow-x-auto { scrollbar-width: none; }
}

/* оформление заказа: ссылки тёмные (жёлтый текст на белом не читается), поле количества белое */
.wa-order-form-wrapper a, .wa-order-cart-wrapper a, .wa-order-form-wrapper .wa-link, .s-order-page a:not(.btn) { color: var(--ds-text) !important; }
.b-price-group .b-product-quantity input, .b-price-group .b-product-quantity .form-control { background: var(--ds-surface) !important; color: var(--ds-text) !important; }

@media (max-width: 767.98px) {
    /* зоны нажатия не меньше 44×44 */
    .s-product-wrapper .b-wishlist, .s-product-wrapper .b-compare { min-width: 44px !important; min-height: 44px; }
    .l-footer .b-social-icons__button, .l-footer .b-social-icons__item .btn { width: 44px !important; height: 44px !important; }
    .b-product-quantity .btn, .b-price-group .btn { min-width: 44px; min-height: 44px; }
    .l-main--product .nav-link { min-height: 44px; display: inline-flex; align-items: center; }
    .l-main--product .btn-link.p-0 { min-height: 44px; display: inline-flex; align-items: center; }
    .wa-order-cart-wrapper .wa-button, .wa-order-cart-wrapper .s-minus-button, .wa-order-cart-wrapper .s-plus-button { min-width: 44px !important; min-height: 44px !important; }
    .wa-order-cart-wrapper .js-product-quantity, .wa-order-form-wrapper .wa-input, .wa-order-form-wrapper .wa-select select, .wa-order-form-wrapper textarea { min-height: 44px !important; font-size: 16px; }
    .s-delete-button { min-height: 44px; display: inline-flex; align-items: center; }
    .swiper-pagination-bullet { position: relative; }
    .swiper-pagination-bullet::after { content: ""; position: absolute; inset: -16px -6px; }
}

@media (max-width: 374.98px) {
    .b-mobile-fixed-panel > .container-fluid { padding-left: 2px !important; padding-right: 2px !important; }
    .b-mobile-fixed-panel > .container-fluid > .d-flex { gap: 0 !important; }
    .b-mobile-fixed-panel__item .fs-xs, .b-mobile-fixed-panel__item .text-quaternary { font-size: 10px; }
    .s-product-block.card-body { padding: 8px; }
    .s-product-block .s-product-header { font-size: 13px; }
}

/* «Поделиться»: окошко со ссылкой и соцсетями */
.b-share__menu { min-width: 380px; max-width: calc(100vw - 24px); border: 0; border-radius: var(--ds-radius-lg); box-shadow: var(--ds-shadow-hover); background: var(--ds-surface); }
.b-share__status { color: var(--ds-muted); }
.b-share__status.is-done { color: var(--ds-strong); font-weight: 500; }
.b-share__status.is-done::before { content: "✓ "; color: #2e9e5b; }
.b-share__row .form-control { flex: 1 1 auto; min-width: 0; min-height: 36px; font-size: 13px; background: var(--ds-gray); border-color: var(--ds-gray); color: var(--ds-text); }
.b-share__row .btn { white-space: nowrap; }
.b-share__button:hover, .b-share__button[aria-expanded=true] { color: var(--ds-strong) !important; }
/* строка под заголовком товара: бренд слева, действия справа */
.b-product-01__inner, .b-product-02__inner, .b-product-03__inner { flex-wrap: wrap; row-gap: 8px !important; }
.b-product-brand img { max-height: 28px; width: auto; }
@media (max-width: 767.98px) {
    .b-share__row .form-control, .b-share__row .btn { min-height: 44px; }
}

/* информационный блок под ценой: схема встраивания и баннеры по ширине блока цены */
.b-domu-info__banner { display: block; border-radius: var(--ds-radius-lg); overflow: hidden; line-height: 0; }
.b-domu-info__banner img { width: 100%; height: auto; display: block; transition: transform .25s ease; }
.b-domu-info__banner:hover img { transform: scale(1.02); }
.b-domu-scheme { display: flex; flex-direction: column; gap: 10px; }
.b-domu-scheme__head .icon { color: var(--ds-strong); }
.b-domu-scheme__row { flex-wrap: wrap; }
.b-domu-scheme__thumb { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 6px; overflow: hidden; background: var(--ds-surface); display: flex; align-items: center; justify-content: center; }
.b-domu-scheme__thumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.b-domu-scheme__name { min-width: 120px; color: var(--ds-text); }
.b-domu-scheme__actions .btn { flex: 1 1 0; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 767.98px) { .b-domu-scheme__actions .btn { min-height: 44px; } }

/* Каталог: одна область фото, центрирование и сохранение пропорций всех снимков. */
.b-products-images .b-products-images__image img,
.s-products-list--grid .b-products-images.b-products-images--portrait .b-products-images__image img,
.s-products-list--swiper .b-products-images.b-products-images--portrait .b-products-images__image img {
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    object-fit: contain;
    object-position: center;
}

/* Единая строка статуса; выставочный образец отмечается отдельно на фото. */
.b-domu-catalog-stock { min-width: 0; min-height: 1.5em; line-height: 1.5; }
.b-products-images { position: relative; }
.b-domu-showroom { position: absolute; top: 10px; right: 10px; z-index: 6; color: #212529; }
.b-domu-showroom summary {
    display: flex; align-items: center; justify-content: center;
    position: relative; width: 44px; height: 44px; cursor: pointer;
    list-style: none; border-radius: 50%; background: #fff;
    border: 1px solid #e5e5e5; box-shadow: 0 2px 8px #00000014;
}
.b-domu-showroom summary::-webkit-details-marker { display: none; }
.b-domu-showroom summary:focus-visible { outline: 2px solid #212529; outline-offset: 2px; }
.b-domu-showroom__eye { position: absolute; bottom: 5px; right: 4px; width: 14px; height: 14px; background: #fff; border-radius: 50%; }
.b-domu-showroom__hint {
    display: none; position: absolute; right: 0; top: 50px; width: 210px;
    max-width: calc(100vw - 32px); padding: 10px 12px; background: #fff;
    border: 1px solid #e5e5e5; border-radius: 8px; box-shadow: 0 3px 12px #00000014;
    font-size: 14px; font-weight: 400; line-height: 1.4;
}
.b-domu-showroom[open] .b-domu-showroom__hint { display: block; }
@media (hover: hover) { .b-domu-showroom:hover .b-domu-showroom__hint { display: block; } }

/* Рейтинг в карточках каталога временно скрыт по настройке оформления витрины. */
.s-product-wrapper .b-products-rating {
    display: none !important;
}
@media (max-width: 767.98px) {
    .b-domu-showroom__hint { width: min(210px, calc((100vw - 48px) / 2)); }
}
.b-product-images__main, .b-product-images--tile { position: relative; }
.b-domu-showroom--product .b-domu-showroom__hint { width: 210px; }
.b-domu-showroom--gallery { display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid #e5e5e5;box-shadow:0 2px 8px #00000014;color:#212529; }
.b-domu-live-media__item { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:140px;height:110px;border:1px solid #e5e5e5;border-radius:8px;color:#212529;background:#fff;overflow:hidden; }
.b-domu-live-media__item img { width:100%;height:100%;object-fit:contain; }

/* В компактных карточках значок находится рядом с миниатюрой. */
.s-products-list--swiper-short .b-products-images > .b-domu-showroom,
.s-products-list--short .b-products-images > .b-domu-showroom {
    left: calc(100% + 12px);
    right: auto;
}
