

/* Start:/local/templates/eshop_bootstrap_v4/css/header-custom.css?178389406499127*/
/*
 * Academy — для модалки и пр. везде, где не подключён lf-catalog-pages.css
 * (те же файлы, что в lf-catalog-pages.css / fonts/README.txt).
 */
@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Bold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Black.ttf") format("truetype");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Header — во всю ширину экрана (как у Маркета): полоса edge-to-edge, поля по краям */
/* Выше ожидания Bitrix (BX.ZIndexManager на body, базово от ~1000) — иначе подменю «Ещё» под вуалью каталога */
.lf-header {
	position: sticky;
	top: 0;
	z-index: 12000;
}

/* Когда открыта админ-панель Bitrix (#panel не пуст), опускаем шапку ниже неё:
 * админ-панель ≈ z-index 10000, шапка при 999 не перекроет тулбар на скролле. */
#panel:not(:empty) ~ #bx_eshop_wrap .lf-header {
	z-index: 999;
}

.lf-header {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	text-align: left;
	--lf-text: #2d2d2d;
	--lf-muted: #5c5c5c;
	--lf-border: #000;
	/* Соцкнопки в шапке — как в Figma (#1256EB, квадрат 48×48, r=8) */
	--lf-vk: #1256eb;
	--lf-tg: #1256eb;
	--lf-chevron-right-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none'%3E%3Cpath d='M9%206l6%206-6%206' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--lf-font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	/* Между тел./почтой в ряд; между contacts | soc+звонок | поиск — как от почты до VK */
	--lf-header-block-gap: 28px;
	/* Кнопка .lf-header__tool 48×48, иконка лупы 24×24 по центру — смещение для оптики зазора к почте→VK */
	--lf-header-tool-cell: 48px;
	--lf-header-tool-icon: 24px;
	/* Логотип ↔ кнопка «⋯» (меню разделов) */
	--lf-header-logo-to-more-gap: 0px;
	background: #F9FAFB !important;
	font-family: var(--lf-font-family);
	font-size: 16px;
	color: var(--lf-text);
}

/* Кнопки и поля не наследуют шрифт от предка так же надёжно, как текст — явно Rubik */
.lf-header button,
.lf-header input,
.lf-header select,
.lf-header textarea {
	font-family: var(--lf-font-family);
}

.lf-header__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	/* Горизонтальные поля = --lf-chrome-pad-x на #bx_eshop_wrap (тот же контур, что у подвала). Вертикаль 12px — макет Figma */
	padding: 12px var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	min-height: 95px;
	height: 95px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 28px;
	flex-wrap: wrap;
}

/* Телефон, почта | соцсети+звонок | иконки: один шаг --lf-header-block-gap (как почта → VK) */
.lf-header__right {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--lf-header-block-gap, 28px);
	margin-left: auto;
	flex-shrink: 0;
	min-width: 0;
}

.lf-header__brand-with-menu {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--lf-header-logo-to-more-gap, 8px);
	flex-shrink: 0;
	min-width: 0;
	/* Одна высота с полем поиска (48px), чтобы блок не «провисал» в строке */
	min-height: 48px;
}

/* Справа от логотипа: блок «тел/почта в шапке (≥1024)» + выпадающая панель */
.lf-header__trail {
	flex: 0 1 auto;
	min-width: 0;
	margin-left: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: var(--lf-header-block-gap, 28px);
}

.lf-header__contacts--ribbon {
	display: none;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--lf-header-block-gap, 28px);
	flex-shrink: 1;
	min-width: 0;
}

.lf-header__contacts--ribbon .lf-header__contact {
	min-width: 0;
}

.lf-header__contacts--ribbon .lf-header__contact:last-child {
	max-width: min(260px, 36vw);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (min-width: 1024px) {
	.lf-header__contacts--ribbon {
		display: flex;
	}

	/* Телефон/почта в шапке — дубль внутри drawer не показываем */
	.lf-header__contacts--drawer {
		display: none !important;
	}
}

@media (max-width: 1023px) {
	.lf-header__contacts--ribbon {
		display: none !important;
	}
}

.lf-header__brand {
	display: flex;
	align-items: center;
	gap: 14px;
	text-decoration: none;
	color: inherit;
	flex-shrink: 0;
	min-width: 0;
}

/* Только шапка: в подвале та же разметка .lf-header__brand — без line-height:0 */
.lf-header .lf-header__brand:has(> .lf-header__logo-img) {
	line-height: 0;
	overflow: visible;
}

.lf-header__desktop-menu {
	display: none;
	position: relative;
	flex-shrink: 0;
	flex-direction: column;
	align-items: stretch;
	min-height: 0;
}

.lf-header__more {
	flex: 1 1 auto;
	min-width: 28px;
	min-height: 44px;
	height: auto;
	box-sizing: border-box;
	border: none;
	border-radius: 8px;
	background: transparent;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 2px;
	color: var(--lf-text);
	box-shadow: none;
	transition: color 0.15s ease, opacity 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.lf-header__more:hover {
	border: none;
	box-shadow: none;
	background: transparent;
	color: #000;
	opacity: 1;
}

.lf-header__desktop-menu.is-open .lf-header__more {
	border: none;
	background: transparent;
	box-shadow: none;
	color: var(--lf-text);
}

.lf-header__more:focus {
	outline: none;
}

.lf-header__more:focus-visible {
	outline: 2px solid var(--lf-text);
	outline-offset: 2px;
}

.lf-header__more:active {
	outline: none;
}

.lf-header__more-icon {
	display: block;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
	opacity: 0.92;
}

/* SVG «бургера» у кнопки «⋯» — показ только на 1024–1439px */
.lf-header__more-burger-svg {
	display: none;
	flex-shrink: 0;
	max-width: none;
	width: 24px;
	height: 24px;
	min-width: 24px;
}

/* На 770–1439px кнопка меню «...» — фиксированная плитка 48×48 (как раньше при 1024–1439).
   Иконка «...» (.lf-header__more-icon) показывается во всём диапазоне ≥770px без свапа на бургер-SVG. */
@media (min-width: 1024px) and (max-width: 1439px) {
	.lf-header__more {
		flex: 0 0 auto;
		width: 28px;
		height: 48px;
		min-width: 28px;
		min-height: 48px;
		padding: 0;
		border: none;
		border-radius: 8px;
		background: transparent;
		color: #404042;
		box-shadow: none;
	}

	.lf-header__more:hover {
		border: none;
		background: transparent;
		color: #404042;
		opacity: 1;
	}

	.lf-header__desktop-menu.is-open .lf-header__more {
		border: none;
		background: transparent;
		color: #404042;
	}
}

.lf-header__more-panel {
	position: absolute;
	left: 0;
	top: calc(100% + 8px);
	min-width: 300px;
	max-width: min(360px, calc(100vw - 32px));
	max-height: min(78vh, 520px);
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 12px;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.04);
	padding: 0;
	z-index: 700;
}

.lf-header__more-panel[hidden] {
	display: none !important;
}

.lf-header__overflow-actions {
	display: none !important;
}

/* Мессенджеры в попапе «⋯»: слой по умолчанию скрыт; 1024–1439px — только там, не в полосе шапки */
.lf-header__more-messengers {
	display: none;
}

@media (min-width: 1024px) and (max-width: 1439px) {
	.lf-header__soc--bar {
		display: none !important;
	}

	.lf-header__more-messengers {
		display: block;
		margin-top: 0;
		padding: 16px 12px 14px;
		border-top: none;
		box-sizing: border-box;
	}
}

/* Выпадающий поиск: карточка как в макете (padding 32, r=16, тень). По бокам — 190px. Чуть заезжает на хедер — как в Figma.
 * pointer-events:none на внешнем враппере — чтобы клики мимо самой карточки (в padding-зоны слева/справа/сверху/снизу)
 * пролетали к нижележащим элементам и срабатывал outside-click-обработчик закрытия дропдауна. */
.lf-header__search-dropdown {
	--lf-search-overlap: 16px;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% - var(--lf-search-overlap));
	z-index: 800;
	box-sizing: border-box;
	padding: 8px 190px 24px;
	background: transparent;
	border-bottom: none;
	box-shadow: none;
	pointer-events: none;
}

@media (max-width: 1023px) {
	.lf-header__search-dropdown {
		padding-left: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
		padding-right: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	}
}

.lf-header__search-dropdown[hidden] {
	display: none !important;
}

.lf-header__search-dropdown__inner {
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
	height: 208px;
	min-height: 208px;
	max-height: 208px;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border-radius: 16px;
	padding: 32px clamp(20px, 3vw, 32px) 32px;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
	/* Возвращаем интерактивность внутри карточки (внешний враппер pointer-events:none). */
	pointer-events: auto;
}

.lf-header__search-panel {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	width: 100%;
	flex: 1 1 auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.lf-header__search-panel-title {
	margin: 0 0 4px;
	padding: 0;
	border: none;
	flex-shrink: 0;
	font-family: var(--lf-font-family);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.375;
	letter-spacing: 0;
	color: #000000;
}

.lf-header__search-panel-field {
	position: relative;
	width: 100%;
	flex-shrink: 0;
	box-sizing: border-box;
}

/* Инпут как в Figma: 48px, r=8, border Gunmetal 30%, padding 12/16, иконка справа */
.lf-header__search-panel-input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	height: 48px;
	min-height: 48px;
	padding: 12px 48px 12px 16px;
	border: 1px solid rgba(64, 64, 66, 0.3);
	border-radius: 8px;
	font-family: var(--lf-font-family);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.375;
	letter-spacing: 0;
	color: var(--lf-text);
	background: #ffffff;
	outline: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.lf-header__search-panel-input::placeholder {
	color: #9e9e9e;
	opacity: 1;
}

.lf-header__search-panel-field-icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	pointer-events: none;
}

.lf-header__search-panel-field-icon svg {
	display: block;
	flex-shrink: 0;
}

@media (max-width: 340px) {
	.lf-header__search-dropdown {
		padding-left: 12px;
		padding-right: 12px;
	}

	.lf-header__search-dropdown__inner {
		padding-left: 16px;
		padding-right: 16px;
	}

	.lf-header__search-panel-input {
		padding-left: 12px;
		padding-right: 38px;
		font-size: 14px;
	}

	.lf-header__search-panel-input::placeholder {
		font-size: 14px;
	}

	.lf-header__search-panel-field-icon {
		right: 10px;
		width: 22px;
		height: 22px;
	}

	.lf-header__search-panel-field-icon svg {
		width: 22px;
		height: 22px;
	}
}

.lf-header__search-panel-actions {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
	flex-shrink: 0;
}

.lf-header__search-panel-btn {
	margin: 0;
	padding: 10px 22px;
	border-radius: 6px;
	font-family: var(--lf-font-family);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.375;
	letter-spacing: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	outline: none;
	box-shadow: none;
}

.lf-header__search-panel-btn:focus,
.lf-header__search-panel-btn:focus-visible,
.lf-header__search-panel-btn:active {
	outline: none;
	box-shadow: none;
}

/* «Очистить» — h 48, r 8; обводка как в дизайн-токенах */
.lf-header__search-panel-btn--ghost {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 101px;
	min-width: 101px;
	max-width: 101px;
	height: 48px;
	min-height: 48px;
	padding: 0 14px 0 12px;
	border: 1px solid var(--Black_Base, #000000);
	border-radius: 8px;
	background: #ffffff;
	color: #000000;
	font-weight: 500;
	font-size: 1rem;
	line-height: 22px;
	letter-spacing: 0;
}

.lf-header__search-panel-btn--ghost:hover {
	background: #f7f7f7;
}

/* «Искать» — копия кнопки из /search/ (.lf-search-form__submit): Gunmetal #404042, hover через opacity. */
.lf-header__search-panel-btn--primary {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	min-height: 48px;
	padding: 0 14px 0 12px;
	border: 1px solid #404042;
	border-radius: 8px;
	background: #404042;
	color: #ffffff;
	font-weight: 400;
	font-size: 1rem;
	line-height: 22px;
	letter-spacing: 0;
	transition: opacity 0.2s ease;
}

.lf-header__search-panel-btn--primary:hover {
	background: #404042;
	border-color: #404042;
	color: #ffffff;
	opacity: 0.88;
}

.lf-header__search-panel-btn--primary:focus-visible {
	outline: 2px solid #404042;
	outline-offset: 2px;
}

.lf-header__search {
	flex: 1 1 0;
	min-width: 0;
	max-width: none;
}

.lf-header__search--drawer {
	display: none;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	flex: none;
	margin: 0 0 4px;
}

.lf-header__search-form {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	min-height: 48px;
	height: 48px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	border: 1px solid #e3e3e3;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
	cursor: text;
}

.lf-header__search-input {
	flex: 1 1 auto;
	align-self: stretch;
	min-width: 0;
	width: auto;
	min-height: 100%;
	height: 48px;
	box-sizing: border-box;
	border: none;
	padding: 0 8px 0 14px;
	font-family: var(--lf-font-family);
	font-size: 15px;
	line-height: 1.25;
	color: var(--lf-text);
	background: transparent;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

.lf-header__search-input::-webkit-search-decoration,
.lf-header__search-input::-webkit-search-cancel-button,
.lf-header__search-input::-webkit-search-results-button,
.lf-header__search-input::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.lf-header__search-input::placeholder {
	color: var(--lf-muted);
	opacity: 0.85;
}

.lf-header__search-clear {
	flex: 0 0 0;
	width: 0;
	min-width: 0;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: var(--lf-text);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.lf-header__search-input:not(:placeholder-shown) ~ .lf-header__search-clear {
	flex: 0 0 48px;
	width: 48px;
	min-width: 48px;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

.lf-header__search-clear:hover {
	color: #000;
	background: #f3f3f3;
}

.lf-header__search-clear:focus {
	outline: none;
}

.lf-header__search-clear:focus-visible {
	outline: 2px solid var(--lf-text);
	outline-offset: -2px;
}

.lf-header__search-clear .lf-header__icon--clear {
	width: 26px;
	height: 26px;
	stroke: currentColor;
	stroke-width: 2;
}

.lf-header__search-submit {
	width: 48px;
	min-width: 48px;
	flex-shrink: 0;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 0;
	background: transparent;
	color: var(--lf-text);
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.lf-header__search-submit:hover {
	color: #000;
	background: #f3f3f3;
}

.lf-header__search-submit:focus {
	outline: none;
}

.lf-header__search-submit:focus-visible {
	outline: 2px solid var(--lf-text);
	outline-offset: 2px;
}

.lf-header__search-submit .lf-header__icon--search {
	width: 26px;
	height: 26px;
	stroke: currentColor;
	stroke-width: 2;
}

/* Высота как у строки поиска (48px). SVG имеет «f»-декор сверху (viewBox 0..28.347, LERO в 10.3..27.7),
   из-за чего геометрический центр SVG лежит выше центра основных букв на ~8px при height=48px.
   Сдвигаем вверх, чтобы оптически (по LERO) совпасть с центром остальных элементов шапки. */
.lf-header .lf-header__brand .lf-header__logo-img {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: 48px;
	max-height: 48px;
	max-width: min(560px, 92vw) !important;
	object-fit: contain;
	object-position: left center;
	transform: translateY(-8px);
}

.lf-header__logo-mark {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #000;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: -0.02em;
	flex-shrink: 0;
}

.lf-header__brand-text {
	font-weight: 700;
	font-size: 24px;
	letter-spacing: -0.02em;
	line-height: 1;
	white-space: nowrap;
}

.lf-header__nav {
	display: flex;
	align-items: center;
	gap: 28px;
	flex-wrap: wrap;
	flex-shrink: 0;
}

.lf-header__nav-item {
	position: relative;
	flex-shrink: 0;
}

.lf-header__nav-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--lf-muted);
	text-decoration: none;
	font-weight: 500;
	font-size: 16px;
	line-height: 1;
	border: none;
	background: none;
	padding: 0;
	cursor: pointer;
	white-space: nowrap;
}

.lf-header__nav-link:hover {
	color: #000;
}

.lf-header__chev {
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-top: -1px;
	opacity: 0.75;
	border: none;
	background-color: currentColor;
	-webkit-mask-image: var(--lf-chevron-right-mask);
	mask-image: var(--lf-chevron-right-mask);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 18px 18px;
	mask-size: 18px 18px;
	transform: rotate(90deg);
}

.lf-header__dropdown {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	margin-top: 10px;
	min-width: 260px;
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 12px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	padding: 10px 0;
	z-index: 200;
}

.lf-header__nav-item:hover .lf-header__dropdown,
.lf-header__nav-item:focus-within .lf-header__dropdown {
	display: block;
}

.lf-header__dropdown a {
	display: block;
	padding: 12px 20px;
	color: var(--lf-text);
	text-decoration: none;
	font-size: 16px;
}

.lf-header__dropdown a:hover {
	background: #f5f5f5;
}

.lf-header__contacts {
	display: flex;
	align-items: center;
	gap: var(--lf-header-block-gap, 28px);
	flex-wrap: nowrap;
	flex-shrink: 0;
	min-width: 0;
}

.lf-header__contact {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--lf-text);
	text-decoration: none;
	font-size: 15px;
	line-height: 1.2;
	white-space: nowrap;
}

/* Режим правки / legacy: вложенный <a> из chrome/*.php не должен становиться синей bootstrap-ссылкой */
.lf-header__contact a {
	color: inherit;
	text-decoration: none;
}

.lf-header__contact:hover {
	color: #000;
}

.lf-header__contact:hover a {
	color: inherit;
	text-decoration: none;
}

.lf-header__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.5;
}

/* Иконки из макета: обводка 2px */
.lf-header__icon--phone,
.lf-header__icon--mail {
	stroke-width: 2;
}

.lf-header__icon--mail {
	width: 24px;
	height: 24px;
}

.lf-header__tool .lf-header__icon--search-tool {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	stroke-width: 2;
}

.lf-header__tool .lf-header__icon--cart {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	stroke-width: 2;
}

.lf-header__tool .lf-header__icon--user {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	stroke-width: 2;
}

.lf-header__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: nowrap;
	flex-shrink: 0;
}

.lf-header__mobile-controls {
	display: none;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.lf-header__soc {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.lf-header__soc .lf-messengers {
	display: contents;
}

.lf-header__soc .lf-messengers__empty {
	font-size: 12px;
	color: #666;
}

.lf-header__soc .lf-messengers__placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-weight: 600;
	color: #1256eb;
	background: #eef3ff;
	border-radius: 12px;
}

.lf-header__soc a {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	flex-shrink: 0;
	overflow: visible;
	box-sizing: border-box;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	transition: transform 0.2s ease;
}

.lf-header__soc-vk {
	background: var(--lf-vk);
}

.lf-header__soc-tg {
	background: var(--lf-tg);
}

.lf-header__soc-custom {
	background: var(--lf-vk);
}

/* Иконки из инфоблока: клетка на сайте 48×48. Заказчику — грузить файл, у которого сама кнопка уже 48×48 (без большого холста Figma); object-fit: contain вписывает файл целиком без обрезки. */
.lf-header__soc a.lf-header__soc--iblock,
.lf-header__soc span.lf-header__soc--iblock {
	display: inline-block;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 12px;
	box-sizing: border-box;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	background: transparent;
	overflow: visible;
	line-height: 0;
	flex-shrink: 0;
	text-decoration: none;
	vertical-align: middle;
	position: relative;
}

.lf-header__soc a.lf-header__soc--iblock .lf-header__soc-iblock-img,
.lf-header .lf-header__soc a.lf-header__soc--iblock .lf-header__soc-iblock-img,
.lf-header__soc span.lf-header__soc--iblock .lf-header__soc-iblock-img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain;
	object-position: center;
	border: 0;
	border-radius: 12px;
	box-shadow: none;
	vertical-align: top;
}

.lf-header__soc-custom .lf-chrome-messenger-fallback {
	font-size: 24px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}

.lf-header__soc a svg {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	fill: #fff;
}

.lf-header__callback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--lf-header-tool-cell, 48px);
	height: var(--lf-header-tool-cell, 48px);
	padding: 0 22px;
	border-radius: 8px;
	background: #404042;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	color: #fff !important;
	/* Figma Text-l/400, 16_22: Rubik Regular, 16px, line-height 22px, letter-spacing 0, center */
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1rem;
	line-height: 1.375;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	margin: 0;
	border: 0 !important;
	border-style: none !important;
	border-width: 0 !important;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
	transition: opacity 0.2s ease;
}

/* Firefox: убирает «внутреннюю» пунктирную/тёмную обводку у <button> */
.lf-header__callback::-moz-focus-inner {
	border: 0;
	padding: 0;
}

.lf-header__callback:hover {
	opacity: 0.88;
	color: #fff !important;
	border: 0 !important;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
}

.lf-header__callback:active {
	border: 0 !important;
	outline: none;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
}

.lf-header__callback:focus {
	outline: none;
}

.lf-header__callback:focus:not(:focus-visible) {
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
}

.lf-header__callback:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
}

.lf-header__tools {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.lf-header__tool {
	position: relative;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--lf-text);
	text-decoration: none;
	border-radius: 10px;
	flex-shrink: 0;
}

button.lf-header__tool {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	/* Браузерный outline у кнопок не повторяет border-radius и даёт «лесенку» на экране */
	outline: none;
	box-shadow: none;
}

button.lf-header__tool:focus,
button.lf-header__tool:focus-visible,
button.lf-header__tool:active {
	outline: none;
	box-shadow: none;
}

.lf-header__tool:hover {
	background: #f3f3f3;
	color: #000;
}

.lf-header__tool--cart {
	color: #404042;
}

.lf-header__tool--cart:hover {
	background: transparent;
	color: #404042;
}

.lf-header__tool--user {
	color: #404042;
}

.lf-header__tool--user:hover {
	background: transparent;
	color: #404042;
}

.lf-header__tool--search {
	color: #404042;
}

.lf-header__tool--search:hover {
	background: transparent;
	color: #404042;
}

.lf-header__tool .lf-header__icon {
	width: 28px;
	height: 28px;
}

.lf-header__badge,
.lf-header__cart-badge {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 20px;
	height: 20px;
	padding: 0;
	border-radius: 50%;
	background: #ff1f2d;
	color: #fff;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
	line-height: 20px;
	text-align: center;
	pointer-events: none;
	z-index: 2;
}

.lf-header__cart-badge {
	top: -4px;
	right: -4px;
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.lf-header__badge[hidden],
.lf-header__cart-badge[hidden] {
	display: none !important;
}

.lf-header__cart-badge--wide {
	font-size: 9px;
}

.lf-header__burger {
	display: none;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: #404042;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
	-webkit-tap-highlight-color: transparent;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
}

.lf-header__burger:focus {
	outline: none;
}

.lf-header__burger:focus-visible {
	outline: 2px solid var(--lf-text);
	outline-offset: 2px;
}

.lf-header__burger:active {
	outline: none;
	box-shadow: none;
}

.lf-header__burger::-moz-focus-inner {
	border: 0;
}

/* Иконка бургера — две отдельные SVG (три полоски и крестик), наложенные друг на друга. Плавный кроссфейд с поворотом при .is-open */
.lf-header__burger-iconwrap {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.lf-header__burger-svg {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	transition:
		opacity 0.2s ease,
		transform 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}

.lf-header__burger-svg--lines {
	opacity: 1;
	transform: rotate(0deg);
}

.lf-header__burger-svg--close {
	opacity: 0;
	transform: rotate(-90deg);
}

.lf-header__burger.is-open .lf-header__burger-svg--lines {
	opacity: 0;
	transform: rotate(90deg);
}

.lf-header__burger.is-open .lf-header__burger-svg--close {
	opacity: 1;
	transform: rotate(0deg);
}

/* Desktop (от 1024px — как на широких экранах): одна строка, полоса между боковыми полями */
@media (min-width: 1024px) {
	.lf-header__inner {
		flex-wrap: nowrap;
		padding-top: 12px;
		padding-bottom: 12px;
		gap: 16px;
	}

	.lf-header__desktop-menu {
		display: flex;
	}

	/* Попап: правая колонка прижата вправо; логотип+меню — слева за счёт margin-left: auto у .lf-header__trail */
	.lf-header__trail {
		flex: 0 1 auto;
		min-width: 0;
		margin-left: auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: var(--lf-header-block-gap, 28px);
	}

	.lf-header__panel {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex: 0 1 auto;
		min-width: 0;
	}

	.lf-header__nav--drawer {
		display: none !important;
	}

	.lf-header__contacts {
		flex-wrap: nowrap;
		gap: var(--lf-header-block-gap, 28px);
	}

	.lf-header__actions {
		flex-wrap: nowrap;
		gap: 8px;
	}

	/*
	 * Почта → VK: 28px до левого края плитки 48×48.
	 * Звонок → поиск: flex gap тоже 28px, но до штриха лупы добавляется половина (48−24) внутри клетки.
	 * Сдвигаем блок инструментов влево на эту величину — визуально как у почты→VK.
	 */
	.lf-header__tools {
		margin-inline-start: calc((var(--lf-header-tool-cell, 48px) - var(--lf-header-tool-icon, 24px)) / -2);
	}

	.lf-header__search--drawer {
		display: none !important;
	}

	.lf-header__mobile-controls {
		display: none !important;
	}
}

@media (max-width: 1023px) {
	.lf-header__right {
		margin-left: 0;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: var(--lf-header-block-gap, 28px);
		flex-wrap: wrap;
	}

	.lf-header__inner {
		flex-wrap: nowrap;
		container-type: inline-size;
		container-name: lf-header;
		justify-content: flex-start !important;
		align-items: center;
		width: 100%;
	}

	/*
	 * Иначе было: .lf-header__brand-with-menu { order: 1 } при order:0 у trail —
	 * слева шла «правая колонка», логотип+бургер оказывались по центру экрана.
	 * Порядок как в разметке: сначала блок с лого, потом trail (корзина/панель).
	 */
	.lf-header__brand-with-menu {
		order: 0;
		flex: 0 1 auto;
		min-width: 0;
		max-width: 100%;
		justify-content: flex-start;
		align-items: center;
		margin-left: 0;
		margin-right: 0;
	}

	.lf-header__trail {
		order: 1;
		flex: 0 0 auto;
		margin-left: auto;
		margin-right: 0;
		min-width: 0;
		justify-content: flex-end;
		align-items: center;
	}

	/* Широкий логотип не выталкивает бургер к центру экрана (перебиваем общий max-width !important) */
	.lf-header .lf-header__brand .lf-header__logo-img {
		max-width: min(240px, calc(100vw - 120px)) !important;
		object-position: left center;
	}

	/* Только строка шапки: не трогаем .lf-header__search в панели — иначе поиск уезжает под меню */
	.lf-header__inner > .lf-header__search--bar {
		order: 2;
	}

	@media (max-width: 700px) {
		.lf-header__search--bar {
			display: none !important;
		}

		.lf-header__search--drawer {
			display: block !important;
		}
	}

	.lf-header__burger {
		display: flex;
		flex-shrink: 0;
	}

	.lf-header__panel {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: #fff;
		border-bottom: 1px solid #e5e5e5;
		box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
		padding: 20px 24px 24px;
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
		z-index: 150;
	}

	.lf-header__panel.is-open {
		display: flex;
	}

	.lf-header__contacts {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--lf-header-block-gap, 28px);
		flex-wrap: wrap;
	}

	.lf-header__actions {
		flex-direction: row;
		align-items: center;
		flex-wrap: wrap;
		gap: 8px;
	}

	.lf-header__tools {
		justify-content: flex-start;
		padding-top: 0;
		border-top: 1px solid #eee;
		width: 100%;
	}
}

@media (min-width: 430px) and (max-width: 770px) {
	.lf-header__inner {
		height: auto;
		min-height: 95px;
		flex-wrap: wrap;
		gap: 10px 16px;
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.lf-header__brand-with-menu {
		flex: 1 1 auto;
	}

	.lf-header__trail {
		flex: 1 1 auto;
		width: auto;
		gap: 0;
	}

	.lf-header__mobile-controls {
		display: flex;
		margin-left: auto;
	}

	.lf-header__callback--mobile {
		min-width: 0;
		padding-inline: 16px;
		box-shadow: none;
	}

	.lf-header__tools--mobile {
		width: auto;
		border-top: 0;
		gap: 0;
	}
}

@media (min-width: 430px) and (max-width: 560px) {
	.lf-header__inner {
		align-items: flex-start;
	}

	.lf-header__brand-with-menu {
		width: 100%;
	}

	.lf-header__trail {
		width: 100%;
		justify-content: flex-start;
		margin-left: 0;
	}

	.lf-header__mobile-controls {
		width: 100%;
		justify-content: space-between;
		margin-left: 0;
		gap: 6px;
	}

	.lf-header__callback--mobile {
		height: 44px;
		min-height: 44px;
		padding-inline: 12px;
		font-size: 0.875rem;
		line-height: 1.2;
	}

	.lf-header__tools--mobile .lf-header__tool {
		width: 42px;
		height: 44px;
	}
}

@container lf-header (max-width: 720px) {
	.lf-header__search--bar {
		display: none !important;
	}

	.lf-header__search--drawer {
		display: block !important;
	}
}

/* «...» меню разделов: с 770px показываем десктопную кнопку (.lf-header__desktop-menu)
   вместо мобильного бургера. Ниже 770px — оставляем мобильный бургер как был. */
@media (min-width: 770px) {
	.lf-header__desktop-menu {
		display: flex;
	}

	.lf-header__burger {
		display: none !important;
	}
}

/* Высота страницы: футер у нижнего края окна, без белой полосы под ним */
html {
	height: 100%;
}

html {
	background-color: #F9FAFB !important;
}

body {
	min-height: 100vh;
	margin: 0;
	display: flex;
	flex-direction: column;
	background-color: #F9FAFB !important;
}

#bx_eshop_wrap {
	background-color: #F9FAFB !important;
}

.bx-content-section,
.bx-header-section {
	background-color: transparent !important;
}

#panel {
	flex-shrink: 0;
}

#bx_eshop_wrap.bx-wrapper {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	width: 100%;
	box-sizing: border-box;
	/* Одна «рейка» для шапки и подвала: полосы на всю ширину обёртки, одинаковые отступы слева/справа */
	--lf-chrome-pad-x: clamp(18px, 3vw, 48px);
}

#bx_eshop_wrap > .lf-header,
#bx_eshop_wrap > .bx-content-section {
	flex-shrink: 0;
}

#bx_eshop_wrap > .workarea {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding-bottom: clamp(24px, 4vw, 40px);
}

/* Компактный зазор под шапкой (вместо py-3): поиск/крошки и «воздух» до workarea */
/* Та же горизонтальная «рейка», что у .lf-header__inner (без узкой колонки Bootstrap .container) */
#bx_eshop_wrap > .container.bx-content-section.lf-after-header {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	padding-right: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	box-sizing: border-box;
	padding-top: 6px;
	/* «Воздух» между заголовком страницы и контентом workarea (карта, текст и т.д.) */
	padding-bottom: clamp(18px, 2.8vw, 32px);
}

#bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row {
	margin-left: 0;
	margin-right: 0;
}

#bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs {
	margin-bottom: 6px;
}

#bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row > [class*="col"] {
	padding-left: 0;
	padding-right: 0;
}

#bx_eshop_wrap > .container.bx-content-section.lf-after-header .lf-after-header__crumbs #navigation {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

/* Крошки и заголовок страницы: Rubik, без «синих» ссылок Bootstrap, линия ссылки только по hover */
#bx_eshop_wrap .lf-after-header .bx-breadcrumb,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb {
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	margin: 0;
	padding: 0;
	line-height: 1.25;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item {
	height: auto;
	min-height: 0;
	line-height: 1.25;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-text,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-text {
	font-family: inherit;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 400;
	color: #2d2d2d;
	transition: color 0.15s ease;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link .bx-breadcrumb-item-text,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link .bx-breadcrumb-item-text {
	transition: color 0.15s ease, border-color 0.15s ease;
	border-bottom: 1px solid transparent;
	padding-bottom: 0.06em;
	box-sizing: border-box;
}

/*
 * text-decoration на <a> с вложенным <span> + разные line-height даёт линию «над» текстом в Chrome.
 * Линия только на span через border-bottom; на ссылке подчёркивание отключаем жёстко (в т.ч. поверх стилей из ShowHead).
 */
#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link,
#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link:visited,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link:visited {
	color: #2d2d2d;
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	-webkit-text-decoration: none !important;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link:hover,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link:hover {
	color: #000;
	text-decoration: none !important;
	border-bottom: 0 !important;
	-webkit-text-decoration: none !important;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link:hover .bx-breadcrumb-item-text,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link:hover .bx-breadcrumb-item-text {
	border-bottom-color: currentColor;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link:focus,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link:focus {
	outline: none;
}

#bx_eshop_wrap .lf-after-header .bx-breadcrumb-item-link:focus-visible,
#bx_eshop_wrap .lk-cabinet__head .bx-breadcrumb-item-link:focus-visible {
	outline: 2px solid #2d2d2d;
	outline-offset: 3px;
	text-decoration: none !important;
}

#bx_eshop_wrap > .container.bx-content-section.lf-after-header #pagetitle {
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 600;
	color: #2d2d2d;
	margin-top: 0;
	margin-bottom: 0;
}

#bx_eshop_wrap > .workarea > .container.bx-content-section {
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

#bx_eshop_wrap > .workarea > .container.bx-content-section > .row {
	flex: 1 0 auto;
}

#bx_eshop_wrap > .lf-footer {
	flex-shrink: 0;
}

/*
 * Слот мини-корзины: внутри fixed-блок, в потоке не должен занимать высоту
 * (иначе под тёмным футером остаётся белая полоса от .col).
 */
.lf-mobile-basket-slot {
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	border: 0 !important;
	line-height: 0 !important;
}

.lf-mobile-basket-slot > * {
	line-height: normal;
}

