/* ============================================================================
   Dom Garcia — редизайн (design system).
   Токены из Figma «web dgarciaxp&p»: шрифт Onest, тёплый белый #FBFAF8,
   акцент терракота #D27E6C.
   Подключается на страницах редизайна (пока — карточка товара).
   Наращивается инкрементами по мере переработки экранов.
   ============================================================================ */

:root {
  /* Шрифт */
  --dg-ff: 'Onest', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* Цвета */
  --dg-bg:      #FBFAF8; /* тёплый белый — фон */
  --dg-surface: #FFFFFF;
  --dg-ink:     #111111; /* основной текст / лого */
  --dg-black:   #000000; /* кнопка «В корзину» */
  --dg-grey:    #2C2C2C; /* тёмно-серый (Каталог/корзина) */
  --dg-muted:   #808080; /* вторичный текст */
  --dg-muted-2: #A6A6A6;
  --dg-accent:  #D27E6C; /* терракота — акцент/бейджи/цена дизайнера */
  --dg-accent-ink: #FFFFFF;
  --dg-line:    rgba(0, 0, 0, 0.15); /* хайрлайн-границы */
  --dg-line-2:  #E3E2E1;

  /* Типо-шкала (Onest) */
  --dg-h1: 700 46px/1.15 var(--dg-ff);
  --dg-h2: 700 40px/1.4 var(--dg-ff);
  --dg-h3: 800 30px/1.2 var(--dg-ff);
  --dg-h4: 700 26px/1.4 var(--dg-ff);
  --dg-h5: 500 22px/1.4 var(--dg-ff);
  --dg-body: 400 16px/1.4 var(--dg-ff);
  --dg-body-sm: 400 14px/1.4 var(--dg-ff);
  --dg-caption: 500 13px/1.4 var(--dg-ff);

  /* Радиусы / формы */
  --dg-r-pill: 32px;
  --dg-r-badge: 24px;
  --dg-r-tab: 4px;
  --dg-r-round: 9999px;

  /* Ритм */
  --dg-gap: 16px;
  --dg-pad-section: 64px;
  --dg-pad-x: 20px;
  --dg-maxw: 1312px;
}

/* ---------------------------------------------------------------------------
   ЭТАП 1 — язык дизайна на существующей карточке (без реструктуризации).
   Onest + тёплый белый фон + терракотовый акцент. Реструктуризация блоков —
   следующими инкрементами.
   --------------------------------------------------------------------------- */
body.single-product .product-page {
  font-family: var(--dg-ff);
  color: var(--dg-ink);
  background: var(--dg-bg);
}

body.single-product .product-page :is(h1, h2, h3, .sec-head__heading, .product-info__title, .acc-head, .tabs-bar button) {
  font-family: var(--dg-ff);
}

body.single-product .product-info__title {
  font: var(--dg-h1);
  letter-spacing: -0.01em;
  color: var(--dg-ink);
}

body.single-product .product-info__price-current {
  font: var(--dg-h2);
  color: var(--dg-ink);
}

