@charset "UTF-8";
/*
 * Каталог: панель, плитка, список, пагинация (modules/tpl_fuctions.php get_new_universal_table, 15.09.2026).
 * Плитка и кнопка «В корзину − N +» — css/tiles.css; здесь только то, чего нет на главной.
 * Колонки считаются по ширине самого каталога (левое меню отнимает место), а не по ширине экрана.
 * Только переменные --gsm-* (страница /design/).
 */
.gsm-catalog { container: gsm-cat / inline-size; box-sizing: border-box; margin: 0 0 var(--gsm-s-6, 24px); color: var(--gsm-ink, #23282d); font-family: var(--gsm-font, 'Open Sans', Tahoma, Verdana, Arial, sans-serif); font-size: var(--gsm-fs-base, 14px); text-align: left; }
.gsm-catalog *, .gsm-catalog *::before, .gsm-catalog *::after { box-sizing: border-box; }

/* ── Панель ─────────────────────────────────────────────────────────────── */
.gsm-catalog form.gsm-catalog__form { float: none; width: auto; }
.gsm-catalog__form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gsm-s-2, 8px) var(--gsm-s-3, 12px); margin: 0 0 var(--gsm-s-4, 16px); padding: 0; }
.gsm-catalog .gsm-grid, .gsm-catalog .gsm-list { margin-top: 0; }
.gsm-catalog .cat-filter-toggle { width: auto !important; order: 0; margin: 0; }
.gsm-catalog .cat-filter-toggle a,
.gsm-catalog .cat-filter-toggle a:link,
.gsm-catalog .cat-filter-toggle a:visited {
	display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 38px; position: relative;
	border: 1px solid var(--gsm-line-strong, #ccd3da); border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-card, #fff);
	color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-btn-sm, 14px); font-weight: 600; text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
/* Lucide sliders-horizontal */
.gsm-catalog .cat-filter-toggle a::before {
	content: ""; position: absolute; left: 13px; top: 50%; width: 18px; height: 18px; margin-top: -9px; 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='2' stroke-linecap='round'%3E%3Cpath d='M10 5H3M12 19H3M14 3v4M16 17v4M21 12h-9M21 19h-5M21 5h-7M8 10v4M8 12H3'/%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='2' stroke-linecap='round'%3E%3Cpath d='M10 5H3M12 19H3M14 3v4M16 17v4M21 12h-9M21 19h-5M21 5h-7M8 10v4M8 12H3'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gsm-catalog .cat-filter-toggle a:hover { border-color: var(--gsm-blue, #3399cc); background: var(--gsm-blue-soft, #f0f8fc); }
.gsm-catalog .cat-filter { order: 5; flex: 1 1 100%; margin: 0 !important; padding: var(--gsm-s-3, 12px) var(--gsm-s-4, 16px); border: 1px solid var(--gsm-line, #e4e8ec); border-radius: var(--gsm-r-md, 12px); background: var(--gsm-card, #fff); }
.gsm-catalog .cat-filter p { margin: var(--gsm-s-2, 8px) 0 4px; color: var(--gsm-ink-2, #6b7480); font-size: var(--gsm-fs-xs, 12px); font-weight: 600; text-transform: none; }
.gsm-catalog .cat-filter nobr { display: inline-flex; align-items: center; margin: 2px 12px 2px 0; font-size: var(--gsm-fs-sm, 13px); }

.gsm-toolbar { order: 1; flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: var(--gsm-s-2, 8px) var(--gsm-s-3, 12px); min-width: 0; }
/* «В наличии» — переключатель. Свой класс: .gsm-chip занят плитками в меню каталога */
.gsm-switch {
	display: inline-flex; align-items: center; gap: 10px; height: 40px; margin: 0; padding: 0 4px 0 0;
	border: 0; background: none; color: var(--gsm-ink-2, #6b7480);
	font-size: var(--gsm-fs-btn-sm, 14px); font-weight: 600; line-height: 40px; cursor: pointer; user-select: none;
	transition: color .15s ease;
}
.gsm-switch input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.gsm-switch__t {
	position: relative; flex: none; width: 40px; height: 24px; border-radius: 12px;
	background: var(--gsm-line-strong, #ccd3da); transition: background-color .2s ease;
}
.gsm-switch__t::after {
	content: ""; position: absolute; left: 3px; top: 3px; width: 18px; height: 18px;
	border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(20, 28, 38, .3);
	transition: transform .2s cubic-bezier(.2, .8, .2, 1);
}
.gsm-switch:hover .gsm-switch__t { background: var(--gsm-ink-3, #949ba5); }
.gsm-switch:has(input:checked) { color: var(--gsm-ink, #23282d); }
.gsm-switch:has(input:checked) .gsm-switch__t { background: var(--gsm-btn, #0f89c6); }
.gsm-switch:has(input:checked) .gsm-switch__t::after { transform: translateX(16px); }
.gsm-switch:has(input:focus-visible) .gsm-switch__t { outline: 2px solid var(--gsm-blue, #3399cc); outline-offset: 2px; }
.gsm-toolbar__field { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.gsm-toolbar__label { color: var(--gsm-ink-2, #6b7480); font-size: var(--gsm-fs-sm, 13px); white-space: nowrap; }
.gsm-catalog select.gsm-select {
	height: 40px; margin: 0; padding: 0 34px 0 12px; max-width: 220px;
	border: 1px solid var(--gsm-line-strong, #ccd3da); border-radius: var(--gsm-r-sm, 8px);
	background: var(--gsm-card, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7480' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 16px;
	color: var(--gsm-ink, #23282d); font-family: inherit; font-size: var(--gsm-fs-base, 14px); cursor: pointer;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
}
.gsm-catalog select.gsm-select:hover { border-color: var(--gsm-blue, #3399cc); }
.gsm-catalog select.gsm-select:focus { outline: none; border-color: var(--gsm-blue, #3399cc); box-shadow: var(--gsm-focus, 0 0 0 3px rgba(51, 153, 204, .15)); }
.gsm-toolbar__count { margin-left: auto; color: var(--gsm-ink-2, #6b7480); font-size: var(--gsm-fs-sm, 13px); white-space: nowrap; font-variant-numeric: tabular-nums; }
.gsm-toolbar__count b { color: var(--gsm-ink, #23282d); font-weight: 700; }
.gsm-seg { display: inline-flex; gap: 2px; padding: 3px; border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-bg, #f6f7f9); box-shadow: inset 0 0 0 1px var(--gsm-line, #e4e8ec); }
.gsm-seg__btn { position: relative; display: grid; place-items: center; width: 34px; height: 34px; margin: 0; border-radius: var(--gsm-r-sm, 8px); color: var(--gsm-ink-3, #949ba5); cursor: pointer; transition: background-color .15s ease, color .15s ease, box-shadow .15s ease; }
.gsm-seg__btn input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.gsm-seg__btn svg { width: 18px; height: 18px; }
.gsm-seg__btn:hover { color: var(--gsm-ink, #23282d); }
.gsm-seg__btn:has(input:checked), .gsm-seg__btn.is-on { background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-btn, #0f89c6); box-shadow: inset 0 2px 5px rgba(20, 28, 38, .16), inset 0 1px 1px rgba(20, 28, 38, .1); }
.gsm-seg__btn:has(input:focus-visible) { outline: 2px solid var(--gsm-blue, #3399cc); outline-offset: 1px; }

/* ── Плитка ─────────────────────────────────────────────────────────────── */
.gsm-grid, .gsm-list { clear: both; }
.gsm-grid { display: grid; grid-template-columns: repeat(var(--cols, 4), minmax(0, 1fr)); gap: var(--gsm-s-3, 12px); margin: 0; padding: 0; }
@container gsm-cat (max-width: 900px) { .gsm-grid { --cols: 3; } }
@container gsm-cat (max-width: 600px) { .gsm-grid { --cols: 2; gap: var(--gsm-s-2, 8px); } }
.gsm-tile__sku { margin-top: -4px; color: var(--gsm-ink-3, #949ba5); font-size: var(--gsm-fs-xs, 12px); line-height: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gsm-catalog__sep { grid-column: 1 / -1; display: flex; align-items: center; gap: var(--gsm-s-3, 12px); margin: var(--gsm-s-3, 12px) 0 0; padding: var(--gsm-s-2, 8px) var(--gsm-s-4, 16px); color: var(--gsm-ink-2, #6b7480); font-size: var(--gsm-fs-sm, 13px); font-weight: 600; }
.gsm-catalog__sep::after { content: ""; flex: 1; height: 1px; background: var(--gsm-line, #e4e8ec); }
.gsm-grid .gsm-catalog__sep { padding-inline: 0; }
.gsm-catalog__empty { padding: var(--gsm-s-8, 32px) var(--gsm-s-4, 16px); border: 1px dashed var(--gsm-line-strong, #ccd3da); border-radius: var(--gsm-r-md, 12px); color: var(--gsm-ink-2, #6b7480); text-align: center; }

/* ── Избранное (Lucide heart) ───────────────────────────────────────────── */
.gsm-fav {
	position: relative; z-index: 3; display: grid; place-items: center; flex: none; width: 36px; height: 36px; margin: 0; padding: 0;
	border: 0; border-radius: 50%; background: transparent; color: var(--gsm-ink-3, #949ba5); cursor: pointer;
	transition: color .15s ease, background-color .15s ease;
}
.gsm-tile > .gsm-fav { position: absolute; top: calc(var(--gsm-s-3, 12px) + 4px); right: calc(var(--gsm-s-3, 12px) + 4px); background: rgba(255, 255, 255, .9); box-shadow: 0 1px 3px rgba(20, 28, 38, .1); }
.gsm-fav svg { width: 20px; height: 20px; transition: transform .2s cubic-bezier(.2, .8, .2, 1); }
.gsm-fav:hover { color: var(--gsm-red, #d64545); }
.gsm-fav.out_izbran { color: var(--gsm-red, #d64545); }
.gsm-fav.out_izbran svg { fill: currentColor; }
.gsm-fav.is-anim svg { animation: gsm-buy-pop .45s cubic-bezier(.2, .8, .2, 1); }
.gsm-fav:focus-visible { outline: 2px solid var(--gsm-blue, #3399cc); outline-offset: 1px; }

/* ── Нет в наличии и подписка ───────────────────────────────────────────── */
.gsm-tile.is-off .gsm-tile__media img, .gsm-row.is-off .gsm-row__media img { opacity: .55; filter: grayscale(.5); }
.gsm-tile.is-off .gsm-tile__cost, .gsm-row.is-off .gsm-tile__cost { color: var(--gsm-ink-2, #6b7480); }
button.gsm-tile__buy--notify { gap: 6px; background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-blue-dark, #2b83b0); box-shadow: inset 0 0 0 1px rgba(51, 153, 204, .35); font-size: var(--gsm-fs-sm, 13px); white-space: nowrap; overflow: hidden; }
button.gsm-tile__buy--notify:hover { background: var(--gsm-card, #fff); color: var(--gsm-blue-dark, #2b83b0); }
button.gsm-tile__buy--notify svg { width: 16px; height: 16px; }
button.gsm-tile__buy--notify span { overflow: hidden; text-overflow: ellipsis; }
button.gsm-tile__buy--notify[is_uved="1"] { background: var(--gsm-green-soft, #eefaf3); color: var(--gsm-green, #17a05f); box-shadow: none; }

/* ── Список ─────────────────────────────────────────────────────────────── */
.gsm-list { margin: 0; padding: 0; border: 1px solid var(--gsm-line, #e4e8ec); border-radius: var(--gsm-r-md, 12px); background: var(--gsm-card, #fff); box-shadow: var(--gsm-shadow, none); overflow: hidden; }
.gsm-row {
	position: relative; display: grid; align-items: center; column-gap: var(--gsm-s-4, 16px); min-height: 92px; margin: 0;
	padding: var(--gsm-s-3, 12px) var(--gsm-s-4, 16px);
	grid-template-columns: 72px minmax(0, 1fr) 104px 128px 176px 36px;
	grid-template-areas: "media info stock price buy fav";
	transition: background-color .15s ease;
}
.gsm-row + .gsm-row, .gsm-list .gsm-catalog__sep + .gsm-row { border-top: 1px solid var(--gsm-line, #e4e8ec); }
.gsm-list .gsm-catalog__sep { margin: 0; padding-block: var(--gsm-s-3, 12px); border-top: 1px solid var(--gsm-line, #e4e8ec); background: var(--gsm-bg, #f6f7f9); }
.gsm-row:hover { background: var(--gsm-bg, #f6f7f9); }
.gsm-row:has(.gsm-row__name a:focus-visible) { outline: 2px solid var(--gsm-blue, #3399cc); outline-offset: -2px; }
.gsm-row__media { grid-area: media; width: 72px; height: 72px; overflow: hidden; border-radius: var(--gsm-r-sm, 8px); background: var(--gsm-bg, #f6f7f9); }
.gsm-row__media img { display: block; width: 100%; height: 100%; max-width: none; padding: 4px; object-fit: contain; mix-blend-mode: multiply; }
.gsm-row__info { grid-area: info; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.gsm-row__name { margin: 0; font-size: var(--gsm-fs-base, 14px); font-weight: 400; line-height: 20px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-transform: none; }
.gsm-row__name a, .gsm-row__name a:link, .gsm-row__name a:visited { color: var(--gsm-ink, #23282d); text-decoration: none; }
.gsm-row__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gsm-row:hover .gsm-row__name a { color: var(--gsm-link-hover, #1f5f86); }
.gsm-row__name a:focus-visible { outline: none; }
.gsm-row__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px var(--gsm-s-2, 8px); }
.gsm-row__meta .gsm-tile__sku { margin: 0; }
.gsm-row__meta .gsm-badge { min-height: 18px; padding: 0 6px; border-radius: 6px; font-size: 11px; font-weight: 700; }
.gsm-row .gsm-tile__stock { grid-area: stock; }
.gsm-row .gsm-tile__price { grid-area: price; margin: 0; align-items: flex-end; text-align: right; }
.gsm-row .gsm-buy, .gsm-row .gsm-tile__buy--ghost, .gsm-row .gsm-tile__buy--notify { grid-area: buy; }
.gsm-row .gsm-fav { grid-area: fav; }
@container gsm-cat (max-width: 820px) {
	.gsm-row { grid-template-columns: 64px minmax(0, 1fr) 128px 168px 36px; grid-template-areas: "media info price buy fav" "media info stock buy fav"; row-gap: 2px; }
	.gsm-row .gsm-tile__stock { justify-self: end; }
	.gsm-row__media { width: 64px; height: 64px; }
}
@container gsm-cat (max-width: 600px) {
	.gsm-list { border-radius: var(--gsm-r-sm, 8px); }
	.gsm-row { column-gap: var(--gsm-s-3, 12px); row-gap: var(--gsm-s-2, 8px); padding: var(--gsm-s-3, 12px);
		grid-template-columns: 64px minmax(0, 1fr) 132px 36px; grid-template-areas: "media info info fav" "media stock stock fav" "price price buy buy"; }
	.gsm-row .gsm-tile__stock { justify-self: start; }
	.gsm-row .gsm-tile__price { align-items: flex-start; text-align: left; }
	.gsm-row .gsm-buy, .gsm-row .gsm-tile__buy--ghost, .gsm-row .gsm-tile__buy--notify { justify-self: stretch; width: 100%; }
	.gsm-toolbar__count { order: 9; flex-basis: 100%; margin: 0; }
	.gsm-toolbar .gsm-toolbar__label { display: none; }
}

/* ── Пагинация (num_pages) ──────────────────────────────────────────────── */
.gsm-catalog div.num_pages { display: flex; flex-direction: column; align-items: center; gap: var(--gsm-s-2, 8px); margin: var(--gsm-s-6, 24px) 0 0; }
.gsm-catalog .num_pages > p { order: 2; margin: 0; color: var(--gsm-ink-3, #949ba5); font-size: var(--gsm-fs-xs, 12px); }
.gsm-catalog .num_pages .flex-page-numbers { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px; width: auto; margin: 0; padding: 0; border: 0; background: none; }
.gsm-catalog .num_pages .page-number-buttons { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; min-width: 0; }
.gsm-catalog .num_pages a { display: block; margin: 0; text-decoration: none; }
.gsm-catalog .num_pages .page-number-buttons div,
.gsm-catalog .num_pages .page-buttons {
	display: grid; place-items: center; min-width: 40px; width: auto; height: 40px; margin: 0; padding: 0 10px;
	border: 1px solid var(--gsm-line, #e4e8ec); border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-card, #fff);
	color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-btn-sm, 14px); font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.gsm-catalog .num_pages .page-buttons { padding: 0; color: var(--gsm-ink-2, #6b7480); }
.gsm-catalog .num_pages .page-buttons svg { width: 18px; height: 18px; }
.gsm-catalog .num_pages a div:hover { border-color: var(--gsm-blue, #3399cc); background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-blue-dark, #2b83b0); }
.gsm-catalog .num_pages .page-number-buttons > div { border-color: var(--gsm-btn, #0f89c6); background: var(--gsm-btn, #0f89c6); color: var(--gsm-btn-text, #fff); }
.gsm-catalog .num_pages a:has(.page-buttons.is-disabled) { pointer-events: none; }
.gsm-catalog .num_pages .page-buttons.is-disabled { opacity: .4; }
@container gsm-cat (max-width: 600px) {
	.gsm-catalog .num_pages .page-number-buttons div, .gsm-catalog .num_pages .page-buttons { min-width: 36px; height: 36px; padding: 0 8px; }
	.gsm-catalog .num_pages a:has(.page-buttons[aria-label="В начало"]), .gsm-catalog .num_pages a:has(.page-buttons[aria-label="В конец"]) { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.gsm-row, .gsm-fav, .gsm-fav svg, .gsm-seg__btn, .gsm-chip, .gsm-chip svg { transition: none; }
	.gsm-fav.is-anim svg { animation: none; }
}

/* ── Фильтры ────────────────────────────────────────────────────────────── */
/* Заголовок раздела дублирует «хлебные крошки» — оставляем его только поисковикам */
.center:has(.gsm-catalog) > h1.bhead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gsm-catalog .cat-filter-toggle a b { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--gsm-btn, #0f89c6); color: var(--gsm-btn-text, #fff); font-size: 12px; line-height: 20px; text-align: center; }
.gsm-catalog .cat-filter { gap: var(--gsm-s-3, 12px); }
.gsm-filter__top { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gsm-s-2, 8px); }
.gsm-filter__top:empty { display: none; }
.gsm-filter__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.gsm-filter__chip {
	display: inline-flex; align-items: center; gap: 6px; height: 30px; margin: 0; padding: 0 8px 0 12px;
	border: 0; border-radius: 15px; background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-blue-dark, #2b83b0);
	font-family: inherit; font-size: var(--gsm-fs-sm, 13px); font-weight: 600; cursor: pointer; transition: background-color .15s ease;
}
.gsm-filter__chip:hover { background: #e2f1f9; }
.gsm-filter__chip svg { opacity: .7; }
.gsm-catalog a.gsm-filter__reset,
.gsm-catalog a.gsm-filter__reset:link,
.gsm-catalog a.gsm-filter__reset:visited { margin-left: auto; color: var(--gsm-link, #2876a5); font-size: var(--gsm-fs-sm, 13px); font-weight: 600; text-decoration: none; }
.gsm-catalog a.gsm-filter__reset:hover { text-decoration: underline; }

.gsm-filter__g { padding: var(--gsm-s-3, 12px) 0 0; border-top: 1px solid var(--gsm-line, #e4e8ec); }
.gsm-filter__g:first-of-type { padding-top: 0; border-top: 0; }
.gsm-filter__h { display: flex; flex-wrap: wrap; align-items: center; gap: var(--gsm-s-3, 12px); margin: 0 0 var(--gsm-s-2, 8px); }
.gsm-filter__h > span { color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-base, 14px); font-weight: 700; }
.gsm-catalog input.gsm-filter__search {
	width: 200px; height: 32px; margin: 0; padding: 0 10px 0 30px; box-sizing: border-box;
	border: 1px solid var(--gsm-line-strong, #ccd3da); border-radius: var(--gsm-r-sm, 8px);
	background: var(--gsm-card, #fff) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23949ba5' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") no-repeat left 8px center / 15px;
	color: var(--gsm-ink, #23282d); font-family: inherit; font-size: var(--gsm-fs-sm, 13px);
}
.gsm-catalog input.gsm-filter__search:focus { outline: none; border-color: var(--gsm-blue, #3399cc); box-shadow: var(--gsm-focus, 0 0 0 3px rgba(51, 153, 204, .15)); }
/* Значения: сетка вместо колонок, у свёрнутой группы — первые 18 */
.gsm-catalog .gsm-filter__opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 2px var(--gsm-s-3, 12px); width: auto; margin: 0; padding: 0; border: 0; column-count: auto; }
.gsm-filter__g.is-collapsed .gsm-filter__opts nobr:nth-child(n + 19) { display: none; }
.gsm-filter__g.is-searching .gsm-filter__opts nobr { display: flex; }
.gsm-catalog .gsm-filter__opts nobr.is-hidden { display: none !important; }
.gsm-filter__empty { grid-column: 1 / -1; margin: 4px 0; color: var(--gsm-ink-3, #949ba5); font-size: var(--gsm-fs-sm, 13px); }
.gsm-filter__more {
	margin: var(--gsm-s-2, 8px) 0 0; padding: 0; border: 0; background: none;
	color: var(--gsm-link, #2876a5); font-family: inherit; font-size: var(--gsm-fs-sm, 13px); font-weight: 600; cursor: pointer;
}
.gsm-filter__more:hover { text-decoration: underline; }
/* Своя галочка: прежний спрайт рисовал вторую, «пустую» клетку */
.gsm-catalog .cat-filter input[type="checkbox"] { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.gsm-catalog .cat-filter nobr { display: flex; align-items: center; gap: 0; margin: 0; padding: 2px 0; }
.gsm-catalog .cat-filter label { margin: 0; color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-sm, 13px); line-height: 18px; cursor: pointer; }
.gsm-catalog .cat-filter input[type="checkbox"] + label.top_tab_label { flex: none; width: 18px; height: 18px; margin-right: 8px; border: 1px solid var(--gsm-line-strong, #ccd3da); border-radius: 5px; background: var(--gsm-card, #fff); transition: background-color .15s ease, border-color .15s ease; }
.gsm-catalog .cat-filter input[type="checkbox"] + label.top_tab_label::after { display: none; }
.gsm-catalog .cat-filter input[type="checkbox"]:checked + label.top_tab_label {
	border-color: var(--gsm-btn, #0f89c6); background: var(--gsm-btn, #0f89c6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") no-repeat center / 13px;
}
.gsm-catalog .cat-filter nobr:hover label.top_tab_label { border-color: var(--gsm-blue, #3399cc); }
.gsm-catalog .cat-filter input[type="checkbox"]:focus-visible + label.top_tab_label { outline: 2px solid var(--gsm-blue, #3399cc); outline-offset: 2px; }
@container gsm-cat (max-width: 600px) {
	.gsm-catalog .gsm-filter__opts { grid-template-columns: 1fr; }
	.gsm-catalog input.gsm-filter__search { width: 100%; }
}

/* ── Чипы брендов раздела (16.09.2026) ──────────────────────────────────── */
.gsm-brands { clear: both; display: flex; flex-wrap: wrap; align-items: center; gap: var(--gsm-s-2, 8px); margin: 0 0 var(--gsm-s-5, 20px); }
.gsm-brands a.gsm-brand,
.gsm-brands a.gsm-brand:link,
.gsm-brands a.gsm-brand:visited,
.gsm-brands .gsm-brand--static {
	display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 6px;
	border: 1px solid var(--gsm-line-strong, #ccd3da); border-radius: var(--gsm-r-btn, 10px); background: var(--gsm-card, #fff);
	color: var(--gsm-ink, #23282d); font-size: var(--gsm-fs-sm, 13px); font-weight: 600; text-decoration: none; white-space: nowrap;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.gsm-brands a.gsm-brand:hover { border-color: var(--gsm-blue, #3399cc); background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-ink, #23282d); text-decoration: none; }
.gsm-brands a.gsm-brand.is-on { border-color: var(--gsm-btn, #0f89c6); background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-blue-dark, #2b83b0); box-shadow: inset 0 0 0 1px var(--gsm-btn, #0f89c6); }
.gsm-brands a.gsm-brand--all { padding: 0 14px; }
/* Скрытые бренды открывает кнопка «Ещё N».
   display с !important: в старом styles.css есть правило внутри медиазапроса, которое иначе перебивает скрытие. */
.gsm-brands a.gsm-brand--extra { display: none !important; }
.gsm-brands.is-open a.gsm-brand--extra { display: inline-flex !important; }
.gsm-brands.is-open .gsm-brands__more { display: none !important; }
.gsm-brands__more {
	height: 40px; margin: 0; padding: 0 14px; border: 1px dashed var(--gsm-line-strong, #ccd3da); border-radius: var(--gsm-r-btn, 10px);
	background: transparent; color: var(--gsm-link, #2876a5); font-family: inherit; font-size: var(--gsm-fs-sm, 13px); font-weight: 600; cursor: pointer;
}
.gsm-brands__more:hover { border-color: var(--gsm-blue, #3399cc); background: var(--gsm-blue-soft, #f0f8fc); }
.gsm-brand img { width: 28px; height: 28px; border-radius: 8px; object-fit: contain; background: #fff; }
.gsm-brand__ltr { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 8px; font-size: 14px; font-weight: 700; }
@container gsm-cat (max-width: 600px) {
	.gsm-brands { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(var(--gsm-s-3, 12px) * -1); padding-inline: var(--gsm-s-3, 12px); scrollbar-width: none; }
	.gsm-brands::-webkit-scrollbar { display: none; }
	.gsm-brands a.gsm-brand { height: 36px; }
	.gsm-brand img, .gsm-brand__ltr { width: 24px; height: 24px; }
}
@media (prefers-reduced-motion: reduce) { .gsm-brands a.gsm-brand { transition: none; } }

/* ── Крошки (16.09.2026): остаются в центральной колонке, над карточкой и каталогом ── */
.center .gsm-crumbs,
.center p.gsm-crumbs { margin: 13px 0 var(--gsm-s-3, 12px) !important; padding: 0 !important; border: 0 !important; color: var(--gsm-ink-2, #6b7480) !important; font-size: var(--gsm-fs-base, 14px) !important; line-height: 20px; }
.center .gsm-crumbs p.bhead_p { margin: 0 !important; padding: 0 !important; border: 0 !important; color: var(--gsm-ink-2, #6b7480) !important; font-size: var(--gsm-fs-base, 14px) !important; line-height: 20px; }
.center .gsm-crumbs a, .center .gsm-crumbs a:link, .center .gsm-crumbs a:visited { color: var(--gsm-ink-2, #6b7480); font-size: var(--gsm-fs-base, 14px); text-decoration: none; }
.center .gsm-crumbs a:hover { color: var(--gsm-link, #2876a5); }
.center .gsm-crumbs a span, .center .gsm-crumbs .color-blue { color: inherit !important; font-size: var(--gsm-fs-base, 14px) !important; }
.center .gsm-crumbs a:last-of-type span { color: var(--gsm-ink, #23282d) !important; }
/* Разделитель — точка */
.center .gsm-crumbs .razd { margin: 0 8px; color: var(--gsm-ink-3, #949ba5) !important; font-size: 0 !important; }
.center .gsm-crumbs .razd::before { content: "\2022 "; font-size: var(--gsm-fs-base, 14px); }

/* ── Чипы брендов без рамок (16.09.2026): лёгкий фон вместо контура ─────── */
.gsm-brands a.gsm-brand,
.gsm-brands a.gsm-brand:link,
.gsm-brands a.gsm-brand:visited,
.gsm-brands .gsm-brand--static { border-color: transparent; background: var(--gsm-bg, #f6f7f9); }
.gsm-brands a.gsm-brand:hover { border-color: transparent; background: var(--gsm-blue-soft, #f0f8fc); }
.gsm-brands a.gsm-brand.is-on { border-color: transparent; background: var(--gsm-blue-soft, #f0f8fc); color: var(--gsm-blue-dark, #2b83b0); box-shadow: inset 0 2px 5px rgba(20, 28, 38, .16), inset 0 1px 1px rgba(20, 28, 38, .1); }
.gsm-brands__more { border-style: solid; border-color: transparent; background: var(--gsm-bg, #f6f7f9); }
.gsm-brands__more:hover { border-color: transparent; background: var(--gsm-blue-soft, #f0f8fc); }

/* 16.09.2026: чипы просторнее — текст не прижат к краям */
.gsm-brands a.gsm-brand, .gsm-brands a.gsm-brand:link, .gsm-brands a.gsm-brand:visited { height: 42px; padding: 0 18px 0 7px; gap: 10px; line-height: 1; }
.gsm-brands a.gsm-brand--all, .gsm-brands__more { height: 42px; padding: 0 20px; line-height: 1; }

/* ── Компактный чип (23.09.2026) ────────────────────────────────────────
   Идёт последним: выше по файлу чип дважды переопределяют (16.09.2026,
   «чипы просторнее»), и при равной точности побеждает последнее правило.
   Применяется в строке заголовка поступления и внутри самой партии. */
.gsm-brands .gsm-brand--sm,
.gsm-brands a.gsm-brand--sm,
.gsm-brands a.gsm-brand--sm:link,
.gsm-brands a.gsm-brand--sm:visited { height: 24px; gap: 5px; padding: 0 8px 0 3px; font-size: var(--gsm-fs-xs, 12px); }
.gsm-brands .gsm-brand--sm.gsm-brand--all,
.gsm-brands a.gsm-brand--sm.gsm-brand--all,
.gsm-brands a.gsm-brand--sm.gsm-brand--all:link,
.gsm-brands a.gsm-brand--sm.gsm-brand--all:visited { padding: 0 10px; }

/* «Все бренды» и «Ещё N»: надпись по центру — отступы одинаковые с двух сторон.
   :link и :visited обязательны: правило для обычного чипа написано с ними и иначе
   перебивает это по точности, из-за чего слева оставался отступ под значок (7 px). */
.gsm-brands .gsm-brand--all,
.gsm-brands a.gsm-brand--all,
.gsm-brands a.gsm-brand--all:link,
.gsm-brands a.gsm-brand--all:visited { padding: 0 20px; justify-content: center; }
.gsm-brands .gsm-brand--sm.gsm-brand--all { justify-content: center; }
.gsm-brands__more--sm, .gsm-brands .gsm-brands__more--sm { height: 24px; padding: 0 10px; font-size: var(--gsm-fs-xs, 12px); }
.gsm-brands .gsm-brand--sm img,
.gsm-brands .gsm-brand--sm .gsm-brand__ltr { width: 18px; height: 18px; border-radius: 5px; font-size: 10px; }