/* ——— Модальное окно «Обратный звонок» ——— */
/* Выше .lf-header (z-index: 12000), иначе шапка перекрывает оверлей и крестик */
.lf-callback-modal {
	--lf-cb-text: #111827;
	--lf-cb-muted: #6b7280;
	--lf-cb-border: #e5e7eb;
	--lf-cb-font: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--lf-cb-dur: 0.28s;
	--lf-cb-ease: cubic-bezier(0.22, 1, 0.36, 1);
	position: fixed;
	inset: 0;
	z-index: 13000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
	font-family: var(--lf-cb-font);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--lf-cb-dur) var(--lf-cb-ease),
		visibility 0s linear var(--lf-cb-dur);
}

.lf-callback-modal--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition:
		opacity var(--lf-cb-dur) var(--lf-cb-ease),
		visibility 0s linear 0s;
}

.lf-callback-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(17, 24, 39, 0.45);
	cursor: pointer;
	opacity: 0;
	transition: opacity calc(var(--lf-cb-dur) * 0.85) ease-out;
}

.lf-callback-modal--open .lf-callback-modal__backdrop {
	opacity: 1;
}

.lf-callback-modal__dialog {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 440px;
	max-height: calc(100vh - 48px);
	overflow: auto;
	box-sizing: border-box;
	padding: 28px 28px 24px;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.12);
	color: var(--lf-cb-text);
	-webkit-overflow-scrolling: touch;
	opacity: 0;
	transform: translate3d(0, 14px, 0) scale(0.98);
	transform-origin: 50% 50%;
	transition:
		opacity calc(var(--lf-cb-dur) * 0.9) ease-out,
		transform var(--lf-cb-dur) var(--lf-cb-ease);
	will-change: transform, opacity;
}

.lf-callback-modal--open .lf-callback-modal__dialog {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.lf-callback-modal:not(.lf-callback-modal--open) .lf-callback-modal__dialog {
	transition:
		opacity 0.22s ease-in,
		transform 0.24s ease-in;
}

@media (prefers-reduced-motion: reduce) {
	.lf-callback-modal,
	.lf-callback-modal__backdrop,
	.lf-callback-modal__dialog {
		transition-duration: 0.01ms !important;
		transition-delay: 0s !important;
	}

	.lf-callback-modal:not(.lf-callback-modal--open) .lf-callback-modal__dialog {
		transition-duration: 0.01ms !important;
	}

	.lf-callback-modal__dialog {
		transform: none !important;
	}

	.lf-callback-modal--open .lf-callback-modal__dialog {
		transform: none !important;
	}
}

.lf-callback-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 10px;
	background: transparent;
	color: var(--lf-cb-muted);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.15s ease, background 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.lf-callback-modal__close:hover {
	color: var(--lf-cb-text);
	background: #f3f4f6;
}

.lf-callback-modal__close:focus {
	outline: none;
}

.lf-callback-modal__close:focus-visible {
	outline: 2px solid var(--lf-cb-text);
	outline-offset: 2px;
}

.lf-callback-modal__title {
	margin: 0 36px 10px 0;
	/* Figma Heading/h4: Academy 400, 32px, line-height 100%, letter-spacing 0 */
	font-family: 'Lato', sans-serif;
	font-synthesis: none;
	font-weight: 400;
	font-style: normal;
	font-size: 2rem;
	line-height: 1;
	letter-spacing: 0;
	color: var(--lf-cb-text);
}

.lf-callback-modal__lead {
	margin: 0 0 22px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--lf-cb-muted);
}

.lf-callback-modal__form {
	margin: 0;
}

.lf-callback-modal__field {
	margin-bottom: 18px;
}

.lf-callback-modal__label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 500;
	color: var(--lf-cb-text);
}

.lf-callback-modal__field-error {
	margin: 6px 0 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 400;
	color: #dc2626;
}

.lf-callback-modal__field-error[hidden] {
	display: none !important;
}

.lf-callback-modal__input.lf-callback-modal__input--invalid,
.lf-callback-modal__textarea.lf-callback-modal__input--invalid {
	border-color: #f87171;
	box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.15);
}

.lf-callback-modal__req {
	color: #dc2626;
	font-weight: 600;
}