/* Терракотовый акцент вместо старого (скидка/бейдж «%»/активные табы). */
body.single-product .discount-note,
body.single-product .gallery__sale {
  color: var(--dg-accent);
}
body.single-product .gallery__sale {
  background: color-mix(in srgb, var(--dg-accent) 14%, #fff);
}

/* Первичная кнопка «В корзину» — чёрная, как в макете. */
body.single-product .buy-row .btn--primary,
body.single-product .single_add_to_cart_button {
  background: var(--dg-black);
  border-color: var(--dg-black);
  color: #fff;
}

/* ===========================================================================
   ИНКРЕМЕНТ 1 — верх карточки: .dg-pdp (галерея + блок покупки)
   =========================================================================== */
body.single-product .product-page__inner { max-width: var(--dg-maxw); }

.dg-pdp {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
  padding: 24px 0 48px;
}
@media (max-width: 900px) { .dg-pdp { grid-template-columns: 1fr; gap: 28px; } }

/* Галерея */
.dg-gallery { display: flex; flex-direction: column; gap: 12px; position: sticky; top: 88px; }
@media (max-width: 900px) { .dg-gallery { position: static; } }
.dg-gallery__main {
  position: relative; aspect-ratio: 1 / 1; background: var(--dg-surface);
  border: 0.8px solid var(--dg-line); border-radius: 6px; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.dg-gallery__main img { width: 100%; height: 100%; object-fit: contain; display: block; }
.dg-gallery__disc { position: absolute; top: 16px; right: 16px; }
.dg-badge--sample { position: absolute; top: 16px; right: 16px; }
.dg-gallery__strip { position: relative; }
.dg-gallery__thumbs { display: flex; gap: 8px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 2px; }
.dg-gallery__thumbs::-webkit-scrollbar { display: none; }
.dg-thumb {
  flex: 0 0 auto; width: 108px; height: 84px; padding: 0; cursor: pointer; overflow: hidden;
  background: var(--dg-surface); border: 0.8px solid var(--dg-line); border-radius: 6px; transition: border-color .15s;
}
.dg-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.dg-thumb.is-active { border-color: var(--dg-ink); }
.dg-gallery__fade { position: absolute; top: 0; right: 40px; width: 60px; height: 84px; pointer-events: none; background: linear-gradient(90deg, rgba(251,250,248,0), var(--dg-bg)); }
.dg-gallery__next {
  position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 40px; height: 40px;
  border: 0; background: none;
  color: var(--dg-muted); display: inline-flex; align-items: center; justify-content: center; cursor: pointer;
}
.dg-gallery__next:hover { color: var(--dg-ink); }
.dg-gallery__next svg { width: 20px; height: 20px; }

/* Блок покупки */
.dg-buybox { display: flex; flex-direction: column; }
.dg-buybox form { display: flex; flex-direction: column; gap: 24px; }
.dg-buybox__head { display: flex; flex-direction: column; gap: 12px; padding-bottom: 20px; border-bottom: 0.8px solid var(--dg-line); }
.dg-sku { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; cursor: pointer; color: var(--dg-muted); font: var(--dg-caption); font-family: var(--dg-ff); }
.dg-sku svg { width: 16px; height: 16px; }
.dg-sku.is-copied { color: var(--dg-accent); }
.dg-title { font: var(--dg-h1); letter-spacing: -0.01em; color: var(--dg-ink); margin: 0; }
.dg-title__link { color: inherit; text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.22); transition: color .15s, border-color .15s; }
.dg-title__link:hover { color: var(--dg-accent); border-color: var(--dg-accent); }
.dg-props { margin: 12px 0 0; color: var(--dg-ink); font: var(--dg-body); font-family: var(--dg-ff); display: flex; flex-direction: column; gap: 3px; }
.dg-props__item { display: block; }
.dg-props__k { color: var(--dg-ink); }
.dg-taxo { margin: 0; display: flex; align-items: center; gap: 8px; font: var(--dg-body-sm); font-family: var(--dg-ff); }
.dg-taxo__link { color: var(--dg-ink); text-decoration: none; border-bottom: 1px solid transparent; transition: color .15s, border-color .15s; }
.dg-taxo__link:hover { color: var(--dg-accent); border-color: var(--dg-accent); }
.dg-taxo__sep { color: var(--dg-muted-2); }

.dg-option { display: flex; flex-direction: column; gap: 10px; }
.dg-option__label { font: var(--dg-body-sm); font-family: var(--dg-ff); color: var(--dg-muted); }
.dg-pills, .dg-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.dg-pill { min-width: 56px; padding: 8px 16px; border-radius: var(--dg-r-pill); background: var(--dg-surface); border: 1px solid var(--dg-line); color: var(--dg-ink); font: var(--dg-body-sm); font-family: var(--dg-ff); cursor: pointer; transition: .15s; }
.dg-pill.is-active { background: #1F1F1F; border-color: #1F1F1F; color: #fff; }
.dg-swatch { padding: 6px 14px; border-radius: var(--dg-r-pill); background: var(--dg-surface); border: 1px solid var(--dg-line); color: var(--dg-ink); font: var(--dg-body-sm); font-family: var(--dg-ff); cursor: pointer; }
.dg-swatch.is-active { border-color: var(--dg-ink); }

.dg-form { display: flex; flex-direction: column; gap: 20px; }
.dg-qty { display: flex; flex-direction: column; gap: 12px; }
.dg-tabs { display: inline-flex; gap: 24px; border-bottom: 1px solid var(--dg-line); }
.dg-tab { padding: 6px 2px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--dg-muted); font: var(--dg-body-sm); font-family: var(--dg-ff); cursor: pointer; }
.dg-tab.is-active { background: none; color: var(--dg-ink); border-bottom-color: var(--dg-ink); }

/* Мега-меню (Каталог) — акцент/шрифт под DomGarcia (переопределяет theme.css) */
.pm-megamenu__item > a:hover, .pm-megamenu__item.is-active > a { color: var(--dg-accent); font-weight: 400; }
.pm-megamenu__col--l1 > .pm-megamenu__item > a { font-family: var(--dg-ff); font-size: 24px; line-height: 1.4; padding: 8px 0; }
.pm-megamenu__item--all > a { color: var(--dg-ink); font-weight: 600; display: inline-flex; align-items: center; gap: 8px; }
.pm-megamenu__all-arrow { flex-shrink: 0; }
.dg-stepper { display: inline-flex; align-items: center; width: max-content; border: 1px solid var(--dg-line); border-radius: 2px; overflow: hidden; }
.dg-stepper__btn { width: 44px; height: 44px; border: 0; background: var(--dg-surface); color: var(--dg-ink); font-size: 20px; cursor: pointer; }
.dg-stepper__input { width: 52px; height: 44px; border: 0; text-align: center; font: 600 16px/1 var(--dg-ff); background: var(--dg-surface); -moz-appearance: textfield; }
.dg-stepper__input::-webkit-outer-spin-button, .dg-stepper__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dg-pack-info { margin: 0; color: var(--dg-muted-2); font: var(--dg-body-sm); font-family: var(--dg-ff); }
.dg-pack-info span { display: block; }

.dg-price { display: flex; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.dg-price__main { font: var(--dg-h2); color: var(--dg-ink); }
.dg-price__old { font: var(--dg-body); font-family: var(--dg-ff); color: var(--dg-muted-2); text-decoration: line-through; }
.dg-price__promo { display: flex; flex-direction: column; gap: 6px; }
.dg-price__promo-val { font: var(--dg-h4); color: var(--dg-accent); }
.dg-price__unit { font: var(--dg-body); font-family: var(--dg-ff); color: var(--dg-muted-2); }

.dg-badge { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: var(--dg-r-badge); font: 600 12px/1.4 var(--dg-ff); }
.dg-badge--sample, .dg-badge--promo, .dg-badge--disc { background: var(--dg-accent); color: #fff; }

.dg-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dg-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 28px; border-radius: 0; font: 600 16px/1 var(--dg-ff); cursor: pointer; border: 1px solid transparent; transition: .15s; }
.dg-btn--primary { background: var(--dg-black); color: #fff; flex: 1 1 220px; }
.dg-btn--primary:hover { background: #1a1a1a; }
.dg-btn--ghost { background: var(--dg-surface); border-color: var(--dg-line); color: var(--dg-ink); }
.dg-btn--ghost svg { width: 18px; height: 18px; }
.dg-btn--ghost.is-copied { border-color: var(--dg-accent); color: var(--dg-accent); }
.dg-fav { width: 52px; height: 52px; flex: 0 0 auto; border-radius: 8px; background: var(--dg-surface); border: 1px solid var(--dg-line); color: var(--dg-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.dg-fav svg { width: 22px; height: 22px; }
.dg-fav.is-active { color: var(--dg-accent); }
.dg-fav.is-active svg { fill: var(--dg-accent); }

.dg-availability { border-top: 0.8px solid var(--dg-line); padding-top: 16px; }
.dg-availability__toggle { list-style: none; cursor: pointer; font: var(--dg-h5); color: var(--dg-ink); display: flex; align-items: center; justify-content: flex-start; gap: 12px; }
.dg-availability__toggle::-webkit-details-marker { display: none; }
.dg-availability__toggle::after { content: '→'; font-size: 18px; line-height: 1; color: var(--dg-ink); }
.dg-availability__body { padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.dg-avail-row { display: flex; justify-content: space-between; gap: 16px; font: var(--dg-body-sm); font-family: var(--dg-ff); }
.dg-avail-row__k { color: var(--dg-muted); }
.dg-avail-row__v { color: var(--dg-ink); text-align: right; }
.dg-availability__calc { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; color: var(--dg-muted); text-decoration: none; font: var(--dg-body-sm); font-family: var(--dg-ff); transition: color .15s; }
.dg-availability__calc::after { content: '→'; }
.dg-availability__calc:hover { color: var(--dg-ink); }
.dg-availability__gate { margin: 0 0 12px; color: var(--dg-muted); font: var(--dg-body-sm); font-family: var(--dg-ff); }
.dg-availability__login { align-self: flex-start; }

/* «Смотрите также» — карточки коллекций */
.dg-related { max-width: var(--dg-maxw); margin: 0 auto; padding: 24px var(--dg-pad-x) 8px; font-family: var(--dg-ff); }
.dg-related__title { font: var(--dg-h2); font-family: var(--dg-ff); color: var(--dg-ink); margin: 0 0 28px; letter-spacing: -0.01em; }
/* Секция «Dom Garcia рекомендует» лежит вне .product-page — даём тот же Onest-заголовок */
.single-product .section--bleed-right .sec-head__heading { font: var(--dg-h2); font-family: var(--dg-ff); color: var(--dg-ink); letter-spacing: -0.01em; }
.dg-collgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.dg-collcard { display: flex; flex-direction: column; border: 0.8px solid var(--dg-line); text-decoration: none; background: var(--dg-surface); transition: border-color .15s; }
.dg-collcard:hover { border-color: var(--dg-ink); }
.dg-collcard__img { display: block; aspect-ratio: 16 / 7; background: #C9C7C4; background-size: cover; background-position: center; }
.dg-collcard__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; }
.dg-collcard__name { font: var(--dg-h5); font-family: var(--dg-ff); color: var(--dg-ink); }
.dg-collcard__arr { color: var(--dg-ink); font-size: 18px; line-height: 1; flex: 0 0 auto; }
@media (max-width: 900px) { .dg-collgrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .dg-collgrid { grid-template-columns: 1fr; } }

/* Минимальные карточки в слайдере «Dom Garcia рекомендует» */
.product-slider .dg-card { flex: 0 0 clamp(220px, 22vw, 300px); }

/* ===========================================================================
   ИНКРЕМЕНТ 2 — аккордеон характеристик (.dg-specs)
   =========================================================================== */
.dg-specs { max-width: var(--dg-maxw); margin: 8px 0 56px; }
.dg-acc { border-top: 0.8px solid var(--dg-line); }
.dg-acc:last-child { border-bottom: 0.8px solid var(--dg-line); }
.dg-acc__sum { list-style: none; cursor: pointer; padding: 22px 0; display: flex; align-items: center; justify-content: flex-start; font: var(--dg-h5); color: var(--dg-ink); }
.dg-acc__sum::-webkit-details-marker { display: none; }
.dg-acc__sum::before { content: '+'; flex: 0 0 auto; box-sizing: border-box; width: 100px; padding-left: 20px; font: 400 26px/1 var(--dg-ff); color: var(--dg-ink); }
.dg-acc[open] .dg-acc__sum::before { content: '−'; }
.dg-acc__body { padding: 0 0 28px 100px; color: var(--dg-ink); font: var(--dg-body); font-family: var(--dg-ff); max-width: 1060px; }
.dg-acc__body p { margin: 0 0 12px; }
.dg-acc__body p:last-child { margin-bottom: 0; }
.dg-acc__muted { color: var(--dg-muted); }
.dg-specs-table { display: flex; flex-direction: column; gap: 12px; }
.dg-specs-row { display: flex; align-items: baseline; gap: 8px; font: var(--dg-body-sm); font-family: var(--dg-ff); }
.dg-specs-row__k { color: var(--dg-muted); white-space: nowrap; }
.dg-specs-row__dots { flex: 1 1 auto; border-bottom: 1px dotted var(--dg-line-2); transform: translateY(-3px); min-width: 24px; }
.dg-specs-row__v { color: var(--dg-ink); text-align: right; }
.dg-3d iframe, .dg-3d model-viewer, .dg-3d video { width: 100%; min-height: 420px; border: 0; display: block; }

/* ===========================================================================
   ШАПКА — дизайн-язык DomGarcia (Onest + терракотовый акцент).
   Глобально (dg.css грузится на всех страницах), но scoped на .navbar —
   фон страниц НЕ меняем.
   =========================================================================== */
.navbar { font-family: var(--dg-ff); background: var(--dg-bg); }
.navbar__inner { max-width: var(--dg-maxw); margin: 0 auto; }
.navbar__main { display: flex; align-items: center; gap: 16px; height: 64px; padding: 0 var(--dg-pad-x); }
.navbar__logo { flex: 0 0 auto; }
.navbar__catalog { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 18px; background: var(--dg-grey); color: #fff; border-radius: 2px; text-decoration: none; font: var(--dg-body-sm); font-family: var(--dg-ff); }
.navbar__catalog svg { width: 20px; height: 20px; }
.navbar__catalog:hover { background: var(--dg-ink); color: #fff; }
.navbar__search { flex: 1 1 auto; display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border: 1px solid var(--dg-grey); border-radius: 2px; background: var(--dg-surface); max-width: 620px; }
.navbar__search svg { width: 20px; height: 20px; color: var(--dg-muted-2); flex: 0 0 auto; }
.navbar__search input { flex: 1 1 auto; border: 0; background: none; font: var(--dg-body-sm); font-family: var(--dg-ff); color: var(--dg-ink); outline: none; min-width: 0; }
.navbar__search input::placeholder { color: var(--dg-muted-2); }
.navbar__nav { flex: 0 0 auto; display: flex; align-items: center; gap: 24px; }
.navbar__nav a { color: var(--dg-ink); text-decoration: none; font: var(--dg-body-sm); font-family: var(--dg-ff); transition: color .15s; }
.navbar__nav a:hover { color: var(--dg-accent); }
.navbar__right { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; }
.navbar__login { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; background: var(--dg-grey); color: #fff; border-radius: 2px; text-decoration: none; font: var(--dg-body-sm); font-family: var(--dg-ff); }
.navbar__login svg { width: 20px; height: 20px; }
.navbar__login:hover { background: var(--dg-ink); color: #fff; }
.navbar__cart { position: relative; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--dg-grey); background: var(--dg-grey); color: #fff; }
.navbar__cart svg { width: 20px; height: 20px; }
.navbar__cart:hover { background: #000; border-color: #000; }
.navbar__cart .pm-cart-link__count { top: 2px; right: 2px; }
.navbar__avatar { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; flex: 0 0 auto; background: var(--dg-line); color: var(--dg-muted); text-decoration: none; }
.navbar__avatar svg { width: 24px; height: 24px; }
.navbar__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.navbar .pm-cart-link__count { background: var(--dg-accent); color: #fff; }

/* ABC-указатель брендов */
.dg-abc { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px; max-width: var(--dg-maxw); margin: 0 auto; min-height: 40px; padding: 6px var(--dg-pad-x); border-top: 0.8px solid var(--dg-line); border-bottom: 0.8px solid var(--dg-line); }
.dg-abc a { color: var(--dg-ink); text-decoration: none; font: var(--dg-caption); font-family: var(--dg-ff); font-weight: 400; padding: 4px 6px; border-radius: 4px; transition: .15s; }
.dg-abc a:hover { color: var(--dg-accent); }
.dg-abc__letter.is-active { color: var(--dg-accent); font-weight: 600; }
.dg-abc__letter.is-empty { color: var(--dg-muted-2); opacity: .4; pointer-events: none; }
.pm-brands-abc { flex-wrap: wrap; padding: 8px var(--dg-pad-x) 20px; border-top: 0; }
.dg-abc__range span { color: var(--dg-muted-2); margin: 0 3px; }

/* ===========================================================================
   КАТАЛОГ (архив товаров) — DomGarcia. Приведение к макетам «Фильтр» / «Список
   товаров»: полноширинный, открытый обрамлённый ряд колонок фильтров, липкий бар
   «Фильтры» с выпадением по ховеру, минимальные карточки, сетка-таблица.
   =========================================================================== */
.dg-catalog { font-family: var(--dg-ff); }
.dg-catalog__inner { max-width: none; margin: 0; padding: 0 0 56px; }
body.woocommerce .catalog-head, body.archive .catalog-head { display: none; } /* старый заголовок → dg-cat-head */

/* Заголовок категории + табы подкатегорий */
.dg-cat-head { padding: 40px var(--dg-pad-x) 6px; }
.dg-cat-head__crumbs { font: var(--dg-body-sm); font-family: var(--dg-ff); color: var(--dg-muted-2); margin-bottom: 14px; }
.dg-cat-head__crumbs a { color: var(--dg-muted); text-decoration: none; }
.dg-cat-head__crumbs a:hover { color: var(--dg-ink); }
.dg-cat-head__title { font: 800 64px/1.1 var(--dg-ff); color: var(--dg-ink); letter-spacing: -0.02em; margin: 0; }
.dg-cat-head__brand { display: flex; align-items: flex-start; gap: 20px; margin-top: 16px; }
.dg-cat-head__logo { max-width: 160px; max-height: 64px; object-fit: contain; flex: 0 0 auto; }
.dg-cat-head__desc { color: var(--dg-muted); font: var(--dg-body); font-family: var(--dg-ff); max-width: 720px; }
.dg-cat-head__desc p { margin: 0 0 8px; }
.dg-subtabs { display: flex; flex-wrap: wrap; align-items: center; margin-top: 18px; }
.dg-subtab { display: inline-flex; align-items: center; padding: 2px 18px; color: var(--dg-muted); text-decoration: none; font: var(--dg-body); font-family: var(--dg-ff); border-left: 0.8px solid var(--dg-line); line-height: 1.2; }
.dg-subtab:first-child { padding-left: 0; border-left: 0; }
.dg-subtab:hover { color: var(--dg-ink); }
.dg-subtab.is-active { color: var(--dg-ink); text-decoration: underline; text-underline-offset: 5px; }

/* --- Липкий бар «Фильтры» + выпадающая панель по ховеру --- */
.dg-filterwrap { position: relative; margin-top: 18px; }
.dg-filter-sticky { display: none; }
.dg-filterwrap.is-stuck .dg-filter-sticky {
  display: flex; align-items: center; gap: 10px; position: fixed; top: var(--dg-navh, 0px); left: 0; right: 0; z-index: 90;
  height: 50px; padding: 0 var(--dg-pad-x); background: var(--dg-bg); border-bottom: 0.8px solid var(--dg-line);
  font: 600 18px/1 var(--dg-ff); color: var(--dg-ink); cursor: pointer;
}
.dg-filter-sticky__chev { width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.dg-filter-backdrop { position: fixed; inset: 0; background: rgba(17,17,17,.3); opacity: 0; pointer-events: none; transition: opacity .3s; z-index: 55; }
.dg-filter-backdrop.is-on { opacity: 1; pointer-events: auto; }
/* Пока открыто боковое окно (параметр/бренд): нейтрализуем transform липкой панели
   (иначе position:fixed окна считается от неё и смещается), держим окна кликабельными,
   бэкдроп поднимаем над панелью — он становится барьером и ловит клик «закрыть». */
body.dg-drawer-open .dg-filterwrap.is-stuck .dg-filter-panel { transform: none !important; pointer-events: auto !important; }
body.dg-drawer-open .dg-filter-backdrop.is-on { z-index: 65; }
.dg-fblock--overflow.is-open, .dg-brandpanel.is-open { pointer-events: auto; }

/* Панель фильтров — открытый обрамлённый ряд колонок.
   Группы держим в ОДИН РЯД (не переносим); если не умещаются — горизонтальный скролл. */
.dg-filter-panel { display: flex; flex-wrap: nowrap; align-items: stretch; overflow-x: auto; background: var(--dg-bg); scrollbar-width: thin; }

/* Заголовок фильтров + кнопка ручного сворачивания «−/+» (Figma filter-accordion) */
.dg-filter-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px var(--dg-pad-x); border-top: 0.8px solid var(--dg-line); border-bottom: 0.8px solid var(--dg-line); }
.dg-filter-head__title { font: 600 15px/1.2 var(--dg-ff); color: var(--dg-ink); }
.dg-filter-toggle { display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--dg-ink); }
.dg-filter-toggle:hover { color: var(--dg-accent); }
.dg-filter-toggle__ico { position: relative; width: 16px; height: 16px; display: inline-block; }
.dg-filter-toggle__ico::before, .dg-filter-toggle__ico::after { content: ""; position: absolute; background: currentColor; }
.dg-filter-toggle__ico::before { left: 0; right: 0; top: 50%; height: 2px; margin-top: -1px; }        /* горизонталь — всегда (−) */
.dg-filter-toggle__ico::after  { top: 0; bottom: 0; left: 50%; width: 2px; margin-left: -1px; opacity: 0; transition: opacity .15s; } /* вертикаль — только в свёрнутом (+) */
.dg-filterwrap.is-collapsed .dg-filter-toggle__ico::after { opacity: 1; }
.dg-filterwrap.is-collapsed .dg-filter-panel { display: none; }
/* В прилипшем состоянии показываем только липкий бар «Фильтры» — заголовок-аккордеон
   прячем, чтобы «Фильтры» не двоилось и не мерцало на границе. */
.dg-filterwrap.is-stuck .dg-filter-head { display: none; }
.dg-filterwrap.is-stuck .dg-filter-panel {
  position: fixed; top: calc(var(--dg-navh, 0px) + 50px); left: 0; right: 0; z-index: 89; flex-wrap: nowrap; overflow-x: auto;
  transform: translateY(-115%); transition: transform .3s ease; pointer-events: none;
  box-shadow: 0 24px 40px rgba(17,17,17,.14);
}
.dg-filterwrap.is-stuck.is-peek .dg-filter-panel { transform: translateY(0); pointer-events: auto; }
.dg-fcol { flex: 1 1 200px; min-width: 180px; max-width: 400px; padding: 24px 16px; display: flex; flex-direction: column; gap: 24px;
  border-right: 0.8px solid var(--dg-line); border-bottom: 0.8px solid var(--dg-line); }
.dg-fcol--wide  { flex-basis: 400px; max-width: 460px; }
.dg-fcol--shape { flex-basis: 180px; max-width: 200px; }
.dg-fcol--spacer { flex: 1 1 auto; max-width: none; min-width: 0; padding: 0; } /* компенсатор при <5 колонок */
.dg-fblock__title { font: 600 14px/1.4 var(--dg-ff); color: var(--dg-ink); margin: 0 0 14px; }
@media (max-width: 900px) {
  /* Мобильный: колонки складываем вертикально (без нижнего скролла) */
  .dg-filter-panel { flex-wrap: wrap; overflow-x: visible; }
  .dg-fcol, .dg-fcol--wide, .dg-fcol--shape { flex-basis: 100%; max-width: none; max-height: none; }
  .dg-fcol--spacer { display: none; }
}

/* Диапазон (Цена / Размер / Толщина): От/До с подчёркиванием */
.dg-frange { display: flex; align-items: flex-end; gap: 18px; }
.dg-frange input { width: 100%; min-width: 0; height: 30px; padding: 0 2px 4px; border: 0; border-bottom: 1px solid var(--dg-line);
  background: none; font: 400 12px/1.4 var(--dg-ff); color: var(--dg-ink); }
.dg-frange input::placeholder { color: var(--dg-muted-2); }
.dg-frange input:focus { outline: none; border-bottom-color: var(--dg-ink); }

/* Чек-список (Наличие) — простой текстовый список без квадратов */
.dg-flist { display: flex; flex-direction: column; gap: 10px; }
.dg-flist label { display: inline-flex; align-items: baseline; gap: 6px; cursor: pointer; font: 400 12px/1.4 var(--dg-ff); color: var(--dg-muted); transition: color .15s; }
.dg-flist input { position: absolute; opacity: 0; width: 0; height: 0; }
.dg-flist label:hover { color: var(--dg-ink); }
.dg-flist input:checked ~ span, .dg-flist label:has(input:checked) { color: var(--dg-ink); text-decoration: underline; text-underline-offset: 4px; }
.dg-flist .count { color: var(--dg-muted-2); font-size: 12px; }

/* Облако тегов (Фактура/Формат/Материал/Страна) — простые слова, перенос */
.dg-fcloud { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.dg-fcloud label { cursor: pointer; font: 400 12px/1.4 var(--dg-ff); color: var(--dg-muted); transition: color .15s; }
.dg-fcloud input { position: absolute; opacity: 0; width: 0; height: 0; }
.dg-fcloud label:hover { color: var(--dg-ink); }
.dg-fcloud label:has(input:checked) { color: var(--dg-ink); text-decoration: underline; text-underline-offset: 4px; }

/* Цвет — точка + название, в 2 колонки */
.dg-fcolors { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.dg-fcolors label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font: 400 12px/1.4 var(--dg-ff); color: var(--dg-ink); }
.dg-fcolors input { position: absolute; opacity: 0; width: 0; height: 0; }
.dg-fcolors .dg-dot { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(0,0,0,.15); flex: 0 0 auto; transition: box-shadow .15s; }
.dg-fcolors label:has(input:checked) .dg-dot { box-shadow: 0 0 0 2px var(--dg-bg), 0 0 0 3.5px var(--dg-ink); }
.dg-fcolors label:has(input:checked) { font-weight: 600; }

/* Форма — сетка иконок-контуров, заливка при выборе */
.dg-fshapes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.dg-fshapes label { cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.dg-fshapes input { position: absolute; opacity: 0; width: 0; height: 0; }
.dg-fshapes svg { width: 34px; height: 26px; }
.dg-fshapes svg [data-shape] { fill: none; stroke: var(--dg-ink); stroke-width: 1.4; transition: fill .15s; }
.dg-fshapes label:has(input:checked) svg [data-shape] { fill: var(--dg-ink); }

/* Параметр со «слишком многими» значениями: превью + «+» → боковое окно (как Бренд) */
.dg-fclose, .dg-fsearch, .dg-fapply { display: none; }
/* «Показать» скрыт в превью: перебиваем .dg-filter-panel .dg-btn (0,2,0) специфичностью (0,4,0). */
.dg-filter-panel .dg-fblock--overflow:not(.is-open) .dg-fapply { display: none; }
.dg-fmore { align-self: flex-start; margin-top: 4px; padding: 0; border: 0; background: none; color: var(--dg-accent); font: 400 12px/1.4 var(--dg-ff); cursor: pointer; }
.dg-fmore:hover { color: var(--dg-ink); text-decoration: underline; }
/* Превью: показываем только первые 8 значений (топ по числу товаров), остальное — «ещё» → окно */
.dg-fblock--overflow:not(.is-open) .dg-fcloud label:nth-child(n+9),
.dg-fblock--overflow:not(.is-open) .dg-flist label:nth-child(n+9),
.dg-fblock--overflow:not(.is-open) .dg-fcolors label:nth-child(n+9) { display: none; }

.dg-fblock--overflow.is-open { position: fixed; top: 0; left: 0; bottom: 0; width: 340px; max-width: 86vw; z-index: 70;
  margin: 0; padding: 24px 20px; background: var(--dg-bg); border-right: 0.8px solid var(--dg-line); box-shadow: 30px 0 60px rgba(17,17,17,.12);
  display: flex; flex-direction: column; gap: 12px; overflow-y: auto; }
.dg-fblock--overflow.is-open .dg-fblock__title { display: flex; align-items: center; justify-content: space-between; font: 600 20px/1.2 var(--dg-ff); margin: 0; }
.dg-fblock--overflow.is-open .dg-fclose { display: inline-flex; background: none; border: 0; padding: 0; font-size: 24px; line-height: 1; cursor: pointer; color: var(--dg-ink); }
.dg-fblock--overflow.is-open .dg-fsearch { display: block; }
.dg-fblock--overflow.is-open .dg-fsearch input { width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--dg-line); border-radius: 8px; font: 400 14px/1 var(--dg-ff); font-family: var(--dg-ff); }
.dg-fblock--overflow.is-open .dg-fcloud, .dg-fblock--overflow.is-open .dg-flist, .dg-fblock--overflow.is-open .dg-fcolors { max-height: none; overflow: visible; }
.dg-fblock--overflow.is-open .dg-fcloud { flex-direction: column; flex-wrap: nowrap; align-content: flex-start; gap: 0; }
.dg-fblock--overflow.is-open .dg-fcolors { grid-template-columns: 1fr; gap: 0; }
.dg-fblock--overflow.is-open .dg-fcloud label, .dg-fblock--overflow.is-open .dg-flist label, .dg-fblock--overflow.is-open .dg-fcolors label { font-size: 14px; padding: 8px 0; border-bottom: 0.8px solid var(--dg-line); }
.dg-fblock--overflow.is-open label[hidden] { display: none; }
.dg-fblock--overflow.is-open .dg-fmore { display: none; }
.dg-fblock--overflow.is-open .dg-fapply { display: inline-flex; margin-top: auto; }

/* Бренд — заголовок с количеством + шеврон, открывает левое окно */
.dg-fbrand { margin-top: auto; }
.dg-fbrand__toggle { display: flex; align-items: center; width: 100%; background: none; border: 0; border-bottom: 1px solid var(--dg-line); padding: 0 0 8px; cursor: pointer; font: 600 14px/1.4 var(--dg-ff); color: var(--dg-ink); }
.dg-fbrand__count { color: var(--dg-muted-2); font-weight: 400; margin-left: 6px; }
.dg-fbrand__chev { margin-left: auto; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }

/* Левое окно выбора брендов */
.dg-brandpanel { position: fixed; top: 0; left: 0; bottom: 0; width: 340px; max-width: 86vw; z-index: 70; background: var(--dg-bg);
  border-right: 0.8px solid var(--dg-line); box-shadow: 30px 0 60px rgba(17,17,17,.12); transform: translateX(-102%); transition: transform .3s ease;
  display: flex; flex-direction: column; padding: 24px 20px; }
.dg-brandpanel[hidden] { display: none; }
.dg-brandpanel.is-open { transform: translateX(0); }
.dg-brandpanel__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.dg-brandpanel__title { font: 600 20px/1.2 var(--dg-ff); color: var(--dg-ink); }
.dg-brandpanel__close { background: none; border: 0; font-size: 22px; line-height: 1; cursor: pointer; color: var(--dg-ink); }
.dg-brandpanel__search input { width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--dg-line); border-radius: 8px; font: var(--dg-body); font-family: var(--dg-ff); margin-bottom: 12px; }
.dg-brandpanel__selected { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.dg-brandpanel__selected:empty { display: none; }
.dg-brandpanel__list { display: flex; flex-direction: column; gap: 2px; overflow-y: auto; }
.dg-brandpanel__list label { display: flex; align-items: center; gap: 8px; padding: 8px 0; cursor: pointer; font: var(--dg-body); font-family: var(--dg-ff); color: var(--dg-ink); border-bottom: 0.8px solid var(--dg-line); }
.dg-brandpanel__list label[hidden] { display: none; }
.dg-brandpanel__list .count { color: var(--dg-muted-2); font-size: 12px; margin-left: auto; }
.dg-brandpanel__apply { margin-top: 14px; }

/* Кнопки применить/сбросить (fallback без JS — скрыты когда JS активен) */
.dg-filter-actions { flex: 1 1 100%; display: flex; gap: 12px; padding: 14px var(--dg-pad-x); border-bottom: 0.8px solid var(--dg-line); }
.dg-filter-panel[data-js] .dg-filter-actions { display: none; }
.dg-filter-panel .dg-btn { display: inline-flex; align-items: center; justify-content: center; height: 42px; padding: 0 22px; border-radius: var(--dg-r-pill); font: 600 15px/1 var(--dg-ff); text-decoration: none; cursor: pointer; border: 1px solid var(--dg-line); background: var(--dg-surface); color: var(--dg-ink); }
.dg-filter-panel .dg-btn--primary { background: var(--dg-grey); border-color: var(--dg-grey); color: #fff; }
.dg-filter-panel .dg-btn--ghost { background: none; }

/* Чипы применённых фильтров — тёмные пилюли */
.dg-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px var(--dg-pad-x) 4px; }
.dg-chip { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: var(--dg-r-pill); background: var(--dg-grey); color: #fff; text-decoration: none; font: var(--dg-body-sm); font-family: var(--dg-ff); transition: .15s; }
.dg-chip__x { font-size: 16px; line-height: 1; opacity: .85; }
.dg-chip:hover { background: var(--dg-ink); }
.dg-chip--reset { background: none; color: var(--dg-muted); border: 1px solid var(--dg-line); }
.dg-chip--reset:hover { background: none; border-color: var(--dg-ink); color: var(--dg-ink); }

/* Тулбар: количество · сорт · вид (справа) */
.dg-toolbar { display: flex; align-items: center; justify-content: flex-end; gap: 18px; flex-wrap: wrap; padding: 16px var(--dg-pad-x); }
.dg-toolbar__count { color: var(--dg-muted); font: var(--dg-body-sm); font-family: var(--dg-ff); margin-right: auto; }
.dg-toolbar__count b { color: var(--dg-ink); }
.dg-sort { display: inline-flex; gap: 20px; }
.dg-sort__tab { display: inline-flex; align-items: center; gap: 5px; color: var(--dg-muted); text-decoration: none; font: var(--dg-body); font-family: var(--dg-ff); transition: .15s; }
.dg-sort__tab .dg-sort__ar { font-size: 12px; }
.dg-sort__tab:hover { color: var(--dg-ink); }
.dg-sort__tab.is-active { color: var(--dg-ink); }
.dg-view { display: inline-flex; gap: 8px; }
.dg-view__btn { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--dg-muted-2); cursor: pointer; }
.dg-view__btn svg { width: 22px; height: 22px; }
.dg-view__btn.is-active { color: var(--dg-ink); }

/* Сетка-таблица: полноширинная, hairline-разделители, без боковых отступов */
.dg-grid { display: grid; gap: 0; border-top: 0.8px solid var(--dg-line); border-left: 0.8px solid var(--dg-line); }
.dg-grid--large { grid-template-columns: repeat(4, 1fr); }
.dg-grid--small { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1200px) { .dg-grid--large { grid-template-columns: repeat(3, 1fr); } .dg-grid--small { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .dg-grid--large { grid-template-columns: repeat(2, 1fr); } .dg-grid--small { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px)  { .dg-grid--large, .dg-grid--small { grid-template-columns: repeat(2, 1fr); } }

/* Минимальная карточка: фото по центру, название 2 строки, серая спека, цена «от … /м²» */
.dg-card { position: relative; display: flex; flex-direction: column; border-right: 0.8px solid var(--dg-line); border-bottom: 0.8px solid var(--dg-line); background: var(--dg-bg); }
.dg-card__image { display: block; aspect-ratio: 1 / 1; padding: 26px; background-size: contain; background-position: center; background-repeat: no-repeat; background-origin: content-box; }
.dg-card__body { padding: 0 20px 26px; display: flex; flex-direction: column; gap: 8px; }
.dg-card__name { margin: 0; font: 600 17px/1.35 var(--dg-ff); color: var(--dg-ink); min-height: calc(2 * 1.35em);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dg-card__name a { color: inherit; text-decoration: none; }
.dg-card__name a:hover { text-decoration: underline; }
.dg-card__spec { font: var(--dg-body-sm); font-family: var(--dg-ff); color: var(--dg-muted-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dg-card__price { font: 700 19px/1.3 var(--dg-ff); color: var(--dg-ink); display: flex; align-items: baseline; gap: 6px; }
.dg-card__price b { color: var(--dg-ink); font-weight: 700; }
.dg-card__unit { font-size: 12px; font-weight: 400; color: var(--dg-muted-2); }
.dg-card__badge { position: absolute; top: 14px; left: 14px; padding: 4px 10px; border-radius: var(--dg-r-pill); background: var(--dg-grey); color: #fff; font: var(--dg-caption); font-family: var(--dg-ff); }
.dg-grid .dg-card:hover .dg-card__image { opacity: .92; transition: opacity .2s; }

/* Индикатор бесконечной ленты */
.dg-feed-status { padding: 28px var(--dg-pad-x); text-align: center; color: var(--dg-muted); font: var(--dg-body-sm); font-family: var(--dg-ff); }
.dg-feed-status[hidden] { display: none; }

/* ============================================================================
   ЭТАП — Полноэкранный поиск (Figma search-page).
   Слева сетка товаров, справа панель: поле + подсказки + категории(↗) + бренды.
   ============================================================================ */
.pm-search-overlay.dg-search { background: var(--dg-bg); font-family: var(--dg-ff); color: var(--dg-ink); }

.dg-search__close {
  position: absolute; top: 22px; left: 28px; z-index: 2;
  width: 40px; height: 40px; padding: 0;
  border: 0; background: transparent; cursor: pointer;
  font: 300 34px/1 var(--dg-ff); color: var(--dg-ink);
  display: grid; place-items: center; transition: color .2s;
}
.dg-search__close:hover { color: var(--dg-accent); }

.dg-search__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 500px);
  gap: 0 56px;
  padding: 64px 40px 48px;
  min-height: 100%;
  align-items: start;
}

/* --- Левая колонка: сетка товаров --- */
.dg-search__results { min-width: 0; }
.dg-search-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 0.8px solid var(--dg-line);
  border-left: 0.8px solid var(--dg-line);
}
.dg-search-card {
  display: flex; flex-direction: column;
  border-right: 0.8px solid var(--dg-line);
  border-bottom: 0.8px solid var(--dg-line);
  padding: 0 0 18px; color: var(--dg-ink); text-decoration: none;
  transition: background .15s;
}
.dg-search-card:hover { background: var(--dg-surface); }
.dg-search-card__media {
  display: block; aspect-ratio: 16 / 10; margin: 18px 18px 14px;
  background: var(--dg-line-2) center/contain no-repeat;
}
.dg-search-card__title {
  padding: 0 18px; margin-bottom: 4px;
  font: 500 13px/1.35 var(--dg-ff); color: var(--dg-ink);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dg-search-card__spec {
  padding: 0 18px; margin-bottom: 10px;
  font: 400 12px/1.3 var(--dg-ff); color: var(--dg-muted-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dg-search-card__price {
  padding: 0 18px; margin-top: auto;
  font: 700 14px/1.3 var(--dg-ff); color: var(--dg-ink);
}
.dg-search-card__price .amount, .dg-search-card__price bdi { white-space: nowrap; }
.dg-search-card__price del { color: var(--dg-muted-2); font-weight: 400; margin-right: 5px; }
.dg-search-card__price ins { text-decoration: none; color: var(--dg-accent); }

.dg-search__all {
  display: inline-block; margin-top: 20px;
  font: 500 14px/1.4 var(--dg-ff); color: var(--dg-accent); text-decoration: none;
}
.dg-search__all:hover { text-decoration: underline; }
.dg-search__empty {
  padding: 40px 4px; color: var(--dg-muted);
  font: 400 15px/1.4 var(--dg-ff);
}

/* --- Правая панель --- */
.dg-search__panel { min-width: 0; }
.dg-search__form {
  display: flex; align-items: center; gap: 12px;
  padding: 0 2px 14px; margin-bottom: 20px;
  border-bottom: 1px solid var(--dg-ink);
}
.dg-search__icon { flex: 0 0 auto; color: var(--dg-muted); display: grid; place-items: center; }
.dg-search__form input[type="search"] {
  flex: 1 1 auto; min-width: 0;
  border: 0; outline: 0; background: transparent;
  font: 400 16px/1.4 var(--dg-ff); color: var(--dg-ink);
}
.dg-search__form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.dg-search__form input[type="search"]::placeholder { color: var(--dg-muted); }

.dg-search__suggest { display: flex; flex-direction: column; }
.dg-search__suggest-item {
  padding: 8px 0;
  font: 400 15px/1.4 var(--dg-ff); color: var(--dg-ink); text-decoration: none;
}
.dg-search__suggest-item:hover { color: var(--dg-accent); }

.dg-search__group { display: flex; flex-direction: column; }
.dg-search__group:not(:empty) { margin-top: 26px; }
.dg-search__link {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 0;
  font: 600 15px/1.4 var(--dg-ff); color: var(--dg-ink); text-decoration: none;
}
.dg-search__link:hover { color: var(--dg-accent); }
.dg-search__arrow { font-weight: 400; font-size: 13px; }

/* Табличная сетка на узких — 3/2 колонки, панель над товарами */
@media (max-width: 1100px) { .dg-search-cards { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px) {
  .dg-search__grid { grid-template-columns: 1fr; gap: 32px; padding: 60px 20px 40px; }
  .dg-search__panel { order: -1; }
}
@media (max-width: 560px) { .dg-search-cards { grid-template-columns: repeat(2, 1fr); } }

/* ---- Окно «Бренд»: чипы + буквенные группы, 2 колонки, тёмная пилюля выбранного (Figma «Фильтр — бренд») ---- */
.dg-brandpanel__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.dg-brandpanel__chips[hidden] { display: none; }
.dg-brandpanel__chips .dg-chip { border: 0; cursor: pointer; font-family: var(--dg-ff); }
.dg-brandpanel__chips .dg-chip--reset { border: 1px solid var(--dg-line); }

/* Скрываем нативный чекбокс — выбор показываем тёмной пилюлей */
.dg-brandpanel__list input[type="checkbox"] { position: absolute; opacity: 0; width: 0; height: 0; }
.dg-brandpanel__list { gap: 0; }
.dg-brandpanel__group { margin-bottom: 18px; }
.dg-brandpanel__group[hidden] { display: none; }
.dg-brandpanel__letter { font: 700 15px/1.2 var(--dg-ff); color: var(--dg-ink); margin: 0 0 8px; }
.dg-brandpanel__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 16px; }
.dg-brandpanel__list .dg-brandpanel__cols label { display: inline-flex; align-items: center; padding: 5px 0; border-bottom: 0; font: 400 14px/1.3 var(--dg-ff); color: var(--dg-ink); }
.dg-brandpanel__name { display: inline-block; padding: 4px 0; transition: background .15s, color .15s; }
.dg-brandpanel__list label:has(input:checked) .dg-brandpanel__name {
  background: var(--dg-grey); color: #fff; border-radius: var(--dg-r-pill); padding: 4px 14px;
}
.dg-brandpanel__list label:hover .dg-brandpanel__name { color: var(--dg-accent); }
.dg-brandpanel__list label:has(input:checked):hover .dg-brandpanel__name { color: #fff; }

/* ============================================================================
   Страница результатов поиска (Figma «search-page / обычные результаты»):
   title-block «Результаты: <запрос>» + 2 колонки (сетка + панель).
   Панель переиспользует классы .dg-search__* оверлея.
   ============================================================================ */
.dg-sresults { padding: 40px var(--dg-pad-x) 64px; }
.dg-sresults__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: 0 56px;
  align-items: start;
}
.dg-sresults__main { min-width: 0; }
.dg-sresults__head { display: flex; flex-direction: column; gap: 2px; margin-bottom: 28px; }
.dg-sresults__label { font: 400 15px/1.2 var(--dg-ff); color: var(--dg-muted); }
.dg-sresults__query {
  font: 700 clamp(32px, 4vw, 46px)/1.1 var(--dg-ff); color: var(--dg-ink);
  letter-spacing: -0.01em; text-decoration: none; align-self: flex-start;
  border-bottom: 2px solid transparent; transition: border-color .15s;
}
.dg-sresults__query:hover { border-bottom-color: var(--dg-ink); }
.dg-sresults__count { margin-top: 10px; font: 400 14px/1.4 var(--dg-ff); color: var(--dg-muted); }

/* правая панель */
.dg-sresults__panel { min-width: 0; position: sticky; top: 20px; }
.dg-sresults__form {
  display: flex; align-items: center; gap: 12px;
  padding: 0 2px 14px; margin-bottom: 20px;
  border-bottom: 1px solid var(--dg-ink);
}
.dg-sresults__form .dg-search__icon { flex: 0 0 auto; color: var(--dg-muted); display: grid; place-items: center; }
.dg-sresults__form input[type="search"] {
  flex: 1 1 auto; min-width: 0; border: 0; outline: 0; background: transparent;
  font: 400 16px/1.4 var(--dg-ff); color: var(--dg-ink);
}
.dg-sresults__form input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
.dg-sresults__form input[type="search"]::placeholder { color: var(--dg-muted); }
.dg-sresults__go { flex: 0 0 auto; border: 0; background: none; cursor: pointer; font-size: 20px; line-height: 1; color: var(--dg-ink); padding: 0 2px; }
.dg-sresults__go:hover { color: var(--dg-accent); }

/* Пагинация страницы результатов */
.dg-sresults .pagination, .dg-sresults nav.pagination { margin-top: 28px; }
.dg-sresults .pm-search-empty { padding: 24px 0; }

@media (max-width: 960px) {
  .dg-sresults__grid { grid-template-columns: 1fr; gap: 32px; }
  .dg-sresults__panel { order: -1; position: static; }
}

/* Активная категория в панели результатов поиска (выбрана через pm_scat) */
.dg-search__link.is-active { color: var(--dg-accent); font-weight: 700; }