.lf-callback-modal__input,
.lf-callback-modal__textarea {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid var(--lf-cb-border);
	border-radius: 10px;
	font-family: var(--lf-cb-font);
	font-size: 15px;
	line-height: 1.35;
	color: var(--lf-cb-text);
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lf-callback-modal__input::placeholder,
.lf-callback-modal__textarea::placeholder {
	color: #9ca3af;
}

.lf-callback-modal__input:hover,
.lf-callback-modal__textarea:hover {
	border-color: #d1d5db;
}

.lf-callback-modal__input:focus,
.lf-callback-modal__textarea:focus {
	outline: none;
	border-color: #111827;
	box-shadow: 0 0 0 3px rgba(17, 24, 39, 0.08);
}

.lf-callback-modal__textarea {
	min-height: 100px;
	resize: vertical;
}

/* «Отправить заявку» — h 48, r 8, fill #404042; Text 16/22/400, White; padding L14 R16 */
.lf-callback-modal__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	height: 48px;
	margin-top: 8px;
	padding: 0 16px 0 14px;
	border: none !important;
	border-radius: 8px;
	background: #404042;
	color: #ffffff !important;
	font-family: var(--lf-cb-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 0;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.15s ease, opacity 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.lf-callback-modal__submit:hover:not(:disabled) {
	background: #4d4d50;
	opacity: 1;
}

.lf-callback-modal__submit:active:not(:disabled) {
	background: #353538;
}

.lf-callback-modal__submit:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.lf-callback-modal__submit:focus {
	outline: none;
}

.lf-callback-modal__submit:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.lf-callback-modal__legal {
	margin: 14px 0 0;
	font-size: 12px;
	line-height: 1.45;
	text-align: center;
	color: var(--lf-cb-muted);
}

.lf-callback-modal__legal a {
	color: var(--lf-cb-muted);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.lf-callback-modal__legal a:hover {
	color: var(--lf-cb-text);
}

.lf-callback-modal__msg {
	margin: 16px 0 0;
	padding: 12px 14px;
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.45;
	text-align: center;
}

.lf-callback-modal__msg--ok {
	background: #ecfdf5;
	color: #065f46;
}

.lf-callback-modal__msg--err {
	background: #fef2f2;
	color: #991b1b;
}

body.lf-callback-modal-open {
	overflow: hidden;
}

@media (max-width: 1023px) {
	.lf-header__panel {
		border-radius: 0 0 8px 8px;
		box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
	}
}

/* ══════════════════════════════════════════════════════════════════════════════
   Меню «⋯» в шапке — современный аккордеон.
   • Любая глубина категорий: рекурсивный CSS-селектор работает на 1, 2, 3, 4… уровней.
   • По умолчанию виден только список главных пунктов.
   • Подкатегории скрыты, открываются по кнопке-стрелке (.is-open-m на пункте).
   • Вертикальная guide-линия + отступ слева для каждого уровня — визуальная иерархия.
   • Без подсветки активной страницы. Минимализм.
   • Усиленная специфичность защищает меню от Bootstrap/Bitrix и общих правил шапки.
   ══════════════════════════════════════════════════════════════════════════════ */

.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel {
	--lf-acc-col: 340px;
	width: var(--lf-acc-col) !important;
	min-width: var(--lf-acc-col) !important;
	max-width: var(--lf-acc-col) !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: min(calc(100vh - 120px), 680px) !important;
	/* padding: 0 — чтобы пункты примыкали к краям контейнера со всех сторон.
	   Скруглённые углы попапа работают благодаря overflow:hidden — фон hover на крайних пунктах
	   автоматически обрезается по border-radius контейнера. */
	padding: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	background: #ffffff !important;
	border: 1px solid rgba(17, 24, 39, 0.08) !important;
	border-radius: 16px !important;
	box-shadow:
		0 16px 40px -16px rgba(15, 23, 42, 0.18),
		0 4px 12px -6px rgba(15, 23, 42, 0.08) !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	/* scrollbar скрыт, чтобы не съедал правый край hover-фона.
	   Скроллинг работает (overflow-y: auto), просто без видимой полосы. */
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
}

/* Корневой nav */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover {
	position: static !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 1px !important;
	background: transparent !important;
	border: 0 !important;
	overflow: visible !important;
	columns: auto !important;
	column-gap: 0 !important;
}

/* Все nav-item */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item.lf-header__nav-item {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	break-inside: auto !important;
}

/* nav-parent — flex-row для ссылки и кнопки-toggle */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-parent {
	display: flex !important;
	flex-direction: row !important;
	align-items: stretch !important;
	position: static !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	gap: 0 !important;
}

/* Все ссылки на всех уровнях — единый стиль */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav--popover .lf-header__nav-link.lf-header__nav-link,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav--popover .lf-header__nav-link--parent.lf-header__nav-link--parent {
	display: flex !important;
	position: relative !important;
	align-items: center !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 44px !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: transparent !important;
	color: #1f2937 !important;
	font-family: var(--lf-font-family) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.005em !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: clip !important;
	box-shadow: none !important;
	transition: background-color 0.14s ease, color 0.14s ease !important;
}

/* Стрелка ::after на ссылке-родителе — её роль выполняет кнопка-toggle */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item[data-lf-nav-item] > .lf-header__nav-parent > .lf-header__nav-link--parent::after {
	display: none !important;
	content: none !important;
}

/* Hover-фон применяется ко ВСЕЙ строке пункта.
   Для пунктов с детьми — на nav-parent (включает ссылку + кнопку-toggle).
   Hover на ребёнке внутри dropdown'а НЕ подсвечивает родителя, потому что dropdown
   расположен в DOM РЯДОМ с nav-parent, а не внутри.
   На открытом пункте (.is-open-m) hover не применяется. */

/* Пункт с детьми — hover на всю строку через nav-parent */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item[data-lf-nav-item]:not(.is-open-m) > .lf-header__nav-parent:hover {
	background: #f4f4f5 !important;
}

/* Пункт без детей — hover на самой ссылке (она занимает всю строку) */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item:not([data-lf-nav-item]) > .lf-header__nav-link:hover {
	background: #f4f4f5 !important;
	color: #0f172a !important;
}

/* Focus-visible — точечный outline для клавиатурной навигации, без фона */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-link:focus-visible,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-link--parent:focus-visible {
	outline: 2px solid #0f172a !important;
	outline-offset: -2px !important;
	background: transparent !important;
}

/* Убираем возможные border-bottom из общих правил: разделители задаёт только border-top ниже. */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item > .lf-header__nav-link,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item > .lf-header__nav-parent,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item:not([data-lf-nav-item]):not(:last-child) > .lf-header__nav-link,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item:not([data-lf-nav-item]):last-child > .lf-header__nav-link,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item[data-lf-nav-item]:not(:last-child) .lf-header__nav-parent,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item[data-lf-nav-item]:not(:last-child) .lf-header__dropdown,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-link,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-link--parent {
	border-bottom: 0 !important;
}

/* Прямые горизонтальные разделители между соседними пунктами на любой глубине.
   Линия — единственный источник границы. Перед первым и после последнего её нет. */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item + .lf-header__nav-item {
	border-top: 1px solid rgba(17, 24, 39, 0.08) !important;
}

/* Старое правило `.lf-header__nav-item:hover .lf-header__nav-parent` использует descendant-селектор
   и подсвечивает ВСЕ nav-parent в дереве предков, через которое прошёл курсор.
   Полностью отключаем — оставим работать ТОЛЬКО мой собственный `nav-parent:hover` (direct).
   Также отключаем подсветку и на открытом пункте (.is-open-m). */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item:hover .lf-header__nav-parent,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item .lf-header__nav-parent:hover,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item.is-open-m > .lf-header__nav-parent,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item.is-open-m > .lf-header__nav-parent:hover,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item.is-open-m:hover > .lf-header__nav-parent {
	background: transparent !important;
	background-color: transparent !important;
}

/* Восстанавливаем подсветку — ТОЛЬКО когда курсор реально на nav-parent (или его прямых потомках:
   ссылке/кнопке-toggle), и пункт не раскрыт. Higher specificity, чтобы перебить общий disable выше. */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item[data-lf-nav-item]:not(.is-open-m) > .lf-header__nav-parent.lf-header__nav-parent:hover {
	background: #f4f4f5 !important;
	background-color: #f4f4f5 !important;
}

/* Когда курсор уходит вглубь dropdown'а (на дочерний пункт), родительский nav-parent
   гарантированно перестаёт подсвечиваться: dropdown — sibling nav-parent, мышь его не пересекает. */

/* Прямой hover без скругления + полная ширина строки.
   Кнопку-toggle сюда не включаем: у неё свои фиксированные размеры ниже. */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-item:not([data-lf-nav-item]) > .lf-header__nav-link.lf-header__nav-link,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-parent .lf-header__nav-link--parent.lf-header__nav-link--parent {
	border-radius: 0 !important;
	height: auto !important;
	min-height: 56px !important;
	max-height: none !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding: 16px !important;
}

/* nav-parent (контейнер ссылки + кнопки) — тоже без round corners и без вертикальной фиксации */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-parent.lf-header__nav-parent {
	border-radius: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding: 0 !important;
	width: 100% !important;
}

/* Кнопка-toggle — фикс 56×56, без padding, рамки и скругления. */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav.lf-header__nav--popover .lf-header__nav-toggle.lf-header__nav-toggle.lf-header__nav-toggle {
	flex: 0 0 56px !important;
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	height: auto !important;
	min-height: 56px !important;
	max-height: none !important;
	padding: 0 !important;
	border: 0 !important;
	border-color: transparent !important;
	outline: none !important;
	outline-color: transparent !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Гарантированно убираем фокусную/active рамку для toggle во всех браузерах и состояниях */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav.lf-header__nav--popover .lf-header__nav-toggle.lf-header__nav-toggle.lf-header__nav-toggle:focus,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav.lf-header__nav--popover .lf-header__nav-toggle.lf-header__nav-toggle.lf-header__nav-toggle:focus-visible,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav.lf-header__nav--popover .lf-header__nav-toggle.lf-header__nav-toggle.lf-header__nav-toggle:active,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav.lf-header__nav--popover .lf-header__nav-toggle.lf-header__nav-toggle.lf-header__nav-toggle:hover {
	outline: none !important;
	outline-width: 0 !important;
	outline-color: transparent !important;
	border: 0 !important;
	border-color: transparent !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Native focus-ring у <button> в Firefox / Chrome — внутренний пунктир */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle::-moz-focus-inner {
	border: 0 !important;
	outline: none !important;
	padding: 0 !important;
}

/* Ссылка-родитель внутри nav-parent — flex:1, занимает всё кроме кнопки */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover .lf-header__nav-parent .lf-header__nav-link--parent.lf-header__nav-link--parent {
	flex: 1 1 auto !important;
	width: auto !important;
}

/* Кнопка-toggle: убираем собственный hover-фон — вся строка уже подсвечивается через nav-parent */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle:hover {
	background: transparent !important;
}

/* Пункт без детей: nav-link растягивается на всю ширину строки */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item:not([data-lf-nav-item]) > .lf-header__nav-link {
	width: 100% !important;
}

/* Убираем gap между nav-item — расстояние теперь только в виде разделителей */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav.lf-header__nav--popover,
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item[data-lf-nav-item] > .lf-header__dropdown {
	gap: 0 !important;
}

/* Без подсветки активной страницы */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-link[aria-current="page"],
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-link--parent[aria-current="page"] {
	background: transparent !important;
	color: inherit !important;
	font-weight: 500 !important;
	box-shadow: none !important;
}

/* Кнопка-toggle (стрелка раскрыть/скрыть) */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle.lf-header__nav-toggle {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 36px !important;
	box-sizing: border-box !important;
	width: 36px !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: 36px !important;
	margin: auto 0 auto 4px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: #6b7280 !important;
	cursor: pointer !important;
	-webkit-tap-highlight-color: transparent !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: background-color 0.14s ease, color 0.14s ease !important;
}

.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle:hover {
	background: #eef0f3 !important;
	color: #0f172a !important;
}

.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle:focus {
	outline: none !important;
}

.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle:focus-visible {
	outline: 2px solid #0f172a !important;
	outline-offset: -2px !important;
}

/* Стрелка-шеврон внутри кнопки (вниз; при .is-open-m — вверх) */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-toggle .lf-header__chev {
	display: block !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background-color: currentColor !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	-webkit-mask-size: 18px 18px !important;
	mask-size: 18px 18px !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	transform: none !important;
	transition: transform 0.2s ease !important;
}

.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item.is-open-m > .lf-header__nav-parent > .lf-header__nav-toggle .lf-header__chev {
	transform: rotate(180deg) !important;
}

/* ════════ Универсальный аккордеон-dropdown — работает на любом уровне ════════
   По умолчанию display:none. Видим только если у родительского пункта класс .is-open-m.
   Padding-left + border-left визуально отделяют дочерний уровень от родителя. */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item[data-lf-nav-item] > .lf-header__dropdown {
	display: none !important;
	flex-direction: column !important;
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	/* padding-left накапливается рекурсивно: каждый уровень вложенности добавляет +14px,
	   так что текст подкатегорий визуально отступает от родительских пунктов. */
	padding: 0 0 0 14px !important;
	gap: 0 !important;
	border: 0 !important;
	border-left: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: none !important;
	transition: none !important;
	overflow: visible !important;
	columns: auto !important;
	column-gap: 0 !important;
	z-index: auto !important;
}

/* Открыть dropdown — когда родитель имеет .is-open-m */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item[data-lf-nav-item].is-open-m > .lf-header__dropdown {
	display: flex !important;
}

/* Псевдо-разделитель ::before (если был от старых стилей) — больше не нужен */
.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel .lf-header__nav-item[data-lf-nav-item] > .lf-header__dropdown::before {
	content: none !important;
	display: none !important;
}

/* Адаптив контейнера под размер экрана */
@media (max-width: 1023px) {
	.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel {
		--lf-acc-col: 300px;
	}
}

@media (max-width: 480px) {
	.lf-header__more-panel.lf-header__more-panel.lf-header__more-panel {
		--lf-acc-col: min(300px, calc(100vw - 32px));
	}
}

/* ============================================================================
   Адаптивный приоритет элементов шапки — JS навешивает классы на .lf-header
   по результату замера переполнения .lf-header__inner.
     .lf-overflow-1 → соцсети уходят в попап
     .lf-overflow-2 → + телефон/email
     .lf-overflow-3 → + обратный звонок
   Поиск/корзина/ЛК всегда видны.
   ============================================================================ */

/* Адаптируемые блоки в шапке не сжимаются — иначе scrollWidth не покажет переполнение */
@media (min-width: 1024px) {
	.lf-header__contacts--ribbon,
	.lf-header__soc--bar,
	.lf-header__panel .lf-header__actions,
	.lf-header__panel .lf-header__actions .lf-header__callback,
	.lf-header__tools {
		flex-shrink: 0 !important;
	}
}

/* По умолчанию overflow-блок и его группы в попапе скрыты */
.lf-header__overflow-actions,
.lf-header__overflow-actions [data-lf-overflow-group] {
	display: none !important;
}

/* Контейнер overflow в попапе — появляется при наличии любого уровня скрытия */
.lf-header.lf-overflow-1 .lf-header__overflow-actions--desktop,
.lf-header.lf-overflow-2 .lf-header__overflow-actions--desktop,
.lf-header.lf-overflow-3 .lf-header__overflow-actions--desktop {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 6px !important;
	margin: 8px 0 0 !important;
	padding: 10px 0 0 !important;
	border-top: 1px solid rgba(17, 24, 39, 0.08) !important;
}

/* Старый отдельный блок мессенджеров в попапе больше не нужен */
.lf-header.lf-overflow-1 .lf-header__more-messengers,
.lf-header.lf-overflow-2 .lf-header__more-messengers,
.lf-header.lf-overflow-3 .lf-header__more-messengers {
	display: none !important;
}

/* === Уровень 1: соцсети уходят в попап === */
.lf-header.lf-overflow-1 .lf-header__soc--bar,
.lf-header.lf-overflow-2 .lf-header__soc--bar,
.lf-header.lf-overflow-3 .lf-header__soc--bar {
	display: none !important;
}
.lf-header.lf-overflow-1 .lf-header__overflow-actions [data-lf-overflow-group="soc"],
.lf-header.lf-overflow-2 .lf-header__overflow-actions [data-lf-overflow-group="soc"],
.lf-header.lf-overflow-3 .lf-header__overflow-actions [data-lf-overflow-group="soc"] {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	padding: 6px 12px;
}

/* === Уровень 2: контакты (тел/email) уходят в попап === */
.lf-header.lf-overflow-2 .lf-header__contacts--ribbon,
.lf-header.lf-overflow-3 .lf-header__contacts--ribbon {
	display: none !important;
}
.lf-header.lf-overflow-2 .lf-header__overflow-actions [data-lf-overflow-group="contacts"],
.lf-header.lf-overflow-3 .lf-header__overflow-actions [data-lf-overflow-group="contacts"] {
	display: flex !important;
	flex-direction: column;
	gap: 2px;
	padding: 4px 12px;
}
.lf-header.lf-overflow-2 .lf-header__overflow-actions [data-lf-overflow-group="contacts"] .lf-header__contact,
.lf-header.lf-overflow-3 .lf-header__overflow-actions [data-lf-overflow-group="contacts"] .lf-header__contact {
	padding: 8px 0;
	font-size: 14px;
}

/* === Уровень 3: обратный звонок уходит в попап === */
.lf-header.lf-overflow-3 .lf-header__panel .lf-header__actions {
	display: none !important;
}
.lf-header.lf-overflow-3 .lf-header__panel .lf-header__actions .lf-header__callback {
	display: none !important;
}
.lf-header.lf-overflow-3 .lf-header__overflow-actions [data-lf-overflow-group="callback"] {
	display: inline-flex !important;
	justify-content: center;
	align-items: center;
	margin: 4px 12px 6px;
	align-self: flex-start;
	width: auto;
	min-width: 0;
	max-width: 100%;
}
/* ============================================================================
   РАСШИРЕНИЕ ДЕСКТОПНОЙ ЛОГИКИ НА 770-1023px.
   В этом диапазоне работает полная шапка (как на ≥1024) + JS overflow-логика.
   Ниже 770px — бургер + drawer.
   ============================================================================ */
@media (min-width: 770px) and (max-width: 1023px) {
	.lf-header__inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 16px !important;
		/* Сбрасываем container-type из старого правила (<1024) — он мешает JS-замеру scrollWidth */
		container-type: normal !important;
		container-name: none !important;
		contain: none !important;
	}

	.lf-header__brand-with-menu {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
	}

	.lf-header__trail {
		order: 0 !important;
		/* flex-shrink: 0 — trail не сжимается, выдавливает inner.scrollWidth наружу,
		   только так JS-замер увидит переполнение и применит overflow-классы */
		flex: 0 0 auto !important;
		flex-shrink: 0 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin-left: auto !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: var(--lf-header-block-gap, 28px) !important;
	}

	.lf-header__contacts--ribbon {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.lf-header__contacts {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.lf-header__panel {
		display: flex !important;
		position: static !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		/* flex-shrink: 0 — не сжимается, чтобы scrollWidth родителя видел переполнение */
		flex: 0 0 auto !important;
		flex-shrink: 0 !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		gap: var(--lf-header-block-gap, 28px) !important;
		z-index: auto !important;
	}

	.lf-header__panel .lf-header__right {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		width: auto !important;
		gap: var(--lf-header-block-gap, 28px) !important;
	}

	.lf-header__panel .lf-header__actions {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 8px !important;
	}

	.lf-header__panel .lf-header__tools {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		border-top: 0 !important;
		width: auto !important;
		padding-top: 0 !important;
	}

	.lf-header__nav--drawer { display: none !important; }
	.lf-header__burger { display: none !important; }
	.lf-header__mobile-controls { display: none !important; }
	.lf-header__contacts--drawer { display: none !important; }
	.lf-header__search--drawer { display: none !important; }

	/* Адаптируемые блоки — flex-shrink: 0, чтобы JS-замер видел переполнение */
	.lf-header__contacts--ribbon,
	.lf-header__soc--bar,
	.lf-header__panel .lf-header__actions,
	.lf-header__panel .lf-header__actions .lf-header__callback,
	.lf-header__tools {
		flex-shrink: 0 !important;
	}
}

/* Keep overflow contacts vertical inside the "more" popup at 770-1023px. */
.lf-header.lf-overflow-2 .lf-header__more-panel .lf-header__overflow-actions [data-lf-overflow-group="contacts"],
.lf-header.lf-overflow-3 .lf-header__more-panel .lf-header__overflow-actions [data-lf-overflow-group="contacts"] {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	flex-wrap: nowrap !important;
	width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

.lf-header.lf-overflow-2 .lf-header__more-panel .lf-header__overflow-actions [data-lf-overflow-group="contacts"] .lf-header__contact,
.lf-header.lf-overflow-3 .lf-header__more-panel .lf-header__overflow-actions [data-lf-overflow-group="contacts"] .lf-header__contact {
	display: inline-flex !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* ============================================================================
   <770px — мобильный режим: бургер + drawer.
   Mobile-controls (callback + tools) видны во всём этом диапазоне (включая <430).
   Всё — в одну строку с лого и бургером.
   ============================================================================ */
@media (max-width: 769px) {
	.lf-header__inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 8px !important;
	}

	.lf-header__brand-with-menu {
		flex: 0 0 auto !important;
		width: auto !important;
		max-width: none !important;
		order: 0 !important;
	}

	.lf-header__trail {
		flex: 0 0 auto !important;
		width: auto !important;
		margin-left: auto !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: flex-end !important;
		align-items: center !important;
		gap: 8px !important;
		order: 1 !important;
	}

	.lf-header__mobile-controls {
		display: flex !important;
		align-items: center !important;
		flex-shrink: 0 !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		width: auto !important;
		margin-left: 0 !important;
		gap: 8px !important;
		justify-content: flex-end !important;
	}

	.lf-header__tools--mobile,
	.lf-header__tools.lf-header__tools--mobile {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		flex-shrink: 0 !important;
		/* Мобильные tool-кнопки остаются в одну строку, без разделителя как у drawer-блока */
		border-top: 0 !important;
		border: 0 !important;
		width: auto !important;
		padding-top: 0 !important;
	}

	.lf-header__callback--mobile {
		display: inline-flex !important;
		flex-shrink: 1 !important;
		min-width: 0 !important;
		white-space: nowrap !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	/* Принудительно блокируем перенос строки лого и правого блока */
	.lf-header__inner > .lf-header__brand-with-menu,
	.lf-header__inner > .lf-header__trail {
		flex-basis: auto !important;
	}
}

/* На очень узких (<560px) — callback не помещается рядом с tools, прячем его (доступен в drawer) */
@media (max-width: 559px) {
	.lf-header__callback--mobile {
		display: none !important;
	}
}

/* ============================================================================
   Запрет дублирования: если элемент отображается в шапке, его копия
   в drawer-панели и в overflow-actions попапа должна быть скрыта.
   ============================================================================ */

/* <770: callback и tools видны в mobile-controls — скрываем их копии внутри drawer */
@media (max-width: 769px) {
	/* Кнопка callback в шапке (mobile-controls) → её копия в drawer не нужна */
	.lf-header__panel .lf-header__actions .lf-header__callback:not(.lf-header__callback--mobile) {
		display: none !important;
	}
	/* Tools (поиск/корзина/ЛК) в шапке → копия в drawer не нужна */
	.lf-header__panel .lf-header__tools:not(.lf-header__tools--mobile) {
		display: none !important;
	}
}

/* На <560 callback скрыт из шапки → callback в drawer обратно видим (становится единственной точкой доступа) */
@media (max-width: 559px) {
	.lf-header__panel .lf-header__actions {
		gap: var(--lf-header-block-gap, 28px) !important;
	}

	.lf-header__panel .lf-header__actions .lf-header__callback:not(.lf-header__callback--mobile) {
		display: inline-flex !important;
	}
}
/* Скрываем стандартный мобильный блок Bitrix-корзины (sale.basket.basket.line)
   с пользовательской ссылкой и счётчиком — он не нужен, у нас своя шапка */
.lf-mobile-basket-slot,
.lf-mobile-basket-slot .bx-basket,
.lf-mobile-basket-slot .bx-basket-fixed {
	display: none !important;
}
/* ============================================================================
   Drawer-меню (мобильный) — те же визуальные стили, что у popup-аккордеона.
   Усиленная специфичность защищает drawer от Bootstrap/Bitrix и общих правил шапки.
   Логика accordion (is-open-m) уже работает.
   ============================================================================ */
@media (max-width: 769px) {
	/* Корневой nav в drawer */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		background: transparent !important;
	}

	/* Все nav-item — без своих border/padding (линии-разделители делаем сами) */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item.lf-header__nav-item {
		position: static !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
	}

	/* Прямые горизонтальные разделители между соседними пунктами на любой глубине */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item + .lf-header__nav-item {
		border-top: 1px solid rgba(17, 24, 39, 0.08) !important;
	}

	/* nav-parent — flex-row для ссылки + кнопки-toggle */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-parent.lf-header__nav-parent {
		display: flex !important;
		flex-direction: row !important;
		align-items: stretch !important;
		width: 100% !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		gap: 0 !important;
	}

	/* Все ссылки на всех уровнях — единый стиль.
	   Горизонтальный padding = 0, чтобы текст меню был выровнен с текстом
	   других элементов drawer (контакты, мессенджеры) — у них padding панели общий. */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link.lf-header__nav-link,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link--parent.lf-header__nav-link--parent {
		display: flex !important;
		align-items: center !important;
		flex: 1 1 auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 56px !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 16px 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #1f2937 !important;
		font-family: var(--lf-font-family) !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.3 !important;
		letter-spacing: -0.005em !important;
		text-decoration: none !important;
		text-transform: none !important;
		white-space: normal !important;
		overflow: visible !important;
		text-overflow: clip !important;
		box-shadow: none !important;
		text-align: left !important;
		justify-content: flex-start !important;
	}

	/* Hover работает только при реальном наведении мышью.
	   На touch-устройствах :hover «залипает» после клика — обходим через @media (hover: hover). */
	@media (hover: hover) {
		.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item[data-lf-nav-item]:not(.is-open-m) > .lf-header__nav-parent.lf-header__nav-parent:hover {
			background: #f4f4f5 !important;
		}
		.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item:not([data-lf-nav-item]) > .lf-header__nav-link.lf-header__nav-link:hover {
			background: #f4f4f5 !important;
		}
	}
	/* Подавляем «залипшую» подсветку: на родителе при hover на ребёнке, на открытом пункте,
	   и на focus (после клика по toggle) — фон должен быть прозрачным во всех этих случаях. */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item:hover .lf-header__nav-parent,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item.is-open-m > .lf-header__nav-parent,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item.is-open-m > .lf-header__nav-parent:hover,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle:focus,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle:focus-visible,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link:focus,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link:focus-visible,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link--parent:focus,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link--parent:focus-visible {
		background: transparent !important;
		outline: none !important;
	}

	/* Без подсветки активной страницы */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link[aria-current="page"],
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-link--parent[aria-current="page"] {
		background: transparent !important;
		color: inherit !important;
		font-weight: 500 !important;
	}

	/* Кнопка-toggle — 56×56, без рамки */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle.lf-header__nav-toggle.lf-header__nav-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 56px !important;
		width: 56px !important;
		min-width: 56px !important;
		max-width: 56px !important;
		height: auto !important;
		min-height: 56px !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #6b7280 !important;
		cursor: pointer !important;
		outline: none !important;
		box-shadow: none !important;
		-webkit-appearance: none !important;
		appearance: none !important;
		-webkit-tap-highlight-color: transparent !important;
	}
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle:focus,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle:focus-visible,
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle:active {
		outline: none !important;
		border: 0 !important;
		box-shadow: none !important;
	}

	/* Стрелка-шеврон внутри кнопки drawer — вниз; при .is-open-m — вверх */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-toggle .lf-header__chev {
		display: block !important;
		width: 18px !important;
		height: 18px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background-color: currentColor !important;
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
		-webkit-mask-size: 18px 18px !important;
		mask-size: 18px 18px !important;
		-webkit-mask-position: center !important;
		mask-position: center !important;
		-webkit-mask-repeat: no-repeat !important;
		mask-repeat: no-repeat !important;
		transform: none !important;
		transition: transform 0.2s ease !important;
		opacity: 0.6 !important;
	}
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item.is-open-m > .lf-header__nav-parent > .lf-header__nav-toggle .lf-header__chev {
		transform: rotate(180deg) !important;
		opacity: 0.85 !important;
	}

	/* Dropdown — статичный, скрыт по умолчанию, разворачивается при .is-open-m.
	   padding-left накапливается рекурсивно — даёт визуальную иерархию подкатегорий. */
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item[data-lf-nav-item] > .lf-header__dropdown {
		display: none !important;
		flex-direction: column !important;
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 0 0 0 14px !important;
		gap: 0 !important;
		border: 0 !important;
		border-left: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		overflow: visible !important;
	}
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item[data-lf-nav-item].is-open-m > .lf-header__dropdown {
		display: flex !important;
	}
	.lf-header__panel.lf-header__panel.lf-header__panel .lf-header__nav.lf-header__nav.lf-header__nav--drawer .lf-header__nav-item[data-lf-nav-item] > .lf-header__dropdown::before {
		content: none !important;
		display: none !important;
	}
}
/* Прокрутка drawer-меню на мобильных — длинное дерево категорий не помещается на экран */
@media (max-width: 769px) {
	.lf-header__panel.lf-header__panel.lf-header__panel,
	.lf-header__panel.lf-header__panel.lf-header__panel.is-open {
		max-height: calc(100vh - 95px) !important;
		max-height: calc(100dvh - 95px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
	}
}
/* На мобильных (<770) визуально выравниваем отступы: лого слева и иконка ЛК справа
   должны быть на одинаковом расстоянии от края экрана.
   Делаем tools-кнопки фикс 48×48 (icon 24 центрирован, padding inside = 12),
   и за счёт отрицательного margin-right у блока tools--mobile иконка визуально
   упирается в padding-right inner, совпадая с padding-left у лого. */
@media (max-width: 769px) {
	/* Унифицируем размер мобильных tool-кнопок */
	.lf-header__tools--mobile .lf-header__tool {
		width: 48px !important;
		height: 48px !important;
		min-width: 48px !important;
		min-height: 48px !important;
		padding: 0 !important;
	}

	/* Сдвигаем последнюю кнопку правее на величину её внутреннего padding (12px),
	   чтобы видимая иконка оказалась на расстоянии padding-right inner от края */
	.lf-header__tools--mobile {
		margin-right: -12px !important;
	}
}

/* На очень узких (330px и меньше) оставляем лого со штатным левым отступом, правый блок держим у края. */
@media (max-width: 330px) {
	.lf-header__inner {
		padding-left: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) !important;
		padding-right: 12px !important;
		gap: 4px !important;
		justify-content: flex-start !important;
	}
	.lf-header__brand-with-menu {
		flex: 0 0 auto !important;
		margin-right: 0 !important;
	}
	.lf-header__trail {
		margin-left: auto !important;
		flex: 0 0 auto !important;
	}
	.lf-header__mobile-controls,
	.lf-header__tools--mobile {
		gap: 0 !important;
	}
	.lf-header__tools--mobile {
		gap: 4px !important;
	}
	.lf-header__burger,
	.lf-header__tools--mobile .lf-header__tool {
		width: 42px !important;
		min-width: 42px !important;
		height: 44px !important;
		min-height: 44px !important;
	}
	.lf-header__tools--mobile {
		margin-right: 0 !important;
	}
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/css/search-suggest.css?17836227831269*/
/* Выпадающие подсказки автокомплита поиска (шапка + страница результатов).
 * Контейнер позиционируется внутри обёртки инпута (.lf-header__search-panel-field / .lf-search-form__input-wrap). */
.lf-search-suggest {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 60;
	margin-top: 6px;
	box-sizing: border-box;
	max-height: 360px;
	overflow-y: auto;
	background: #fff;
	border: 1px solid #4040421A;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

.lf-search-suggest[hidden] {
	display: none;
}

.lf-search-suggest__item {
	display: block;
	padding: 11px 16px;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: 1.35;
	color: #404042;
	text-decoration: none;
	border-bottom: 1px solid #4040420D;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.lf-search-suggest__item:last-child {
	border-bottom: none;
}

.lf-search-suggest__item:hover,
.lf-search-suggest__item.is-active {
	background: #f3f4f6;
	color: #0a0a0a;
}

@media (max-width: 575px) {
	.lf-search-suggest__item {
		padding: 10px 14px;
		font-size: 14px;
	}
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/css/footer-custom.css?178389406432910*/
/* Подвал Lerofabric: 4 колонки. ≥1200 — flex + space-between (равные промежутки), края 100px у inner. 768–1199 — 2×N. ≤767 — столбик. Rubik */

.lf-footer {
	/* flex-ребёнок #bx_eshop_wrap: явно тянем на всю ширину, иначе ряд колонок сжимается и space-evenly не работает */
	align-self: stretch;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	--lf-footer-bg: #404042;
	--lf-footer-text: #d1d5dc;
	--lf-footer-muted: #d1d5dc;
	/* Текст под заголовками колонок */
	--lf-footer-col-body-size: 14px;
	--lf-footer-col-body-line: 20px;
	--lf-footer-col-body-weight: 400;
	--lf-footer-col-body-color: #ffffff;
	--lf-footer-col-body-spacing: 0;
	/* Заголовки колонок (h2): размер + в Figma fill #fff + opacity слоя 60% */
	--lf-footer-col-title-size: 16px;
	--lf-footer-col-title-line: 22px;
	--lf-footer-col-title-color: rgba(255, 255, 255, 0.6);
	/* Figma: от заголовка колонки до списка 32px; между строками в списке 24px */
	--lf-footer-title-to-body: 32px;
	--lf-footer-text-gap: 24px;
	--lf-footer-adaptive-col-gap: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	/* Вертикальный шаг между «верхней» (Навигация/Каталог) и «нижней» (Реквизиты/Контакты) строками в 2-колоночной раскладке */
	--lf-footer-adaptive-row-gap: 56px;
	/* Мин. высота строки списка = иконка в «Контактах» (24px), чтобы шаг строк + gap совпадал с соседними колонками */
	--lf-footer-list-row-min: 24px;
	/* От низа блока с колонками до разделительной линии (.lf-footer__bottom border-top) */
	--lf-footer-grid-to-line: 80px;
	/* Высота чёрной полосы под разделителем (от нижней границы линии до низа блока), без учёта 1px border-top */
	--lf-footer-bottom-height: 68px;
	/* Целевой отступ линии и текста нижней полосы от левого/правого края экрана (см. margin/width у .lf-footer__bottom) */
	--lf-footer-bottom-pad-x: 48px;
	/* Разделитель: в макете часто #FFF со сниженной opacity слоя — сплошной #fff на #404042 даёт «яркую» линию в браузере */
	--lf-footer-line: rgba(255, 255, 255, 0.32);
	/* ≥1200: отступ от края экрана до контента футера (через .lf-footer__inner) */
	--lf-footer-edge-inset-x: 100px;
	/* От низа логотипа до верха колонок */
	--lf-footer-logo-to-grid: 100px;
	--lf-footer-map-bg: #2a3038;
	/* Логотип-картинка с белой шапки → светлый силуэт в подвале; для цветного файла задайте none */
	--lf-footer-logo-img-filter: brightness(0) invert(1);
	/* В шапке логотип 48px; в подвале крупнее */
	--lf-footer-logo-img-height: 72px;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	background: var(--lf-footer-bg);
	color: var(--lf-footer-muted);
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	font-weight: 400;
	font-style: normal;
	line-height: 1.45;
}

.lf-footer *,
.lf-footer *::before,
.lf-footer *::after {
	box-sizing: border-box;
}

.lf-footer a {
	color: var(--lf-footer-muted);
	text-decoration: none;
	transition: color 0.15s ease, opacity 0.15s ease;
}

.lf-footer a:hover {
	color: #fff;
}

.lf-footer__grid .lf-footer__col a {
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__grid .lf-footer__col a:hover {
	color: var(--lf-footer-col-title-color, rgba(255, 255, 255, 0.6));
}

.lf-footer__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	/* Fallback clamp — если переменная недоступна (старый кэш без header-custom) */
	padding: 0 var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
}

@media (min-width: 1200px) {
	.lf-footer__inner {
		padding-left: var(--lf-footer-edge-inset-x, 100px);
		padding-right: var(--lf-footer-edge-inset-x, 100px);
	}
}

/* Сетка: без flex-grow — иначе при min-height у футера main растягивается и между колонками и линией появляется лишняя пустота поверх --lf-footer-grid-to-line */
.lf-footer__main {
	display: block;
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 0 0 var(--lf-footer-grid-to-line, 80px);
}

/* Логотип по центру; сверху 100px от начала main, снизу — до колонок (--lf-footer-logo-to-grid) */
.lf-footer__logo-row {
	width: 100%;
	max-width: 100%;
	padding-top: 100px;
	padding-bottom: var(--lf-footer-logo-to-grid, 100px);
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.lf-footer__logo-row .lf-footer__brand-link {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	margin: 0;
	box-sizing: border-box;
}

.lf-footer__grid {
	/* Одинаковый шаг между колонками (flex gap / grid gap) */
	--lf-footer-col-gap: 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
	column-gap: var(--lf-footer-col-gap);
	row-gap: var(--lf-footer-col-gap);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.lf-footer__stack {
	display: contents;
}

.lf-footer__col--nav {
	order: 1;
}

.lf-footer__col--catalog {
	order: 2;
}

.lf-footer__col--requisites {
	order: 3;
}

.lf-footer__col--contacts {
	order: 4;
}

/* Одинаковый шаг между колонками: только gap, без боковых margin у ячеек */
.lf-footer__grid > .lf-footer__col,
.lf-footer__stack > .lf-footer__col {
	margin-left: 0;
	margin-right: 0;
}

@media (min-width: 1024px) {
	/* 100px по краям — у .lf-footer__inner; здесь колонки max-content, промежутки между ними равные (space-between) */
	.lf-footer__grid {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: flex-start;
		justify-content: space-between;
		gap: 0;
		column-gap: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.lf-footer__grid > .lf-footer__col,
	.lf-footer__stack > .lf-footer__col {
		flex: 0 0 auto;
		width: max-content;
		max-width: 100%;
		min-width: 0;
	}
}

.lf-footer__col {
	flex: 0 0 auto;
	width: max-content;
	max-width: 100%;
	min-width: 0;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: var(--lf-footer-col-body-size, 14px);
	font-weight: var(--lf-footer-col-body-weight, 400);
	line-height: var(--lf-footer-col-body-line, 20px);
	letter-spacing: var(--lf-footer-col-body-spacing, 0);
	color: var(--lf-footer-col-body-color, #ffffff);
}

/* Планшет и широкая мобильная ширина: 2×2 сетка. Колонки auto-ширины, прижаты к левому и правому краю сетки (space-between). Отступ от края экрана — через padding контейнера (.lf-footer__inner). */
@media (min-width: 480px) and (max-width: 1023px) {
	.lf-footer__main {
		padding: 0 0 var(--lf-footer-grid-to-line, 80px);
	}

	.lf-footer__grid {
		display: grid;
		grid-template-columns: auto auto;
		grid-auto-flow: row;
		column-gap: 0;
		row-gap: var(--lf-footer-adaptive-row-gap, 56px);
		justify-content: space-between;
		justify-items: start;
		align-items: start;
	}

	.lf-footer__stack {
		display: contents;
	}

	.lf-footer__col {
		width: auto;
		max-width: 100%;
		min-width: 0;
	}
}

/* Узкий полноценный ряд (1024–1399): длинные ссылки переносятся */
@media (min-width: 1024px) and (max-width: 1399px) {
	.lf-footer__col {
		min-width: 0;
	}

	.lf-footer__nav .nav-link,
	.lf-footer__contact {
		overflow-wrap: anywhere;
	}
}

/* Телефоны и узкие планшеты в портрете: настоящая 2×2 сетка с выравниванием по строкам */
@media (max-width: 767px) {
	.lf-footer__main {
		padding: 0 0 var(--lf-footer-grid-to-line, 80px);
	}

	.lf-footer__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-flow: row;
		align-items: start;
		justify-content: stretch;
		justify-items: start;
		column-gap: var(--lf-footer-adaptive-col-gap, var(--lf-footer-col-gap));
		row-gap: var(--lf-footer-adaptive-row-gap, 56px);
	}

	.lf-footer__stack {
		display: contents;
	}

	.lf-footer__col {
		width: 100%;
		max-width: none;
	}

	.lf-footer__address--contacts {
		width: 100%;
		max-width: 100%;
	}

	.lf-footer__address-text {
		min-width: 0;
	}

	.lf-footer h2.lf-footer__col-title {
		margin-bottom: var(--lf-footer-title-to-body, 32px);
	}

	.lf-footer__logo-row {
		padding-top: 100px;
		padding-bottom: var(--lf-footer-logo-to-grid, 100px);
	}

	.lf-footer__contact > span {
		min-width: 0;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 479px) {
	.lf-footer__inner {
		padding-left: 24px;
		padding-right: 24px;
	}

	.lf-footer__grid {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		row-gap: 0;
	}

	.lf-footer__stack {
		display: contents;
	}
}

/* Сворачиваемые колонки «Навигация» и «Каталог»: кнопка-обёртка над h2.
   На десктопе/планшете кнопка ведёт себя как обычный блок (заголовок выглядит как раньше, стрелка скрыта).
   На ≤479px кнопка становится интерактивной, появляется шеврон, контент сворачивается. */
.lf-footer button.lf-footer__col-toggle {
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: inherit;
	cursor: default;
	display: block;
	font: inherit;
	margin: 0;
	padding: 0;
	text-align: left;
	width: 100%;
	box-sizing: border-box;
}

.lf-footer button.lf-footer__col-toggle .lf-footer__col-title {
	cursor: default;
}

.lf-footer__col-toggle:focus,
.lf-footer__col-toggle:focus-visible {
	outline: none;
}

.lf-footer__col-toggle-icon {
	display: none;
}

@media (max-width: 479px) {
	.lf-footer button.lf-footer__col-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
	}

	.lf-footer .lf-footer__col-toggle h2.lf-footer__col-title {
		margin: 0;
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
	}

	.lf-footer__col-toggle-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		color: var(--lf-footer-col-title-color, rgba(255, 255, 255, 0.6));
		transition: transform 0.2s ease;
	}

	.lf-footer__col-toggle-icon svg {
		display: block;
		width: 16px;
		height: 16px;
	}

	.lf-footer__col-toggle[aria-expanded="true"] .lf-footer__col-toggle-icon {
		transform: rotate(180deg);
	}

	.lf-footer__col-toggle[aria-expanded="false"] + .lf-footer__col-content {
		display: none;
	}

	.lf-footer__col-toggle[aria-expanded="true"] + .lf-footer__col-content {
		margin-top: var(--lf-footer-title-to-body, 32px);
	}
}

/* h2 + класс: перебиваем Reboot/Bitrix (у h2 часто font-weight:500, line-height:1.2) */
.lf-footer h2.lf-footer__col-title {
	margin: 0 0 var(--lf-footer-title-to-body, 32px);
	padding: 0;
	border: 0;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: var(--lf-footer-col-title-size, 16px) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: var(--lf-footer-col-title-line, 22px) !important;
	letter-spacing: 0 !important;
	color: var(--lf-footer-col-title-color) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Колонка «Реквизиты» (логотип — в .lf-footer__logo-row) */
.lf-footer__col--requisites {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	overflow: visible;
}

/* Ссылка на главную с логотипом (в шапке и в .lf-footer__logo-row) */
.lf-footer__brand-link {
	text-decoration: none;
	color: #fff;
}

.lf-footer__brand-link:hover {
	color: #fff;
}

/* Подпись рядом с маркером: белый основной текст логотипа на тёмном фоне */
.lf-footer__brand-link .lf-header__brand-text {
	color: #fff;
	font-weight: 700;
}

.lf-footer__brand-link:hover .lf-header__brand-text {
	color: #f2f5f9;
}

/*
 * Маркер в подвале: светлый фон, буквы чёрные.
 * Ссылка .lf-footer a:hover задаёт color: #fff — без явного правила на :hover буквы
 * могли наследовать белый; !important фиксирует читаемость.
 */
.lf-footer a.lf-footer__brand-link .lf-header__logo-mark,
.lf-footer a.lf-footer__brand-link:hover .lf-header__logo-mark,
.lf-footer a.lf-footer__brand-link:focus-visible .lf-header__logo-mark {
	width: var(--lf-footer-logo-img-height, 72px);
	height: var(--lf-footer-logo-img-height, 72px);
	border-radius: 14px;
	font-size: calc(var(--lf-footer-logo-img-height, 72px) * 0.36);
	background: #f2f4f7 !important;
	color: #000 !important;
	-webkit-text-fill-color: #000;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.12);
}

/* Картинка логотипа в подвале: выше шапки (--lf-footer-logo-img-height) */
.lf-footer__brand-link .lf-header__logo-img,
.lf-footer__brand-link .lf-footer__logo-img {
	display: block;
	flex-shrink: 0;
	width: auto;
	height: var(--lf-footer-logo-img-height, 72px);
	max-height: var(--lf-footer-logo-img-height, 72px);
	max-width: min(720px, 94vw);
	object-fit: contain;
	object-position: center center;
}

.lf-footer__brand-link .lf-header__logo-img {
	filter: var(--lf-footer-logo-img-filter);
}

.lf-footer__brand-link .lf-footer__logo-img {
	filter: none !important;
	isolation: isolate;
}

/* Цветной логотип без инверсии: class на ссылке в footer.php */
.lf-footer__brand-link--logo-color .lf-header__logo-img {
	filter: none;
}

/* Реквизиты: шаг между строками — как в макете (24px) */
.lf-footer__req--inline {
	display: flex;
	flex-direction: column;
	gap: var(--lf-footer-text-gap, 24px);
	margin: 0;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: var(--lf-footer-col-body-size, 14px);
	font-weight: var(--lf-footer-col-body-weight, 400);
	font-style: normal;
	line-height: var(--lf-footer-col-body-line, 20px);
	letter-spacing: var(--lf-footer-col-body-spacing, 0);
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__req--inline p {
	display: flex;
	align-items: center;
	margin: 0;
	min-height: var(--lf-footer-list-row-min, 24px);
}

/* Колонка «Контакты»: телефон, почта, адрес, соцсети */
.lf-footer__col--contacts {
	--lf-contact-icon-col: 24px;
	--lf-contact-icon-gap: 12px;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 0;
}

/* Иконка + текст адреса: та же сетка, что у .lf-footer__contact (иконка | текст) */
.lf-footer__address {
	display: grid;
	grid-template-columns: var(--lf-contact-icon-col, 24px) minmax(0, 1fr);
	column-gap: var(--lf-contact-icon-gap, 12px);
	align-items: start;
	justify-items: stretch;
	margin: 0 0 var(--lf-footer-text-gap, 24px);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: var(--lf-footer-col-body-size, 14px);
	font-weight: var(--lf-footer-col-body-weight, 400);
	font-style: normal;
	line-height: var(--lf-footer-col-body-line, 20px);
	letter-spacing: var(--lf-footer-col-body-spacing, 0);
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__address--contacts {
	margin-top: 0;
	margin-bottom: var(--lf-footer-text-gap, 24px);
	max-width: 100%;
	align-self: stretch;
}

/* Двухстрочный адрес остаётся в колонке текста; лёгкий сдвиг вниз — та же оптика, что у телефона/почты */
.lf-footer__address--contacts .lf-footer__address-text {
	padding-top: 2px;
}

.lf-footer__address-pin {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: var(--lf-contact-icon-col, 24px);
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__address-icon {
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	vertical-align: top;
}

.lf-footer__address-text {
	min-width: 0;
	margin: 0;
	line-height: var(--lf-footer-col-body-line, 20px);
	color: var(--lf-footer-col-body-color, #ffffff);
	text-align: left;
	overflow-wrap: anywhere;
}

.lf-footer__address-text :first-child {
	margin-top: 0;
}

.lf-footer__address-text p {
	margin: 0 0 0.35em;
}

.lf-footer__address-text p:last-child {
	margin-bottom: 0;
}

/* «Навигация» / «Каталог»: между пунктами списка 24px (макет Figma) */
.lf-footer__nav .nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--lf-footer-text-gap, 24px);
}

.lf-footer__nav .nav-item {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lf-footer__nav .nav-link {
	display: flex;
	align-items: center;
	min-height: var(--lf-footer-list-row-min, 24px);
	padding: 0 !important;
	margin: 0 !important;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: var(--lf-footer-col-body-size, 14px) !important;
	font-weight: var(--lf-footer-col-body-weight, 400) !important;
	font-style: normal;
	letter-spacing: var(--lf-footer-col-body-spacing, 0) !important;
	color: var(--lf-footer-col-body-color, #ffffff) !important;
	line-height: var(--lf-footer-col-body-line, 20px) !important;
	border: none !important;
	box-sizing: border-box;
}

.lf-footer__nav .nav-link:hover {
	color: var(--lf-footer-col-title-color, rgba(255, 255, 255, 0.6)) !important;
	background: transparent !important;
}

/* Контакты: сетка — иконка строго в одной колонке, текст во второй (многострочный адрес не уезжает под иконку) */
.lf-footer__contact {
	display: grid;
	grid-template-columns: var(--lf-contact-icon-col, 24px) minmax(0, 1fr);
	column-gap: var(--lf-contact-icon-gap, 12px);
	/* center: иначе при align-items:start из-за метрик шрифта строка визуально «выше» 24×24 иконки */
	align-items: center;
	margin-bottom: var(--lf-footer-text-gap, 24px);
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: var(--lf-footer-col-body-size, 14px);
	font-weight: var(--lf-footer-col-body-weight, 400);
	font-style: normal;
	line-height: var(--lf-footer-col-body-line, 20px);
	letter-spacing: var(--lf-footer-col-body-spacing, 0);
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__col--contacts .lf-footer__contact {
	min-height: 0;
	box-sizing: border-box;
}

.lf-footer__col--contacts .lf-footer__contact-icon {
	justify-self: center;
}

.lf-footer__contact--last {
	margin-bottom: 0;
}

.lf-footer__contact-icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: block;
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__contact a {
	color: var(--lf-footer-col-body-color, #ffffff);
}

.lf-footer__contact a:hover {
	color: var(--lf-footer-col-title-color, rgba(255, 255, 255, 0.6));
}

/* Соцсети: как в шапке (48×48, скругление 12, contain), без теней */
.lf-footer__soc {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: var(--lf-footer-text-gap, 24px);
}

.lf-footer__soc .lf-messengers {
	display: contents;
}

.lf-footer__soc .lf-messengers__empty {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.65);
}

.lf-footer__soc .lf-messengers__placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 12px;
}

.lf-footer__soc--contacts {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
	gap: 10px;
}

.lf-footer__soc a.lf-footer__soc--iblock,
.lf-footer__soc span.lf-footer__soc--iblock {
	display: inline-block;
	width: 48px;
	height: 48px;
	min-width: 48px;
	min-height: 48px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 12px;
	box-sizing: border-box;
	box-shadow: none;
	background: transparent;
	overflow: visible;
	line-height: 0;
	text-decoration: none;
	vertical-align: middle;
	position: relative;
}

.lf-footer__soc a.lf-footer__soc--iblock .lf-footer__soc-iblock-img,
.lf-footer .lf-footer__soc a.lf-footer__soc--iblock .lf-footer__soc-iblock-img,
.lf-footer__soc span.lf-footer__soc--iblock .lf-footer__soc-iblock-img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain;
	object-position: center;
	border: 0;
	border-radius: 12px;
	box-shadow: none;
	vertical-align: top;
}

/* Нижняя полоса: 68px под линией + 1px линия; линия и строка — на --lf-footer-bottom-pad-x от края экрана.
   Линию даём background (1px solid strip), не border-top: при DPI/масштабе 1px border визуально смешивается с #404042 и кажется серым при #FFF в макете. */
.lf-footer__bottom {
	box-sizing: border-box;
	border-top: none;
	background-image: linear-gradient(var(--lf-footer-line), var(--lf-footer-line));
	background-size: 100% 1px;
	background-repeat: no-repeat;
	background-position: left top;
	min-height: calc(var(--lf-footer-bottom-height, 68px) + 1px);
	margin-left: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-right: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	width: calc(100% + 2 * (var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) - var(--lf-footer-bottom-pad-x, 48px)));
	max-width: none;
	padding: 28px 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: stretch;
}

/* После базового блока: иначе margin/width с chrome перебивают этот расчёт */
@media (min-width: 1200px) {
	.lf-footer__bottom {
		margin-left: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-footer-edge-inset-x, 100px));
		margin-right: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-footer-edge-inset-x, 100px));
		width: calc(100% + 2 * (var(--lf-footer-edge-inset-x, 100px) - var(--lf-footer-bottom-pad-x, 48px)));
	}
}

.lf-footer__bottom-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 16px 24px;
	width: 100%;
	min-height: 0;
	text-align: center;
}

.lf-footer__copyright {
	margin: 0;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	color: var(--lf-footer-muted);
	flex: 0 1 auto;
	min-width: 0;
	text-align: center;
}

.lf-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 24px;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 14px;
	font-weight: 400;
	font-style: normal;
	color: var(--lf-footer-muted);
	text-align: center;
}

.lf-footer__legal a {
	color: var(--lf-footer-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lf-footer__legal a:hover {
	color: #fff;
}

@media (max-width: 767px) {
	.lf-footer__bottom {
		height: auto;
		max-height: none;
		min-height: calc(var(--lf-footer-bottom-height, 68px) + 1px);
		padding-top: 28px;
		padding-bottom: 28px;
	}

	.lf-footer__bottom-bar {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.lf-footer__copyright {
		flex: 0 1 auto;
		min-width: 0;
	}

	.lf-footer__legal {
		justify-content: center;
	}
}

/*
 * Цепочка привязана к #bx_eshop_wrap: полная ширина и отступы не «съедаются» стилями из ShowHead().
 * !important только там, где типично перебивают глобальные правила Bitrix/Bootstrap.
 */
#bx_eshop_wrap > footer.lf-footer {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch;
	box-sizing: border-box;
}

#bx_eshop_wrap > footer.lf-footer h2.lf-footer__col-title {
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: var(--lf-footer-col-title-size, 16px) !important;
	font-weight: 400 !important;
	line-height: var(--lf-footer-col-title-line, 22px) !important;
	letter-spacing: 0 !important;
	color: var(--lf-footer-col-title-color) !important;
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__inner {
	width: 100% !important;
	max-width: none !important;
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	min-height: 0 !important;
	box-sizing: border-box;
	padding-left: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) !important;
	padding-right: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) !important;
}

@media (min-width: 1200px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__inner {
		padding-left: var(--lf-footer-edge-inset-x, 100px) !important;
		padding-right: var(--lf-footer-edge-inset-x, 100px) !important;
	}
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__bottom {
	margin-left: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px))) !important;
	margin-right: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px))) !important;
	width: calc(100% + 2 * (var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) - var(--lf-footer-bottom-pad-x, 48px))) !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 28px !important;
	padding-bottom: 28px !important;
	border-top: none !important;
	background-image: linear-gradient(var(--lf-footer-line), var(--lf-footer-line)) !important;
	background-size: 100% 1px !important;
	background-repeat: no-repeat !important;
	background-position: left top !important;
}

@media (min-width: 1200px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__bottom {
		margin-left: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-footer-edge-inset-x, 100px)) !important;
		margin-right: calc(var(--lf-footer-bottom-pad-x, 48px) - var(--lf-footer-edge-inset-x, 100px)) !important;
		width: calc(100% + 2 * (var(--lf-footer-edge-inset-x, 100px) - var(--lf-footer-bottom-pad-x, 48px))) !important;
	}
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__logo-row {
	width: 100% !important;
	max-width: 100% !important;
	padding-top: 100px !important;
	padding-bottom: var(--lf-footer-logo-to-grid, 100px) !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__main {
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	box-sizing: border-box;
	padding: 0 0 var(--lf-footer-grid-to-line, 80px) !important;
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__grid {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
	box-sizing: border-box;
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__stack {
	display: contents !important;
}

#bx_eshop_wrap > footer.lf-footer .lf-footer__grid > .lf-footer__col,
#bx_eshop_wrap > footer.lf-footer .lf-footer__stack > .lf-footer__col {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (min-width: 1024px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: 0 !important;
		column-gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid > .lf-footer__col,
	#bx_eshop_wrap > footer.lf-footer .lf-footer__stack > .lf-footer__col {
		flex: 0 0 auto !important;
		width: max-content !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__col--contacts {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		max-width: 100% !important;
	}
}

@media (min-width: 480px) and (max-width: 1023px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__main {
		padding: 0 0 var(--lf-footer-grid-to-line, 80px) !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid {
		display: grid !important;
		grid-template-columns: auto auto !important;
		grid-auto-flow: row !important;
		justify-content: space-between !important;
		justify-items: start !important;
		align-items: start !important;
		column-gap: 0 !important;
		row-gap: var(--lf-footer-adaptive-row-gap, 56px) !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__stack {
		display: contents !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid > .lf-footer__col,
	#bx_eshop_wrap > footer.lf-footer .lf-footer__stack > .lf-footer__col {
		grid-column: auto !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

@media (max-width: 767px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__main {
		padding: 0 0 var(--lf-footer-grid-to-line, 80px) !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		align-items: start !important;
		justify-content: stretch !important;
		justify-items: start !important;
		column-gap: var(--lf-footer-adaptive-col-gap, var(--lf-footer-col-gap)) !important;
		row-gap: var(--lf-footer-adaptive-row-gap, 56px) !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__stack {
		display: contents !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid > .lf-footer__col,
	#bx_eshop_wrap > footer.lf-footer .lf-footer__stack > .lf-footer__col {
		grid-column: auto !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__bottom {
		height: auto !important;
		max-height: none !important;
		min-height: calc(var(--lf-footer-bottom-height, 68px) + 1px) !important;
		padding-top: 28px !important;
		padding-bottom: 28px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: stretch !important;
	}
}

@media (max-width: 479px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__inner {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__grid {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		grid-template-columns: unset !important;
		grid-auto-flow: unset !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__stack {
		display: contents !important;
	}
}

@media (min-width: 768px) {
	#bx_eshop_wrap > footer.lf-footer .lf-footer__bottom {
		box-sizing: border-box !important;
		min-height: calc(var(--lf-footer-bottom-height, 68px) + 1px) !important;
		height: auto !important;
		max-height: none !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: stretch !important;
	}

	#bx_eshop_wrap > footer.lf-footer .lf-footer__bottom-bar {
		width: 100% !important;
	}
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/css/lf-cart-preview.css?17836227839553*/
/* Превью корзины в шапке: поповер под иконкой корзины. JS позиционирует и показывает. */
/* Выше .lf-header (z-index: 12000), иначе шапка перекрывает верхнюю кромку поповера; ниже .lf-callback-modal (13000) */
.lf-cart-preview {
	position: fixed;
	top: 0;
	left: 0;
	width: 360px;
	max-width: calc(100vw - 24px);
	z-index: 12500;
	pointer-events: none;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

/* Стрелка-нотча сверху: указывает на иконку корзины. JS обновляет --lf-cart-preview-arrow-x под текущую иконку. */
.lf-cart-preview::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: var(--lf-cart-preview-arrow-x, calc(100% - 24px));
	width: 0;
	height: 0;
	margin-bottom: -1px;
	transform: translateX(-50%);
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 9px solid #ffffff;
	pointer-events: none;
	filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.06));
}

.lf-cart-preview.lf-cart-preview--open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@media (max-width: 1023px) {
	.lf-cart-preview,
	.lf-cart-preview.lf-cart-preview--open {
		display: none !important;
	}
}

.lf-cart-preview__inner {
	display: flex;
	flex-direction: column;
	max-height: min(70vh, 480px);
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0px 18px 44px 0px rgba(0, 0, 0, 0.16);
	overflow: hidden;
	font-family: 'Rubik', system-ui, sans-serif;
	color: #111111;
}

.lf-cart-preview__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px 12px;
	border-bottom: 1px solid #eeeeee;
}

.lf-cart-preview__title {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
	font-weight: 400;
	color: #111111;
}

.lf-cart-preview__items {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 14px 18px;
	overflow-y: auto;
	flex: 1 1 auto;
	min-height: 0;
}

.lf-cart-preview__items:empty {
	display: none;
}

.lf-cart-preview__items::-webkit-scrollbar {
	width: 6px;
}

.lf-cart-preview__items::-webkit-scrollbar-thumb {
	background: #d8d8dc;
	border-radius: 3px;
}

.lf-cart-preview__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 180px;
	padding: 40px 18px;
	text-align: center;
	color: #6f6f73;
	font-size: 14px;
}

/* Карточка позиции в превью: фото 3:4 + детали + удалить.
   Фото и текст одной высоты: фото 78×104 (3:4), у тела min-height = высоте фото, чтобы при коротком названии текст не «стягивал» строку. */
.lf-cart-preview__item {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: flex-start;
}

.lf-cart-preview__media {
	display: block;
	width: 78px;
	height: 104px; /* 3:4 */
	border-radius: 6px;
	overflow: hidden;
	background: #f3f3f5;
	flex: 0 0 auto;
}

.lf-cart-preview__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lf-cart-preview__body {
	min-width: 0;
	min-height: 104px;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lf-cart-preview__name {
	margin: 0;
	font-size: 14px;
	line-height: 1.3;
	font-weight: 500;
	color: #111111;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	text-decoration: none;
}

.lf-cart-preview__name:hover {
	color: #404042;
}

.lf-cart-preview__props {
	margin: 0;
	font-size: 12px;
	line-height: 1.35;
	color: #6f6f73;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 6px;
}

.lf-cart-preview__props-separator {
	color: #c0c0c4;
}

.lf-cart-preview__qty-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.25;
	color: #404042;
}

.lf-cart-preview__unit-price {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 4px 7px;
	min-width: 0;
}

.lf-cart-preview__price-old {
	position: relative;
	display: inline-flex;
	align-items: baseline;
	color: inherit;
	font-size: 13px;
	line-height: 1.2;
	font-weight: inherit;
	white-space: nowrap;
}

.lf-cart-preview__price-old::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1px;
	background: currentColor;
	transform: translateY(-50%);
}

.lf-cart-preview__price-current {
	display: inline-flex;
	align-items: baseline;
	color: inherit;
	font-weight: inherit;
	white-space: nowrap;
}

.lf-cart-preview__sum {
	font-size: 14px;
	line-height: 1.25;
	font-weight: 500;
	color: #111111;
	margin-top: 2px;
}

.lf-cart-preview__sum .lf-product-card__price-digits,
.lf-cart-preview__qty-row .lf-product-card__price-digits {
	font-variant-numeric: tabular-nums;
}

.lf-cart-preview__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid #d8d8dc;
	border-radius: 6px;
	background: #ffffff;
	color: #404042;
	cursor: pointer;
	flex: 0 0 auto;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.lf-cart-preview__remove:hover,
.lf-cart-preview__remove:focus-visible {
	background: #404042;
	border-color: #404042;
	color: #ffffff;
}

/* Без рамки фокуса после клика мышью; для клавиатурного focus-visible — рамка остаётся выше. */
.lf-cart-preview__remove:focus:not(:focus-visible) {
	outline: none;
}

.lf-cart-preview__remove[disabled] {
	opacity: 0.5;
	cursor: default;
}

.lf-cart-preview__footer {
	border-top: 1px solid #eeeeee;
	padding: 14px 18px 18px;
	background: #ffffff;
}

.lf-cart-preview__summary {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #eeeeee;
}

.lf-cart-preview__summary-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	font-size: 14px;
	line-height: 1.25;
	font-weight: 400;
	color: #404042;
}

.lf-cart-preview__summary-row strong {
	color: #111111;
	font-size: 15px;
	line-height: 1.25;
	font-weight: 500;
	text-align: right;
	white-space: nowrap;
}

.lf-cart-preview__summary-row--discount strong {
	color: #ff1734;
}

.lf-cart-preview__summary-row .lf-product-card__price-digits {
	font-variant-numeric: tabular-nums;
}

.lf-cart-preview__total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 12px;
	font-size: 16px;
	line-height: 1.25;
	color: #111111;
}

.lf-cart-preview__total strong {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.0195em;
}

.lf-cart-preview__total .lf-product-card__price-digits {
	font-variant-numeric: tabular-nums;
}

.lf-cart-preview__actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lf-cart-preview__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 16px;
	border-radius: 8px;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid transparent;
	-webkit-appearance: none;
	appearance: none;
}

/* Без рамки фокуса после клика мышью у обеих кнопок popover-а. */
.lf-cart-preview__btn:focus:not(:focus-visible) {
	outline: none;
}

/* Primary «Перейти в корзину» — стиль кнопки «Обратный звонок» в шапке (без тени). */
.lf-cart-preview__btn--primary {
	background: #404042;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.375;
	border: 0;
	box-shadow: none;
	transition: opacity 0.2s ease;
}

.lf-cart-preview__btn--primary:hover,
.lf-cart-preview__btn--primary:focus-visible {
	opacity: 0.88;
	background: #404042;
	color: #ffffff;
	box-shadow: none;
}

/* Ghost «Очистить корзину» — стиль кнопки «Запросить цену» из карточки каталога. */
.lf-cart-preview__btn--ghost {
	background: #ffffff;
	color: #0a0a0a;
	border: 1px solid #404042;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.15;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* Hover как у кнопки «Очистить» в умном фильтре: светло-серая заливка, текст и обводка не меняются. */
@media (hover: hover) and (pointer: fine) {
	.lf-cart-preview__btn--ghost:hover:not(:focus) {
		background: #f5f5f5;
		color: #0a0a0a;
		border-color: #404042;
	}
}

.lf-cart-preview__btn--ghost:focus:not(:focus-visible),
.lf-cart-preview__btn--ghost:focus:not(:focus-visible):hover {
	background: #ffffff;
	color: #0a0a0a;
	border: 1px solid #404042;
}

.lf-cart-preview__btn--ghost:focus-visible {
	outline: 2px solid rgba(64, 64, 66, 0.45);
	outline-offset: 2px;
	background: #ffffff;
	color: #0a0a0a;
	border: 1px solid #404042;
}

.lf-cart-preview--busy .lf-cart-preview__inner {
	pointer-events: none;
}

/* Адаптив: на узких экранах поповер растягивается почти на всю ширину */
@media (max-width: 480px) {
	.lf-cart-preview {
		width: calc(100vw - 16px);
	}

	.lf-cart-preview__items {
		padding: 12px 14px;
	}

	.lf-cart-preview__header {
		padding: 14px 14px 10px;
	}

	.lf-cart-preview__footer {
		padding: 12px 14px 14px;
	}
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/css/lf-compare-preview.css?17838940644431*/
/* Превью сравнения в шапке: поповер под иконкой сравнения (desktop hover). */
.lf-compare-preview {
	position: fixed;
	top: 0;
	left: 0;
	width: 360px;
	max-width: calc(100vw - 24px);
	z-index: 12500;
	pointer-events: none;
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 0.18s ease, transform 0.18s ease;
}

.lf-compare-preview::before {
	content: "";
	position: absolute;
	bottom: 100%;
	left: var(--lf-compare-preview-arrow-x, calc(100% - 24px));
	width: 0;
	height: 0;
	margin-bottom: -1px;
	transform: translateX(-50%);
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 9px solid #ffffff;
	pointer-events: none;
	filter: drop-shadow(0 -2px 2px rgba(0, 0, 0, 0.06));
}

.lf-compare-preview.lf-compare-preview--open {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

@media (max-width: 1023px) {
	.lf-compare-preview,
	.lf-compare-preview.lf-compare-preview--open {
		display: none !important;
	}
}

.lf-compare-preview__inner {
	display: flex;
	flex-direction: column;
	max-height: min(70vh, 420px);
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0px 18px 44px 0px rgba(0, 0, 0, 0.16);
	overflow: hidden;
	font-family: "Rubik", system-ui, sans-serif;
	color: #111111;
}

.lf-compare-preview__header {
	padding: 16px 18px 12px;
	border-bottom: 1px solid #eeeeee;
}

.lf-compare-preview__title {
	margin: 0;
	font-size: 18px;
	line-height: 1.25;
	font-weight: 400;
	color: #111111;
}

.lf-compare-preview__subtitle {
	margin: 4px 0 0;
	font-size: 13px;
	line-height: 1.35;
	color: #8d8d92;
}

.lf-compare-preview__items {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 14px 18px;
	overflow-y: auto;
	flex: 1 1 auto;
	min-height: 0;
}

.lf-compare-preview__items:empty {
	display: none;
}

.lf-compare-preview__items::-webkit-scrollbar {
	width: 6px;
}

.lf-compare-preview__items::-webkit-scrollbar-thumb {
	background: #d8d8dc;
	border-radius: 3px;
}

.lf-compare-preview__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 160px;
	padding: 32px 18px;
	text-align: center;
	color: #6f6f73;
	font-size: 14px;
	line-height: 1.4;
}

.lf-compare-preview__item {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: flex-start;
}

.lf-compare-preview__media {
	display: block;
	width: 78px;
	aspect-ratio: 3 / 4;
	border-radius: 8px;
	overflow: hidden;
	background: #f5f5f5;
	flex-shrink: 0;
}

.lf-compare-preview__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lf-compare-preview__body {
	min-height: 104px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lf-compare-preview__name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 400;
	color: #111111;
	text-decoration: none;
}

.lf-compare-preview__name:hover {
	color: #404042;
	text-decoration: none;
}

.lf-compare-preview__remove {
	-webkit-appearance: none;
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: #404042;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.lf-compare-preview__remove:hover,
.lf-compare-preview__remove:focus-visible {
	background: #f5f5f5;
	color: #111111;
}

.lf-compare-preview__remove:focus {
	outline: none;
}

.lf-compare-preview__footer {
	padding: 12px 18px 16px;
	border-top: 1px solid #eeeeee;
}

.lf-compare-preview__btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 10px 16px;
	border-radius: 8px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.lf-compare-preview__btn--primary {
	border: none;
	background: #404042;
	color: #ffffff;
}

.lf-compare-preview__btn--primary:hover,
.lf-compare-preview__btn--primary:focus-visible {
	background: #4d4d50;
	color: #ffffff;
	text-decoration: none;
}

.lf-compare-preview--busy .lf-compare-preview__inner {
	opacity: 0.72;
	pointer-events: none;
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/css/lf-catalog-pages.css?1783894064156735*/
﻿/*
 * Academy — положите .woff2 в папку шаблона (см. fonts/README.txt).
 * Пути от корня сайта: если шаблон переименуете, поменяйте префикс в url(/local/templates/eshop_bootstrap_v4/css/).
 * 404 в Network → Font = файла нет на диске или неверное имя (на Linux регистр букв важен).
 */
@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Regular.ttf") format("truetype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Bold.ttf") format("truetype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Bold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Lato';
	src: url("/local/templates/eshop_bootstrap_v4/fonts/Lato-Black.ttf") format("truetype");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}

/* Каталог и контакты: контент на всю ширину «хрома», как у блока с заголовком (без узкого Bootstrap .container) */
body.lf-catalog-page #bx_eshop_wrap > .workarea > .container.bx-content-section,
body.lf-section-heading-page #bx_eshop_wrap > .workarea > .container.bx-content-section {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	padding-right: var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px));
	box-sizing: border-box;
}

body.lf-catalog-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row,
body.lf-section-heading-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row {
	margin-left: 0;
	margin-right: 0;
}

body.lf-catalog-page #bx_eshop_wrap > .workarea > .container.bx-content-section .bx-content.col,
body.lf-section-heading-page #bx_eshop_wrap > .workarea > .container.bx-content-section .bx-content.col {
	padding-left: 0;
	padding-right: 0;
	flex: 1 1 100%;
	max-width: 100%;
}

/* Компактнее зазор до футера (перебивает header-custom у .workarea и Bootstrap .pb-4 у колонки листинга) */
body.lf-catalog-page #bx_eshop_wrap > .workarea {
	padding-bottom: clamp(10px, 1.8vw, 18px);
}

body.lf-catalog-page .lf-catalog-root-listing > .pb-4 {
	padding-bottom: 0.75rem !important;
}

/*
 * Совпадение с Figma: скопируйте из правой панели (Typography) значения в переменные ниже.
 * Семейство в Figma должно называться «Academy» — те же .woff2, что даёт лицензия (не подменяйте на похожий шрифт).
 */
body.lf-catalog-page,
body.lf-section-heading-page {
	/* Figma «Drop shadow»: X 0, Y 6, Blur 22, Spread 0, #000 25% — через drop-shadow как у слоя в Figma */
	--lf-cat-card-title-filter: drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25));
	--lf-heading-serif: 'Lato', sans-serif;
	--lf-heading-weight: 400;
	/* Заголовок страницы (#pagetitle), напр. «Белье для отелей» — как в макете */
	--lf-pagetitle-weight: var(--lf-heading-weight);
	--lf-pagetitle-size: clamp(1.75rem, 3vw, 2.25rem);
	--lf-pagetitle-line-height: 1.2;
	--lf-pagetitle-letter-spacing: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*
 * Зазор крошки → H1: перебиваем Bootstrap (.row > * margin), фикс. высоту .bx-breadcrumb-item (22px в ядре)
 * и возможный margin у h1 из общих стилей — flex-колонка + !important.
 */
body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	row-gap: 0;
	padding-bottom: clamp(6px, 1vw, 12px);
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs {
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	width: 100%;
	max-width: 100%;
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs > *,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .lf-after-header__crumbs #navigation,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .lf-after-header__crumbs #navigation {
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .bx-breadcrumb,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .bx-breadcrumb {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25;
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .bx-breadcrumb-item,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .bx-breadcrumb-item {
	height: auto !important;
	min-height: 0;
	line-height: 1.25;
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .bx-breadcrumb-item-link,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header .bx-breadcrumb-item-link {
	line-height: 1.25;
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header #pagetitle,
body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header #pagetitle {
	font-family: var(--lf-heading-serif);
	font-weight: var(--lf-pagetitle-weight);
	font-size: var(--lf-pagetitle-size);
	line-height: var(--lf-pagetitle-line-height);
	letter-spacing: var(--lf-pagetitle-letter-spacing);
	font-synthesis: none;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	width: 100%;
}

body.lf-section-heading-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header #pagetitle {
	color: #0f172a;
}

/*
 * Страницы только с lf-section-heading-page (без lf-catalog-page):
 * зазор крошки → H1 как у каталога.
 * !important — перебить ui.bootstrap / стили ядра после ShowHead.
 */
body.lf-section-heading-page:not(.lf-catalog-page) #bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs {
	margin-top: 0 !important;
	margin-bottom: 6px !important;
	padding: 0 !important;
}

body.lf-section-heading-page:not(.lf-catalog-page) #bx_eshop_wrap > .container.bx-content-section.lf-after-header > .row.lf-after-header__crumbs > * {
	margin: 0 !important;
	padding: 0 !important;
}

body.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header
	.lf-after-header__crumbs
	#navigation {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header
	#pagetitle.lf-after-header__title,
body.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header
	#pagetitle {
	margin: 0 !important;
	padding: 0 !important;
}

body.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header
	.bx-breadcrumb {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25 !important;
}

body.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header
	.bx-breadcrumb-item {
	height: auto !important;
	min-height: 0;
	line-height: 1.25 !important;
}

/* Заголовок «Все товары» над листингом — те же параметры шрифта, что у H1 «Каталог» */
body.lf-catalog-page .lf-catalog-all-products-heading-wrap {
	margin: 0 0 1.25rem;
	text-align: left;
	padding-left: 0;
	padding-right: 0;
}

body.lf-catalog-page .lf-catalog-all-products-heading-wrap .lf-cat-dir__heading {
	margin: 0 0 0.35rem;
	font-family: var(--lf-heading-serif);
	font-weight: var(--lf-pagetitle-weight);
	font-size: var(--lf-pagetitle-size);
	line-height: var(--lf-pagetitle-line-height);
	letter-spacing: var(--lf-pagetitle-letter-spacing);
	font-synthesis: none;
	text-align: left;
	color: #0f172a;
}

/* Как у H1: без max-width и margin auto из home-catalog-directions (.lf-cat-dir__sub) */
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__sub {
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	text-align: left;
}

/* Заголовок «Подбор параметров» не выводим визуально */
body.lf-catalog-page .smart-filter .smart-filter-title {
	display: none !important;
}

/* Заголовки блоков фильтра (Цвет, Размер, …): Academy 400, компактнее страничного H1 */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title-text {
	font-family: var(--lf-heading-serif) !important;
	font-weight: var(--lf-pagetitle-weight) !important;
	font-size: 21px !important;
	line-height: 1.35 !important;
	letter-spacing: var(--lf-pagetitle-letter-spacing) !important;
	font-synthesis: none;
	color: #0f172a !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .bx-active .smart-filter-parameters-box-title-text {
	color: #0f172a !important;
}

/* --- Корень каталога: сетка как на главной (.lf-cat-dir) + мега-панель подразделов --- */

/* Catalog categories: local copy of the home category card system, scoped to catalog pages. */
body.lf-catalog-page .lf-cat-dir {
	--lf-cat-card-title-filter: drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25));
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.lf-catalog-page .lf-cat-dir__gutter {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0 var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) 28px;
}

body.lf-catalog-page .lf-cat-dir__grid {
	--lf-cat-dir-gap: clamp(8px, 1vw + 4px, 18px);
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--lf-cat-dir-gap);
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scroll-snap-type: none;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 5px), transparent calc(100% - 1px));
	mask-image: linear-gradient(to right, #000 calc(100% - 5px), transparent calc(100% - 1px));
}

body.lf-catalog-page .lf-cat-dir__grid::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.lf-catalog-page .lf-cat-dir__cell {
	flex: 0 0 calc((100% - 2 * var(--lf-cat-dir-gap)) / 3);
	margin: 0;
	padding: 0;
	scroll-snap-align: start;
}

/* Случай "< 4 разделов" в корне каталога: hscroll-обёртка не рендерится, и стили мега-сабменю
 * из «:has(:nth-child(4))» не цепляются. Повторяем геометрию здесь, но без padding-bottom reserve
 * (полоса прокрутки скрыта, её отрицательный margin-top компенсировать гигантский зазор не может).
 * Мега-панель будет показываться поверх контента ниже (z-index 121 уже стоит). */
body.lf-catalog-page .lf-cat-dir--catalog-root:not(.lf-cat-dir--root-grid-hscroll) .lf-cat-dir__grid {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--lf-root-grid-gap);
	overflow: visible;
	scroll-snap-type: none;
	scrollbar-width: none;
	-ms-overflow-style: none;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	-webkit-mask-image: none;
	mask-image: none;
}

body.lf-catalog-page .lf-cat-dir--catalog-root:not(.lf-cat-dir--root-grid-hscroll) .lf-cat-dir__grid::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.lf-catalog-page .lf-cat-dir--catalog-root:not(.lf-cat-dir--root-grid-hscroll) .lf-cat-dir__cell {
	overflow: visible;
	flex: 0 0 calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
	width: calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
	min-width: calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
	max-width: calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
}

@media (max-width: 719px) {
	body.lf-catalog-page .lf-cat-dir--catalog-root:not(.lf-cat-dir--root-grid-hscroll) .lf-cat-dir__cell {
		flex: 0 0 calc((100% - var(--lf-root-grid-gap)) / 2);
		width: calc((100% - var(--lf-root-grid-gap)) / 2);
		min-width: calc((100% - var(--lf-root-grid-gap)) / 2);
		max-width: calc((100% - var(--lf-root-grid-gap)) / 2);
	}
}

/* Чтобы мега не обрезалась обёртками выше по дереву */
body.lf-catalog-page .lf-cat-dir--catalog-root:not(.lf-cat-dir--root-grid-hscroll),
body.lf-catalog-page .lf-cat-dir--catalog-root:not(.lf-cat-dir--root-grid-hscroll) .lf-cat-dir__gutter {
	overflow: visible;
}

@media (max-width: 719px) {
	body.lf-catalog-page .lf-cat-dir__cell {
		flex: 0 0 calc((100% - var(--lf-cat-dir-gap)) / 2);
	}
}

body.lf-catalog-page .lf-cat-dir__card {
	display: block;
	position: relative;
	border-radius: 14px;
	overflow: hidden;
	text-decoration: none;
	color: #f8fafc;
	background: #0f172a;
	box-shadow: none;
	aspect-ratio: 3 / 4;
	isolation: isolate;
	container-type: inline-size;
	container-name: lf-cat-card;
}

body.lf-catalog-page .lf-cat-dir__card:hover,
body.lf-catalog-page .lf-cat-dir__card:focus-visible {
	outline: none;
}

body.lf-catalog-page .lf-cat-dir__card:focus-visible {
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px #0f766e;
}

body.lf-catalog-page .lf-cat-dir__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(145deg, #2d2d2d 0%, #1f1f1f 50%, #1a1a1a 100%);
}

body.lf-catalog-page .lf-cat-dir__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.45s ease;
}

body.lf-catalog-page .lf-cat-dir__card:hover .lf-cat-dir__img,
body.lf-catalog-page .lf-cat-dir__card:focus-visible .lf-cat-dir__img {
	transform: scale(1.06);
}

body.lf-catalog-page .lf-cat-dir__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.2);
	pointer-events: none;
	transition: background 0.25s ease;
}

body.lf-catalog-page .lf-cat-dir__card:hover .lf-cat-dir__scrim,
body.lf-catalog-page .lf-cat-dir__card:focus-visible .lf-cat-dir__scrim {
	background: rgba(0, 0, 0, 0.28);
}

body.lf-catalog-page .lf-cat-dir__title {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8.5%;
	z-index: 2;
	box-sizing: border-box;
	max-width: none;
	margin: 0;
	padding: 0 clamp(8px, 6cqw, 18px);
	background: transparent;
	color: #fff;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: clamp(12px, 8cqw, 24px);
	line-height: 1.2;
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
	text-shadow: none;
	filter: var(--lf-cat-card-title-filter, drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25)));
	-webkit-filter: var(--lf-cat-card-title-filter, drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25)));
	white-space: normal;
	overflow: hidden;
	hyphens: auto;
	overflow-wrap: break-word;
}

@container lf-cat-card (min-width: 240px) {
	body.lf-catalog-page .lf-cat-dir__title {
		letter-spacing: 0.1em;
	}
}

.lf-cat-dir--catalog-root {
	position: relative;
	margin-bottom: 1.25rem;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/*
 * Корень /catalog/: 24px от H1 «Каталог» до сетки направлений и 24px до заголовка «Все товары».
 * Отступ до сетки — padding-top у первой строки workarea (после lf-after-header без «двойного» padding-bottom).
 * До «Все товары» — margin-top у обёртки заголовка; у блока направлений убираем лишний margin/padding снизу.
 */
body.lf-catalog-page.lf-catalog-root-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header {
	padding-bottom: 0 !important;
}

body.lf-catalog-page.lf-catalog-root-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row:first-of-type {
	padding-top: 24px;
	box-sizing: border-box;
}

body.lf-catalog-page.lf-catalog-root-page #bx_eshop_wrap > .workarea .lf-cat-dir--catalog-root {
	margin-bottom: 0 !important;
}

body.lf-catalog-page.lf-catalog-root-page #bx_eshop_wrap > .workarea .lf-catalog-all-products-heading-wrap {
	margin-top: 24px !important;
	margin-bottom: 1.25rem;
}

/*
 * Разделы / подразделы: «Все товары» — как на корне /catalog/ (24px сверху, 1.25rem снизу у обёртки).
 * Без #bx_eshop_wrap: иначе перебивает более узкое правило для .lf-cat-dir--section-child-strip--lead (там margin-top: 0).
 */
body.lf-catalog-page:not(.lf-catalog-root-page) .workarea .lf-catalog-all-products-heading-wrap {
	margin-top: 24px;
	margin-bottom: 1.25rem;
}

/* Субменю (мега) должно перекрывать «Найдено», разделитель и сортировку — только пока открыта панель */
@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
	body.lf-catalog-page .lf-cat-dir--catalog-root:has(.lf-cat-dir__cell:hover),
	body.lf-catalog-page .lf-cat-dir--catalog-root:has(.lf-cat-dir__cell:focus-within) {
		z-index: 100;
	}
}

/* Выравнивание с шапкой и крошками: горизонтальный отступ уже задаёт .workarea > .container (lf-chrome-pad-x), без второго слоя из .lf-cat-dir__gutter */
body.lf-catalog-page #bx_eshop_wrap > .workarea .lf-cat-dir--catalog-root .lf-cat-dir__gutter {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	padding-bottom: 18px;
}

body.lf-catalog-page.lf-catalog-root-page #bx_eshop_wrap > .workarea .lf-cat-dir--catalog-root .lf-cat-dir__gutter {
	padding-bottom: 0 !important;
}

.lf-cat-dir--catalog-root .lf-cat-dir__cell {
	position: relative;
}

/* Выше .product-item-container.hover (z-index:17 в bootstrap_v4), иначе полоска цены карточки товара наезжает на субменю */
@media (hover: hover) and (pointer: fine) {
	.lf-cat-dir--catalog-root .lf-cat-dir__cell:hover,
	.lf-cat-dir--catalog-root .lf-cat-dir__cell:focus-within {
		z-index: 120;
	}
}

/*
 * Корень /catalog/: при >3 категорий — горизонтальная лента + полоска.
 * Субменю снова absolute к ячейке: у ul padding-bottom (запас под панель), иначе overflow-x/y режет мегу.
 */
body.lf-catalog-page .lf-cat-dir--catalog-root {
	--lf-root-grid-gap: 14px;
	--lf-root-cat-mega-reserve: clamp(200px, 45vmin, 400px);
}

@media (min-width: 576px) {
	body.lf-catalog-page .lf-cat-dir--catalog-root {
		--lf-root-grid-gap: 16px;
	}
}

@media (min-width: 992px) {
	body.lf-catalog-page .lf-cat-dir--catalog-root {
		--lf-root-grid-gap: 18px;
	}
}

body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] {
	min-width: 0;
}

body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] .lf-cat-root__mega-inner {
	--lf-mega-sub-gap: 8px;
	gap: var(--lf-mega-sub-gap) !important;
	scroll-snap-type: none !important;
	overscroll-behavior-x: contain;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

@media (min-width: 576px) {
	body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] .lf-cat-root__mega-inner {
		--lf-mega-sub-gap: 10px;
		gap: var(--lf-mega-sub-gap) !important;
	}
}

@media (min-width: 992px) {
	body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] .lf-cat-root__mega-inner {
		--lf-mega-sub-gap: 12px;
		gap: var(--lf-mega-sub-gap) !important;
	}
}

/* Полоска под карточками: ul с запасом под мегу, бар подтягиваем вверх */
body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll > .lf-cat-dir__gutter > .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] > .lf-cat-root__mega-bar {
	margin-top: calc(-1 * var(--lf-root-cat-mega-reserve) + var(--lf-mega-bar-gap, 8px));
}

/*
 * Порядок укладки в обёртке корневой ленты:
 *   .lf-cat-root__mega-scroll
 *   ├── ul.lf-cat-dir__grid--hscroll          ← карточки + мега-сабменю абсолютно от ячейки
 *   └── .lf-cat-root__mega-bar                 ← полоса прокрутки, идёт ПОСЛЕ ul в DOM
 * И UL, и бар имеют z-index auto, поэтому бар по DOM-порядку рисуется поверх UL и
 * накрывает раскрытое сабменю (которое лежит внутри ul + его ячейки). Поднимаем UL
 * выше бара локальным z-index — мега-сабменю теперь полностью перекрывает слайдер,
 * полоса прокрутки уходит под него. Применимо ко всем страницам каталога, где
 * рендерится корневая лента (catalog.section.list/lerofabric_scroll).
 */
body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) {
	position: relative;
	z-index: 2;
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) {
	pointer-events: none;
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll > .lf-cat-dir__cell,
body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll > .lf-cat-dir__cell *,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) > .lf-cat-dir__cell,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) > .lf-cat-dir__cell *,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega *,
body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] > .lf-cat-root__mega-bar,
body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] > .lf-cat-root__mega-bar * {
	pointer-events: auto;
}

/* Только внешняя полоса прокрутки корневой ленты; вложенная (внутри открытой меги) не трогаем. */
body.lf-catalog-page .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] > .lf-cat-root__mega-bar {
	z-index: 1;
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch;
	gap: var(--lf-root-grid-gap) !important;
	overflow-x: auto;
	overflow-y: hidden;
	align-content: flex-start;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
	scroll-snap-type: none !important;
	scrollbar-width: none;
	-ms-overflow-style: none;
	grid-template-columns: unset !important;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding-bottom: var(--lf-root-cat-mega-reserve);
	margin-bottom: 0;
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll::-webkit-scrollbar,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4))::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__cell,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) > .lf-cat-dir__cell {
	overflow: visible;
	flex: 0 0 calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
	width: calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
	min-width: calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
	max-width: calc((100% - 2 * var(--lf-root-grid-gap)) / 3);
}

@media (max-width: 719px) {
	body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__cell,
	body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) > .lf-cat-dir__cell {
		flex: 0 0 calc((100% - var(--lf-root-grid-gap)) / 2);
		width: calc((100% - var(--lf-root-grid-gap)) / 2);
		min-width: calc((100% - var(--lf-root-grid-gap)) / 2);
		max-width: calc((100% - var(--lf-root-grid-gap)) / 2);
	}
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll > .lf-cat-dir__gutter > .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] {
	overflow: visible;
	min-width: 0;
}

/* Мега-панель под карточкой категории */
.lf-cat-root__mega {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	bottom: auto;
	width: auto;
	max-width: 100%;
	min-width: 0;
	transform: none;
	box-sizing: border-box;
	z-index: 121;
	padding: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 12px 40px rgba(15, 23, 42, 0.14);
	max-height: none;
	overflow: visible;
}

/* Обёртка: ряд карточек + кастомная полоска прокрутки (логика в component_epilog.php) */
.lf-cat-root__mega::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -10px;
	height: 10px;
}

.lf-cat-root__mega-scroll {
	--lf-mega-scroll-track: rgba(0, 0, 0, 0.06);
	--lf-mega-scroll-thumb: rgba(0, 0, 0, 0.38);
	--lf-mega-scroll-thumb-hover: rgba(0, 0, 0, 0.52);
	--lf-mega-bar-h: 4px;
	--lf-mega-bar-gap: 8px;
	display: block;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Подкатегории: в видимой зоне 3 карточки; нативный скроллбар скрыт — своя полоска снизу */
.lf-cat-root__mega-inner {
	--lf-mega-sub-gap: 8px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: var(--lf-mega-sub-gap);
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	max-height: none;
	padding-bottom: 0;
}

.lf-cat-dir--catalog-root .lf-cat-root__mega-inner::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.lf-cat-root__mega-bar {
	position: relative;
	width: 100%;
	height: var(--lf-mega-bar-h);
	margin-top: var(--lf-mega-bar-gap);
	border-radius: 999px;
	background: var(--lf-mega-scroll-track);
	box-sizing: border-box;
	flex-shrink: 0;
	touch-action: none;
	cursor: pointer;
}

.lf-cat-root__mega-bar[hidden] {
	display: none !important;
}

.lf-cat-root__mega-bar__thumb {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	min-width: 20px;
	border-radius: 999px;
	background: var(--lf-mega-scroll-thumb);
	box-sizing: border-box;
	cursor: grab;
	touch-action: none;
	transition: background 0.15s ease;
}

.lf-cat-root__mega-bar__thumb:hover {
	background: var(--lf-mega-scroll-thumb-hover);
}

.lf-cat-root__mega-bar__thumb.lf-cat-root__mega-bar__thumb--dragging {
	cursor: grabbing;
	background: var(--lf-mega-scroll-thumb-hover);
	transition: none;
}

body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega-bar--catalog-adaptive {
	height: 3px;
	margin-top: 10px;
	border-radius: 2px;
	background: rgba(15, 23, 42, 0.06);
}

body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll > .lf-cat-dir__gutter > .lf-cat-root__mega-scroll[data-lf-cat-dir-root-grid-scroll="1"] > .lf-cat-root__mega-bar--catalog-adaptive {
	margin-top: calc(-1 * var(--lf-root-cat-mega-reserve) + 10px);
}

body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega-bar--catalog-adaptive .lf-cat-root__mega-bar__thumb {
	border-radius: 2px;
	background: rgba(15, 23, 42, 0.35);
}

body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega-bar--catalog-adaptive .lf-cat-root__mega-bar__thumb:hover,
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega-bar--catalog-adaptive .lf-cat-root__mega-bar__thumb.lf-cat-root__mega-bar__thumb--dragging {
	background: rgba(15, 23, 42, 0.55);
}

.lf-cat-root__mega-inner:focus:not(:focus-visible) {
	outline: none;
}

.lf-cat-root__mega-inner:focus-visible {
	outline: 2px solid #1e3a5f;
	outline-offset: 2px;
}

/* Подкатегории в мега-меню под корнем каталога — компактные квадратные плитки (как было до унификации с сеткой) */
.lf-cat-root__sub {
	display: block;
	position: relative;
	box-sizing: border-box;
	border-radius: 14px;
	overflow: visible;
	text-decoration: none;
	color: #f8fafc;
	background: #0f172a;
	border: none;
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.12);
	aspect-ratio: 3 / 4;
	min-height: 0;
	isolation: isolate;
	transition: box-shadow 0.2s ease;
	flex: 0 0 calc((100% - 2 * var(--lf-mega-sub-gap)) / 3);
	width: calc((100% - 2 * var(--lf-mega-sub-gap)) / 3);
	min-width: calc((100% - 2 * var(--lf-mega-sub-gap)) / 3);
	max-width: calc((100% - 2 * var(--lf-mega-sub-gap)) / 3);
	scroll-snap-align: start;
	scroll-snap-stop: normal;
}

.lf-cat-root__sub:hover,
.lf-cat-root__sub:focus-visible {
	outline: none;
	box-shadow: 0 10px 32px rgba(15, 23, 42, 0.16);
}

.lf-cat-root__sub:focus-visible {
	box-shadow: 0 0 0 3px #fff, 0 0 0 5px #0f766e;
}

/* Выбранная сеткой категория на корне каталога (AJAX-листинг без ухода со страницы) */
body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__sub--lf-picked {
	box-shadow: 0 0 0 3px #0d9488, 0 10px 32px rgba(15, 23, 42, 0.2);
}

body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__card--lf-picked {
	outline: 3px solid #0d9488;
	outline-offset: 4px;
	border-radius: 14px;
}

.lf-cat-root__sub-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: 14px;
	overflow: hidden;
	background: linear-gradient(145deg, #2d2d2d 0%, #1f1f1f 50%, #1a1a1a 100%);
}

.lf-cat-root__sub-img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.45s ease;
}

.lf-cat-root__sub:hover .lf-cat-root__sub-img,
.lf-cat-root__sub:focus-visible .lf-cat-root__sub-img {
	transform: scale(1.06);
}

.lf-cat-root__sub-scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.2);
	pointer-events: none;
	transition: background 0.25s ease;
}

.lf-cat-root__sub:hover .lf-cat-root__sub-scrim,
.lf-cat-root__sub:focus-visible .lf-cat-root__sub-scrim {
	background: rgba(0, 0, 0, 0.28);
}

.lf-cat-root__sub-name {
	position: absolute;
	left: 0;
	bottom: 8.5%;
	right: 0;
	transform: none;
	z-index: 2;
	box-sizing: border-box;
	max-width: none;
	margin: 0;
	padding: 0 10px;
	background: transparent;
	color: #ffffff;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: calc(0.8125rem - 2px);
	line-height: 1.142857;
	letter-spacing: 0.1em;
	text-align: center;
	text-transform: uppercase;
	border: none;
	border-radius: 0;
	text-shadow: none;
	filter: var(--lf-cat-card-title-filter, drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25)));
	-webkit-filter: var(--lf-cat-card-title-filter, drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25)));
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	hyphens: none;
	overflow-wrap: normal;
	word-break: normal;
}

@media (min-width: 992px) and (hover: hover) and (pointer: fine) {
	.lf-cat-dir--catalog-root .lf-cat-dir__cell:hover .lf-cat-root__mega,
	.lf-cat-dir--catalog-root .lf-cat-dir__cell:focus-within .lf-cat-root__mega {
		display: block;
	}
}

/* --- Страница раздела: подкатегории (как мега-карточки на корне), без hover-панели; 3 в окне + скролл --- */
@media (max-width: 991.98px), (hover: none), (pointer: coarse) {
	body.lf-catalog-page .lf-cat-dir--catalog-root {
		--lf-root-cat-mega-reserve: 0px;
	}

	body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__mega {
		display: none !important;
	}

	body.lf-catalog-page .lf-cat-dir--catalog-root.lf-cat-dir--root-grid-hscroll .lf-cat-dir__grid--hscroll,
	body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-dir__grid:has(> .lf-cat-dir__cell:nth-child(4)) {
		padding-bottom: 0;
		/* iOS: вернуть нативный свайп пальцем. pointer-events:none на контейнере (см. блок выше)
		   нужен только для hover-меги на десктопе, а здесь мега уже display:none — без auto
		   -webkit-overflow-scrolling-контейнер не ловит тач и не скроллится в Safari. */
		pointer-events: auto;
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	body.lf-catalog-page .lf-cat-dir--catalog-root .lf-cat-root__sub {
		flex: 0 0 calc((100% - var(--lf-mega-sub-gap)) / 2);
		width: calc((100% - var(--lf-mega-sub-gap)) / 2);
		min-width: calc((100% - var(--lf-mega-sub-gap)) / 2);
		max-width: calc((100% - var(--lf-mega-sub-gap)) / 2);
	}
}

body.lf-catalog-page .lf-cat-dir--section-child-strip {
	position: relative;
	margin: 0;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Полоса с заголовком «Категории»: верх основной колонки листинга — те же боковые отступы, что у сетки товаров */
body.lf-catalog-page .lf-catalog-root-listing .lf-cat-dir--section-child-strip--lead {
	margin-top: 0;
}

body.lf-catalog-page .lf-catalog-root-listing .lf-cat-dir--section-child-strip--lead .lf-catalog-all-products-heading-wrap {
	margin-top: 0;
	margin-bottom: 24px;
}

body.lf-catalog-page .lf-catalog-root-listing .lf-cat-dir--section-child-strip--lead .lf-catalog-all-products-heading-wrap .lf-cat-dir__heading {
	margin-bottom: 0;
}

body.lf-catalog-page #bx_eshop_wrap > .workarea .lf-cat-dir--section-child-strip .lf-cat-dir__gutter--section-child-strip {
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	padding-bottom: 24px;
}

@media (max-width: 991px) {
	body.lf-catalog-page #bx_eshop_wrap > .workarea .lf-cat-dir--section-child-strip .lf-cat-dir__gutter--section-child-strip {
		padding-bottom: 20px;
	}
}

body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__mega-inner::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

/* Только блок «Категории» (страница раздела / шапка): как .lf-cat-dir__card + .lf-cat-dir__title; мега под корнем каталога не трогаем */
body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__mega-inner {
	/* Подкатегории в полосе раздела: плотнее зазор между плитками */
	--lf-mega-sub-gap: 10px;
	overscroll-behavior-x: contain;
	/* scroll-snap ломает программный/колёсный скролл в части браузеров */
	scroll-snap-type: none;
}

/* Под баннером раздела — ещё плотнее, визуально шире плитки */
body.lf-catalog-page .lf-cat-dir--section-child-strip--header .lf-cat-root__mega-inner {
	--lf-mega-sub-gap: 8px;
}

/* Полоса «Категории»: без обводки (на корне мега-внутренности — контур только :focus-visible) */
body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__mega-inner:focus,
body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__mega-inner:focus-visible {
	outline: none !important;
	box-shadow: none;
}

body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__sub {
	min-height: 200px;
	aspect-ratio: 3 / 4;
	container-type: inline-size;
	container-name: lf-cat-card;
}

@media (min-width: 992px) {
	body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__sub {
		aspect-ratio: 3 / 4;
		min-height: 220px;
	}
}

@media (max-width: 719px) {
	body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__sub {
		flex: 0 0 calc((100% - var(--lf-mega-sub-gap)) / 2);
		width: calc((100% - var(--lf-mega-sub-gap)) / 2);
		min-width: calc((100% - var(--lf-mega-sub-gap)) / 2);
		max-width: calc((100% - var(--lf-mega-sub-gap)) / 2);
		min-height: 0;
	}
}

body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__sub-name {
	left: 0;
	right: 0;
	bottom: 8.5%;
	width: auto;
	max-width: none;
	padding: 0 18px;
	/* Как .lf-cat-dir__title на корне /catalog/ (карточки под «Каталог»): Rubik 400, 24/32, 10% letter-spacing, центр */
	font-size: clamp(12px, 8cqw, 24px);
	line-height: 1.2;
	letter-spacing: 0.06em;
	font-weight: 400;
	white-space: normal;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	text-overflow: clip;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
	text-align: center;
	text-shadow: none;
	filter: var(--lf-cat-card-title-filter, drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25)));
	-webkit-filter: var(--lf-cat-card-title-filter, drop-shadow(0 6px 22px rgba(0, 0, 0, 0.25)));
}

/* --- Умный фильтр: горизонтальная «палитра» цветов (COLOR_REF с картинками в админке) --- */

@container lf-cat-card (min-width: 240px) {
	body.lf-catalog-page .lf-cat-dir--section-child-strip .lf-cat-root__sub-name {
		letter-spacing: 0.1em;
	}
}

body.lf-catalog-page .smart-filter-horizontal .smart-filter-form > .row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 16px;
}

body.lf-catalog-page .smart-filter-horizontal .smart-filter-parameters-box {
	flex: 0 1 auto;
	min-width: 0;
	margin-bottom: 0 !important;
}

body.lf-catalog-page .smart-filter-horizontal .smart-filter-parameters-box.bx-active .smart-filter-block {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

body.lf-catalog-page .smart-filter-horizontal .smart-filter-checkbox-image,
body.lf-catalog-page .smart-filter-horizontal .smart-filter-checkbox-btn-image {
	width: 36px !important;
	height: 36px !important;
	border-radius: 50% !important;
	border: 2px solid #e2e8f0 !important;
	box-sizing: border-box;
	background-size: cover !important;
	background-position: center !important;
	transition: transform 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
}

body.lf-catalog-page .smart-filter-horizontal .smart-filter-checkbox-image:hover,
body.lf-catalog-page .smart-filter-horizontal .smart-filter-checkbox-btn-image:hover {
	transform: scale(1.08);
	border-color: #94a3b8 !important;
}

body.lf-catalog-page .smart-filter-horizontal .bx-active .smart-filter-checkbox-image,
body.lf-catalog-page .smart-filter-horizontal .bx-active .smart-filter-checkbox-btn-image {
	border-color: #1e3a5f !important;
	box-shadow: 0 0 0 2px rgba(30, 58, 95, 0.2);
}

/* Подпись блока фильтра «Цвет» компактнее */
body.lf-catalog-page .smart-filter-horizontal .smart-filter-parameters-box-title {
	padding: 6px 0;
}

body.lf-catalog-page .smart-filter-horizontal .smart-filter-parameters-box-title-text {
	font-size: 23px !important;
	line-height: 1.35 !important;
}

/* Подписи значений в горизонтальном фильтре — меньше заголовков блоков */
body.lf-catalog-page .smart-filter-horizontal .smart-filter-checkbox-text.form-check-label,
body.lf-catalog-page .smart-filter-horizontal .smart-filter-param-text,
body.lf-catalog-page .smart-filter-horizontal .smart-filter-input-group-checkbox-pictures-text .smart-filter-checkbox-text {
	font-size: 14px !important;
	line-height: 1.35 !important;
	transform: translateY(1px);
}

/* Колонка с фильтром на lg: чуть шире, чем Bootstrap col-lg-2 (≈2.5 из 12) */
@media (min-width: 992px) {
	body.lf-catalog-page .lf-catalog-root-listing > .col-lg-2 {
		flex: 0 0 20.833333%;
		max-width: 20.833333%;
	}

	body.lf-catalog-page .lf-catalog-root-listing > .col-lg-10 {
		flex: 0 0 79.166667%;
		max-width: 79.166667%;
	}
}

/* Ширина сортировки = внутренняя ширина блока фильтра (колонка − padding колонки − padding .smart-filter) */
body.lf-catalog-page .lf-catalog-root-listing {
	container-type: inline-size;
	container-name: lf-catalog-root;
}

/*
 * Вертикальный умный фильтр (сайдбар): макет как на референсе — без смены разметки/JS компонента.
 * Горизонтальный режим (.smart-filter-horizontal) не затрагиваем.
 */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) {
	container-type: inline-size;
	container-name: lf-smart-filter;
	margin-bottom: 0;
	min-width: 0;
	max-width: 100%;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-weight: 400;
	color: #1a1a1a;
	background: #fff;
	border: 1px solid #ebebeb;
	border-radius: 11px;
	padding: 14px 12px;
	box-shadow: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-form > .row {
	margin-left: 0;
	margin-right: 0;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-form > .row > [class*="col"] {
	padding-left: 0;
	padding-right: 0;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box {
	margin-bottom: 0 !important;
	padding: 7px 6px;
	border-bottom: 1px solid #ebebeb;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-form > .row:first-of-type > .smart-filter-parameters-box:last-child {
	border-bottom: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title {
	display: flex;
	align-items: center;
	gap: 9px;
	width: 100%;
	padding: 5px 0;
	margin: 0;
	cursor: pointer;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
	pointer-events: auto;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-container-modef:empty {
	display: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title-text {
	flex: 1;
	min-width: 0;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angle {
	position: relative;
	z-index: 2;
	flex-shrink: 0;
	margin-left: auto;
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
	overflow: visible;
	box-sizing: border-box;
	pointer-events: auto;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angles {
	display: block !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	min-height: 30px !important;
	margin: 0 !important;
	line-height: 30px !important;
	transform: translate(-50%, -50%) !important;
	transition: transform 0.25s ease !important;
	cursor: pointer;
	pointer-events: auto;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0%200%2024%2024' fill='none'%3E%3Cpath d='M7%2010l5%205%205-5' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 18px 18px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angle-up .smart-filter-angles {
	transform: translate(-50%, -50%) rotate(180deg) !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angles:before,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angles:after {
	display: none !important;
	content: none !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-block {
	padding: 0 0 8px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box > .smart-filter-block {
	padding-top: 6px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-container {
	width: 100%;
	font-size: 14px;
	line-height: 1.35;
}

/* Чекбоксы списком */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-list .form-check {
	margin-bottom: 0.5rem;
	padding-left: 0;
	display: flex;
	align-items: center;
	gap: 11px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .form-check-input {
	position: static;
	margin: 0;
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	min-width: 16px;
	min-height: 16px;
	border-radius: 4px;
	border: 1px solid #cccccc;
	box-shadow: none;
	cursor: pointer;
	background-color: #fff;
	accent-color: #000000;
	-webkit-appearance: none;
	appearance: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .form-check-input:checked {
	background-color: #000000;
	border-color: #000000;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center 55%;
	background-size: 10px auto;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .form-check-input:focus {
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.12);
	border-color: #999;
	outline: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .form-check-input:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-text.form-check-label {
	font-size: 14px;
	line-height: 1.35;
	color: #1a1a1a;
	cursor: pointer;
	padding-top: 0;
	display: flex;
	align-items: center;
	transform: translateY(1px);
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-text.form-check-label [data-role^="count_"] {
	color: #757575;
	font-weight: 400;
}

/* Радио-список */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 11px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-param-text {
	font-size: 14px;
	line-height: 1.35;
	color: #1a1a1a;
	display: inline-flex;
	align-items: center;
	transform: translateY(1px);
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-param-text [data-role^="count_"] {
	color: #757575;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-checkbox input[type="radio"] {
	width: 16px;
	height: 16px;
	margin: 0;
	flex-shrink: 0;
	accent-color: #000000;
	cursor: pointer;
}

/* Поля «от / до» */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-container .form-control {
	border-radius: 8px;
	border-color: #e2e8f0;
	font-size: 14px;
	padding: 6px 10px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-container .form-control:focus {
	border-color: #94a3b8;
	box-shadow: 0 0 0 2px rgba(148, 163, 184, 0.25);
}

/* Слайдер диапазона: тонкая линия, ручки-кружки без «стрелок» */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-track-container {
	padding: 10px 4px 18px !important;
	overflow: visible !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-track {
	position: relative !important;
	height: 1px;
	background: #e5e7eb;
	border-radius: 999px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only .smart-filter-slider-track-container {
	padding: 8px 0 22px !important;
	padding-left: 10px !important;
	padding-right: 13px !important;
	box-sizing: border-box !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only .smart-filter-slider-track .lf-density-thumb-labels {
	margin-top: 18px !important;
	height: 1.35em !important;
	z-index: 130 !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only .lf-density-thumb-label {
	font-size: 13px !important;
	line-height: 1.35 !important;
}

/* «Плотность ткани»: небольшой зазор после блока ползунка (подписи к ручкам) до следующего раздела */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only {
	margin-bottom: 12px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-ruler {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-price-bar-vd {
	background: #d1d5db;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-price-bar-vn {
	background: #e5e7eb;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-price-bar-v {
	background: #1a1a1a;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle {
	position: absolute !important;
	top: 50% !important;
	width: 14px !important;
	height: 14px !important;
	margin-top: 0 !important;
	border: 0 !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 0 0 2px #1a1a1a, 0 1px 4px rgba(0, 0, 0, 0.12) !important;
	transform: translateY(-50%) !important;
	box-sizing: border-box !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle.left {
	margin-left: -7px !important;
	margin-right: 0 !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle.right {
	margin-right: -7px !important;
	margin-left: 0 !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle.left,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle.right {
	border: 0 !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle:hover {
	cursor: grab;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-slider-handle:active {
	cursor: grabbing;
}

/* Только «Плотность ткани»: чёрные ручки (полоска — общие правила слайдера выше) */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only .smart-filter-slider-handle,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only .smart-filter-slider-handle.left,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-number.lf-density-slider-only .smart-filter-slider-handle.right {
	background: #000000 !important;
	box-shadow: none !important;
	border: none !important;
}

/* Палитра / картинки в сетке */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures-text {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	align-items: center;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures .smart-filter-checkbox-label {
	float: none;
	margin: 0;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-btn {
	width: auto;
	height: auto;
	padding: 2px;
	border: none;
	background: transparent;
	border-radius: 50%;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-btn-image,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-image {
	width: 24px !important;
	height: 24px !important;
	min-width: 24px;
	min-height: 24px;
	border-radius: 50% !important;
	border: 1px solid rgba(0, 0, 0, 0.18) !important;
	box-sizing: border-box;
	background-size: cover !important;
	background-position: center !important;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.35);
	transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-btn-image:hover,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-image:hover {
	transform: scale(1.05);
	border-color: rgba(0, 0, 0, 0.35) !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .bx-active .smart-filter-checkbox-btn-image,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .bx-active .smart-filter-checkbox-image {
	border-color: #000000 !important;
	box-shadow: 0 0 0 2px #000000, inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures-text .smart-filter-checkbox-text {
	font-size: 14px;
	line-height: 1.35;
	color: #1e293b;
	padding-left: 6px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures-text .smart-filter-checkbox-text [data-role^="count_"] {
	color: #757575;
}

/* Ссылка «Показать все» / «Посмотреть всё» под палитрой (если выводится ядром или кастомом) */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-container > a,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures + a,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-tag .bx-tag-link {
	display: inline-block;
	margin-top: 10px;
	font-size: 0.8125rem;
	font-weight: 400;
	color: #757575 !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-container > a:hover,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures + a:hover,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-tag .bx-tag-link:hover {
	color: #1a1a1a !important;
}

/* Выпадающий список свойства */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-dropdown {
	height: auto;
	min-height: 38px;
	border-radius: 8px;
	border-color: #e2e8f0;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-block {
	height: 36px;
	border-radius: 7px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-text {
	height: 36px;
	line-height: 36px;
	font-size: 14px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-popup ul li label {
	font-size: 14px;
	line-height: 1.35;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-calendar-container input,
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-calendar-container .calendar {
	font-size: 14px;
}

/* Кнопки */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-button-box {
	margin-top: 0;
	padding-top: 8px;
	border-top: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-button-box .smart-filter-parameters-box-container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #set_filter {
	box-sizing: border-box;
	width: 100%;
	display: block;
	margin: 0;
	padding: 12px 16px;
	min-height: 48px;
	/* Figma Text-l/400, 16_22 — те же 16/22, что у «Очистить», для одинаковой высоты */
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	font-weight: 400;
	font-style: normal;
	line-height: 22px;
	letter-spacing: 0;
	text-align: center;
	color: #fff !important;
	background: #404042 !important;
	/* Без обводки (Bootstrap .btn-primary); высоту дают padding + min-height */
	border: none !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	transition: background 0.15s ease;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #set_filter:focus {
	outline: none !important;
	box-shadow: none !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #set_filter:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #set_filter:hover:not(:disabled) {
	background: #4d4d50 !important;
}

/* «Очистить»: белая кнопка, чёрная обводка, жирный текст (перебивает старый вид «ссылки») */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #del_filter {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 100%;
	display: block;
	margin: 0;
	padding: 12px 16px;
	min-height: 48px;
	/* Figma Text-l/500, 16_22; скругление и отступы как у «Применить» */
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	font-weight: 500 !important;
	font-style: normal;
	line-height: 22px;
	letter-spacing: 0;
	text-align: center;
	color: #000 !important;
	background: #fff !important;
	border: 1px solid #000 !important;
	border-radius: 8px !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background 0.15s ease;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #del_filter:hover:not(:disabled) {
	color: #000 !important;
	background: #f5f5f5 !important;
}

/* Клик мышью не даёт вторую обводку; контур только с клавиатуры (:focus-visible) */
body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #del_filter:focus {
	outline: none !important;
	box-shadow: none !important;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #del_filter:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-popup-result {
	margin-top: 6px;
	font-size: 0.8125rem;
	color: #757575;
	line-height: 1.4;
}

/* Та же типографика и заливка для кнопки в горизонтальном фильтре */
body.lf-catalog-page .smart-filter-horizontal #set_filter {
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.375;
	letter-spacing: 0;
	text-align: center;
	color: #fff !important;
	background: #404042 !important;
	border: none !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	transition: background 0.15s ease;
}

body.lf-catalog-page .smart-filter-horizontal #set_filter:hover:not(:disabled) {
	background: #4d4d50 !important;
}

body.lf-catalog-page .smart-filter-horizontal #set_filter:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-popup-result .arrow {
	display: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-popup-result a {
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.375;
	letter-spacing: 0;
	text-align: center;
}

/* Свотчи «Цвет» (умный фильтр): сетка кругов вместо списка текста */
body.lf-catalog-page .lf-smart-filter-color-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 14px;
	align-items: flex-start;
}

body.lf-catalog-page .lf-smart-filter-color-item {
	margin: 0;
	flex: 0 0 auto;
}

body.lf-catalog-page .lf-smart-filter-color-input.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.lf-catalog-page .lf-smart-filter-color-swatch {
	display: block;
	width: 36px;
	height: 36px;
	padding: 0;
	margin: 0;
	border-radius: 8px;
	cursor: pointer;
	box-sizing: border-box;
	position: relative;
	background: transparent;
	border: none;
	box-shadow: 0 0 0 2px #E5E5E5;
	transition: box-shadow 0.15s ease, transform 0.12s ease;
}

body.lf-catalog-page .lf-smart-filter-color-swatch:hover:not(.disabled) {
	transform: none;
}

body.lf-catalog-page .lf-smart-filter-color-swatch__inner {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	background-color: var(--lf-swatch, #cbd5e1);
}

body.lf-catalog-page .lf-smart-filter-color-swatch[data-lf-swatch-light="Y"] .lf-smart-filter-color-swatch__inner {
	box-shadow: none;
}

/* После клика чекбокс остаётся :focus — обводку только для клавиатуры (:focus-visible) */
body.lf-catalog-page .lf-smart-filter-color-input:focus + .lf-smart-filter-color-swatch {
	outline: none;
}

body.lf-catalog-page .lf-smart-filter-color-input:focus-visible + .lf-smart-filter-color-swatch {
	outline: 2px solid #000;
	outline-offset: 3px;
}

body.lf-catalog-page .lf-smart-filter-color-input:checked + .lf-smart-filter-color-swatch {
	box-shadow: 0 0 0 2px #404042;
}

body.lf-catalog-page .lf-smart-filter-color-input:checked:focus + .lf-smart-filter-color-swatch {
	outline: none;
}

body.lf-catalog-page .lf-smart-filter-color-swatch.disabled {
	opacity: 0.38;
	cursor: not-allowed;
	pointer-events: none;
}

body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-hint-icon {
	background: #94a3b8;
	font-size: 11px;
	line-height: 15px;
}

/* Карточки: скраб по фото; точки вынесены в блок над названием */
.product-item-image-wrapper.lf-catalog-scrub-ready {
	cursor: ew-resize;
	touch-action: pan-y;
}

/* Ссылка на детальную: как у названия — указатель; скраб по mousemove сохраняется */
.product-item.lf-product-card a.product-item-image-wrapper.lf-catalog-scrub-ready {
	cursor: pointer;
}

/*
 * Внутренние слои превью не участвуют в hit-test — клик попадает в <a>,
 * иначе в части браузеров/стеков активация ссылки на фото может не срабатывать.
 */
.product-item.lf-product-card a.product-item-image-wrapper .product-item-image-slider-slide-container,
.product-item.lf-product-card a.product-item-image-wrapper .product-item-image-slide,
.product-item.lf-product-card a.product-item-image-wrapper .product-item-image-original,
.product-item.lf-product-card a.product-item-image-wrapper .product-item-image-alternative,
.product-item.lf-product-card a.product-item-image-wrapper .product-item-image-slider-progress-bar-container,
.product-item.lf-product-card a.product-item-image-wrapper .product-item-image-slider-progress-bar,
.product-item.lf-product-card span.product-item-image-wrapper .product-item-image-slider-slide-container,
.product-item.lf-product-card span.product-item-image-wrapper .product-item-image-slide,
.product-item.lf-product-card span.product-item-image-wrapper .product-item-image-original,
.product-item.lf-product-card span.product-item-image-wrapper .product-item-image-alternative,
.product-item.lf-product-card span.product-item-image-wrapper .product-item-image-slider-progress-bar-container,
.product-item.lf-product-card span.product-item-image-wrapper .product-item-image-slider-progress-bar {
	pointer-events: none;
}

/* Точки слайдера над названием товара (без полоски поверх фото) */
.product-item.lf-product-card .lf-product-card__slider-dots {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2px 16px 0;
	/* Зазор до названия ≈ margin-bottom превью (12px); карточка — block, не flex (иначе пробелы в разметке дают «лестницу»). */
	margin: 0 0 12px;
	box-sizing: border-box;
}

.product-item.lf-product-card .lf-product-card__slider-dots-track {
	position: static !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	z-index: auto;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	padding: 0 !important;
	margin: 0 !important;
	width: 100%;
	max-width: 100%;
	text-align: center;
	opacity: 1 !important;
	background: none !important;
	box-shadow: none !important;
}

.product-item.lf-product-card .lf-product-card__slider-dots .product-item-image-slider-control {
	display: block !important;
	width: 8px !important;
	height: 8px !important;
	min-width: 8px !important;
	min-height: 8px !important;
	max-width: 8px !important;
	max-height: 8px !important;
	flex: 0 0 8px;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 50% !important;
	aspect-ratio: 1 / 1;
	box-sizing: border-box !important;
	background-color: #c4c4c8 !important;
	opacity: 1 !important;
	box-shadow: none !important;
	vertical-align: middle;
	line-height: 0 !important;
	font-size: 0 !important;
	cursor: default;
}

.product-item.lf-product-card .lf-product-card__slider-dots .product-item-image-slider-control.active,
.product-item.lf-product-card .lf-product-card__slider-dots .product-item-image-slider-control:hover {
	background-color: #0a0a0a !important;
}

/* AJAX-подгрузка: плотная вуаль + спиннер по центру */
body.lf-catalog-page .lf-catalog-products-loader {
	--lf-catalog-loader-x: 50%;
	--lf-catalog-loader-y: 50%;
	display: block !important;
	box-sizing: border-box !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
	color: transparent !important;
	text-align: center !important;
	overflow: hidden !important;
	background: rgba(255, 255, 255, 0.78) !important;
	background-image: none !important;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: none !important;
	font-family: inherit !important;
}

body.lf-catalog-page .lf-catalog-products-loader::after {
	content: "";
	position: absolute;
	left: var(--lf-catalog-loader-x, 50%);
	top: var(--lf-catalog-loader-y, 50%);
	display: block;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border-radius: 50%;
	border: 3px solid rgba(15, 23, 42, 0.12);
	border-top-color: rgba(15, 23, 42, 0.72);
	animation: lf-catalog-products-loader-spin 0.75s linear infinite;
	transform-origin: 50% 50%;
}

@keyframes lf-catalog-products-loader-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Список раздела: зазор между горизонтальными рядами карточек */
.catalog-section > .row[data-entity="items-row"] {
	margin-bottom: 20px;
}

.catalog-section > .row[data-entity="items-row"]:last-child {
	margin-bottom: 0;
}

/* —— Карточка товара (lf-product-card): превью, артикул, цена + круглая кнопка, «сердце» = сравнение —— */
.product-item.lf-product-card {
	position: relative;
	/*
	 * Не flex-column: переносы/пробелы между тегами в PHP дают текстовые узлы — в flex они
	 * становятся анонимными элементами (~высота строки) → лишний зазор над названием и под блоком цены.
	 */
	display: block;
	height: auto;
	min-height: 0;
	align-self: flex-start;
	width: 100%;
	box-sizing: border-box;
	width: 100%;
	max-width: 367px;
	margin: 0 auto;
	padding: 0 0 1px;
	border: none;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 4px 22px rgba(15, 23, 42, 0.08);
	/* visible: тень у кнопки избранного (drop-shadow по макету) не обрезается; превью режет .product-item-image-wrapper */
	overflow: visible;
	/* Круг «+»: от высоты строки цены × масштаб; иконка пропорциональна */
	--lf-card-price-size: 22px;
	--lf-card-price-line-height: 1.15;
	--lf-card-add-btn-scale: 1.5;
	--lf-card-add-btn-size: calc(var(--lf-card-price-size) * var(--lf-card-price-line-height) * var(--lf-card-add-btn-scale));
}

.bx-no-touch .product-item-container.hover .product-item.lf-product-card,
.bx-touch .product-item.lf-product-card {
	position: relative !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: 367px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	border: none !important;
	outline: none !important;
	box-shadow: 0 4px 22px rgba(15, 23, 42, 0.08) !important;
	animation: none !important;
	-webkit-animation: none !important;
}

/* Внешний контейнер Bitrix при hover не даём «вторую» подложку/рамку */
.product-item-container.hover:has(.lf-product-card) {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Превью: чуть ниже макета 367×522 для более компактной карточки */
.product-item.lf-product-card .product-item-image-wrapper {
	position: relative;
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 12px;
	padding-top: 0;
	height: auto;
	aspect-ratio: 3 / 4;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
	background: #f4f4f5;
}

.product-item.lf-product-card .product-item-image-original,
.product-item.lf-product-card .product-item-image-alternative,
.product-item.lf-product-card .product-item-image-slide {
	background-size: cover;
	background-position: center;
}

/* Название: Rubik 500, 15px */
.product-item.lf-product-card .product-item-title {
	margin: 0;
	padding: 0 16px;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: 0;
	text-align: left;
}

.product-item.lf-product-card .product-item-title a {
	color: #1a1a1a;
	text-decoration: none;
	font: inherit;
	letter-spacing: inherit;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	text-overflow: ellipsis;
}

.product-item.lf-product-card .product-item-title a:hover {
	color: #000;
}

.product-item.lf-product-card .lf-product-card__sku {
	margin: 5px 0 14px;
	padding: 0 16px;
	font-size: 12px;
	line-height: 1.15;
	color: #8d8d91;
	font-family: var(--lf-font-family, "Rubik", sans-serif);
	text-align: left;
}

/*
 * Ряд цена + кнопка: перебиваем bitrix/components/.../catalog.item/bootstrap_v4/style.css
 * (.product-item-info-container { margin-bottom: 8px }, .product-item-price-container { line-height: 1; text-align: center },
 * .product-item-button-container .btn { margin-bottom: 2px }) и класс btn-sm с шаблона.
 */
.product-item.lf-product-card .lf-product-card__price-row {
	display: flex;
	flex-direction: row;
	align-items: flex-end;
	justify-content: space-between;
	gap: 8px;
	padding: 0 16px 12px;
	margin-bottom: 0;
	box-sizing: border-box;
}

.product-item.lf-product-card .lf-product-card__price-row > .product-item-info-container {
	margin-bottom: 0 !important;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-price-container {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0 !important;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left !important;
	line-height: normal !important;
	gap: 0;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-price-current {
	display: inline-block;
	font-size: var(--lf-card-price-size);
	font-weight: 500;
	line-height: var(--lf-card-price-line-height);
	color: #0a0a0a;
	letter-spacing: -0.02em;
	font-family: var(--lf-font-family, "Rubik", sans-serif);
	vertical-align: bottom;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-price-current .lf-product-card__currency-prefix,
.product-item.lf-product-card .lf-product-card__price-row .product-item-price-current .lf-product-card__price-digits {
	font: inherit;
	letter-spacing: inherit;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-price-old {
	font-size: 14px;
	font-weight: 500;
	color: #8d8d91;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-price-old .lf-product-card__currency-prefix,
.product-item.lf-product-card .lf-product-card__price-row .product-item-price-old .lf-product-card__price-digits {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-info-container[data-entity="buttons-block"],
.product-item.lf-product-card .lf-product-card__buttons-visible {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
	align-items: flex-end;
	justify-content: flex-end;
	align-self: auto;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-button-container {
	margin: 0;
	text-align: right !important;
}

/* Цена по запросу (RATIO_PRICE <= 0): кнопка вместо цены и «в корзину»; высота ряда не больше обычной */
.product-item.lf-product-card .lf-product-card__request-price-only {
	display: none;
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
}

.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__request-price-only,
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__request-price-only {
	display: block;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row [data-entity="price-block"],
.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row [data-entity="lf-basket-row"],
.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row [data-entity="quantity-block"],
.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row [data-entity="quantity-limit-block"],
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row [data-entity="price-block"],
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row [data-entity="lf-basket-row"],
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row [data-entity="quantity-block"],
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row [data-entity="quantity-limit-block"] {
	display: none !important;
}

/* Ряд только с «Запросить цену» — кнопка на всю ширину ряда (как у текста над ней, с теми же 16px по краям) */
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__request-price-only,
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__request-price-only {
	display: block;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row [data-entity="lf-basket-row"],
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row [data-entity="price-block"],
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row [data-entity="quantity-block"],
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row [data-entity="quantity-limit-block"],
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row [data-entity="lf-basket-row"],
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row [data-entity="price-block"],
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row [data-entity="quantity-block"],
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row [data-entity="quantity-limit-block"] {
	display: none !important;
}

.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row,
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row,
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row,
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row {
	align-items: stretch;
	justify-content: center;
}

.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row .lf-product-card__buttons-visible,
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row .lf-product-card__buttons-visible,
.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__price-row .product-item-info-container[data-entity="buttons-block"],
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__price-row .product-item-info-container[data-entity="buttons-block"],
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row .lf-product-card__buttons-visible,
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row .lf-product-card__buttons-visible,
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__price-row .product-item-info-container[data-entity="buttons-block"],
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__price-row .product-item-info-container[data-entity="buttons-block"] {
	flex: 1 1 100% !important;
	flex-basis: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	justify-content: flex-start !important;
	align-items: stretch;
	align-self: stretch;
}

.product-item.lf-product-card .lf-product-card__request-price-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	margin: 0;
	padding: 0 12px;
	min-height: var(--lf-card-add-btn-size);
	font-family: var(--lf-font-family, "Rubik", sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.15;
	color: #0a0a0a;
	text-align: center;
	text-decoration: none;
	background: #fff;
	border: 1px solid #404042;
	border-radius: 8px;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.lf-catalog-item--request-price .product-item.lf-product-card .lf-product-card__request-price-btn,
.product-item.lf-product-card.lf-product-card--request-price .lf-product-card__request-price-btn,
.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__request-price-btn,
.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__request-price-btn {
	display: flex !important;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
	height: var(--lf-card-add-btn-size);
	min-height: var(--lf-card-add-btn-size);
	max-height: var(--lf-card-add-btn-size);
	padding: 0 12px;
	letter-spacing: -0.01em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	box-sizing: border-box;
}

/* Только в диапазоне 360–390px (включительно) уменьшаем шрифт у «Сообщить о поступлении»,
 * чтобы длинный текст поместился в одну строку. Вне диапазона — оригинальный 15px. */
@media (min-width: 360px) and (max-width: 390px) {
	.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__request-price-btn,
	.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__request-price-btn {
		padding: 0 4px !important;
		font-size: 10px !important;
		letter-spacing: -0.02em !important;
	}
}

/* Hover только при наведении; после клика :focus без :focus-visible — обычный вид (не «залипший» hover) */
/* :hover без :focus — иначе после закрытия модалки focus() + курсор над кнопкой снова дают «тёмный» вид */
@media (hover: hover) and (pointer: fine) {
	.product-item.lf-product-card .lf-product-card__request-price-btn:hover:not(:focus) {
		color: #fff;
		background: #404042;
		border-color: #404042;
	}
}

.product-item.lf-product-card .lf-product-card__request-price-btn:focus:not(:focus-visible),
.product-item.lf-product-card .lf-product-card__request-price-btn:focus:not(:focus-visible):hover {
	color: #0a0a0a;
	background: #fff;
	border: 1px solid #404042;
	outline: none;
}

.product-item.lf-product-card .lf-product-card__request-price-btn:focus-visible {
	outline: 2px solid rgba(64, 64, 66, 0.45);
	outline-offset: 2px;
	color: #0a0a0a;
	background: #fff;
	border: 1px solid #404042;
}

/* После закрытия модалки: курсор остаётся над кнопкой — без класса снова срабатывает :hover (lf-callback-modal.js снимает класс после pointermove/pointerup) */
.product-item.lf-product-card .lf-product-card__request-price-btn.lf-request-price--cooldown,
.product-item.lf-product-card .lf-product-card__request-price-btn.lf-request-price--cooldown:hover {
	color: #0a0a0a !important;
	background: #fff !important;
	border: 1px solid #404042 !important;
}

.product-item.lf-product-card .lf-product-card__price-row .product-item-button-container .btn {
	margin-bottom: 0 !important;
}

.product-item.lf-product-card .lf-product-card__add-btn,
.product-item.lf-product-card .lf-product-card__add-btn.btn-sm,
.product-item.lf-product-card .lf-product-card__add-btn.btn-md {
	width: var(--lf-card-add-btn-size) !important;
	height: var(--lf-card-add-btn-size) !important;
	min-width: var(--lf-card-add-btn-size) !important;
	min-height: var(--lf-card-add-btn-size) !important;
	max-width: var(--lf-card-add-btn-size) !important;
	max-height: var(--lf-card-add-btn-size) !important;
	padding: 0 !important;
	border-radius: 50% !important;
	border: 1px solid #404042 !important;
	background: #fff !important;
	color: #404042 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-shadow: none !important;
	font-size: 0 !important;
	line-height: 0 !important;
	box-sizing: border-box !important;
}

.product-item.lf-product-card .lf-product-card__add-btn:hover,
.product-item.lf-product-card .lf-product-card__add-btn:active {
	background: #404042 !important;
	color: #fff !important;
	border-color: #404042 !important;
}

/* Bootstrap .btn/.btn-primary даёт box-shadow на :focus — визуально «раздувает» круг и плюс; у круглой иконки не нужен */
.product-item.lf-product-card .lf-product-card__add-btn:focus,
.product-item.lf-product-card .lf-product-card__add-btn:focus-visible,
.product-item.lf-product-card .lf-product-card__add-btn:active,
.product-item.lf-product-card .lf-product-card__add-btn.focus {
	box-shadow: none !important;
	outline: none !important;
}

.product-item.lf-product-card .lf-product-card__add-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Плюс: inline SVG; цвет полосок через fill (не currentColor — у кнопки font-size:0) */
.product-item.lf-product-card .lf-product-card__add-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--lf-card-add-btn-size) * 15 / 36);
	height: calc(var(--lf-card-add-btn-size) * 15 / 36);
	flex-shrink: 0;
}

.product-item.lf-product-card .lf-product-card__add-icon-svg {
	display: block;
	width: calc(var(--lf-card-add-btn-size) * 15 / 36);
	height: calc(var(--lf-card-add-btn-size) * 15 / 36);
	min-width: calc(var(--lf-card-add-btn-size) * 15 / 36);
	min-height: calc(var(--lf-card-add-btn-size) * 15 / 36);
	flex-shrink: 0;
	overflow: visible;
}

.product-item.lf-product-card .lf-product-card__add-icon-svg .lf-product-card__add-icon-bars rect {
	fill: #404042;
}

.product-item.lf-product-card .lf-product-card__add-btn:hover .lf-product-card__add-icon-svg .lf-product-card__add-icon-bars rect,
.product-item.lf-product-card .lf-product-card__add-btn:active .lf-product-card__add-icon-svg .lf-product-card__add-icon-bars rect {
	fill: #fff;
}

.product-item.lf-product-card .lf-product-card__detail-glyph {
	display: block;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	transform: translateX(1px);
}

/* Маркетинговая метка: слева сверху, ближе к углу превью */
.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	right: auto !important;
	bottom: auto !important;
	z-index: 14;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	pointer-events: none;
	max-width: calc(100% - 118px);
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
}

.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text > div {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0;
}

/* На карточке показываем подписи и на мобильных (в шаблоне часто d-none d-sm-block) */
.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text .d-none.d-sm-block {
	display: block !important;
}

/* Текст меток: Rubik regular, компактнее базового макета 16/22 */
.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text span {
	display: inline-block;
	margin: 0 !important;
	padding: 5px 12px !important;
	font-family: var(--lf-font-family, "Rubik", sans-serif);
	font-size: 13px !important;
	font-weight: 400;
	line-height: 18px !important;
	letter-spacing: 0;
	color: #1a1a1a !important;
	background: #fff !important;
	border-radius: 999px;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.1);
	white-space: nowrap;
	vertical-align: middle;
	text-align: center;
	pointer-events: auto;
}

.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-small span,
.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-big span {
	font-size: 13px !important;
	font-weight: 400;
	padding: 5px 12px !important;
	line-height: 18px !important;
	letter-spacing: 0;
	color: #1a1a1a !important;
	background: #fff !important;
}

@media (max-width: 767px) {
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text span,
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-small span,
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-big span {
		font-size: 12px !important;
		line-height: 17px !important;
		font-weight: 400;
		padding: 5px 10px !important;
	}
}

/* Круг скидки — внизу слева, чтобы не наезжал на капсулу и сердце */
.product-item.lf-product-card .product-item-image-wrapper .product-item-label-ring {
	top: auto !important;
	left: 16px !important;
	right: auto !important;
	bottom: 16px !important;
	transform: none !important;
}

.product-item.lf-product-card .lf-product-card__preview {
	position: relative;
	width: 100%;
}

.product-item.lf-product-card .lf-product-card__actions {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 18;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	margin: 0;
	padding: 0;
	pointer-events: none;
}

.product-item.lf-product-card .lf-product-card__actions > * {
	pointer-events: auto;
	flex: 0 0 auto;
}

.product-item.lf-product-card .lf-product-card__actions .lf-product-card__wishlist-wrap,
.product-item.lf-product-card .lf-product-card__actions .lf-product-card__compare-wrap,
.product-item.lf-product-card .lf-product-card__actions .product-item-compare-container.lf-product-card__wishlist-wrap {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	left: auto !important;
	bottom: auto !important;
	z-index: auto !important;
}

.product-item.lf-product-card .lf-product-card__wishlist-wrap {
	position: relative;
	top: auto;
	right: auto;
	z-index: auto;
	margin: 0 !important;
	pointer-events: auto;
	/* Bitrix показывает .product-item-compare-container только при .hover — без hover нужен явный display */
	display: block !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	min-height: 0 !important;
	padding: 0 !important;
}

.product-item.lf-product-card .lf-product-card__wishlist .checkbox {
	margin: 0;
	padding: 0;
}

/* Кнопка «избранное»: SVG из макета (круг 48×48, fill-opacity 0.3, сердце stroke 2); тень — как filter feOffset dy=20 + blur 17.5 */
.product-item.lf-product-card .lf-product-card__wishlist-label,
.product-item.lf-product-card .lf-product-card__compare-label {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0 !important;
	padding: 0 !important;
	border: none;
	border-radius: 50% !important;
	box-shadow: none;
	background-color: transparent !important;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 48px 48px;
	filter: drop-shadow(0 20px 35px rgba(0, 0, 0, 0.15));
	cursor: pointer;
}

.product-item.lf-product-card .lf-product-card__wishlist-label {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2735%2012%2048%2048%27%20fill%3D%27none%27%3E%3Crect%20x%3D%2735%27%20y%3D%2712%27%20width%3D%2748%27%20height%3D%2748%27%20rx%3D%2724%27%20fill%3D%27white%27%20fill-opacity%3D%270.3%27%2F%3E%3Cpath%20fill%3D%27none%27%20d%3D%27M60.3926%2045.2049C59.9734%2045.4629%2059.7637%2045.5919%2059.4378%2045.6651C59.1946%2045.7196%2058.8054%2045.7196%2058.5622%2045.6651C58.2363%2045.5919%2058.0266%2045.4629%2057.6074%2045.2049C54.8588%2043.5133%2049%2039.2477%2049%2033.6213C49%2030.514%2051.49%2028%2054.56%2028C56.38%2028%2057.99%2028.8849%2059%2030.2525C60.01%2028.8849%2061.63%2028%2063.44%2028C66.51%2028%2069%2030.514%2069%2033.6213C69%2039.2477%2063.1412%2043.5133%2060.3926%2045.2049Z%27%20stroke%3D%27white%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.product-item.lf-product-card .lf-product-card__compare-label {
	font-size: 0;
	line-height: 0;
	color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%3E%3Crect%20width%3D%2748%27%20height%3D%2748%27%20rx%3D%2724%27%20fill%3D%27white%27%20fill-opacity%3D%270.3%27%2F%3E%3Cg%20transform%3D%27translate(12%2012)%27%3E%3Cpath%20d%3D%27M9%203H5a2%202%200%200%200-2%202v4m6-6h10a2%202%200%200%201%202%202v4M9%203v18m0%200h10a2%202%200%200%200%202-2V9M9%2021H5a2%202%200%200%201-2-2V9m0%200h18%27%20stroke%3D%27white%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.product-item.lf-product-card .lf-product-card__wishlist-label:hover,
.product-item.lf-product-card .lf-product-card__compare-label:hover {
	filter: drop-shadow(0 20px 38px rgba(0, 0, 0, 0.18));
}

@keyframes lf-wishlist-tap {
	0% {
		transform: scale(1);
	}
	45% {
		transform: scale(0.92);
	}
	100% {
		transform: scale(1);
	}
}

.product-item.lf-product-card .lf-product-card__wishlist-label.lf-wishlist--animating {
	animation: lf-wishlist-tap 0.38s ease;
}

.product-item.lf-product-card .lf-product-card__wishlist-label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.product-item.lf-product-card .lf-product-card__compare-title,
.product-item.lf-product-card .lf-product-card__compare-icon,
.product-item.lf-product-card .lf-product-card__compare-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.product-item.lf-product-card .lf-product-card__wishlist-heart {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.product-item.lf-product-card .lf-product-card__wishlist-label:has(input:checked) {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%2735%2012%2048%2048%27%20fill%3D%27none%27%3E%3Crect%20x%3D%2735%27%20y%3D%2712%27%20width%3D%2748%27%20height%3D%2748%27%20rx%3D%2724%27%20fill%3D%27white%27%20fill-opacity%3D%270.3%27%2F%3E%3Cpath%20d%3D%27M60.3926%2045.2049C59.9734%2045.4629%2059.7637%2045.5919%2059.4378%2045.6651C59.1946%2045.7196%2058.8054%2045.7196%2058.5622%2045.6651C58.2363%2045.5919%2058.0266%2045.4629%2057.6074%2045.2049C54.8588%2043.5133%2049%2039.2477%2049%2033.6213C49%2030.514%2051.49%2028%2054.56%2028C56.38%2028%2057.99%2028.8849%2059%2030.2525C60.01%2028.8849%2061.63%2028%2063.44%2028C66.51%2028%2069%2030.514%2069%2033.6213C69%2039.2477%2063.1412%2043.5133%2060.3926%2045.2049Z%27%20fill%3D%27%23e11d48%27%20stroke%3D%27%23e11d48%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fsvg%3E");
}

.product-item.lf-product-card .lf-product-card__compare-label.compared,
.product-item.lf-product-card .lf-product-card__compare-label:has(input:checked) {
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2048%2048%27%20fill%3D%27none%27%3E%3Crect%20width%3D%2748%27%20height%3D%2748%27%20rx%3D%2724%27%20fill%3D%27white%27%20fill-opacity%3D%270.3%27%2F%3E%3Cg%20transform%3D%27translate(12%2012)%27%3E%3Cpath%20d%3D%27M9%203H5a2%202%200%200%200-2%202v4m6-6h10a2%202%200%200%201%202%202v4M9%203v18m0%200h10a2%202%200%200%200%202-2V9M9%2021H5a2%202%200%200%201-2-2V9m0%200h18%27%20stroke%3D%27%23111%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

.product-item.lf-product-card .lf-product-card__compare-label input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

/*
 * Скрытые блоки: в bootstrap_v4 на bx-touch им даётся display:block — карточка раздувается снизу.
 * Пока класс product-item-hidden, в потоке не держим; при показе Bitrix обычно снимает класс.
 */
.product-item.lf-product-card .product-item-info-container.product-item-hidden {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	min-height: 0 !important;
}

.product-item.lf-product-card .product-item-info-container[data-entity="props-block"],
.product-item.lf-product-card .product-item-info-container[id*="prop"] {
	padding-left: 16px;
	padding-right: 16px;
}

/* —— Список: только 2 ряда карточек, остальное по кнопке (lf-catalog-rows-more.js) —— */
body.lf-catalog-page .catalog-section[data-entity^="container-"] > [data-entity="items-row"].lf-catalog-row--more,
body.lf-catalog-page .catalog-section[data-entity^="container-"] > [data-entity="items-row"].lf-catalog-row--more[hidden] {
	display: none !important;
}

/* Обёртка кнопки: дублируем без только body (кэш/порядок CSS); отступы подстраховывает JS (inline). */
body.lf-catalog-page .catalog-section[data-entity^="container-"] > .lf-catalog-show-more-rows-wrap,
.catalog-section[data-entity^="container-"] > .lf-catalog-show-more-rows-wrap {
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 32px !important;
	padding: 24px 16px 32px !important;
}

body.lf-catalog-page .catalog-section[data-entity^="container-"] > .lf-catalog-show-more-rows-wrap.lf-catalog-show-more-rows-wrap--expanded,
.catalog-section[data-entity^="container-"] > .lf-catalog-show-more-rows-wrap.lf-catalog-show-more-rows-wrap--expanded {
	padding-top: 36px !important;
	padding-bottom: 40px !important;
	margin-bottom: 36px !important;
}

body.lf-catalog-page .lf-catalog-show-more-rows-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	margin: 0;
	padding: 10px 20px;
	min-height: 44px;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	color: #000;
	text-align: center;
	white-space: nowrap;
	background: #fff;
	border: 1px solid #000;
	border-radius: 8px;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

body.lf-catalog-page .lf-catalog-show-more-rows-btn:hover {
	background: #f4f4f4;
	color: #000;
	border-color: #000;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

body.lf-catalog-page .lf-catalog-show-more-rows-btn:focus {
	outline: none;
}

body.lf-catalog-page .lf-catalog-show-more-rows-btn:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

body.lf-catalog-page .lf-catalog-show-more-rows-btn:active {
	background: #ebebeb;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

body.lf-catalog-page .lf-catalog-show-more-rows__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	line-height: 0;
	color: #000;
	transition: transform 0.2s ease;
}

body.lf-catalog-page .lf-catalog-show-more-rows__icon svg {
	display: block;
	width: 12px;
	height: 18px;
}

/* «Скрыть» — тот же SVG, поворот на 180° */
body.lf-catalog-page .lf-catalog-show-more-rows-btn--expanded .lf-catalog-show-more-rows__icon {
	transform: rotate(180deg);
	transform-origin: 50% 50%;
}

/* —— Листинг: «Найдено товаров» + сортировка (макет) —— */
body.lf-catalog-page .lf-catalog-listing-toolbar {
	position: relative;
	/* Ниже .lf-cat-dir--catalog-root при hover (z-index 100), чтобы мега-субменю перекрывало строку листинга */
	z-index: 30;
	isolation: isolate;
	width: 100%;
	gap: 12px;
	overflow: visible;
	margin-bottom: 24px;
}

body.lf-catalog-page.lf-catalog-root-page .lf-catalog-listing-toolbar {
	margin-top: 24px;
}

body.lf-catalog-page .lf-catalog-listing-toolbar__count {
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.35;
	color: #0a0a0a;
}

body.lf-catalog-page .lf-catalog-listing-toolbar__count-num {
	font-weight: 700;
}

/*
 * Нативный <details>: Bitrix ui.bootstrap4 грузит bootstrap.js без Popper — Bootstrap dropdown падает при открытии.
 */
body.lf-catalog-page .lf-catalog-sort-details {
	position: relative;
	z-index: 2;
	isolation: isolate;
	display: inline-block;
	text-align: right;
	vertical-align: top;
}

@media (min-width: 992px) {
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .lf-catalog-sort-details {
		width: min(100%, max(124px, calc(20.833333cqi - 90px)));
		max-width: 100%;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .lf-catalog-sort-details > summary.lf-catalog-sort-toggle {
		width: 100%;
		min-width: 0;
	}
}

body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle {
	position: relative;
	z-index: 3;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	min-width: 124px;
	width: fit-content;
	max-width: 100%;
	height: 48px;
	padding: 0 14px;
	font-family: var(--lf-font-family, "Rubik", sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	color: #000;
	text-align: left;
	list-style: none;
	cursor: pointer;
	background: #fff;
	border: 1px solid #000;
	border-radius: 10px;
	box-shadow: none;
}

body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle::-webkit-details-marker {
	display: none;
}

body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle::after {
	content: "";
	display: block;
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	margin-left: auto;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(45deg) translateY(-2px);
	transform-origin: 50% 50%;
}

body.lf-catalog-page .lf-catalog-sort-details[open] > summary.lf-catalog-sort-toggle::after {
	transform: rotate(225deg) translateY(-2px);
}

body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle:hover,
body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle:focus {
	color: #000;
	background: #fff;
	border-color: #000;
	box-shadow: none;
	outline: none;
}

body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

body.lf-catalog-page .lf-catalog-sort-panel {
	position: absolute;
	z-index: 1;
	right: 0;
	top: calc(100% - 12px);
	min-width: 100%;
	width: max-content;
	max-width: min(280px, 100vw - 24px);
	padding: 14px 0 6px;
	margin: 0;
	text-align: left;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

body.lf-catalog-page .lf-catalog-sort-item {
	display: block;
	padding: 8px 8px;
	font-family: var(--lf-font-family, "Rubik", sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
}

body.lf-catalog-page .lf-catalog-sort-item:hover,
body.lf-catalog-page .lf-catalog-sort-item:focus {
	background: #f5f5f5;
	color: #000;
	text-decoration: none;
}

body.lf-catalog-page .lf-catalog-sort-item--active {
	font-weight: 700;
	background: #f3f3f3;
	color: #000;
}

body.lf-catalog-page .lf-catalog-listing-divider {
	position: relative;
	z-index: 0;
	height: 0;
	margin: 0 0 20px;
	border: 0;
	border-bottom: 1px solid #e5e5e5;
}

/* Catalog listing responsive layer: filter, toolbar and product cards across catalog pages. */
body.lf-catalog-page .lf-catalog-root-listing {
	row-gap: clamp(16px, 2vw, 24px);
}

body.lf-catalog-page .lf-catalog-root-listing > [class*="col"],
body.lf-catalog-page .lf-catalog-root-listing .bx-sidebar-block,
body.lf-catalog-page .catalog-section,
body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] > [class*="col"],
body.lf-catalog-page .catalog-section .product-item-small-card > .row > [class*="col"] {
	min-width: 0;
}

body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] {
	--lf-products-gap-x: clamp(16px, 1.6vw, 30px);
	--lf-products-gap-y: clamp(22px, 2vw, 34px);
	margin-left: calc(var(--lf-products-gap-x) / -2);
	margin-right: calc(var(--lf-products-gap-x) / -2);
	margin-bottom: var(--lf-products-gap-y);
	row-gap: var(--lf-products-gap-y);
}

body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] > [class*="col"] {
	padding-left: calc(var(--lf-products-gap-x) / 2);
	padding-right: calc(var(--lf-products-gap-x) / 2);
	margin-bottom: 0;
}

body.lf-catalog-page .catalog-section .product-item-small-card > .row {
	row-gap: var(--lf-products-gap-y, 24px);
}

body.lf-catalog-page .catalog-section .product-item-small-card > .row > [class*="col"] {
	margin-bottom: 0;
}

@media (min-width: 768px) and (max-width: 1399.98px) {
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-2 {
		flex: 0 0 25%;
		max-width: 25%;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 {
		flex: 0 0 75%;
		max-width: 75%;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--lf-products-gap-x, 20px);
		row-gap: var(--lf-products-gap-y, 26px);
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"] {
		display: contents !important;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"].lf-catalog-row--more,
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"][hidden] {
		display: none !important;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"] > [class*="col"] {
		width: auto !important;
		max-width: none !important;
		flex: none !important;
		padding-left: 0;
		padding-right: 0;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"]:has(> .lf-catalog-show-more-rows-wrap):not([data-lf-rows-expanded="1"]) > .row[data-entity="items-row"]:nth-of-type(2) > [class*="col"]:nth-child(n+3) {
		display: none !important;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .lf-catalog-show-more-rows-wrap,
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .lf-catalog-empty,
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] > .lf-catalog-bitrix-lazy-host {
		grid-column: 1 / -1;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .lf-catalog-sort-details {
		width: auto;
		min-width: 172px;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .lf-catalog-sort-details > summary.lf-catalog-sort-toggle {
		width: auto;
		min-width: 172px;
	}
}

@media (min-width: 768px) and (max-width: 900px) {
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-2 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 {
		flex: 0 0 66.666667%;
		max-width: 66.666667%;
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 .catalog-section[data-entity^="container-"]:has(> .lf-catalog-show-more-rows-wrap):not([data-lf-rows-expanded="1"]) > .row[data-entity="items-row"]:nth-of-type(2) > [class*="col"] {
		display: none !important;
	}
}

/* ЛК «Избранное»: сетка и «Показать ещё» — те же правила, что у .col-lg-10 в каталоге с фильтром */
@media (min-width: 768px) and (max-width: 1399.98px) {
	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--lf-products-gap-x, 20px);
		row-gap: var(--lf-products-gap-y, 26px);
	}

	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"] {
		display: contents !important;
	}

	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"].lf-catalog-row--more,
	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"][hidden] {
		display: none !important;
	}

	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .row[data-entity="items-row"] > [class*="col"] {
		width: auto !important;
		max-width: none !important;
		flex: none !important;
		padding-left: 0;
		padding-right: 0;
	}

	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"]:has(> .lf-catalog-show-more-rows-wrap):not([data-lf-rows-expanded="1"]) > .row[data-entity="items-row"]:nth-of-type(2) > [class*="col"]:nth-child(n+3) {
		display: none !important;
	}

	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .lf-catalog-show-more-rows-wrap,
	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .lf-catalog-empty,
	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] > .lf-catalog-bitrix-lazy-host {
		grid-column: 1 / -1;
	}
}

@media (min-width: 768px) and (max-width: 900px) {
	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.lf-catalog-page .lk-favorites__listing.lf-catalog-listing--as-col-lg-10 .catalog-section[data-entity^="container-"]:has(> .lf-catalog-show-more-rows-wrap):not([data-lf-rows-expanded="1"]) > .row[data-entity="items-row"]:nth-of-type(2) > [class*="col"] {
		display: none !important;
	}
}

@media (max-width: 1199.98px) {
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) {
		padding: 12px 10px;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box {
		padding: 6px 4px;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title {
		gap: 6px;
		min-height: 38px;
		padding: 4px 0;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title-text {
		font-size: clamp(18px, 11cqw, 21px) !important;
		line-height: 1.22 !important;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angle {
		width: 28px;
		height: 28px;
		min-width: 28px;
		min-height: 28px;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-angles {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		min-height: 28px !important;
		line-height: 28px !important;
		background-size: 16px 16px;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-container,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-text.form-check-label,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-param-text,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures-text .smart-filter-checkbox-text,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-text,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-popup ul li label,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-calendar-container input,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) .smart-filter-calendar-container .calendar {
		font-size: 13px;
	}

	body.lf-catalog-page .lf-smart-filter-color-swatches {
		gap: 10px 12px;
	}

	body.lf-catalog-page .lf-smart-filter-color-swatch {
		width: 32px;
		height: 32px;
	}

	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #set_filter,
	body.lf-catalog-page .smart-filter:not(.smart-filter-horizontal) #del_filter {
		min-height: 44px;
		padding: 10px 12px;
		font-size: 15px;
		line-height: 20px;
	}

	body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] {
		--lf-products-gap-x: 20px;
		--lf-products-gap-y: 26px;
	}

	.product-item.lf-product-card {
		--lf-card-price-size: 20px;
		--lf-card-add-btn-size: 34px;
	}

	.product-item.lf-product-card .product-item-title {
		padding-left: 12px;
		padding-right: 12px;
		font-size: 14px;
		line-height: 1.25;
	}

	.product-item.lf-product-card .lf-product-card__sku {
		margin: 4px 0 12px;
		padding-left: 12px;
		padding-right: 12px;
		font-size: 11.5px;
	}

	.product-item.lf-product-card .lf-product-card__price-row {
		padding-left: 12px;
		padding-right: 12px;
		padding-bottom: 12px;
	}

	.product-item.lf-product-card .lf-product-card__slider-dots {
		padding-left: 12px;
		padding-right: 12px;
		margin-bottom: 10px;
	}

	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text {
		top: 6px !important;
		left: 6px !important;
		gap: 5px;
		max-width: calc(100% - 102px);
	}

	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text span,
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-small span,
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-big span {
		font-size: 12px !important;
		line-height: 17px !important;
		padding: 4px 10px !important;
	}

	.product-item.lf-product-card .lf-product-card__actions {
		top: 6px;
		right: 6px;
		gap: 4px;
	}

	.product-item.lf-product-card .lf-product-card__wishlist-label,
	.product-item.lf-product-card .lf-product-card__compare-label {
		width: 42px;
		height: 42px;
		background-size: 42px 42px;
	}
}

@media (max-width: 991.98px) {
	body.lf-catalog-page .lf-catalog-root-listing {
		row-gap: 20px;
	}

	body.lf-catalog-page .lf-catalog-listing-toolbar {
		margin-bottom: 18px;
	}

	body.lf-catalog-page .lf-catalog-listing-divider {
		margin-bottom: 18px;
	}

	body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] {
		--lf-products-gap-x: 18px;
		--lf-products-gap-y: 24px;
	}
}

@media (max-width: 767.98px) {
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-2,
	body.lf-catalog-page .lf-catalog-root-listing:has(> .col-lg-2) > .col-lg-10 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	body.lf-catalog-page .lf-catalog-all-products-heading-wrap--with-filter:has(.lf-catalog-mobile-filter-toggle[aria-expanded="false"]) {
		margin-bottom: 4px;
	}

	body.lf-catalog-page.lf-catalog-root-page .lf-catalog-listing-toolbar {
		margin-top: 0;
	}

	body.lf-catalog-page .lf-catalog-root-listing > .col-lg-2:has(> .lf-catalog-mobile-smart-filter-drawer:not(.lf-catalog-mobile-smart-filter-drawer--open)):not(:has(> .d-none.d-sm-block)) {
		display: none;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer {
		margin-bottom: 18px;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .bx-sidebar-block {
		margin-bottom: 0;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal),
	body.lf-catalog-page .smart-filter-horizontal {
		padding: 14px 12px;
		border-radius: 10px;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box {
		padding: 7px 6px;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title {
		min-height: 42px;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-title-text {
		font-size: 20px !important;
		line-height: 1.28 !important;
	}

	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-parameters-box-container,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-checkbox-text.form-check-label,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-param-text,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-input-group-checkbox-pictures-text .smart-filter-checkbox-text,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-text,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-dropdown-popup ul li label,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-calendar-container input,
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer .smart-filter:not(.smart-filter-horizontal) .smart-filter-calendar-container .calendar {
		font-size: 14px;
	}

	body.lf-catalog-page .smart-filter-horizontal .smart-filter-form > .row {
		row-gap: 12px;
	}

	body.lf-catalog-page .smart-filter-horizontal #set_filter,
	body.lf-catalog-page .smart-filter-horizontal #del_filter {
		width: 100%;
		min-height: 44px;
		font-size: 15px;
		line-height: 20px;
	}

	body.lf-catalog-page .lf-catalog-listing-toolbar {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		column-gap: 12px;
		row-gap: 10px;
		margin-bottom: 16px;
	}

	body.lf-catalog-page .lf-catalog-listing-toolbar__count {
		min-width: 0;
		margin-bottom: 0 !important;
		font-size: 16px;
		line-height: 1.35;
	}

	body.lf-catalog-page .lf-catalog-sort-details {
		justify-self: end;
		max-width: 100%;
		margin-bottom: 0 !important;
	}

	body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle {
		height: 44px;
		min-width: 158px;
		padding-left: 12px;
		padding-right: 12px;
		font-size: 13px;
		border-radius: 8px;
	}

	body.lf-catalog-page .lf-catalog-sort-panel {
		top: calc(100% - 8px);
		max-width: min(260px, 100vw - 24px);
	}

	body.lf-catalog-page .lf-catalog-sort-item {
		font-size: 13px;
		white-space: normal;
	}

	body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] {
		--lf-products-gap-x: 14px;
		--lf-products-gap-y: 22px;
	}

	.product-item.lf-product-card {
		max-width: none;
		--lf-card-price-size: 19px;
		--lf-card-add-btn-size: 34px;
	}

	.bx-no-touch .product-item-container.hover .product-item.lf-product-card,
	.bx-touch .product-item.lf-product-card {
		max-width: none !important;
	}

	.product-item.lf-product-card .product-item-title a {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
	}

	.product-item.lf-product-card .lf-product-card__sku {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

@media (max-width: 575.98px) {
	body.lf-catalog-page .lf-catalog-listing-toolbar {
		grid-template-columns: 1fr;
		justify-items: start;
	}

	body.lf-catalog-page .lf-catalog-listing-toolbar__count {
		font-size: 15px;
	}

	body.lf-catalog-page .lf-catalog-sort-details {
		justify-self: start;
		width: auto;
		max-width: 100%;
	}

	body.lf-catalog-page .lf-catalog-sort-details > summary.lf-catalog-sort-toggle {
		width: auto;
		min-width: 188px;
		max-width: 100%;
	}

	body.lf-catalog-page .lf-catalog-sort-panel {
		left: 0;
		right: auto;
		width: max-content;
		min-width: 100%;
		max-width: min(260px, calc(100vw - 32px));
	}

	body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] {
		--lf-products-gap-x: 12px;
		--lf-products-gap-y: 20px;
	}

	.product-item.lf-product-card {
		--lf-card-price-size: 18px;
		--lf-card-add-btn-size: 34px;
	}

	.product-item.lf-product-card .product-item-title {
		padding-left: 10px;
		padding-right: 10px;
		font-size: 13px;
		line-height: 1.25;
	}

	.product-item.lf-product-card .lf-product-card__sku {
		margin-bottom: 10px;
		padding-left: 10px;
		padding-right: 10px;
		font-size: 11px;
	}

	.product-item.lf-product-card .lf-product-card__price-row {
		gap: 6px;
		padding-left: 10px;
		padding-right: 10px;
		padding-bottom: 10px;
	}

	.product-item.lf-product-card .lf-product-card__request-price-btn {
		min-height: 34px;
		padding: 7px 8px;
		font-size: 13px;
		line-height: 1.18;
	}

	.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__request-price-btn,
	.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__request-price-btn {
		min-height: 38px;
		padding: 5px 6px;
		font-size: 12px;
		line-height: 1.12;
		border-radius: 7px;
	}

	.product-item.lf-product-card .lf-product-card__slider-dots {
		padding-left: 10px;
		padding-right: 10px;
		margin-bottom: 9px;
	}

	.product-item.lf-product-card .lf-product-card__slider-dots-track {
		gap: 6px;
	}

	.product-item.lf-product-card .lf-product-card__slider-dots .product-item-image-slider-control {
		width: 7px !important;
		height: 7px !important;
		min-width: 7px !important;
		min-height: 7px !important;
		max-width: 7px !important;
		max-height: 7px !important;
		flex-basis: 7px;
	}

	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text {
		max-width: calc(100% - 44px);
		gap: 4px;
	}

	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text span,
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-small span,
	.product-item.lf-product-card .product-item-image-wrapper .product-item-label-text.product-item-label-big span {
		font-size: 11px !important;
		line-height: 15px !important;
		padding: 3px 8px !important;
	}

	.product-item.lf-product-card .lf-product-card__wishlist-label {
		width: 36px;
		height: 36px;
		background-size: 36px 36px;
		filter: drop-shadow(0 14px 26px rgba(0, 0, 0, 0.14));
	}
}

@media (max-width: 359.98px) {
	body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] {
		--lf-products-gap-x: 10px;
	}

	body.lf-catalog-page .catalog-section > .row[data-entity="items-row"] > [class*="col"] {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.product-item.lf-product-card {
		--lf-card-price-size: 17px;
		--lf-card-add-btn-size: 32px;
	}

	.product-item.lf-product-card .product-item-title {
		font-size: 12.5px;
	}

	.product-item.lf-product-card .lf-product-card__request-price-btn {
		font-size: 12px;
	}

	.lf-catalog-item--notify-arrival .product-item.lf-product-card .lf-product-card__request-price-btn,
	.product-item.lf-product-card.lf-product-card--notify-arrival .lf-product-card__request-price-btn {
		min-height: 40px;
		padding: 7px 10px;
		font-size: 13px;
		line-height: 1.15;
	}
}

/*
 * Страница «Мерч»: баннер под шапкой; 24px баннер → крошки; 24px крошки → H1 (margin-top у строки заголовка).
 * Типографика H1 — как у каталога (body.lf-section-heading-page + #pagetitle в .lf-after-header).
 */
body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top {
	margin: 0;
}

/*
 * home-hero.css идёт после этого файла и задаёт .lf-hero__gutter padding снизу 16px —
 * без перебоя визуально «баннер → крошки» получается ~40px (16 + margin 24).
 */
body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__gutter {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

@media (max-width: 767px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__gutter {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

/* padding-top вместо margin-top — иначе отступ к баннеру может схлопнуться с соседним flex-элементом */
/* Merch hero adaptive sizing: independent copy of catalog rules based on the home banner rules. */
body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
	min-height: min(62svh, 644px);
}

body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__inner {
	min-height: inherit;
	align-items: center;
	padding: 40px clamp(16px, 3vw, 32px) 44px;
}

body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__content {
	width: min(100%, 46rem);
	max-width: 46rem;
}

body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
	margin-bottom: 16px;
	font-size: 3rem;
	line-height: 1.18;
	letter-spacing: 0;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
	margin-bottom: 28px;
	font-size: 1.5rem;
	line-height: 1.333333;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__btn {
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (max-width: 1199px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
		min-height: min(60svh, 580px);
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__content {
		width: min(100%, 42rem);
		max-width: 42rem;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
		font-size: 2.75rem;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
		font-size: 1.375rem;
	}
}

@media (max-width: 1023px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
		min-height: min(50svh, 480px);
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__inner {
		padding: 36px 24px 40px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__content {
		width: min(100%, 38rem);
		max-width: 38rem;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
		margin-bottom: 14px;
		font-size: 2.375rem;
		line-height: 1.16;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
		margin-bottom: 24px;
		font-size: 1.25rem;
		line-height: 1.35;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__cta {
		max-width: 480px;
		gap: 12px;
	}
}

@media (max-width: 767px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
		min-height: clamp(280px, 42svh, 360px);
		border-radius: 12px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__inner {
		padding: 30px 18px 34px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__content {
		width: min(100%, 34rem);
		max-width: 34rem;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
		margin-bottom: 12px;
		font-size: 2rem;
		line-height: 1.14;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
		margin-bottom: 22px;
		font-size: 1.125rem;
		line-height: 1.35;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__cta {
		max-width: 460px;
		gap: 10px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__btn {
		min-height: 48px;
		padding: 0 12px;
		font-size: 0.9375rem;
	}
}

@media (max-width: 520px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
		min-height: clamp(260px, 42svh, 320px);
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__inner {
		padding: 26px 16px 30px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
		font-size: 1.75rem;
		line-height: 1.13;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
		margin-bottom: 18px;
		font-size: 1rem;
		line-height: 1.35;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__cta {
		max-width: 360px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__btn {
		min-height: 46px;
		padding: 0 10px;
		font-size: 0.875rem;
	}
}

@media (max-width: 420px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
		min-height: clamp(250px, 40svh, 300px);
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__inner {
		padding: 24px 14px 28px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
		font-size: 1.5rem;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
		font-size: 0.9375rem;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__cta {
		flex-direction: column;
		align-items: stretch;
		max-width: 280px;
		gap: 8px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__btn,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__cta .lf-hero__btn:only-child {
		width: 100%;
		max-width: none;
		min-height: 44px;
	}
}

@media (max-width: 360px) {
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__frame {
		min-height: clamp(240px, 38svh, 280px);
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__inner {
		padding-right: 12px;
		padding-left: 12px;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__title--html {
		font-size: 1.25rem;
		line-height: 1.18;
		overflow-wrap: normal;
		word-break: normal;
	}

	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead,
	body.lf-merch-page #bx_eshop_wrap > section.lf-hero.lf-merch-page-hero-top .lf-hero__lead--html {
		font-size: 0.875rem;
		line-height: 1.35;
	}
}

/* Баннер → блок с крошками: один отступ 24px (перебиваем padding-top из header-custom) */
body.lf-merch-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header.lf-merch-page-head-block--after-banner {
	margin-top: 24px !important;
	padding-top: 0 !important;
}

/*
 * Крошки → H1 «Мерч»: ровно 24px — только margin-top у строки заголовка (без flex-gap, чтобы не суммировалось с другими правилами).
 */
body.lf-merch-page.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog {
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
}

body.lf-merch-page.lf-section-heading-page:not(.lf-catalog-page)
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog
	> .row.lf-after-header__crumbs {
	margin-bottom: 0 !important;
}

body.lf-merch-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header.lf-after-header--catalog > .row.lf-merch-page-head__title-row {
	margin-top: 24px !important;
	margin-left: 0;
	margin-right: 0;
}

body.lf-merch-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header.lf-after-header--catalog > .row.lf-merch-page-head__title-row > [class*="col"] {
	padding-left: 0;
	padding-right: 0;
}

/*
 * Корень каталога: баннер под шапкой (как «Мерч») → крошки 24px → H1 24px.
 */
body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top {
	margin: 0;
}

body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__gutter {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

@media (max-width: 767px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__gutter {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

/* padding-top вместо margin-top — иначе отступ к баннеру может схлопнуться с соседним flex-элементом */
/* Catalog hero adaptive sizing: separate catalog copy based on the home banner rules. */
body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
	min-height: min(62svh, 644px);
}

body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__inner {
	min-height: inherit;
	align-items: center;
	padding: 40px clamp(16px, 3vw, 32px) 44px;
}

body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__content {
	width: min(100%, 46rem);
	max-width: 46rem;
}

body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
	margin-bottom: 16px;
	font-size: 3rem;
	line-height: 1.18;
	letter-spacing: 0;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
	margin-bottom: 28px;
	font-size: 1.5rem;
	line-height: 1.333333;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__btn {
	white-space: normal;
	overflow-wrap: anywhere;
}

@media (max-width: 1199px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
		min-height: min(60svh, 580px);
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__content {
		width: min(100%, 42rem);
		max-width: 42rem;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
		font-size: 2.75rem;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
		font-size: 1.375rem;
	}
}

@media (max-width: 1023px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
		min-height: min(50svh, 480px);
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__inner {
		padding: 36px 24px 40px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__content {
		width: min(100%, 38rem);
		max-width: 38rem;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
		margin-bottom: 14px;
		font-size: 2.375rem;
		line-height: 1.16;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
		margin-bottom: 24px;
		font-size: 1.25rem;
		line-height: 1.35;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__cta {
		max-width: 480px;
		gap: 12px;
	}
}

@media (max-width: 767px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
		min-height: clamp(280px, 42svh, 360px);
		border-radius: 12px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__inner {
		padding: 30px 18px 34px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__content {
		width: min(100%, 34rem);
		max-width: 34rem;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
		margin-bottom: 12px;
		font-size: 2rem;
		line-height: 1.14;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
		margin-bottom: 22px;
		font-size: 1.125rem;
		line-height: 1.35;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__cta {
		max-width: 460px;
		gap: 10px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__btn {
		min-height: 48px;
		padding: 0 12px;
		font-size: 0.9375rem;
	}
}

@media (max-width: 520px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
		min-height: clamp(260px, 42svh, 320px);
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__inner {
		padding: 26px 16px 30px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
		font-size: 1.75rem;
		line-height: 1.13;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
		margin-bottom: 18px;
		font-size: 1rem;
		line-height: 1.35;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__cta {
		max-width: 360px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__btn {
		min-height: 46px;
		padding: 0 10px;
		font-size: 0.875rem;
	}
}

@media (max-width: 420px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
		min-height: clamp(250px, 40svh, 300px);
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__inner {
		padding: 24px 14px 28px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
		font-size: 1.5rem;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
		font-size: 0.9375rem;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__cta {
		flex-direction: column;
		align-items: stretch;
		max-width: 280px;
		gap: 8px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__btn,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__cta .lf-hero__btn:only-child {
		width: 100%;
		max-width: none;
		min-height: 44px;
	}
}

@media (max-width: 360px) {
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__frame {
		min-height: clamp(240px, 38svh, 280px);
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__inner {
		padding-right: 12px;
		padding-left: 12px;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__title--html {
		font-size: 1.25rem;
		line-height: 1.18;
		overflow-wrap: normal;
		word-break: normal;
	}

	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead,
	body.lf-catalog-page #bx_eshop_wrap > section.lf-hero.lf-catalog-page-hero-top .lf-hero__lead--html {
		font-size: 0.875rem;
		line-height: 1.35;
	}
}

body.lf-catalog-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header.lf-catalog-page-head-block--after-banner {
	margin-top: 0 !important;
	padding-top: 24px !important;
	padding-bottom: 0 !important;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog.lf-catalog-page-head-block--after-banner {
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog.lf-catalog-page-head-block--after-banner
	> .row.lf-after-header__crumbs {
	margin-bottom: 0 !important;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog.lf-catalog-page-head-block--after-banner
	> .row.lf-catalog-page-head__title-row {
	margin-top: 24px !important;
	margin-left: 0;
	margin-right: 0;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog.lf-catalog-page-head-block--after-banner
	> .row.lf-catalog-page-head__title-row
	> [class*="col"] {
	padding-left: 0;
	padding-right: 0;
}

/* Строка «Категории» + карточки подкатегорий: между крошками и H1 раздела, как отступ до H1 «Каталог» на корне */
/* Ширина блока под баннером — lf-catalog-mega-hscroll.js (lfSyncCatalogSectionHeaderStripToHeroFrame) по .lf-hero__frame */
body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog
	> .row.lf-catalog-page-head__categories-row {
	margin-top: 24px !important;
	margin-bottom: 0 !important;
	margin-left: 0;
	margin-right: 0;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog
	> .row.lf-catalog-page-head__categories-row
	> [class*="col"] {
	padding-left: 0;
	padding-right: 0;
}

body.lf-catalog-page .lf-cat-dir--section-child-strip--header {
	margin: 0;
	box-sizing: border-box;
	max-width: 100%;
}

/* Полоска подкатегорий под баннером — без белой обводки (карточки на фоне страницы) */
body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog
	.lf-cat-dir--section-child-strip--header
	.lf-cat-dir__gutter--section-child-strip {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	box-sizing: border-box;
	box-shadow: none;
}

/*
 * Заголовок «Категории» в шапке раздела: как у H1 «Каталог» на /catalog/
 * (строка .lf-catalog-page-head__title-row — margin-top 24px; до контента ниже — 24px).
 */
body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog
	.lf-cat-dir--section-child-strip--header
	.lf-catalog-all-products-heading-wrap {
	margin-top: 0;
	margin-bottom: 24px;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog
	.lf-cat-dir--section-child-strip--header
	.lf-catalog-all-products-heading-wrap
	.lf-cat-dir__heading {
	margin-bottom: 0;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog:not(.lf-catalog-page-head-block--after-banner)
	> .row.lf-catalog-page-head__title-row {
	margin-top: 24px !important;
	margin-left: 0;
	margin-right: 0;
}

body.lf-catalog-page
	#bx_eshop_wrap
	> .container.bx-content-section.lf-after-header.lf-after-header--catalog:not(.lf-catalog-page-head-block--after-banner)
	> .row.lf-catalog-page-head__title-row
	> [class*="col"] {
	padding-left: 0;
	padding-right: 0;
}

/* Мерч: 18px от H1 «Мерч» до лида; Text-xl/400 (Rubik 18/24) */
body.lf-merch-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header {
	padding-bottom: 0 !important;
}

body.lf-merch-page #bx_eshop_wrap > .workarea .lf-merch-page-intro {
	margin: 18px 0 0;
	padding: 0;
	max-width: 100%;
	box-sizing: border-box;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 18px;
	font-weight: 400;
	font-style: normal;
	line-height: 24px;
	letter-spacing: 0;
	color: #2d2d2d;
}

/* Мобильная раскладка: «Все товары» + кнопка раскрытия умного фильтра (< md) */
body.lf-catalog-page .lf-catalog-all-products-heading-wrap--with-filter .lf-catalog-all-products-heading-row {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 0.2rem;
	flex-wrap: nowrap;
}

/* Без flex-grow: иконка сразу после текста, не уезжает к краю экрана */
body.lf-catalog-page .lf-catalog-all-products-heading-wrap--with-filter .lf-catalog-all-products-heading-row .lf-cat-dir__heading {
	flex: 0 1 auto;
	min-width: 0;
}

body.lf-catalog-page .lf-catalog-mobile-filter-toggle {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	width: auto;
	height: auto;
	min-width: 2.25rem;
	min-height: 2.25rem;
	margin: 0;
	margin-left: 0.05rem;
	padding: 0.2em;
	border: none;
	border-radius: 0;
	background: transparent;
	/* Кегль как у заголовка — размер шеврона в em от него */
	font-size: var(--lf-pagetitle-size);
	line-height: 1;
	color: #0f172a;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
	transition: color 0.15s ease, opacity 0.15s ease;
}

body.lf-catalog-page .lf-catalog-mobile-filter-toggle:hover,
body.lf-catalog-page .lf-catalog-mobile-filter-toggle:focus {
	background: transparent;
	outline: none;
	opacity: 0.72;
}

body.lf-catalog-page .lf-catalog-mobile-filter-toggle:focus-visible {
	opacity: 1;
	box-shadow: none;
	outline: 2px solid rgba(15, 23, 42, 0.35);
	outline-offset: 3px;
	border-radius: 2px;
}

body.lf-catalog-page .lf-catalog-mobile-filter-toggle__chev {
	display: block;
	width: 0.55em;
	height: 0.55em;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

body.lf-catalog-page .lf-catalog-mobile-filter-toggle[aria-expanded="true"] .lf-catalog-mobile-filter-toggle__chev {
	transform: rotate(180deg);
}

@media (max-width: 767.98px) {
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer:not(.lf-catalog-mobile-smart-filter-drawer--open) {
		display: none !important;
	}
}

@media (min-width: 768px) {
	body.lf-catalog-page .lf-catalog-mobile-smart-filter-drawer {
		display: block !important;
	}
}

body.lf-catalog-page .lf-catalog-listing-divider:has(+ .catalog-section .lf-catalog-empty) {
	margin-bottom: 0;
}

/* Заглушка «Ничего не найдено» в зоне товаров (умный фильтр без результатов) */
.lf-catalog-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 auto;
	/* 120px от линии разделителя до иконки (у соседнего разделителя margin убран через :has выше) */
	padding: 120px 16px 0;
	text-align: center;
	color: #404042;
	font-family: "Rubik", sans-serif;
}

.lf-catalog-empty__icon {
	display: block;
	flex-shrink: 0;
	width: 120px;
	height: 120px;
	margin: 0;
	color: #404042;
}

.lf-catalog-empty__title {
	margin: 32px 0 0;
	padding: 0;
	font-family: "Rubik", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 28px;
	line-height: 36px;
	letter-spacing: 0;
	color: #0a0a0a;
}

.lf-catalog-empty__hint {
	margin: 8px 0 0;
	padding: 0;
	font-family: "Rubik", sans-serif;
	font-style: normal;
	font-weight: 400;
	font-size: 18px;
	line-height: 24px;
	letter-spacing: 0;
	color: #000000;
}

.lf-catalog-empty__reset {
	-webkit-appearance: none;
	appearance: none;
	margin: 32px 0 0;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	/*
	 * В Figma Hug×48: суммарно 48px высоты, текст в одну строку.
	 * Padding 17+17 вместе с line-height даёт не 48px — вертикаль даётся flex при height:48 и padding только по горизонтали.
	 * Ширина «как Hug»: text в одну строку, min-width 176 (значение из макета), при необходимости чуть расширяется из-за рендеринга шрифта.
	 */
	height: 48px;
	min-height: 48px;
	min-width: 176px;
	width: fit-content;
	max-width: 100%;
	padding: 0 14px 0 12px;
	background: #fff;
	color: #000;
	/*
	 * Эффект тени из Figma (Y 20, blur 35, 15 %) в браузере выглядит заметно сильнее: у box-shadow другой профиль размытия.
	 * В свернутом макете кнопка ближе к плоской, как «Очистить» (#del_filter) — без отбрасывания тени.
	 */
	border: 1px solid #000;
	border-radius: 8px;
	box-shadow: none;
	font-family: "Rubik", sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition:
		background-color .15s ease,
		color .15s ease,
		border-color .15s ease,
		box-shadow .15s ease;
}

/* Узкая колонка: фикс. 176×48 в макете ломает nowrap — разрешаем перенос, высота может вырасти */
@media (max-width: 400px) {
	.lf-catalog-empty__reset {
		white-space: normal;
		height: auto;
		min-height: 48px;
		padding-block: 10px;
	}
}

.lf-catalog-empty__reset:hover {
	/* Как #del_filter «Очистить» в фильтре: без заливки #404042 */
	background: #f5f5f5;
	color: #000;
	border-color: #000;
	box-shadow: none;
	text-decoration: none;
}

.lf-catalog-empty__reset:focus {
	outline: none;
}

.lf-catalog-empty__reset:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
	box-shadow: none;
}

.lf-catalog-empty__reset::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/* Сравнение: шапка, таблица */
.lf-header__tool--compare {
	position: relative;
}

.lf-header__compare-badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}

.lf-header__compare-badge[hidden] {
	display: none;
}

.lf-header__tool--favorites {
	position: relative;
}

.lf-header__favorites-badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: #111;
	color: #fff;
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}

.lf-header__favorites-badge[hidden] {
	display: none;
}

.lf-header__favorites-badge--wide {
	min-width: 22px;
	padding: 0 3px;
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/css/news-banner.css?17836227839352*/
/* Страница /news/: баннер сверху. Самостоятельные стили — копия от баннера «Сертификаты» (для страницы «Новости») под отдельным префиксом. */

/* Нижний отступ у блока «крошки + H1» — плавно сжимается с десктопа до мобильного. */
body.lf-news-page #bx_eshop_wrap > .container.bx-content-section.lf-after-header {
	padding-bottom: clamp(16px, 2.5vw, 32px) !important;
}

.lf-news-banner {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	background: transparent;
	color: #f8fafc;
}

.lf-news-banner__gutter {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 5px var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)) 16px;
}

.lf-news-banner__frame {
	position: relative;
	width: 100%;
	min-height: min(60vh, 644px);
	border-radius: 14px;
	overflow: hidden;
	box-sizing: border-box;
	background: #0f172a;
	box-shadow: 0 10px 40px rgba(15, 23, 42, 0.14);
	display: flex;
	align-items: center;
	justify-content: center;
	isolation: isolate;
}

.lf-news-banner__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #0f172a;
}

.lf-news-banner__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: #0f172a;
	background-image: linear-gradient(145deg, #1e293b 0%, #0f172a 42%, #1e3a5f 100%);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.lf-news-banner__bg--desktop {
	display: none;
}

.lf-news-banner__bg--mobile {
	display: block;
}

@media (min-width: 768px) {
	.lf-news-banner__bg--desktop {
		display: block;
	}

	.lf-news-banner__bg--mobile {
		display: none;
	}
}

.lf-news-banner__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, 0.47);
	pointer-events: none;
}

.lf-news-banner__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 40px clamp(16px, 3vw, 28px) 44px;
	display: flex;
	justify-content: center;
}

.lf-news-banner__content {
	max-width: min(60rem, 100%);
	margin: 0 auto;
	text-align: center;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.lf-news-banner__title {
	margin: 0 0 16px;
	font-family: 'Lato', sans-serif;
	font-synthesis: none;
	font-size: clamp(1.875rem, 3.5vw + 1rem, 3rem);
	font-weight: 400;
	font-style: normal;
	line-height: 1.2;
	letter-spacing: 0.12px;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.lf-news-banner__title--html {
	margin: 0 0 16px;
	max-width: 100%;
}

.lf-news-banner__title--html p {
	margin: 0 0 0.65em;
	font: inherit;
}

.lf-news-banner__title--html p:last-child {
	margin-bottom: 0;
}

.lf-news-banner__lead,
.lf-news-banner__lead--html {
	margin: 0 0 28px;
	font-family: "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: clamp(1.0625rem, 2vw + 0.75rem, 1.5rem);
	font-weight: 400;
	font-style: normal;
	line-height: 1.333333;
	letter-spacing: 0;
	text-align: center;
	color: rgba(248, 250, 252, 0.92);
	text-shadow: 0 1px 16px rgba(0, 0, 0, 0.3);
	white-space: normal;
}

.lf-news-banner__lead--html {
	max-width: 100%;
}

.lf-news-banner__lead--html p {
	margin: 0 0 0.65em;
	font: inherit;
}

.lf-news-banner__lead--html p:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.lf-news-banner__gutter {
		padding-top: 5px;
		padding-bottom: 12px;
	}

	.lf-news-banner__frame {
		min-height: min(53vh, 490px);
		border-radius: 12px;
		box-shadow: 0 6px 24px rgba(15, 23, 42, 0.12);
	}

	.lf-news-banner__inner {
		padding-top: 32px;
		padding-bottom: 36px;
	}
}

/* ──────────── Адаптивная пирамида — копия баннера «Сертификаты» (для страницы «Новости») ────────────── */

#bx_eshop_wrap > section.lf-news-banner {
	margin: 0;
}

#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__gutter {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

@media (max-width: 767px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__gutter {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

#bx_eshop_wrap > .container.bx-content-section.lf-after-header.lf-news-page-head-block--after-banner {
	margin-top: 24px !important;
	padding-top: 0 !important;
}

#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
	min-height: min(62svh, 644px);
}

#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__inner {
	min-height: inherit;
	align-items: center;
	padding: 40px clamp(16px, 3vw, 32px) 44px;
}

#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__content {
	width: min(100%, 46rem);
	max-width: 46rem;
}

#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
	margin-bottom: 16px;
	font-size: 3rem;
	line-height: 1.18;
	letter-spacing: 0;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
	margin-bottom: 28px;
	font-size: 1.5rem;
	line-height: 1.333333;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

@media (max-width: 1199px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
		min-height: min(60svh, 580px);
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__content {
		width: min(100%, 42rem);
		max-width: 42rem;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
		font-size: 2.75rem;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
		font-size: 1.375rem;
	}
}

@media (max-width: 1023px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
		min-height: min(50svh, 480px);
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__inner {
		padding: 36px 24px 40px;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__content {
		width: min(100%, 38rem);
		max-width: 38rem;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
		margin-bottom: 14px;
		font-size: 2.375rem;
		line-height: 1.16;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
		margin-bottom: 24px;
		font-size: 1.25rem;
		line-height: 1.35;
	}
}

@media (max-width: 767px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
		min-height: clamp(280px, 42svh, 360px);
		border-radius: 12px;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__inner {
		padding: 30px 18px 34px;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__content {
		width: min(100%, 34rem);
		max-width: 34rem;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
		margin-bottom: 12px;
		font-size: 2rem;
		line-height: 1.14;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
		margin-bottom: 22px;
		font-size: 1.125rem;
		line-height: 1.35;
	}
}

@media (max-width: 520px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
		min-height: clamp(260px, 42svh, 320px);
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__inner {
		padding: 26px 16px 30px;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
		font-size: 1.75rem;
		line-height: 1.13;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
		margin-bottom: 18px;
		font-size: 1rem;
		line-height: 1.35;
	}
}

@media (max-width: 420px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
		min-height: clamp(250px, 40svh, 300px);
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__inner {
		padding: 24px 14px 28px;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
		font-size: 1.5rem;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
		font-size: 0.9375rem;
	}
}

@media (max-width: 360px) {
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__frame {
		min-height: clamp(240px, 38svh, 280px);
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__inner {
		padding-right: 12px;
		padding-left: 12px;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__title--html {
		font-size: 1.25rem;
		line-height: 1.18;
		overflow-wrap: normal;
		word-break: normal;
	}

	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead,
	#bx_eshop_wrap > section.lf-news-banner .lf-news-banner__lead--html {
		font-size: 0.875rem;
		line-height: 1.35;
	}
}

/* End */


/* Start:/bitrix/components/bitrix/system.show_message/templates/.default/style.css?178362276664*/
font.errortext
{
	color:red;
}

font.notetext
{
	color:green;
}

/* End */


/* Start:/local/templates/eshop_bootstrap_v4/components/bitrix/system.auth.form/auth/style.css?17836227831810*/
.lf-auth-menu {
	position: relative;
	display: flex;
	align-items: center;
	flex-shrink: 0;
	overflow: visible;
}

.lf-auth-menu__toggle {
	z-index: 2;
}

.lf-auth-menu__panel {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 13050;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 200px;
	padding: 8px;
	padding-top: 16px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(17, 24, 39, 0.12);
}

/* Невидимый мост между кнопкой и панелью — hover не рвётся в зазоре */
.lf-auth-menu__panel::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 16px;
}

.lf-auth-menu__panel[hidden] {
	display: none !important;
}

.lf-auth-menu:hover .lf-auth-menu__panel[hidden],
.lf-auth-menu.is-open .lf-auth-menu__panel[hidden] {
	display: flex !important;
}

.lf-auth-menu__logout-form {
	margin: 0;
	padding: 0;
}

.lf-auth-menu__item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #404042;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	text-decoration: none;
	text-align: left;
	cursor: pointer;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.lf-auth-menu__item:hover,
.lf-auth-menu__item:focus-visible {
	background: #404042;
	color: #fff;
	outline: none;
}

.lf-auth-menu__item:hover .lf-auth-menu__icon path,
.lf-auth-menu__item:focus-visible .lf-auth-menu__icon path {
	stroke: #fff;
}

.lf-auth-menu__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
}

.lf-auth-menu__label {
	white-space: nowrap;
}

.lf-auth-menu__item--logout {
	font: inherit;
}

/* End */


/* Start:/bitrix/components/bitrix/breadcrumb/templates/universal/style.css?1783622764758*/
.bx-breadcrumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.bx-breadcrumb-item {
	height: 22px;
	white-space: nowrap;
}

.bx-breadcrumb-item-angle {
	margin: 0 10px;
	color: #b5bdc2;
	vertical-align: top;
	font-size: 12px;
}

.bx-breadcrumb-item-link {
	border-bottom: none;
	vertical-align: top;
	line-height: 21px;
}

.bx-breadcrumb-item-link:hover { }

.bx-breadcrumb-item-text {
	vertical-align: top;
	white-space: normal;
	font: 400 13px/21px "Open Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
	transition: 250ms linear all;
}
/* End */


/* Start:/bitrix/components/bitrix/sale.basket.basket.line/templates/bootstrap_v4/style.css?17836227664790*/
.bx-basket { }

.basket-line-block {
	position: relative;
	padding-left: 25px;
	white-space: nowrap;
	font-size: 13px;
}

.basket-line-block-icon-cart,
.basket-line-block-icon-profile {
	position: relative;
	margin-right: 10px;
}

.basket-line-block-icon-cart:after,
.basket-line-block-icon-profile:after {
	position: absolute;
	top: -1px;
	left: -25px;
	display: block;
	width: 20px;
	height: 20px;
	content: '';
}

.basket-line-block-icon-profile:after { background: no-repeat center url(/bitrix/components/bitrix/sale.basket.basket.line/templates/bootstrap_v4/images/profile.svg); }

.basket-line-block-icon-cart:after { background: no-repeat center url(/bitrix/components/bitrix/sale.basket.basket.line/templates/bootstrap_v4/images/cart.svg); }

/*FIXED BASKET*/

@media (min-width: 768px) {
	.bx-basket-fixed {
		position: fixed;
		z-index: 998;
		overflow: hidden;
		padding-top: 10px;
		width: 200px;
		border: 1px solid #f0f0f0;
		border-radius: 1px;
		background: #fff;
		box-shadow: 0 7px 10px rgba(0, 0, 0, 0.15);
	}

	.bx-basket-fixed.top { top: 10px }

	.bx-basket-fixed.right { right: 10px }

	.bx-basket-fixed.bottom { bottom: 10px }

	.bx-basket-fixed.left { left: 10px }

	.bx-basket-fixed.bx-max-height { top: 10px; bottom: 10px; }
}

@media (max-width: 767px) {
	.bx-basket-fixed {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 998;
		overflow: hidden;
		padding-top: 10px;
		border: 1px solid #f0f0f0;
		border-radius: 1px;
		background: #fff;
		box-shadow: 0 7px 10px rgba(0, 0, 0, 0.15);
	}

	.bx-basket-fixed.vcenter {
		bottom: 10px;
		top: auto !important;
	}

	.bx-basket-item-list { display: none; }

	/*.bx-basket-fixed */
}

.bx-basket-fixed .basket-line-block { margin-left: 10px; }

.bx-basket-item-list {
	position: relative;
	overflow: hidden;
	padding-bottom: 20px;
	border-top: 1px solid #f7f7f7;
}

.bx-opener .bx-basket-item-list { padding-bottom: 75px; }

.bx-max-height .bx-basket-item-list {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
}

.bx-closed .bx-basket-item-list {
	overflow: hidden;
	height: 20px;
}

.bx-basket-item-list-action {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 120;
	padding: 3px 0;
	height: 20px;
	background: #f7f7f7;
	color: #4f4f4f;
	vertical-align: middle;
	text-align: center;
	font-size: 12px;
	line-height: 14px;
	cursor: pointer;
}

.bx-basket-item-list-button-container {
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	padding: 10px 0;
	border-top: 1px solid #f7f7f7;
	background: #fff;
	text-align: center;
}

.bx-basket-item-list-container {
	overflow-y: auto;
	max-height: 100%
}

.bx-basket-item-list-item {
	position: relative;
	margin-bottom: 15px;
	padding-top: 15px;
	padding-right: 10px;
	padding-left: 10px;
	border-bottom: 1px solid #f7f7f7;
}

.bx-basket-item-list-container .bx-basket-item-list-item:last-child {
	margin-bottom: 0;
	border-bottom: none;
}

.bx-basket-item-list-item-status {
	margin: 0 10px 20px;
	padding: 3px;
	border-radius: 3px;
	background: #ebebeb;
	text-align: center;
	white-space: normal;
	font-weight: bold;
	font-size: 12px;
	line-height: 16px;
}

.bx-basket-item-list-item-img {
	position: relative;
	padding-bottom: 5px;
	text-align: center;
}

.bx-basket-item-list-item-img img {
	max-width: 90px;
	height: auto;
	border: 1px solid #e6e6e6;
}

.bx-basket-item-list-item-name { padding-bottom: 5px; }

.bx-basket-item-list-item-name a {
	font-size: 13px;
	line-height: 16px;
}

.bx-basket-item-list-item-remove {
	position: absolute;
	top: -7px;
	right: 10px;
	width: 20px;
	height: 20px;
	opacity: .5;
	cursor: pointer;
	transition: 250ms linear all;
}

.bx-basket-item-list-item-remove:after,
.bx-basket-item-list-item-remove:before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 10px;
	height: 2px;
	border-radius: 1px;
	background-color: #333;
	content: '';
	transform: translate(-50%, -50%);
}

.bx-basket-item-list-item-remove:after {
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	-moz-transform: translate(-50%, -50%) rotate(45deg);
	-ms-transform: translate(-50%, -50%) rotate(45deg);
	-o-transform: translate(-50%, -50%) rotate(45deg);
	transform: translate(-50%, -50%) rotate(45deg);
}

.bx-basket-item-list-item-remove:before {
	-webkit-transform: translate(-50%, -50%) rotate(135deg);
	-moz-transform: translate(-50%, -50%) rotate(135deg);
	-ms-transform: translate(-50%, -50%) rotate(135deg);
	-o-transform: translate(-50%, -50%) rotate(135deg);
	transform: translate(-50%, -50%) rotate(135deg);
}

.bx-basket-item-list-item-remove:hover { opacity: .7; }

.bx-basket-item-list-item-price-block {
	padding-bottom: 5px;
	font-size: 12px;
}

.bx-basket-item-list-item-price {
	display: inline-block;
	margin-right: 5px;
}

.bx-basket-item-list-item-price-old {
	display: inline-block;
	margin-right: 5px;
	color: #b0b0b0;
	text-decoration: line-through
}

.bx_cart_login_top .basket-line { line-height: 1.44em; }
/* End */


/* Start:/local/templates/eshop_bootstrap_v4/template_styles.css?178362278347377*/
/* Личный кабинет /personal/ — общие формы, кнопки, ссылки */
.lk label {
	color: #404042;
}

.lk .form-group label {
	font-size: 14px;
	font-weight: 600;
	margin-bottom: 5px;
	margin-top: 22px;
	display: block;
}

.lk .form-group:first-of-type label {
	margin-top: 0;
}

.lk .form-group .form-group-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 20px;
	margin-bottom: 5px;
}

.lk .form-group .form-group-item label {
	margin: 0;
	display: inline;
}

.lk .form-group a {
	font-size: 14px;
	font-weight: 400;
	color: #333;
	text-decoration: underline;
}

.lk .form-group .form-group-item a {
	white-space: nowrap;
	flex-shrink: 0;
}

.lk .form-group > a {
	display: block;
	margin-top: 10px;
	text-align: right;
}

.lk .form-group-password {
	position: relative;
}

.lk .form-group-password__toggle {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: inherit;
	outline: none;
	user-select: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.lk .form-group-password__toggle:focus:not(:focus-visible) {
	outline: none;
}

.lk .form-group-password__toggle img {
	display: block;
	width: 22px;
	height: 20px;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

.lk .form-group-password__toggle:hover {
	opacity: 0.75;
}

.lk .form-group-password__toggle:focus-visible {
	outline: 2px solid rgba(64, 64, 66, 0.35);
	outline-offset: 2px;
	border-radius: 4px;
}

.lk .lf-lk-field-error,
.lk .invalid-feedback {
	display: block;
	margin: 6px 0 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 400;
	color: #dc2626;
}

.lk .form-control.lf-lk-field--invalid,
.lk .form-control.is-invalid {
	border-color: #f87171;
	box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.12);
}

.lk .lk-register-agreement__checkbox.lf-lk-field--invalid {
	outline: 2px solid #f87171;
	outline-offset: 2px;
}

.lk .form-control {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	height: 48px;
	min-height: 48px;
	padding: 12px 16px;
	border: 1px solid rgba(64, 64, 66, 0.3);
	border-radius: 8px;
	font-family: var(--lf-font-family);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.375;
	letter-spacing: 0;
	color: var(--lf-text);
	background: #ffffff;
	outline: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.lk .form-group-password .form-control {
	padding-right: 48px;
}

.lk .btn {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	height: 48px;
	min-height: 48px;
	padding: 12px 16px;
	border: 0;
	border-radius: 8px;
	font-family: var(--lf-font-family);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.375;
	background: #404042;
	color: #ffffff;
	margin-top: 20px;
}

.lk .btn:hover,
.lk .btn:focus {
	color: #ffffff;
}

.lk .lk-form-section-title {
	font-size: 14px;
	font-weight: 600;
	color: #404042;
	margin: 10px 0 5px;
}

.lk .lk-form-hint {
	margin: 8px 0 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.45;
	color: rgba(64, 64, 66, 0.75);
}

.lk .lk-register-captcha img {
	display: block;
	max-width: 100%;
	height: auto;
	margin-top: 10px;
	margin-bottom: 12px;
	border-radius: 8px;
}

.lk .bx-auth-note {
	font-size: 1.25rem;
	font-weight: 600;
	color: #404042;
	margin: 0 0 20px;
}

.lk .lk-form-section-img{
	display:flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}
.lk .lk-form-section-img .lk-header__logo-img{
	height: 60px;
	width: auto;
	max-width: 100%;
	object-fit: contain;
	object-position: center;
}

/* background_lk1.jpg — 960×902; lk2 — 960×1007 (регистрация); lk3 — 960×1008 (восстановление пароля) */
.lk-auth-layout {
	--lf-auth-visual-aspect: 960 / 902;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
	width: 100%;
	max-width: none;
	margin: 0;
	min-height: 0;
	background: #ffffff;
	overflow: hidden;
}

.lk-auth-layout--register {
	--lf-auth-visual-aspect: 960 / 1007;
}

.lk-auth-layout--recover {
	--lf-auth-visual-aspect: 960 / 1008;
}

.lk-auth-layout__form {
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	padding: clamp(32px, 5vw, 56px);
	box-sizing: border-box;
	background: #ffffff;
}

.lk-auth-layout__form > .lk.bx-auth,
.lk-auth-layout__form .lk.bx-auth {
	width: 100%;
	max-width: none;
	margin: 0;
}

.lk-auth-layout__visual {
	display: none;
}

.lk-auth-layout--register .lk-auth-layout__visual {
	background-image: url('/local/templates/eshop_bootstrap_v4/images/background_lk2.jpg');
}

.lk-auth-layout--recover .lk-auth-layout__visual {
	background-image: url('/local/templates/eshop_bootstrap_v4/images/background_lk3.jpg');
}

@media (min-width: 992px) {
	.lk-auth-layout {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		min-height: 0;
		grid-template-rows: auto;
	}

	.lk-auth-layout__visual {
		display: block;
		position: relative;
		min-width: 0;
		min-height: 0;
		height: auto;
		aspect-ratio: var(--lf-auth-visual-aspect);
		background-color: #f3f3f5;
		background-image: url('/local/templates/eshop_bootstrap_v4/images/background_lk1.jpg');
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}

	body.lf-auth-page #bx_eshop_wrap.bx-wrapper,
	body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap.bx-wrapper {
		min-height: auto;
	}

	body.lf-auth-page #bx_eshop_wrap > .workarea,
	body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section,
	body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row,
	body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row > .bx-content.col,
	body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea,
	body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section,
	body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section > .row,
	body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section > .row > .bx-content.col {
		flex: 0 0 auto;
		min-height: auto;
	}

	body.lf-auth-page .lk-auth-layout,
	body.lf-personal-page .lk-auth-layout {
		flex: 0 0 auto;
		align-self: flex-start;
		min-height: auto;
		height: auto;
	}
}

/* /personal/: плитки и списки — на всю ширину колонки */
body.lf-personal-page .lk-auth-layout__form:not(:has(.lk.bx-auth)) {
	justify-content: flex-start;
	max-width: 100%;
	overflow-x: clip;
}

body.lf-personal-page .lk-auth-layout__form:not(:has(.lk.bx-auth)) > .row {
	width: 100%;
	margin-right: 0;
	margin-left: 0;
}

/* ЛК (/personal/, /auth/): ширина контента как у /merch/ (lf-section-heading-page в header.php) */
body.lf-personal-page #bx_eshop_wrap > .workarea > .container.bx-content-section,
body.lf-personal-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row,
body.lf-personal-page #bx_eshop_wrap > .workarea > .container.bx-content-section .bx-content.col,
body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section,
body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row,
body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section .bx-content.col {
	max-width: none;
	width: 100%;
}

body.lf-personal-page .lk-cabinet-layout__main > .lk-personal-index {
	box-sizing: border-box;
	width: 100%;
	margin-bottom: clamp(32px, 5vw, 72px);
}

/* /personal/: убрать нижний отступ workarea */
body.lf-personal-page #bx_eshop_wrap > .workarea {
	padding-bottom: 0;
}

/* /auth/, гостевой /personal/: split-блок, компенсация горизонтального padding */
body.lf-auth-page #bx_eshop_wrap.bx-wrapper,
body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap.bx-wrapper {
	min-height: 100vh;
}

body.lf-auth-page #bx_eshop_wrap > .workarea,
body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea {
	flex: 1 0 auto;
	padding-bottom: 0;
}

body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section,
body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding-bottom: 0;
}

body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row,
body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section > .row {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	margin-bottom: 0;
}

body.lf-auth-page #bx_eshop_wrap > .workarea > .container.bx-content-section > .row > .bx-content.col,
body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section > .row > .bx-content.col {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding-bottom: 0 !important;
}

body.lf-auth-page .lk-auth-layout {
	flex: 1 1 auto;
	min-height: 100%;
	width: calc(100% + 2 * var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-left: calc(-1 * var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-right: calc(-1 * var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-top: 0;
	margin-bottom: 0;
}

/* ЛК /personal/ авторизованный: без bleed-margin — иначе сетка и таблица раздувают страницу */
body.lf-personal-page .lk-auth-layout:has(.lk-cabinet) {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	min-height: 100%;
	width: 100%;
	margin: 0;
	overflow-x: clip;
}

body.lf-personal-page .lk-auth-layout:has(.lk-cabinet) .lk-auth-layout__form {
	min-width: 0;
	max-width: 100%;
	width: 100%;
	box-sizing: border-box;
}

/* Гостевой /personal/ (форма входа): full-bleed как /auth/ */
body.lf-personal-page .lk-auth-layout:not(:has(.lk-cabinet)) {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	min-height: 100%;
	width: calc(100% + 2 * var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-left: calc(-1 * var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-right: calc(-1 * var(--lf-chrome-pad-x, clamp(18px, 3vw, 48px)));
	margin-top: 0;
	margin-bottom: 0;
	overflow-x: clip;
}

html.lf-personal-page,
body.lf-personal-page {
	overflow-x: hidden;
	max-width: 100%;
}

body.lf-personal-page #bx_eshop_wrap.bx-wrapper {
	max-width: 100%;
	overflow-x: clip;
}

body.lf-personal-page:has(.lk-auth-layout) #bx_eshop_wrap > .workarea > .container.bx-content-section > .row > .bx-content.col {
	min-width: 0;
	max-width: 100%;
	overflow-x: clip;
}

@media (max-width: 991px) {
	body.lf-auth-page .lk-auth-layout {
		flex: 0 0 auto;
		min-height: 0;
	}

	body.lf-personal-page .lk-auth-layout,
	body.lf-personal-page .lk-auth-layout:has(.lk-cabinet),
	body.lf-personal-page .lk-auth-layout:not(:has(.lk-cabinet)) {
		flex: 0 0 auto;
		min-height: 0;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
}

/* ЛК: шапка страницы (крошки + H1) для авторизованного /personal/ */
.lk-cabinet {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.lk-cabinet__head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding-top: clamp(16px, 2vw, 24px);
	margin-bottom: clamp(20px, 3vw, 32px);
}

.lk-cabinet__crumbs.row {
	width: 100%;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
}

.lk-cabinet__crumbs > .col,
.lk-cabinet__crumbs > [class*="col-"] {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.lk-cabinet__crumbs #navigation {
	margin: 0 !important;
	padding: 0 !important;
}

.lk-cabinet__title {
	margin: 0;
	padding: 0;
	font-family: var(--lf-heading-serif, "Rubik", sans-serif);
	font-weight: var(--lf-pagetitle-weight, 600);
	font-size: var(--lf-pagetitle-size, clamp(28px, 4vw, 40px));
	line-height: var(--lf-pagetitle-line-height, 1.15);
	letter-spacing: var(--lf-pagetitle-letter-spacing, 0);
	color: #0f172a;
	font-synthesis: none;
}

/* ЛК: две колонки (меню + контент) для авторизованного /personal/ */
.lk-cabinet-layout {
	--lf-lk-panel-radius: 8px;
	--lf-lk-panel-shadow: 0 6px 22px rgba(0, 0, 0, 0.04);
	display: grid;
	grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
	gap: clamp(16px, 2.5vw, 24px);
	align-items: start;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

.lk-cabinet-layout__sidebar {
	box-sizing: border-box;
	min-width: 0;
	padding: 16px 12px;
	background: #fff;
	border-radius: var(--lf-lk-panel-radius);
	box-shadow: var(--lf-lk-panel-shadow);
}

.lk-cabinet-layout__sidebar .lk-cabinet-menu {
	display: block;
	width: 100%;
}

.lk-cabinet-layout__main {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: clip;
}

.lk-cabinet-layout--no-sidebar {
	grid-template-columns: minmax(0, 1fr);
}

body.lf-personal-page .lk-cabinet-layout__main > .lk-orders,
body.lf-personal-page .lk-cabinet-layout__main > .lk-documents {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-bottom: clamp(32px, 5vw, 72px);
	overflow-x: clip;
}

body.lf-personal-page .lk-orders__panel,
body.lf-personal-page .lk-documents__panel {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: clamp(20px, 2.5vw, 24px) clamp(20px, 2.5vw, 24px) 0;
	background: #fff;
	border-radius: var(--lf-lk-panel-radius);
	box-shadow: var(--lf-lk-panel-shadow);
	overflow: hidden;
}

/* Горизонтальный скролл только у таблицы, не у всей страницы */
body.lf-personal-page .lk-orders__table-wrap,
body.lf-personal-page .lk-documents__table-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	contain: inline-size;
	isolation: isolate;
}

body.lf-personal-page .lk-cabinet-layout__main > .lk-favorites {
	box-sizing: border-box;
	width: 100%;
	padding: clamp(20px, 2.5vw, 24px) clamp(20px, 2.5vw, 24px) 0;
	margin-bottom: clamp(32px, 5vw, 72px);
	background: #fff;
	border-radius: var(--lf-lk-panel-radius);
	box-shadow: var(--lf-lk-panel-shadow);
}

.lk-favorites {
	width: 100%;
}

@media (max-width: 1199px) {
	.lk-cabinet-layout {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

@media (max-width: 991px) {
	.lk-cabinet-layout__sidebar {
		padding: 12px 10px;
	}
}

/* ЛК: пустое «Избранное» (макет как у пустой корзины / заказов) */
.lk-favorites__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: clamp(430px, 58vh, 680px);
	padding: clamp(16px, 4vw, 40px) 0;
	text-align: center;
}

.lk-favorites__empty-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 520px;
}

.lk-favorites__empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
}

.lk-favorites__empty-icon img {
	display: block;
	width: 120px;
	height: 120px;
}

.lk-favorites__empty-copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 32px;
}

.lk-favorites__empty-title {
	margin: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 28px;
	line-height: 36px;
	font-weight: 500;
	letter-spacing: 0;
	color: #404042;
}

.lk-favorites__empty-text {
	margin: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 18px;
	line-height: 24px;
	font-weight: 400;
	letter-spacing: 0;
	color: #404042;
}

.lk-favorites__empty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 202px;
	height: 48px;
	min-height: 48px;
	margin-top: 32px;
	padding: 12px;
	border-radius: 8px;
	background: #404042;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	color: #fff;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 16px;
	line-height: 22px;
	font-weight: 400;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.lk-favorites__empty-button:hover,
.lk-favorites__empty-button:focus-visible {
	opacity: 0.88;
	color: #fff;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	text-decoration: none;
	outline: none;
}

.lk-favorites__empty-button-icon {
	flex: 0 0 24px;
}

/* ЛК: «Документы» */
.lk-documents {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: clip;
}

.lk-documents__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 20px;
	background: transparent;
	overflow-x: clip;
}

.lk-documents__count {
	margin: 0;
	min-width: 0;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.35;
	color: #0a0a0a;
}

.lk-documents__count .lf-catalog-listing-toolbar__count-num {
	font-weight: 700;
}

.lk-documents__filter {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	flex-shrink: 0;
}

.lk-documents__filter-label {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	color: #404042;
}

.lk-documents__date-field {
	position: relative;
	display: flex;
	align-items: center;
	width: min(100%, 200px);
}

.lk-documents__date-input {
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 10px 44px 10px 14px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	color: #0a0a0a;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	line-height: 1.25;
}

.lk-documents__date-input:focus {
	outline: none;
	border-color: #404042;
}

.lk-documents__date-input::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 44px;
	height: 100%;
	cursor: pointer;
}

.lk-documents__date-trigger {
	position: absolute;
	top: 50%;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #404042;
	transform: translateY(-50%);
	cursor: pointer;
}

.lk-documents__date-trigger:hover {
	color: #0a0a0a;
}

.lk-documents__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: clamp(360px, 50vh, 560px);
	padding: clamp(24px, 4vw, 48px) 0;
	text-align: center;
}

.lk-documents__empty-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 520px;
}

.lk-documents__empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
}

.lk-documents__empty-icon img {
	display: block;
	width: 120px;
	height: 120px;
}

.lk-documents__empty-copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 32px;
}

.lk-documents__empty-title {
	margin: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 28px;
	line-height: 36px;
	font-weight: 500;
	color: #404042;
}

.lk-documents__empty-text {
	margin: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 18px;
	line-height: 24px;
	font-weight: 400;
	color: #404042;
}

.lk-documents__empty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 202px;
	height: 48px;
	min-height: 48px;
	margin-top: 32px;
	padding: 12px;
	border-radius: 8px;
	background: #404042;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	color: #fff;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 16px;
	line-height: 22px;
	font-weight: 400;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.lk-documents__empty-button:hover,
.lk-documents__empty-button:focus-visible {
	opacity: 0.88;
	color: #fff;
	text-decoration: none;
	outline: none;
}

.lk-documents__empty-button-icon {
	flex: 0 0 24px;
}

.lk-documents__table-wrap {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}

.lk-documents__table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	border-spacing: 0;
}

.lk-documents__th,
.lk-documents__td {
	padding: 16px 12px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	vertical-align: middle;
}

.lk-documents__table tbody tr:last-child .lk-documents__td {
	border-bottom: none;
}

.lk-documents__th {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #0a0a0a;
	white-space: nowrap;
}

.lk-documents__td {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	color: #0a0a0a;
}

.lk-documents__th--num,
.lk-documents__td--num {
	width: 48px;
	padding-left: 0;
}

.lk-documents__th--action,
.lk-documents__td--action {
	width: 56px;
	padding-right: 0;
	text-align: right;
}

.lk-documents__td--sum strong {
	font-weight: 700;
}

.lk-documents__download {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	color: #404042;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.lk-documents__download:hover,
.lk-documents__download:focus-visible {
	border-color: #404042;
	color: #0a0a0a;
	background: #fafafa;
	text-decoration: none;
	outline: none;
}

@media (max-width: 767.98px) {
	.lk-documents__toolbar {
		align-items: flex-start;
	}

	.lk-documents__filter {
		width: 100%;
		max-width: 100%;
	}

	.lk-documents__date-field {
		width: 100%;
		max-width: 100%;
	}

	.lk-documents__td--name {
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.lk-documents__empty-title {
		font-size: 24px;
		line-height: 32px;
	}

	.lk-documents__empty-text {
		font-size: 16px;
		line-height: 22px;
	}
}

/* ЛК: «Заказы» */
.lk-orders {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: clip;
}

.lk-orders__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0 0 20px;
	background: transparent;
	overflow-x: clip;
}

.lk-orders__count {
	margin: 0;
	min-width: 0;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.35;
	color: #0a0a0a;
}

.lk-orders__count .lf-catalog-listing-toolbar__count-num {
	font-weight: 700;
}

.lk-orders__filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 16px 20px;
}

.lk-orders__filter {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	flex-shrink: 0;
}

.lk-orders__filter-label {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	color: #404042;
}

.lk-orders__date-field {
	position: relative;
	display: flex;
	align-items: center;
	width: min(100%, 200px);
}

.lk-orders__date-input {
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 10px 44px 10px 14px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	color: #0a0a0a;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	line-height: 1.25;
}

.lk-orders__date-input:focus {
	outline: none;
	border-color: #404042;
}

.lk-orders__date-input::-webkit-calendar-picker-indicator {
	opacity: 0;
	position: absolute;
	right: 0;
	width: 44px;
	height: 100%;
	cursor: pointer;
}

.lk-orders__date-trigger {
	position: absolute;
	top: 50%;
	right: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: #404042;
	transform: translateY(-50%);
	cursor: pointer;
}

.lk-orders__date-trigger:hover {
	color: #0a0a0a;
}

.lk-orders__select-field {
	width: min(100%, 220px);
}

.lk-orders__select {
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 10px 36px 10px 14px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23404042' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;
	color: #0a0a0a;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	line-height: 1.25;
	appearance: none;
	cursor: pointer;
}

.lk-orders__select:focus {
	outline: none;
	border-color: #404042;
}

body.lf-personal-page .lk-orders__panel .lk-orders__more-wrap {
	margin-top: 24px;
	padding-bottom: clamp(20px, 2.5vw, 24px);
}

.lk-orders__table-wrap {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
}

.lk-orders__table {
	width: 100%;
	min-width: 900px;
	border-collapse: collapse;
	border-spacing: 0;
}

.lk-orders__th,
.lk-orders__td {
	padding: 16px 12px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	vertical-align: middle;
}

.lk-orders__table tbody tr:last-child .lk-orders__td {
	border-bottom: none;
}

.lk-orders__th {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: #0a0a0a;
	white-space: nowrap;
}

.lk-orders__td {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
	color: #0a0a0a;
}

.lk-orders__th--num,
.lk-orders__td--num {
	width: 48px;
	padding-left: 0;
}

.lk-orders__th--action,
.lk-orders__td--action {
	width: 56px;
	padding-right: 0;
	text-align: right;
}

.lk-orders__order-link {
	color: #0a0a0a;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lk-orders__order-link:hover,
.lk-orders__order-link:focus-visible {
	color: #404042;
}

.lk-orders__status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
	white-space: normal;
	text-align: center;
}

.lk-orders__td--status {
	min-width: 120px;
	max-width: 200px;
}

/* Цвета статусов: ID из Магазин → Настройки → Статусы заказа. Класс: .lk-orders__status--sid-{ID} */
.lk-orders__status--default {
	background: #f3f4f6;
	color: #4b5563;
}

.lk-orders__status--canceled {
	background: #ffe4e6;
	color: #e11d48;
}

/* N — принят / ожидает оплаты */
.lk-orders__status--sid-N {
	background: #ffedd5;
	color: #ea580c;
}

/* P — оплачен */
.lk-orders__status--sid-P {
	background: #dcfce7;
	color: #16a34a;
}

/* F — выполнен */
.lk-orders__status--sid-F {
	background: #16a34a;
	color: #fff;
}

/* Примеры доп. статусов — добавляйте по ID из админки */
.lk-orders__status--sid-DA {
	background: #f3e8ff;
	color: #7c3aed;
}

.lk-orders__status--sid-DN,
.lk-orders__status--sid-DF {
	background: #dbeafe;
	color: #2563eb;
}

.lk-orders__td--sum strong {
	font-weight: 700;
}

.lk-orders__repeat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #fff;
	color: #404042;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.lk-orders__repeat:hover,
.lk-orders__repeat:focus-visible {
	border-color: #404042;
	color: #0a0a0a;
	background: #fafafa;
	text-decoration: none;
	outline: none;
}

.lk-orders__repeat-icon {
	display: block;
	width: 20px;
	height: 20px;
}

.lk-orders__more-wrap {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}

.lk-orders__more-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 20px;
	border: 1px solid #000;
	border-radius: 8px;
	background: #fff;
	color: #000;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	text-decoration: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.lk-orders__more-btn:hover,
.lk-orders__more-btn:focus-visible {
	background: #f4f4f4;
	color: #000;
	text-decoration: none;
	outline: none;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.lk-orders__more-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.lk-orders__empty {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: clamp(360px, 50vh, 560px);
	padding: clamp(24px, 4vw, 48px) 0;
	text-align: center;
}

.lk-orders__empty-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 520px;
}

.lk-orders__empty-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
}

.lk-orders__empty-icon img {
	display: block;
	width: 120px;
	height: 120px;
}

.lk-orders__empty-copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 32px;
}

.lk-orders__empty-title {
	margin: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 28px;
	line-height: 36px;
	font-weight: 500;
	color: #404042;
}

.lk-orders__empty-text {
	margin: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 18px;
	line-height: 24px;
	font-weight: 400;
	color: #404042;
}

.lk-orders__empty-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 202px;
	height: 48px;
	min-height: 48px;
	margin-top: 32px;
	padding: 12px;
	border-radius: 8px;
	background: #404042;
	box-shadow: 0 20px 35px rgba(0, 0, 0, 0.15);
	color: #fff;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 16px;
	line-height: 22px;
	font-weight: 400;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.lk-orders__empty-button:hover,
.lk-orders__empty-button:focus-visible {
	opacity: 0.88;
	color: #fff;
	text-decoration: none;
	outline: none;
}

.lk-orders__empty-button-icon {
	flex: 0 0 24px;
}

@media (max-width: 767.98px) {
	.lk-orders__toolbar {
		align-items: flex-start;
	}

	.lk-orders__filters {
		width: 100%;
	}

	.lk-orders__filter,
	.lk-orders__date-field,
	.lk-orders__select-field {
		width: 100%;
		max-width: 100%;
	}

	.lk-orders__status {
		font-size: 9px;
		line-height: 1;
	}

	.lk-orders__empty-title {
		font-size: 24px;
		line-height: 32px;
	}

	.lk-orders__empty-text {
		font-size: 16px;
		line-height: 22px;
	}
}

/* ЛК: детальная страница заказа */
.lk-order-detail {
	width: 100%;
}

.lk-order-detail__back-wrap {
	margin: 0 0 16px;
}

.lk-order-detail__back {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	color: #404042;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lk-order-detail__page-title {
	margin: 0 0 24px;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.3;
	color: #0a0a0a;
}

.lk-order-detail__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
	gap: 24px;
	align-items: start;
}

.lk-order-detail__items {
	display: flex;
	flex-direction: column;
	gap: 20px;
	min-width: 0;
}

/*
 * Карточки товара на детальной заказа — как в корзине, но без mobile-стека
 * из lf-cart-page.css (@media max-width 650px → grid 1fr), который ломает вёрстку
 * в узкой колонке рядом с блоком «Информация о заказе».
 */
body.lf-personal-page .lk-order-detail .lf-cart-item.lk-order-detail-item {
	/* Макет: превью 359px, пропорция 3:4 → высота ряда ~479px */
	--lf-order-detail-item-height: min(479px, 70vw);
	display: grid;
	grid-template-columns: minmax(140px, 359px) minmax(0, 1fr);
	align-items: stretch;
	height: var(--lf-order-detail-item-height);
	min-height: var(--lf-order-detail-item-height);
	overflow: hidden;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.04);
}

body.lf-personal-page .lk-order-detail .lf-cart-item__media {
	height: 100%;
	min-height: 0;
	overflow: hidden;
	background: #f2f2f3;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__media a {
	display: block;
	width: 100%;
	height: 100%;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: 100%;
	object-fit: cover;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	padding: clamp(22px, 2vw, 36px);
}

body.lf-personal-page .lk-order-detail .lf-cart-item__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px 18px;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__title-wrap {
	flex: 1 1 180px;
	min-width: 0;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__top > .lf-cart-item__qty {
	flex: 0 0 174px;
	width: 174px;
	max-width: 100%;
	height: 48px;
	min-height: 48px;
	margin: 0 0 0 auto;
}

/* Счётчик количества — полная копия стилей корзины для страницы заказа */
body.lf-personal-page .lk-order-detail .lf-cart-item__qty {
	position: relative;
	display: block;
	box-sizing: border-box;
	flex-shrink: 0;
	overflow: hidden;
	-webkit-tap-highlight-color: transparent;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty-svg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	pointer-events: none;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty-svg__minus path,
body.lf-personal-page .lk-order-detail .lf-cart-item__qty-svg__plus path {
	stroke: #000000;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty--readonly.lf-cart-item__qty--at-min .lf-cart-item__qty-svg__minus path {
	opacity: 0.35;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty--readonly.lf-cart-item__qty--at-min .lf-cart-item__qty-svg__plus path {
	opacity: 0.35;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty-hit {
	position: absolute;
	top: 0;
	height: 100%;
	width: calc(100% * 47 / 174);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	pointer-events: none;
	z-index: 1;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty-hit--minus {
	left: 0;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty-hit--plus {
	right: 0;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty-input {
	position: absolute;
	left: calc(100% * 47 / 174);
	top: 0;
	width: calc(100% * 80 / 174);
	height: 100%;
	margin: 0;
	padding: 0 2px;
	box-sizing: border-box;
	border: none;
	background: transparent;
	outline: none;
	box-shadow: none;
	text-align: center;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: clamp(13px, 1.65cqi, 17px);
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #000000;
	-webkit-appearance: none;
	appearance: none;
	z-index: 2;
	pointer-events: none;
	cursor: default;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__qty--readonly {
	pointer-events: none;
	user-select: none;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__title,
body.lf-personal-page .lk-order-detail .lk-order-detail-item__title {
	margin: 0;
	font-size: clamp(18px, 1.35vw, 24px);
	font-weight: 500;
	line-height: 1.25;
	color: #0a0a0a;
	overflow-wrap: anywhere;
}

a.lk-order-detail-item__title {
	text-decoration: none;
}

a.lk-order-detail-item__title:hover {
	color: #404042;
}

body.lf-personal-page .lk-order-detail .lf-cart-item__article {
	margin: 6px 0 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
	color: #8d8d91;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__price.lf-cart-item__price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin-top: 16px;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__price-old.lf-cart-item__price-old {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.02em;
	color: #8d8d91;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__price-current.lf-cart-item__price-current {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.02em;
	color: #0a0a0a;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__props.lf-cart-item__props {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.4;
	color: #8d8d91;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__props .lf-cart-item__props-separator {
	margin: 0 8px;
	color: #8d8d91;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__sum.lf-cart-item__sum {
	justify-self: end;
	font-size: clamp(22px, 1.55vw, 28px);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.02em;
	color: #0a0a0a;
}

body.lf-personal-page .lk-order-detail .lk-order-detail-item__bottom.lf-cart-item__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	margin-top: auto;
	padding-top: 28px;
}

@media (max-width: 991.98px) {
	body.lf-personal-page .lk-order-detail .lf-cart-item.lk-order-detail-item {
		--lf-order-detail-item-height: min(420px, 62vw);
		grid-template-columns: minmax(120px, min(359px, 38vw)) minmax(0, 1fr);
	}
}

@media (max-width: 767.98px) {
	body.lf-personal-page .lk-order-detail .lf-cart-item.lk-order-detail-item {
		--lf-order-detail-item-height: min(360px, 55vw);
		grid-template-columns: minmax(100px, 34%) minmax(0, 1fr);
	}

	body.lf-personal-page .lk-order-detail .lf-cart-item__body {
		padding: 16px;
	}

	body.lf-personal-page .lk-order-detail .lf-cart-item__top > .lf-cart-item__qty {
		flex-basis: 148px;
		width: 148px;
		height: 41px;
		min-height: 41px;
	}

	body.lf-personal-page .lk-order-detail .lk-order-detail-item__price-old.lf-cart-item__price-old {
		font-size: 14px;
	}

	body.lf-personal-page .lk-order-detail .lk-order-detail-item__price-current.lf-cart-item__price-current {
		font-size: 18px;
	}

	body.lf-personal-page .lk-order-detail .lk-order-detail-item__sum.lf-cart-item__sum {
		font-size: 22px;
	}
}

@media (max-width: 479.98px) {
	body.lf-personal-page .lk-order-detail .lf-cart-item.lk-order-detail-item {
		grid-template-columns: 1fr;
		height: auto;
		min-height: 0;
	}

	body.lf-personal-page .lk-order-detail .lf-cart-item__media {
		aspect-ratio: 3 / 4;
		max-height: 320px;
		height: auto;
	}
}

.lk-order-detail-summary {
	padding: 24px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.04);
}

.lk-order-detail-summary__head {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid #e8e8ea;
}

.lk-order-detail-summary__head .lk-orders__status {
	align-self: flex-start;
	justify-content: center;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}

.lk-order-detail-summary__title {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	color: #0a0a0a;
}

.lk-order-detail-summary__props {
	margin: 0 0 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #e8e8ea;
}

.lk-order-detail-summary__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 12px;
}

.lk-order-detail-summary__row:last-child {
	margin-bottom: 0;
}

.lk-order-detail-summary__row dt {
	margin: 0;
	flex: 1 1 45%;
	font-size: 14px;
	line-height: 1.35;
	color: #8d8d91;
}

.lk-order-detail-summary__row dd {
	margin: 0;
	flex: 1 1 55%;
	font-size: 14px;
	line-height: 1.35;
	color: #0a0a0a;
	text-align: right;
}

.lk-order-detail-summary__link {
	color: #0a0a0a;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.lk-order-detail-summary__link:hover {
	color: #404042;
}

.lk-order-detail-summary__totals {
	padding-top: 0;
}

.lk-order-detail-summary__totals-title {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	color: #0a0a0a;
}

.lk-order-detail-summary__totals-list {
	margin: 0;
}

.lk-order-detail-summary__totals-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.35;
	color: #0a0a0a;
}

.lk-order-detail-summary__totals-row dt,
.lk-order-detail-summary__totals-row dd {
	margin: 0;
}

.lk-order-detail-summary__totals-row dt {
	color: #0a0a0a;
}

.lk-order-detail-summary__totals-row dd {
	font-weight: 500;
	text-align: right;
}

.lk-order-detail-summary__totals-row--discount dd {
	color: #e11d48;
	font-weight: 500;
}

.lk-order-detail-summary__totals-row--total {
	margin-top: 8px;
	margin-bottom: 0;
	padding-top: 14px;
	border-top: 1px solid #e8e8ea;
	font-size: 18px;
}

.lk-order-detail-summary__totals-row--total dt {
	font-weight: 500;
}

.lk-order-detail-summary__totals-row--total dd,
.lk-order-detail-summary__totals-row--total strong {
	font-size: clamp(20px, 1.4vw, 24px);
	font-weight: 500;
	line-height: 1.28;
	letter-spacing: -0.02em;
}

.lk-order-detail-summary__repeat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 48px;
	margin-top: 20px;
	padding: 12px 16px;
	border-radius: 8px;
	background: #0a0a0a;
	box-shadow: 0 6px 22px rgba(0, 0, 0, 0.12);
	color: #fff;
	font-family: var(--lf-font-family, "Rubik", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 16px;
	line-height: 1.25;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

.lk-order-detail-summary__repeat:hover,
.lk-order-detail-summary__repeat:focus-visible {
	opacity: 0.9;
	color: #fff;
	text-decoration: none;
	outline: none;
}

.lk-order-detail-summary__repeat-icon {
	display: block;
	width: 24px;
	height: 24px;
	filter: brightness(0) invert(1);
}

@media (max-width: 991.98px) {
	.lk-order-detail__layout {
		grid-template-columns: 1fr;
	}
}


/* ЛК «Избранное»: карточки товаров на белой панели */
body.lf-personal-page .lk-favorites__listing .product-item.lf-product-card,
body.lf-personal-page .lk-favorites__listing .bx-no-touch .product-item-container.hover .product-item.lf-product-card,
body.lf-personal-page .lk-favorites__listing .bx-touch .product-item.lf-product-card {
	background: #fff;
	box-shadow: var(--lf-lk-panel-shadow, 0 6px 22px rgba(0, 0, 0, 0.04));
}

body.lf-personal-page .lk-favorites__listing .product-item-container.hover:has(.lf-product-card) {
	background: transparent !important;
}

/* ЛК «Избранное»: «Найдено товаров» над списком (как в каталоге) */
.lk-favorites__listing .lf-catalog-listing-toolbar {
	width: 100%;
	margin-bottom: 24px;
}

.lk-favorites__listing .lf-catalog-listing-toolbar__count {
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.35;
	color: #0a0a0a;
}

.lk-favorites__listing .lf-catalog-listing-toolbar__count-num {
	font-weight: 700;
}

.lk-favorites__listing .lf-catalog-listing-divider {
	display: none;
}

/* ЛК «Избранное»: сетка и адаптив — lf-catalog-pages.css (.lf-catalog-listing--as-col-lg-10 + body.lf-catalog-page) */
.lk-favorites__listing {
	width: 100%;
}

.lk-favorites__listing .catalog-section {
	margin-bottom: 0;
}

.lk-favorites__listing .lf-catalog-show-more-rows-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-sizing: border-box;
	margin: 0;
	padding: 10px 20px;
	min-height: 44px;
	font-family: "Rubik", var(--lf-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	color: #000;
	text-align: center;
	white-space: nowrap;
	background: #fff;
	border: 1px solid #000;
	border-radius: 8px;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

.lk-favorites__listing .lf-catalog-show-more-rows-btn:hover {
	background: #f4f4f4;
	color: #000;
	border-color: #000;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}

.lk-favorites__listing .lf-catalog-show-more-rows-btn:focus {
	outline: none;
}

.lk-favorites__listing .lf-catalog-show-more-rows-btn:focus-visible {
	outline: 2px solid #000;
	outline-offset: 2px;
}

.lk-favorites__listing .lf-catalog-show-more-rows-btn:active {
	background: #ebebeb;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.lk-favorites__listing .lf-catalog-show-more-rows__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	line-height: 0;
	color: #000;
	transition: transform 0.2s ease;
}

.lk-favorites__listing .lf-catalog-show-more-rows__icon svg {
	display: block;
	width: 12px;
	height: 18px;
}

.lk-favorites__listing .lf-catalog-show-more-rows-btn--expanded .lf-catalog-show-more-rows__icon {
	transform: rotate(180deg);
	transform-origin: 50% 50%;
}

/* End */
/* /local/templates/eshop_bootstrap_v4/css/header-custom.css?178389406499127 */
/* /local/templates/eshop_bootstrap_v4/css/search-suggest.css?17836227831269 */
/* /local/templates/eshop_bootstrap_v4/css/footer-custom.css?178389406432910 */
/* /local/templates/eshop_bootstrap_v4/css/lf-cart-preview.css?17836227839553 */
/* /local/templates/eshop_bootstrap_v4/css/lf-compare-preview.css?17838940644431 */
/* /local/templates/eshop_bootstrap_v4/css/lf-catalog-pages.css?1783894064156735 */
/* /local/templates/eshop_bootstrap_v4/css/news-banner.css?17836227839352 */
/* /bitrix/components/bitrix/system.show_message/templates/.default/style.css?178362276664 */
/* /local/templates/eshop_bootstrap_v4/components/bitrix/system.auth.form/auth/style.css?17836227831810 */
/* /bitrix/components/bitrix/breadcrumb/templates/universal/style.css?1783622764758 */
/* /bitrix/components/bitrix/sale.basket.basket.line/templates/bootstrap_v4/style.css?17836227664790 */
/* /local/templates/eshop_bootstrap_v4/template_styles.css?178362278347377 */
