@charset "UTF-8";
/* BEELED поверх оформления bivolt-new: шапка (логотип, валюта, телефон, меню из
   7 пунктов), онлайн-консультант и каталог - группы товаров с фото и описанием,
   строки товаров с цветом свечения и параметрами светодиодов (classes/catalog.php).
   Цвета, шрифты и отступы - токены assets/css/tokens.css (синий BEELED #3F78B2). */

/* ---------- Шапка (TEMPLATES/top.tpl) ---------- */

.bl-header {
	position: relative;
	z-index: 50;
	font-family: var(--font-body);
	background: var(--color-bg);
	border-bottom: 1px solid var(--color-border);
}

.bl-header a {
	text-decoration: none;
}

/* верхняя строка */
.bl-header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	min-height: 36px;
	padding: 0 5%;
	font-size: 13px;
	color: var(--color-ink-soft);
	background: var(--color-bg-alt);
	border-bottom: 1px solid var(--color-border);
}

.bl-header-tagline {
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bl-header-top-links {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	flex-shrink: 0;
}

.bl-header-top-links a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--color-ink-soft);
	transition: color var(--transition-fast);
}

.bl-header-top-links a:hover {
	color: var(--color-brand-red);
}

.bl-header .bl-price-link img {
	display: block;
}

.bl-currency {
	display: inline-flex;
	margin: 0;
	padding: 2px;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 999px;
}

.bl-currency button {
	min-height: 22px;
	padding: 0 var(--space-2);
	font-family: var(--font-heading);
	font-size: 12px;
	font-weight: 600;
	color: var(--color-ink-soft);
	background: transparent;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
}

.bl-currency button.is-active {
	color: #FFFFFF;
	background: var(--color-brand-red);
}

.bl-currency button:focus-visible {
	outline: 2px solid var(--color-brand-red);
	outline-offset: 1px;
}

/* основная строка: каталог, логотип, поиск, телефон, вход, корзина */
.bl-header-main {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	padding: var(--space-4) 5%;
}

.bl-header .bl-catalog-btn {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	flex-shrink: 0;
	min-height: 44px;
	margin: 0;
	padding: 0 var(--space-4) 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 0;
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: background-color var(--transition-fast);
}

.bl-header .bl-catalog-btn:hover {
	background: var(--color-brand-red-dark);
}

.bl-header .bl-catalog-btn:focus-visible {
	outline: 2px solid var(--color-ink);
	outline-offset: 2px;
}

.bl-burger {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 18px;
}

.bl-burger .bar {
	display: block;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
}

.bl-header .bl-logo {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	flex-shrink: 0;
}

.bl-header .bl-logo img {
	display: block;
	width: 150px;
	height: auto;
}

.bl-logo-slogan {
	font-size: 11px;
	line-height: 1;
	letter-spacing: .04em;
	color: var(--color-ink-soft);
}

.bl-search {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 560px;
	margin: 0;
}

.bl-search-input {
	display: block;
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 52px 0 var(--space-4);
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--color-ink);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	box-sizing: border-box;
	outline: none;
	transition: border-color var(--transition-fast), background-color var(--transition-fast);
	-webkit-appearance: none;
	appearance: none;
}

.bl-search-input:focus {
	background: var(--color-bg);
	border-color: var(--color-brand-red);
}

.bl-search-btn {
	position: absolute;
	top: 4px;
	right: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 0;
	border-radius: var(--radius-sm);
	cursor: pointer;
}

.bl-search-btn:hover {
	background: var(--color-brand-red-dark);
}

.bl-hicon {
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.bl-search-btn .bl-hicon {
	width: 18px;
	height: 18px;
}

.bl-header-actions {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	margin-left: auto;
	flex-shrink: 0;
}

.bl-header .bl-header-phone {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	color: var(--color-ink);
}

.bl-header-phone .bl-hicon {
	color: var(--color-brand-red);
}

.bl-header-phone span {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.bl-header-phone b {
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 600;
	white-space: nowrap;
}

.bl-header-phone small {
	font-size: 12px;
	color: var(--color-ink-soft);
}

.bl-header .bl-header-phone:hover b {
	color: var(--color-brand-red);
}

/* вход и корзина: иконка над подписью */
.bl-header-user,
.bl-header-cart {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.bl-header .bl-header-icon {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	max-width: 110px;
	font-size: 12px;
	line-height: 1.2;
	color: var(--color-ink);
	transition: color var(--transition-fast);
}

.bl-header .bl-header-icon:hover {
	color: var(--color-brand-red);
}

.bl-header-icon-text {
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bl-header .bl-header-sub {
	margin-top: 1px;
	font-size: 11px;
	color: var(--color-ink-soft);
}

.bl-header .bl-header-sub:hover {
	color: var(--color-brand-red);
}

.bl-header-cart #cartNumber {
	position: absolute;
	top: -6px;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	margin-left: 4px;
	padding: 0 5px;
	font-family: var(--font-heading);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 2px solid var(--color-bg);
	border-radius: 999px;
	box-sizing: border-box;
}

.bl-header-cart #cartNumber.is-empty {
	display: none;
}

/* меню разделов: если не помещается - прокручивается по горизонтали */
.bl-header-nav {
	padding: 0 5%;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.bl-header-nav::-webkit-scrollbar {
	display: none;
}

.bl-header-nav ul {
	display: flex;
	gap: var(--space-1);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-header-nav li {
	list-style: none;
}

.bl-header .bl-header-nav a {
	position: relative;
	display: block;
	padding: var(--space-3) var(--space-3);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--color-ink);
	transition: color var(--transition-fast);
}

.bl-header-nav li:first-child a {
	padding-left: 0;
}

.bl-header .bl-header-nav a:hover,
.bl-header .bl-header-nav a.is-active {
	color: var(--color-brand-red);
}

.bl-header-nav a.is-active::after {
	content: "";
	position: absolute;
	left: var(--space-3);
	right: var(--space-3);
	bottom: -1px;
	height: 2px;
	background: var(--color-brand-red);
	border-radius: 2px 2px 0 0;
}

.bl-header-nav li:first-child a.is-active::after {
	left: 0;
}

@media (max-width: 1200px) {
	.bl-header-phone small {
		display: none;
	}

	.bl-header-main {
		gap: var(--space-4);
	}
}

@media (max-width: 1024px) {
	.bl-header-tagline {
		display: none;
	}

	.bl-header-top {
		justify-content: flex-end;
	}

	.bl-header-phone span {
		display: none;
	}

	.bl-header-actions {
		gap: var(--space-4);
	}

	.bl-header .bl-header-nav a {
		padding: var(--space-3) var(--space-2);
		font-size: 13px;
	}

	.bl-header-nav a.is-active::after {
		left: var(--space-2);
		right: var(--space-2);
	}
}

/* телефон и планшет: поиск - отдельной строкой, меню прокручивается */
@media (max-width: 760px) {
	.bl-header-top {
		justify-content: center;
		padding: 0 var(--space-4);
	}

	.bl-header-top-links {
		gap: var(--space-4);
	}

	.bl-header-main {
		flex-wrap: wrap;
		gap: var(--space-3);
		padding: var(--space-3) var(--space-4);
	}

	.bl-header .bl-catalog-btn {
		width: 44px;
		padding: 0;
		justify-content: center;
	}

	.bl-catalog-label {
		display: none;
	}

	.bl-header .bl-logo img {
		width: 120px;
	}

	.bl-logo-slogan {
		display: none;
	}

	.bl-search {
		order: 5;
		flex: 1 1 100%;
		max-width: none;
	}

	.bl-header-actions {
		gap: var(--space-3);
	}

	.bl-header .bl-header-sub,
	.bl-header-icon-text {
		display: none;
	}

	.bl-header-nav {
		padding: 0 var(--space-4);
	}

	.bl-header .bl-header-nav a {
		padding: var(--space-3) var(--space-2);
		font-size: 13px;
	}
}

@media (max-width: 380px) {
	.bl-header .bl-price-link {
		display: none;
	}
}

/* ---------- Онлайн-консультант ---------- */

.consultant {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1001;
	width: 360px;
	max-width: 100%;
	height: 100%;
	overflow-y: auto;
	padding: var(--space-6) var(--space-5) var(--space-5);
	box-sizing: border-box;
	background: var(--color-bg);
	box-shadow: -8px 0 24px rgba(23, 20, 18, .18);
	font-family: var(--font-body);
	color: var(--color-ink);
	transform: translateX(105%);
	transition: transform var(--transition-base);
}

#consultant-toggle:checked ~ .consultant {
	transform: none;
}

.consultant-mask {
	display: none;
}

#consultant-toggle:checked ~ .consultant-mask {
	display: block;
	position: fixed;
	inset: 0;
	z-index: 1000;
	background: rgba(23, 20, 18, .35);
}

.consultant .consultant-toggle {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	z-index: 1;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	cursor: pointer;
	transition: background .15s ease;
}

.consultant .consultant-toggle:hover {
	background: rgba(23, 20, 18, .08);
}

.consultant .consultant-toggle::before,
.consultant .consultant-toggle::after {
	content: "";
	position: absolute;
	top: 15px;
	left: 6px;
	width: 20px;
	height: 2px;
	background: var(--color-ink);
	transform: rotate(45deg);
}

.consultant .consultant-toggle::after {
	transform: rotate(-45deg);
}

/* Круглая кнопка в правом нижнем углу - открывает консультанта (TEMPLATES/consultant.tpl) */
.bl-consult-fab {
	position: fixed;
	right: var(--space-5);
	bottom: var(--space-5);
	z-index: 999;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin: 0;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(63, 120, 178, .35);
	cursor: pointer;
	transition: transform .15s ease, background .15s ease;
}

.bl-consult-fab:hover {
	background: var(--color-brand-red-dark);
	transform: scale(1.06);
}

.bl-consult-fab:focus-visible {
	outline: 3px solid var(--color-brand-red);
	outline-offset: 3px;
}

/* пока окно открыто, кнопка не нужна */
#consultant-toggle:checked ~ .bl-consult-fab {
	display: none;
}

@media (max-width: 560px) {
	.bl-consult-fab {
		right: var(--space-4);
		bottom: var(--space-4);
		width: 52px;
		height: 52px;
	}

	/* на телефоне плашка cookie во всю ширину - кнопка встаёт над ней */
	.has-cookie-note .bl-consult-fab {
		bottom: calc(var(--cookie-note-h, 120px) + var(--space-4));
	}
}

/* Плашка об использовании cookie (TEMPLATES/footer.tpl): слева внизу, справа - кнопка консультанта */
.bl-cookie {
	position: fixed;
	left: var(--space-5);
	bottom: var(--space-5);
	z-index: 998;
	display: flex;
	align-items: center;
	gap: var(--space-4);
	max-width: 560px;
	padding: var(--space-4) var(--space-5);
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 13px;
	line-height: 1.45;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: 0 8px 24px rgba(23, 20, 18, .14);
}

.bl-cookie[hidden] {
	display: none;
}

.bl-cookie-text {
	margin: 0;
}

.bl-cookie-text a {
	color: var(--color-brand-red);
}

.bl-cookie-btn {
	flex: 0 0 auto;
	min-height: 40px;
	padding: var(--space-2) var(--space-5);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 0;
	border-radius: var(--radius-md);
	cursor: pointer;
}

.bl-cookie-btn:hover {
	background: var(--color-brand-red-dark);
}

.bl-cookie-btn:focus-visible {
	outline: 3px solid var(--color-brand-red);
	outline-offset: 2px;
}

@media (max-width: 560px) {
	.bl-cookie {
		left: 0;
		right: 0;
		bottom: 0;
		max-width: none;
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-3);
		padding: var(--space-4);
		border-radius: var(--radius-md) var(--radius-md) 0 0;
	}
}

/* Шапка панели: иконка, заголовок, пояснение, телефон */
.consultant-head {
	margin: calc(-1 * var(--space-6)) calc(-1 * var(--space-5)) var(--space-5);
	padding: var(--space-6) var(--space-5) var(--space-5);
	background: var(--color-bg-alt);
	border-bottom: 1px solid var(--color-border);
}

.consultant-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-bottom: var(--space-3);
	color: #FFFFFF;
	background: var(--color-brand-red);
	border-radius: 50%;
}

.consultant-title {
	margin: 0 0 var(--space-2);
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}

.consultant-lead {
	margin: 0 0 var(--space-3);
	font-size: 14px;
	line-height: 1.45;
	color: var(--color-ink-soft);
}

.consultant-phone {
	margin: 0;
	font-size: 14px;
	color: var(--color-ink-soft);
}

.consultant-phone a {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--color-ink);
	white-space: nowrap;
}

.consultant-phone a:hover {
	color: var(--color-brand-red);
}

/* Форма: порядок строк задан явно - поле организации (#org) скрипт вставляет
   между двумя переключателями «Организация / Частное лицо», а переключатели
   стоят рядом плашками */
.consultant .form_check {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-3) var(--space-2);
	margin: 0;
}

.consultant .form_check > * {
	grid-column: 1 / -1;
	order: 4;
}

.consultant .form_check > p:first-of-type { order: 1; }
.consultant .form_check > .rline.rcheck { grid-column: auto; order: 2; }
.consultant .form_check > #org { order: 3; }
.consultant .form_check > #org:empty { display: none; }
.consultant .form_check > .btnsubmit { order: 5; }

.consultant .rline {
	position: relative;
	margin: 0;
}

.consultant .rline label {
	display: block;
	margin: 0 0 var(--space-1);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	color: var(--color-ink);
}

.consultant input[type="text"],
.consultant textarea {
	display: block;
	width: 100%;
	min-height: 44px;
	padding: var(--space-2) var(--space-3);
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	transition: border-color .15s ease;
}

.consultant textarea {
	min-height: 110px;
	resize: vertical;
}

.consultant input[type="text"]:focus,
.consultant textarea:focus {
	outline: 2px solid var(--color-brand-red);
	outline-offset: -1px;
	border-color: var(--color-brand-red);
}

/* «Организация» / «Частное лицо» - плашки, выбранная обведена синим */
.consultant .rline.rcheck {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 44px;
	padding: 0 10px;
	box-sizing: border-box;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	cursor: pointer;
	white-space: nowrap;
}

.consultant .rline.rcheck:has(input:checked) {
	border-color: var(--color-brand-red);
	box-shadow: inset 0 0 0 1px var(--color-brand-red);
}

.consultant .rline.rcheck input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--color-brand-red);
}

.consultant .rline.rcheck label {
	display: block;
	flex: 1 1 auto;
	margin: 0;
	padding: var(--space-3) 0;
	font-size: 14px;
	cursor: pointer;
}

/* Незаполненное поле: подсказку и подсветку на 2 секунды включает js/formcheck.js
   (style="visibility: visible") при попытке отправить форму */
.consultant .rfield_error {
	position: absolute;
	top: 0;
	right: 0;
	visibility: hidden;
	padding: 1px var(--space-2);
	font-size: 11px;
	line-height: 1.5;
	color: #FFFFFF;
	background: var(--color-error, #D92D20);
	border-radius: var(--radius-sm);
	pointer-events: none;
}

.consultant .rline.rcheck .rfield_error {
	top: -10px;
	right: var(--space-2);
}

.consultant input.rf_error,
.consultant textarea.rf_error {
	border-color: var(--color-error, #D92D20);
	box-shadow: inset 0 0 0 1px var(--color-error, #D92D20);
}

.consultant .rline.rcheck:has(input.rf_error) {
	border-color: var(--color-error, #D92D20);
}

/* старые стили ошибки (css/style.css) делают переключатель квадратом с рамкой */
.consultant .rline.rcheck input.rf_error {
	-webkit-appearance: auto;
	appearance: auto;
	border: 0;
	border-radius: 50%;
	box-shadow: none;
	background: none;
}

.consultant .btnsubmit {
	width: 100%;
	min-height: 48px;
	margin-top: var(--space-2);
	border-radius: var(--radius-md);
}

/* пока форма не заполнена (класс ставит js/formcheck.js) */
.consultant .btnsubmit.disabled,
.consultant .btnsubmit.disabled:hover {
	color: var(--color-ink-soft);
	background: var(--color-border);
	border-color: var(--color-border);
	cursor: default;
}

/* ---------- Каталог: раздел ---------- */

.bl-goods.goods,
.bl-goods.srch {
	background: var(--color-bg-alt);
}

.bl-goods .bl-intro {
	max-width: none;
	margin: 0 0 var(--space-4);
}

.bl-goods .bl-intro br + br {
	display: none;
}

.bl-placeorder {
	margin: 0 0 var(--space-5);
	font-size: 14px;
	color: var(--color-ink-soft);
}

.bl-muted {
	color: var(--color-ink-soft);
	font-weight: 400;
}

.bl-section {
	margin: 0 0 var(--space-6);
}

.bl-section-title {
	margin: 0 0 var(--space-4);
	padding-top: var(--space-2);
	font-family: var(--font-heading);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-ink);
	scroll-margin-top: 80px;
}

.bl-groupmenu {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0 0 var(--space-5);
}

.bl-group.srch-card {
	max-width: none;
	margin: 0 0 var(--space-4);
	padding: 0;
	overflow: hidden;
}

/* шапка группы: фото слева, тип товара, наименование и описание справа */
.bl-group-head {
	display: grid;
	grid-template-columns: minmax(220px, 320px) 1fr;
	gap: var(--space-5);
	padding: var(--space-5);
	border-bottom: 1px solid var(--color-border);
}

.bl-type {
	margin: 0 0 var(--space-1);
	font-size: 13px;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--color-ink-soft);
}

.bl-group-name {
	margin: 0 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 19px;
	font-weight: 600;
}

.bl-group-name a {
	color: var(--color-ink);
}

.bl-descr {
	max-height: 280px;
	overflow-y: auto;
	padding-right: var(--space-2);
	font-size: 14px;
}

.bl-descr h1,
.bl-descr h2,
.bl-descr h3 {
	font-size: 16px;
	margin: var(--space-2) 0;
}

.bl-pdf {
	margin: var(--space-3) 0 0;
	font-size: 14px;
}

/* фото: первое крупно, остальные - лентой миниатюр */
.bl-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-content: flex-start;
}

.bl-gallery .bl-photo {
	display: block;
	flex: 0 0 calc(25% - 6px);
	aspect-ratio: 1;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

.bl-gallery .bl-photo:first-child {
	flex-basis: 100%;
	aspect-ratio: 4 / 3;
}

.bl-gallery img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bl-gallery-empty img {
	width: 100%;
	max-width: 240px;
	opacity: .5;
}

/* ---------- Строка товара ---------- */

.bl-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 170px 230px auto;
	gap: var(--space-4);
	align-items: center;
	padding: var(--space-3) var(--space-5);
	border-top: 1px solid var(--color-border);
	scroll-margin-top: 80px;
}

.bl-rows > .bl-row:first-child {
	border-top: 0;
}

.bl-row:target {
	background: rgba(63, 120, 178, .06);
}

.bl-row-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	min-width: 0;
}

.bl-name {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 15px;
	color: var(--color-ink);
	word-break: break-word;
}

.srch .bl-name {
	color: var(--color-ink);
}

.bl-label {
	display: block;
	font-size: 12px;
	color: var(--color-ink-soft);
}

.bl-stocks p,
.bl-prices p {
	margin: 0 0 2px;
	font-size: 14px;
	line-height: 1.35;
}

.bl-stocks .bl-label,
.bl-prices .bl-label {
	display: inline;
	margin-right: 4px;
}

.bl-stock-ok strong {
	color: var(--color-success);
}

.bl-price-opt strong {
	color: var(--color-brand-red);
}

.bl-order .srch-qty {
	width: 64px;
}

.bl-order .srch-btn {
	min-height: 36px;
	padding: var(--space-1) var(--space-4);
}

/* цвет свечения у цветных товаров */
.bl-swatch {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(23, 20, 18, .2);
}

.bl-swatch-wh,
.bl-led-color.bl-swatch-wh {
	background: linear-gradient(135deg, #fcfdba 50%, #c8ebfd 50%);
}

/* признаки светодиода */
.bl-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-1);
	flex-basis: 100%;
}

.bl-chip {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-height: 28px;
	padding: 2px var(--space-2);
	font-size: 13px;
	line-height: 1.25;
	color: var(--color-ink);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	white-space: nowrap;
}

.bl-chip small {
	font-size: 11px;
	color: var(--color-ink-soft);
}

.bl-chip-angle::before {
	content: "\2220\00a0";
	color: var(--color-ink-soft);
}

.bl-chip-angle {
	flex-direction: row;
	align-items: center;
}

a.bl-chip-pdf {
	color: var(--color-brand-red);
	font-weight: 700;
}

.bl-led-multi {
	display: inline-flex;
	gap: 2px;
}

.bl-led-color {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	min-width: 84px;
	min-height: 28px;
	padding: 2px var(--space-2);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	color: #171412;
	text-shadow: 0 0 3px rgba(255, 255, 255, .9);
	border: 1px solid rgba(23, 20, 18, .15);
	border-radius: var(--radius-sm);
}

.bl-led-color small {
	font-size: 11px;
	font-weight: 400;
}

.bl-led-black {
	background: #171412;
	color: #fff;
	text-shadow: none;
}

.bl-led-grey {
	background: #9c9a9a;
	color: #fff;
	text-shadow: none;
}

/* ---------- Сопутствующие товары ---------- */

.bl-related.srch-card {
	max-width: none;
	margin: 0 0 var(--space-5);
}

.bl-related-list {
	display: flex;
	gap: var(--space-3);
	margin: 0;
	padding: 0 0 var(--space-2);
	overflow-x: auto;
	list-style: none;
}

.bl-related-list li {
	flex: 0 0 150px;
	list-style: none;
}

.bl-related-list a {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	font-size: 13px;
	color: var(--color-ink);
}

.bl-related-list img {
	width: 150px;
	height: auto;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
}

/* ---------- Плитки подразделов ---------- */

.bl-subgrid .iconlink .bl-muted {
	display: block;
	font-size: 12px;
}

/* ---------- Узкие экраны ---------- */

@media (max-width: 1100px) {
	.bl-row {
		grid-template-columns: minmax(0, 1fr) 160px 210px;
	}

	.bl-row .bl-order {
		grid-column: 1 / -1;
		justify-content: flex-end;
	}
}

@media (max-width: 760px) {
	.bl-group-head {
		grid-template-columns: 1fr;
		padding: var(--space-4);
	}

	.bl-row {
		grid-template-columns: 1fr 1fr;
		gap: var(--space-2) var(--space-3);
		padding: var(--space-3) var(--space-4);
	}

	.bl-row .bl-row-main {
		grid-column: 1 / -1;
	}

	.bl-row .bl-order {
		grid-column: 1 / -1;
		justify-content: flex-start;
	}

	.bl-descr {
		max-height: 220px;
	}

	/* плитки разделов: две в ряд вместо одной узкой */
	.goods-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-3);
	}
}

/* ---------- Карточка товара (catalog.php) ---------- */

.bl-product-photo {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	align-content: flex-start;
}

/* миниатюры дополнительных фото - фиксированного размера, а не четверть колонки */
.bl-product-photo .bl-product-img {
	flex: 0 0 96px;
	aspect-ratio: 1;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	overflow: hidden;
}

/* главное фото: на всю ширину колонки, но не выше 440px - иначе на широком
   экране картинка 4:3 занимает больше экрана */
.bl-product-photo .bl-product-img.is-main {
	flex-basis: 100%;
	height: 440px;
	aspect-ratio: auto;
}

@media (max-width: 760px) {
	.bl-product-photo .bl-product-img.is-main {
		height: auto;
		aspect-ratio: 4 / 3;
	}

	.bl-product-photo .bl-product-img {
		flex-basis: 72px;
	}
}

.bl-product-photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bl-video {
	flex: 0 0 100%;
	aspect-ratio: 16 / 9;
}

.bl-video iframe {
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: var(--radius-sm);
}

.bl-product .bl-stocks {
	margin: 0 0 var(--space-3);
}

.bl-product .bl-order {
	margin-bottom: var(--space-2);
}

.bl-delivery-frames {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
}

.bl-delivery-frames iframe {
	width: 340px;
	max-width: 100%;
	height: 400px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
}

.bl-cities p {
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
}

/* ---------- Контакты (TEMPLATES/phone.tpl) ---------- */

.bl-ct-lead {
	max-width: 640px;
	margin: calc(-1 * var(--space-2)) 0 var(--space-5);
	font-size: 15px;
	color: var(--color-ink-soft);
}

.bl-ct-holiday {
	margin: 0 0 var(--space-5);
	padding: var(--space-3) var(--space-4);
	font-size: 14px;
	background: rgba(63, 120, 178, .06);
	border: 1px solid rgba(63, 120, 178, .3);
	border-radius: var(--radius-md);
}

.bl-ct-holiday p {
	margin: 0;
}

/* четыре карточки: горячая линия, офис, мессенджеры, почта */
.bl-ct-quick {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--space-4);
	margin: 0 0 var(--space-5);
}

.bl-ct-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--space-5);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.bl-ct-card-main {
	border-color: var(--color-brand-red);
	box-shadow: inset 0 3px 0 var(--color-brand-red);
}

.bl-ct-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 0 var(--space-3);
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .08);
	border-radius: var(--radius-md);
}

.bl-ct-icon svg {
	width: 22px;
	height: 22px;
}

.bl-ct-card-label {
	margin: 0 0 var(--space-1);
	font-size: 13px;
	color: var(--color-ink-soft);
}

.goods .bl-ct-card-value {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--color-ink);
	white-space: nowrap;
	text-decoration: none;
}

.goods a.bl-ct-card-value:hover {
	color: var(--color-brand-red);
}

.goods .bl-ct-card-main .bl-ct-card-value {
	color: var(--color-brand-red);
}

.goods .bl-ct-mail {
	font-size: 17px;
	white-space: normal;
	word-break: break-all;
}

.bl-ct-card-note {
	margin: var(--space-1) 0 0;
	font-size: 13px;
	color: var(--color-ink-soft);
}

.bl-ct-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: var(--space-2) 0 0;
}

.goods .bl-ct-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	color: var(--color-ink);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	text-decoration: none;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.goods .bl-ct-chips a:hover {
	color: var(--color-brand-red);
	border-color: var(--color-brand-red);
}

/* офис и форма */
.bl-ct-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--space-5);
	align-items: start;
	margin: 0 0 var(--space-5);
}

.bl-ct-office,
.bl-ct-write,
.bl-ct-cities {
	padding: var(--space-5) var(--space-6) var(--space-6);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.goods .bl-ct-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-ct-info {
	display: grid;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: var(--space-3) var(--space-4);
	margin: 0 0 var(--space-5);
	font-size: 15px;
}

.bl-ct-info dt {
	font-size: 13px;
	line-height: 1.6;
	color: var(--color-ink-soft);
}

.bl-ct-info dd {
	margin: 0;
	color: var(--color-ink);
}

.bl-ct-info dd.bl-ct-chips {
	margin: 0;
}

.bl-ct-muted {
	font-size: 13px;
	color: var(--color-ink-soft);
}

.bl-ct-cities .bl-ct-muted {
	margin: calc(-1 * var(--space-2)) 0 var(--space-4);
}

.bl-ct-time {
	display: block;
	max-width: 100%;
	margin: 0 0 var(--space-4);
	border: 0;
}

.bl-ct-map {
	overflow: hidden;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.bl-ct-map iframe {
	display: block;
	width: 100%;
	height: 300px;
	border: 0;
}

/* форма «Написать нам»: поля как в оформлении заказа */
.bl-ct-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-4);
	margin: 0 0 var(--space-5);
}

.bl-ct-form .rline {
	position: relative;
	margin: 0;
}

.bl-ct-form .rline:empty {
	display: none;
}

.bl-ct-form .bl-ct-full {
	grid-column: 1 / -1;
}

.bl-ct-form .rline label {
	display: block;
	margin: 0 0 var(--space-1);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	color: var(--color-ink);
	cursor: pointer;
}

.bl-ct-form .rcheck {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	min-height: 44px;
	padding: 0 var(--space-3);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

.bl-ct-form .rcheck:has(input:checked) {
	background: rgba(63, 120, 178, .06);
	border-color: var(--color-brand-red);
}

.bl-ct-form .rcheck label {
	flex: 1;
	margin: 0;
	padding: var(--space-2) 0;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 400;
}

.bl-ct-form input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--color-brand-red);
}

.bl-ct-form input[type="text"],
.bl-ct-form textarea {
	display: block;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: var(--space-2) var(--space-3);
	font-family: var(--font-body);
	font-size: 16px;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	box-sizing: border-box;
	outline: none;
	transition: border-color var(--transition-fast);
}

.bl-ct-form textarea {
	min-height: 130px;
	resize: vertical;
}

.bl-ct-form input[type="text"]:focus,
.bl-ct-form textarea:focus {
	border-color: var(--color-brand-red);
}

.bl-ct-form .rf_error {
	border-color: var(--color-error);
}

.bl-ct-form .rcheck:has(.rf_error) {
	border-color: var(--color-error);
}

/* подсказка «Заполните это поле»: видимость переключает js/formcontactcheck.js */
.bl-ct-form .rfield_error {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	padding: 1px var(--space-2);
	font-size: 12px;
	color: #FFFFFF;
	background: var(--color-error);
	border-radius: var(--radius-sm);
	visibility: hidden;
}

.bl-ct-form .rcheck .rfield_error {
	top: -10px;
	right: var(--space-2);
}

.bl-ct-submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
}

.bl-ct-form .btnsubmit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: var(--space-2) var(--space-6);
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 1px solid var(--color-brand-red);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: background-color var(--transition-fast), border-color var(--transition-fast);
}

.bl-ct-form .btnsubmit:hover {
	background: var(--color-brand-red-dark);
	border-color: var(--color-brand-red-dark);
}

.bl-ct-form .btnsubmit.disabled,
.bl-ct-form .btnsubmit.disabled:hover {
	color: var(--color-ink-soft);
	background: var(--color-bg-alt);
	border-color: var(--color-border);
	cursor: default;
}

.bl-ct-consent {
	flex: 1 1 240px;
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--color-ink-soft);
}

/* после отправки (js/my.js AjaxFormSendCont) */
.bl-ct-sent {
	padding: var(--space-6) var(--space-5);
	text-align: center;
	background: rgba(26, 122, 70, .06);
	border: 1px solid rgba(26, 122, 70, .3);
	border-radius: var(--radius-md);
}

.bl-ct-sent b {
	display: block;
	margin: 0 0 var(--space-2);
	font-family: var(--font-heading);
	font-size: 20px;
	color: #1A7A46;
}

.bl-ct-sent p {
	margin: 0;
	font-size: 14px;
	color: var(--color-ink-soft);
}

/* города */
.bl-city-list {
	columns: 5 160px;
	column-gap: var(--space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-city-list li {
	padding: 3px 0;
	font-size: 14px;
	list-style: none;
	break-inside: avoid;
}

.goods .bl-city-list a {
	color: var(--color-ink);
	text-decoration: none;
}

.goods .bl-city-list a:hover {
	color: var(--color-brand-red);
}

@media (max-width: 1100px) {
	.bl-ct-quick {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.bl-ct-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.bl-ct-quick {
		grid-template-columns: 1fr;
		gap: var(--space-3);
	}

	/* на телефоне иконка слева от текста - карточки ниже */
	.bl-ct-card {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: var(--space-3);
		align-items: start;
		padding: var(--space-4);
	}

	.bl-ct-card > * {
		grid-column: 2;
	}

	.bl-ct-card > .bl-ct-icon {
		grid-column: 1;
		grid-row: 1 / span 4;
		margin: 0;
	}

	.bl-ct-office,
	.bl-ct-write,
	.bl-ct-cities {
		padding: var(--space-4);
	}

	.bl-ct-info {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.bl-ct-info dd {
		margin-bottom: var(--space-3);
	}

	.bl-ct-fields {
		grid-template-columns: 1fr;
	}

	.bl-ct-form .btnsubmit {
		width: 100%;
	}
}

/* ---------- Статичные страницы: заголовок над старым содержимым (main.php) ---------- */

.goods.bl-pagehead {
	padding-bottom: 0;
}

.goods.bl-pagehead .goods-title {
	margin-bottom: 0;
}

/* ---------- Личный кабинет (mag/account) ---------- */

.bl-account-form.srch-card {
	max-width: 760px;
	padding: var(--space-5) var(--space-6) var(--space-6);
}

/* Поля данных покупателя (acProfileFields): регистрация и «Личные данные» */
.bl-reg-group {
	min-width: 0;
	margin: 0 0 var(--space-5);
	padding: 0 0 var(--space-5);
	border: 0;
	border-bottom: 1px solid var(--color-border);
}

.bl-reg-group legend {
	width: auto;
	margin: 0 0 var(--space-3);
	padding: 0;
	border: 0;
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-reg-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: var(--space-4);
}

.bl-reg-fields[hidden] {
	display: none;
}

.bl-account-form .bl-reg-fields .rline {
	display: flex;
	flex-direction: column;
	margin: 0;
}

.bl-account-form .bl-reg-fields .bl-reg-full {
	grid-column: 1 / -1;
}

.bl-account-form .rline label {
	display: block;
	margin: 0 0 var(--space-1);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-reg-optional {
	font-family: var(--font-body);
	font-weight: 400;
	color: var(--color-ink-soft);
}

.bl-account-form .srch-input {
	width: 100%;
	min-height: 44px;
	font-size: 16px;
}

.bl-account-form textarea.srch-input {
	min-height: 96px;
	padding-top: var(--space-2);
	resize: vertical;
}

.bl-reg-hint {
	margin-top: var(--space-1);
	font-size: 12px;
	color: var(--color-ink-soft);
}

/* Частное лицо / Организация - переключатель из двух кнопок */
.bl-reg-switch {
	display: inline-flex;
	margin: 0;
	padding: 3px;
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.bl-reg-switch label {
	position: relative;
	margin: 0;
	cursor: pointer;
	user-select: none;
}

.bl-reg-switch input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.bl-reg-switch span {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-ink-soft);
	border-radius: var(--radius-sm);
	transition: background-color var(--transition-fast), color var(--transition-fast);
}

.bl-reg-switch input:checked + span {
	color: #FFFFFF;
	background: var(--color-brand-red);
}

.bl-reg-switch input:focus-visible + span {
	outline: 2px solid var(--color-brand-red);
	outline-offset: 2px;
}

.bl-reg-org {
	margin-top: var(--space-4);
	padding: var(--space-4);
	background: var(--color-bg-alt);
	border-radius: var(--radius-md);
}

.bl-account-form form > .srch-btn {
	margin-top: var(--space-1);
}

/* Регистрация (mag/account/registration.php): форма и боковая карточка */
.bl-reg-lead {
	margin: calc(-1 * var(--space-2)) 0 var(--space-5);
	font-size: 15px;
	color: var(--color-ink-soft);
}

.bl-reg {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: var(--space-5);
	align-items: start;
}

.bl-reg .bl-reg-card {
	max-width: none;
}

.bl-reg-error {
	margin: 0 0 var(--space-5);
	padding: var(--space-3) var(--space-4);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-error);
	background: rgba(220, 38, 38, .06);
	border: 1px solid rgba(220, 38, 38, .25);
	border-radius: var(--radius-md);
}

.bl-reg-submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
}

.bl-reg-submit .srch-btn {
	min-height: 48px;
	padding: var(--space-2) var(--space-6);
	font-size: 16px;
}

.bl-reg-consent {
	flex: 1 1 260px;
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--color-ink-soft);
}

.bl-reg-aside {
	position: sticky;
	top: var(--space-5);
	padding: var(--space-5);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.goods .bl-reg-aside-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
}

.bl-reg-benefits {
	margin: 0 0 var(--space-5);
	padding: 0;
	list-style: none;
}

.bl-reg-benefits li {
	position: relative;
	margin: 0 0 var(--space-4);
	padding-left: 40px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-ink-soft);
}

.bl-reg-benefits li b {
	display: block;
	color: var(--color-ink);
}

/* галочка в красном круге */
.bl-reg-benefits li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 28px;
	height: 28px;
	background: var(--color-brand-red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat;
	border-radius: 50%;
}

.bl-reg-login {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2) var(--space-4);
	padding: var(--space-4);
	background: var(--color-bg-alt);
	border-radius: var(--radius-md);
}

.bl-reg-login p {
	flex: 1 1 100%;
	margin: 0;
	font-size: 14px;
	color: var(--color-ink-soft);
}

.goods .bl-reg-login-btn {
	color: var(--color-brand-red);
	background: var(--color-bg);
	border-color: var(--color-brand-red);
	text-decoration: none;
}

.goods .bl-reg-login-btn:hover {
	color: #FFFFFF;
	background: var(--color-brand-red);
	text-decoration: none;
}

.bl-reg-forgot {
	font-size: 14px;
}

@media (max-width: 900px) {
	.bl-reg {
		grid-template-columns: 1fr;
	}

	.bl-reg-aside {
		position: static;
	}
}

@media (max-width: 600px) {
	.bl-account-form.srch-card {
		padding: var(--space-4);
	}

	.bl-reg-fields {
		grid-template-columns: 1fr;
	}

	.bl-reg-switch {
		display: flex;
	}

	.bl-reg-switch label {
		flex: 1 1 0;
	}

	.bl-reg-switch span {
		justify-content: center;
		width: 100%;
		padding: 0 var(--space-2);
	}

	.bl-reg-submit .srch-btn {
		width: 100%;
	}
}

.bl-account-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0 0 var(--space-4);
}

.bl-account-home .srch-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	color: var(--color-ink);
}

.bl-account-actions form {
	display: inline-block;
	margin: 2px 0 0;
}

.bl-ok {
	color: var(--color-success);
	font-weight: 700;
}

.bl-error {
	color: var(--color-error);
	font-weight: 700;
}

/* ---------- Раздел «Скачать» (download.html) ---------- */

.bl-dl-section {
	margin: 0 0 var(--space-5);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.bl-dl-title {
	margin: 0;
	padding: var(--space-4) var(--space-5);
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-ink);
	border-bottom: 1px solid var(--color-border);
}

.bl-dl-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-dl-item {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 90px auto;
	gap: var(--space-4);
	align-items: center;
	padding: var(--space-3) var(--space-5);
	border-top: 1px solid var(--color-border);
}

.bl-dl-item:first-child {
	border-top: 0;
}

.bl-dl-type {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	font-family: var(--font-heading);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--color-ink-soft);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

.bl-dl-type-pdf {
	color: #B42318;
	background: #FEF3F2;
	border-color: #FECDCA;
}

.bl-dl-type-mp4 {
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .06);
	border-color: rgba(63, 120, 178, .25);
}

.bl-dl-text {
	min-width: 0;
}

.bl-dl-name {
	display: block;
	font-weight: 600;
	line-height: 1.35;
	color: var(--color-ink);
}

.bl-dl-note {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.35;
	color: var(--color-ink-soft);
}

.bl-dl-size {
	font-size: 13px;
	text-align: right;
	white-space: nowrap;
	color: var(--color-ink-soft);
}

.goods .bl-dl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 104px;
	min-height: 36px;
	padding: var(--space-1) var(--space-4);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border-radius: var(--radius-md);
	text-decoration: none;
}

.goods .bl-dl-btn:hover {
	color: #FFFFFF;
	background: var(--color-brand-red-dark);
	text-decoration: none;
}

.bl-dl-videos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5) var(--space-5);
	border-top: 1px solid var(--color-border);
}

.bl-dl-video {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #000;
	border-radius: var(--radius-sm);
}

.bl-dl-video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 760px) {
	.bl-dl-title {
		padding: var(--space-3) var(--space-4);
		font-size: 16px;
	}

	.bl-dl-item {
		grid-template-columns: 44px minmax(0, 1fr) auto;
		gap: var(--space-2) var(--space-3);
		padding: var(--space-3) var(--space-4);
	}

	.bl-dl-size {
		grid-column: 2;
		grid-row: 2;
		text-align: left;
	}

	.goods .bl-dl-btn {
		grid-column: 3;
		grid-row: 1 / span 2;
		min-width: 0;
	}

	.bl-dl-videos {
		grid-template-columns: 1fr;
		padding: var(--space-3) var(--space-4) var(--space-4);
	}
}

/* ---------- Раздел «Портфолио» (portfolio.html) ---------- */

.bl-pf-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: var(--space-5);
}

.bl-pf-card {
	display: flex;
	flex-direction: column;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	transition: box-shadow .15s ease, border-color .15s ease;
}

.bl-pf-card:hover {
	border-color: var(--color-brand-red);
	box-shadow: 0 4px 14px rgba(23, 20, 18, .08);
}

/* снимки в images/portfolio/ - 1873x999, рамка тех же пропорций, без обрезки */
.bl-pf-media {
	aspect-ratio: 1873 / 999;
	background: var(--color-bg-alt);
	border-bottom: 1px solid var(--color-border);
}

.bl-pf-media a {
	display: block;
	height: 100%;
	cursor: zoom-in;
}

.bl-pf-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bl-pf-video {
	aspect-ratio: 16 / 9;
	background: #000;
}

.bl-pf-video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.bl-pf-body {
	padding: var(--space-4) var(--space-5) var(--space-5);
}

.bl-pf-year {
	display: inline-block;
	margin-bottom: var(--space-2);
	padding: 2px var(--space-2);
	font-family: var(--font-heading);
	font-size: 12px;
	font-weight: 600;
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .06);
	border-radius: var(--radius-sm);
}

.bl-pf-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--color-ink);
}

@media (max-width: 560px) {
	.bl-pf-grid {
		grid-template-columns: 1fr;
		gap: var(--space-4);
	}
}

/* ---------- Баннер в карточке товара (mag/banner.php) ----------
   В css/style.css у .banner жёсткие 800x250 и 320x100 с отступом 150px сверху на
   телефоне - здесь блок тянется по ширине с теми же пропорциями. */
.bl-product .banner {
	display: block;
	width: 100%;
	max-width: 800px;
	height: auto;
	aspect-ratio: 800 / 250;
	margin: 0 0 var(--space-5);
	border-radius: var(--radius-md);
	overflow: hidden;
}

@media (max-width: 800px) {
	.bl-product .banner {
		max-width: 480px;
		aspect-ratio: 320 / 100;
		margin: 0 0 var(--space-4);
	}
}

/* ---------- Текстовые страницы: оплата, гарантия, политика (payment, warranty, policy) ---------- */

.goods .bl-doc {
	max-width: 960px;
	padding: var(--space-6) var(--space-7);
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.goods .bl-doc > :first-child {
	margin-top: 0;
}

.goods .bl-doc h2 {
	margin: var(--space-6) 0 var(--space-3);
	padding-top: var(--space-5);
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-ink);
	border-top: 1px solid var(--color-border);
}

.goods .bl-doc > h2:first-child,
.goods .bl-doc > .bl-doc-lead + h2,
.goods .bl-doc > .bl-doc-facts + h2 {
	padding-top: 0;
	border-top: 0;
}

.goods .bl-doc h3 {
	margin: var(--space-5) 0 var(--space-2);
	font-family: var(--font-heading);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--color-ink);
}

.goods .bl-doc p {
	margin: 0 0 var(--space-3);
}

.goods .bl-doc .bl-doc-lead {
	margin-bottom: var(--space-4);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-brand-red);
}

/* подпункты политики (1.1.1. ...) - с отступом */
.goods .bl-doc .bl-doc-sub {
	padding-left: var(--space-5);
	color: var(--color-ink);
}

.goods .bl-doc .bl-doc-muted {
	margin-top: var(--space-5);
	font-size: 13px;
	color: var(--color-ink-soft);
}

.goods .bl-doc-list {
	margin: 0 0 var(--space-3);
	padding-left: var(--space-5);
}

.goods .bl-doc-list li {
	margin: 0 0 var(--space-1);
}

.goods .bl-doc-list li::marker {
	color: var(--color-brand-red);
}

/* пояснение и предупреждение - плашки с полосой слева */
.goods .bl-doc .bl-doc-note,
.goods .bl-doc .bl-doc-warn {
	padding: var(--space-3) var(--space-4);
	border-left: 3px solid var(--color-brand-red);
	border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
	background: rgba(63, 120, 178, .05);
}

.goods .bl-doc .bl-doc-warn {
	font-weight: 600;
	border-left-color: #D92D20;
	background: #FEF3F2;
}

/* ключевые цифры наверху страницы */
.goods .bl-doc-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: var(--space-3);
	margin: 0 0 var(--space-5);
	padding: 0;
	list-style: none;
}

.goods .bl-doc-facts li {
	padding: var(--space-4);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.goods .bl-doc-facts strong {
	display: block;
	margin-bottom: var(--space-1);
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--color-brand-red);
}

.goods .bl-doc-facts span {
	display: block;
	font-size: 14px;
	line-height: 1.45;
	color: var(--color-ink-soft);
}

/* термины гарантии */
.goods .bl-doc-terms {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: var(--space-2) var(--space-4);
	margin: 0 0 var(--space-3);
}

.goods .bl-doc-terms dt {
	font-weight: 700;
}

.goods .bl-doc-terms dd {
	margin: 0;
}

/* логотипы платёжных систем */
.goods .bl-pay-cards {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: var(--space-2) 0 var(--space-4);
	padding: 0;
	list-style: none;
}

.goods .bl-pay-cards li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	min-width: 140px;
	padding: var(--space-3) var(--space-4);
	font-size: 13px;
	color: var(--color-ink-soft);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.goods .bl-pay-cards img {
	display: block;
	height: 40px;
	width: auto;
}

@media (max-width: 760px) {
	.goods .bl-doc {
		padding: var(--space-5) var(--space-4);
	}

	.goods .bl-doc .bl-doc-sub {
		padding-left: var(--space-3);
	}

	.goods .bl-doc-terms {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.goods .bl-doc-terms dd {
		margin-bottom: var(--space-3);
	}

	.goods .bl-pay-cards li {
		flex: 1 1 calc(50% - var(--space-3));
		min-width: 0;
	}
}

/* ---------- Карта сайта (map.html) ---------- */

.bl-map-section {
	margin: 0 0 var(--space-5);
	padding: var(--space-5);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.goods .bl-map-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-map-links {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--space-2) var(--space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.goods .bl-map-links a {
	display: block;
	padding: var(--space-1) 0 var(--space-1) var(--space-4);
	position: relative;
	line-height: 1.4;
	color: var(--color-ink);
}

.goods .bl-map-links a::before {
	content: "";
	position: absolute;
	left: 0;
	top: .85em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-brand-red);
}

.goods .bl-map-links a:hover {
	color: var(--color-brand-red);
}

/* постраничные ссылки Navigation::navigator - таблица из старого кода, выводится плашками */
.bl-map-pages table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 6px;
}

.bl-map-pages td {
	padding: 0;
}

.goods .bl-map-pages a {
	display: block;
	padding: 6px 8px;
	font-size: 13px;
	text-align: center;
	white-space: nowrap;
	color: var(--color-ink) !important;   /* в разметке navigator - style="color: ..." */
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

.goods .bl-map-pages a:hover {
	color: var(--color-brand-red) !important;
	border-color: var(--color-brand-red);
	text-decoration: none;
}

@media (max-width: 760px) {
	.bl-map-section {
		padding: var(--space-4);
	}

	.bl-map-pages {
		overflow-x: auto;
	}
}

/* ---------- О компании: хронология (about.html) ---------- */

.goods .bl-doc-timeline {
	position: relative;
	margin: 0 0 var(--space-5);
	padding: 0 0 0 var(--space-5);
	list-style: none;
}

.goods .bl-doc-timeline::before {
	content: "";
	position: absolute;
	left: 5px;
	top: 8px;
	bottom: 8px;
	border-left: 2px solid var(--color-border);
}

.goods .bl-doc-timeline li {
	position: relative;
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: var(--space-3);
	padding: var(--space-2) 0;
}

.goods .bl-doc-timeline li::before {
	content: "";
	position: absolute;
	left: calc(-1 * var(--space-5) + 1px);
	top: 15px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--color-brand-red);
	box-shadow: 0 0 0 3px var(--color-bg);
}

.goods .bl-doc-year {
	font-family: var(--font-heading);
	font-weight: 600;
	color: var(--color-brand-red);
}

.goods .bl-doc-timeline p {
	margin: 0;
}

@media (max-width: 560px) {
	.goods .bl-doc-timeline li {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

/* ---------- Оплата заказа (mag/payment/paymentchoose.php) ---------- */

.bl-payment {
	max-width: 1000px;
}

/* подтверждение: галочка, номер счёта, письмо, сумма */
.bl-pay-done {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: var(--space-4) var(--space-5);
	align-items: center;
	margin: 0 0 var(--space-6);
	padding: var(--space-5) var(--space-6);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.bl-pay-done-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	color: #FFFFFF;
	background: #1A7A46;
	border-radius: 50%;
}

.bl-pay-done-label {
	margin: 0 0 var(--space-1);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #1A7A46;
}

.bl-payment .bl-pay-done .goods-title {
	margin: 0 0 var(--space-1);
	font-size: 26px;
}

.bl-pay-done-mail {
	margin: 0;
	font-size: 14px;
	color: var(--color-ink-soft);
}

.bl-pay-sum {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	margin: 0;
	padding: var(--space-3) var(--space-4);
	text-align: right;
	background: var(--color-bg-alt);
	border-radius: var(--radius-md);
}

.bl-pay-sum span {
	font-size: 13px;
	color: var(--color-ink-soft);
}

.bl-pay-sum b {
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--color-brand-red);
}

.bl-pay-sum small {
	font-size: 13px;
	color: var(--color-ink-soft);
}

.goods .bl-pay-title {
	margin: 0 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
}

/* способы оплаты */
.bl-pay-methods {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5);
	margin: 0 0 var(--space-6);
}

.bl-pay-methods.is-single {
	grid-template-columns: minmax(0, 520px);
}

.bl-pay-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-5) var(--space-6) var(--space-6);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.bl-pay-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .08);
	border-radius: var(--radius-md);
}

.goods .bl-pay-card-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
}

.bl-pay-card-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-ink-soft);
}

.goods .bl-pay-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: var(--space-2);
	padding: var(--space-2) var(--space-6);
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 1px solid var(--color-brand-red);
	border-radius: var(--radius-md);
	text-decoration: none;
}

.goods .bl-pay-btn:hover {
	color: #FFFFFF;
	background: var(--color-brand-red-dark);
	border-color: var(--color-brand-red-dark);
	text-decoration: none;
}

.goods .bl-pay-btn.is-secondary {
	margin: 0;
	color: var(--color-brand-red);
	background: var(--color-bg);
}

.goods .bl-pay-btn.is-secondary:hover {
	color: #FFFFFF;
	background: var(--color-brand-red);
}

.goods .bl-pay-link {
	font-size: 14px;
}

.bl-pay-qr {
	display: block;
	width: 220px;
	max-width: 100%;
	height: auto;
	margin-top: var(--space-2);
	padding: var(--space-2);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	image-rendering: pixelated;
}

/* дальше: связь с менеджером и возврат в каталог */
.bl-pay-next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4) var(--space-5);
	background: var(--color-bg-alt);
	border-radius: var(--radius-md);
}

.bl-pay-next p {
	flex: 1 1 360px;
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-ink-soft);
}

.goods .bl-pay-next a[href^="tel:"] {
	font-weight: 600;
	color: var(--color-ink);
	white-space: nowrap;
}

@media (max-width: 760px) {
	.bl-pay-done {
		grid-template-columns: auto minmax(0, 1fr);
		padding: var(--space-4);
	}

	.bl-pay-sum {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0 var(--space-2);
		text-align: left;
	}

	.bl-payment .bl-pay-done .goods-title {
		font-size: 21px;
	}

	.bl-pay-methods {
		grid-template-columns: 1fr;
	}

	.bl-pay-card {
		padding: var(--space-4);
	}

	.goods .bl-pay-btn {
		width: 100%;
	}

	.bl-pay-qr {
		align-self: center;
	}
}


/* ---------- Футер (TEMPLATES/footer.tpl) ---------- */

/* clear: перед футером на страницах каталога стоят плавающие блоки */
.bl-footer {
	position: relative;
	clear: both;
	margin-top: var(--space-8, 64px);
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.5;
	color: var(--color-ink-soft);
	background: var(--color-bg);
	border-top: 1px solid var(--color-border);
}

/* сверху - тонкая полоса из цветов «E» логотипа */
.bl-footer::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, #FC0B04 0 33.33%, #22C40D 33.33% 66.66%, var(--color-brand-red) 66.66% 100%);
}

/* поля по бокам - как у содержимого страниц (.goods: 5%) */
.bl-footer-in {
	margin: 0;
	padding: 0 5%;
	box-sizing: border-box;
}

.bl-footer-main {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.1fr);
	gap: var(--space-6);
	padding-top: var(--space-7, 48px);
	padding-bottom: var(--space-6);
}

.bl-footer a {
	color: var(--color-ink);
	text-decoration: none;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.bl-footer a:hover {
	color: var(--color-brand-red);
	text-decoration: none;
}

.bl-footer a:focus-visible {
	outline: 2px solid var(--color-brand-red);
	outline-offset: 2px;
	border-radius: 2px;
}

.bl-footer-logo {
	display: inline-flex;
	margin: 0 0 var(--space-4);
}

.bl-footer .bl-footer-logo,
.bl-footer .bl-footer-logo:hover {
	color: var(--color-ink);
}

.bl-footer-logo svg {
	display: block;
	width: 150px;
	height: auto;
}

.bl-footer-about {
	max-width: 320px;
	margin: 0 0 var(--space-4);
	font-family: var(--font-body);
}

.bl-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.bl-footer-social a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: 999px;
}

.bl-footer .bl-footer-social a:hover {
	border-color: var(--color-brand-red);
}

.bl-footer-title {
	margin: 0 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--color-ink);
}

.bl-footer-links {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-footer-links li {
	margin: 0 0 var(--space-2);
	font-family: var(--font-body);
}

.bl-footer .bl-footer-links a {
	color: var(--color-ink-soft);
}

.bl-footer .bl-footer-links a:hover {
	color: var(--color-brand-red);
}

.bl-footer-phone {
	display: inline-block;
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	white-space: nowrap;
}

.bl-footer .bl-footer-phone {
	color: var(--color-brand-red);
}

.bl-footer .bl-footer-phone:hover {
	color: var(--color-brand-red-dark);
}

.bl-footer-note {
	margin: 0 0 var(--space-3);
	font-family: var(--font-body);
	font-size: 13px;
	color: var(--color-ink-soft);
}

.bl-footer-mail {
	display: inline-block;
	font-family: var(--font-body);
	word-break: break-all;
}

.bl-footer-bottom {
	background: var(--color-bg-alt);
	border-top: 1px solid var(--color-border);
}

.bl-footer-bottom .bl-footer-in {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
	padding-top: var(--space-4);
	padding-bottom: var(--space-4);
	font-size: 13px;
}

.bl-footer-copy {
	margin: 0;
	font-family: var(--font-body);
	color: var(--color-ink-soft);
}

.bl-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-4);
	font-family: var(--font-body);
}

.bl-footer .bl-footer-legal a {
	color: var(--color-ink-soft);
}

.bl-footer .bl-footer-legal a:hover {
	color: var(--color-brand-red);
}

/* счётчики посещаемости - приглушённо, справа */
.bl-footer-counters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-left: auto;
	opacity: .7;
	transition: opacity var(--transition-fast);
}

.bl-footer-counters:hover {
	opacity: 1;
}

.bl-footer-counters a {
	display: block;
	line-height: 0;
}

.bl-footer-counters img {
	border-radius: 3px;
}

@media (max-width: 1100px) {
	.bl-footer-main {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.bl-footer-brand {
		grid-column: 1 / -1;
	}

	.bl-footer-about {
		max-width: 560px;
	}
}

@media (max-width: 760px) {
	.bl-footer-main {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.bl-footer-contact {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.bl-footer-in {
		padding: 0 var(--space-4);
	}

	.bl-footer-main {
		grid-template-columns: 1fr 1fr;
		gap: var(--space-5) var(--space-4);
		padding-top: var(--space-6);
	}

	.bl-footer-counters {
		margin-left: 0;
	}
}

/* ---------- Вопросы и ответы (faq.html): раскрывающиеся вопросы по разделам ---------- */

.goods .bl-faq-toc {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0 0 var(--space-6);
}

.goods .bl-faq .bl-faq-intro {
	margin: 0 0 var(--space-4);
	font-size: 15px;
	color: var(--color-ink-soft);
}

/* шаги - номера в кружках (маркеры списков снимает общий сброс footer.a0cd09ab.css) */
.goods .bl-faq-answer ol.bl-doc-list {
	padding: 0;
	list-style: none;
	counter-reset: faq-step;
}

.goods .bl-faq-answer ol.bl-doc-list li {
	position: relative;
	margin: 0 0 var(--space-2);
	padding-left: 34px;
	list-style: none;
	counter-increment: faq-step;
}

.goods .bl-faq-answer ol.bl-doc-list li::before {
	content: counter(faq-step);
	position: absolute;
	left: 0;
	top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	font-family: var(--font-heading);
	font-size: 12px;
	font-weight: 600;
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .08);
	border-radius: 50%;
}

.goods .bl-faq-toc a,
.goods .bl-faq-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-ink);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	text-decoration: none;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.goods .bl-faq-toc a:hover,
.goods .bl-faq-chips a:hover {
	color: var(--color-brand-red);
	border-color: var(--color-brand-red);
}

.goods .bl-faq-chips {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
}

.goods .bl-faq-chips a {
	min-height: 32px;
	padding: 0 var(--space-3);
	font-size: 13px;
}

.bl-faq-section {
	margin: 0 0 var(--space-6);
	scroll-margin-top: var(--space-5);
}

.goods .bl-faq .bl-faq-section > h2 {
	margin: 0 0 var(--space-3);
}

.bl-faq-item {
	margin: 0 0 var(--space-2);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	transition: border-color var(--transition-fast);
}

.bl-faq-item[open] {
	border-color: var(--color-brand-red);
}

.bl-faq-item summary {
	position: relative;
	display: block;
	padding: var(--space-4) 56px var(--space-4) var(--space-5);
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--color-ink);
	list-style: none;
	cursor: pointer;
}

.bl-faq-item summary::-webkit-details-marker {
	display: none;
}

.bl-faq-item summary:hover {
	color: var(--color-brand-red);
}

.bl-faq-item summary:focus-visible {
	outline: 2px solid var(--color-brand-red);
	outline-offset: 2px;
	border-radius: var(--radius-md);
}

/* плюс в кружке; у раскрытого вопроса - минус */
.bl-faq-item summary::before,
.bl-faq-item summary::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 26px;
	width: 12px;
	height: 2px;
	margin-top: -1px;
	background: var(--color-brand-red);
	border-radius: 1px;
	transition: transform var(--transition-fast);
}

.bl-faq-item summary::after {
	transform: rotate(90deg);
}

.bl-faq-item[open] summary::after {
	transform: rotate(0deg);
}

.bl-faq-answer {
	padding: 0 var(--space-5) var(--space-4);
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-ink);
}

.goods .bl-faq-answer p {
	margin: 0 0 var(--space-3);
}

.goods .bl-faq-answer > :last-child {
	margin-bottom: 0;
}

.goods .bl-faq-answer .bl-doc-list {
	margin: 0 0 var(--space-3);
}

/* «Не нашли ответа?» */
.bl-faq-help {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4) var(--space-5);
	margin-top: var(--space-6);
	padding: var(--space-5) var(--space-6);
	background: rgba(63, 120, 178, .05);
	border: 1px solid rgba(63, 120, 178, .25);
	border-radius: var(--radius-md);
}

.goods .bl-faq .bl-faq-help h2 {
	margin: 0 0 var(--space-1);
	padding: 0;
	border: 0;
	font-size: 20px;
}

.goods .bl-faq-help p {
	margin: 0;
	font-size: 14px;
	color: var(--color-ink-soft);
}

.bl-faq-help-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-3) var(--space-5);
}

.goods .bl-faq-help-phone {
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	color: var(--color-brand-red);
	white-space: nowrap;
	text-decoration: none;
}

.goods .bl-faq-help-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 var(--space-5);
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border: 1px solid var(--color-brand-red);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: background-color var(--transition-fast);
}

.goods .bl-faq-help-btn:hover {
	color: #FFFFFF;
	background: var(--color-brand-red-dark);
	text-decoration: none;
}

@media (max-width: 600px) {
	.bl-faq-item summary {
		padding: var(--space-3) 48px var(--space-3) var(--space-4);
		font-size: 15px;
	}

	.bl-faq-item summary::before,
	.bl-faq-item summary::after {
		right: 20px;
	}

	.bl-faq-answer {
		padding: 0 var(--space-4) var(--space-3);
	}

	.bl-faq-help {
		padding: var(--space-4);
	}

	.bl-faq-help-actions,
	.goods .bl-faq-help-btn {
		width: 100%;
	}
}

/* ---------- Новости (news.html): лента по годам ---------- */

.bl-news-lead {
	max-width: 640px;
	margin: calc(-1 * var(--space-2)) 0 var(--space-4);
	font-size: 15px;
	color: var(--color-ink-soft);
}

.goods .bl-news-years {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0 0 var(--space-6);
}

.goods .bl-news-years a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	text-decoration: none;
	transition: color var(--transition-fast), border-color var(--transition-fast);
}

.goods .bl-news-years a:hover {
	color: var(--color-brand-red);
	border-color: var(--color-brand-red);
}

.bl-news-year {
	max-width: 900px;
	margin: 0 0 var(--space-6);
	scroll-margin-top: var(--space-5);
}

.goods .bl-news-year-title {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: 0 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-news-year-title span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 22px;
	padding: 0 var(--space-2);
	font-size: 12px;
	color: var(--color-ink-soft);
	background: var(--color-bg-alt);
	border: 1px solid var(--color-border);
	border-radius: 999px;
}

.bl-news-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.bl-news-item {
	display: flex;
	align-items: flex-start;
	gap: var(--space-4);
	margin: 0 0 var(--space-2);
	padding: var(--space-4);
	list-style: none;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}

.bl-news-item.is-latest {
	border-color: var(--color-brand-red);
	box-shadow: inset 3px 0 0 var(--color-brand-red);
}

/* дата: число и месяц в квадрате */
.bl-news-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: 0 0 56px;
	height: 56px;
	line-height: 1;
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .07);
	border-radius: var(--radius-md);
}

.bl-news-date b {
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
}

.bl-news-date span {
	margin-top: 3px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.bl-news-body {
	flex: 1 1 auto;
	min-width: 0;
	align-self: center;
}

.goods .bl-news-body p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-ink);
}

.bl-news-badge {
	display: inline-block;
	margin: 0 0 var(--space-1);
	padding: 2px var(--space-2);
	font-family: var(--font-heading);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #FFFFFF;
	background: var(--color-brand-red);
	border-radius: 999px;
}

.bl-news-img {
	flex: 0 0 auto;
	width: 160px;
	max-width: 30%;
	height: auto;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

.bl-news-empty {
	color: var(--color-ink-soft);
}

@media (max-width: 600px) {
	.bl-news-item {
		flex-wrap: wrap;
		gap: var(--space-3);
		padding: var(--space-3);
	}

	.bl-news-date {
		flex-basis: 48px;
		height: 48px;
	}

	.bl-news-date b {
		font-size: 18px;
	}

	.bl-news-body {
		flex-basis: calc(100% - 48px - var(--space-3));
	}

	.bl-news-img {
		width: 100%;
		max-width: none;
	}
}

/* ---------- Семисегментные индикаторы: раздел, подразделы, характеристики ----------
   (semisegmentnie-svetodiodnie-indikatori.html, *_semisegmentnie_*.html,
   bukvennotsifrovie_*.html, images/SEGMENT_INDICATOR/indicator.php, segnav.php) */

.bl-seg-lead {
	max-width: 760px;
	margin: 0 0 var(--space-5);
	font-size: 15px;
	line-height: 1.55;
	color: var(--color-ink-soft);
}

/* подразделы и размеры - кнопки-ссылки */
.goods .bl-seg-tabs,
.goods .bl-seg-sizes {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin: 0 0 var(--space-4);
}

.goods .bl-seg-tabs a,
.goods .bl-seg-sizes a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 var(--space-4);
	font-family: var(--font-heading);
	font-size: 14px;
	font-weight: 600;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	text-decoration: none;
	transition: color var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);
}

.goods .bl-seg-tabs a:hover,
.goods .bl-seg-sizes a:hover {
	color: var(--color-brand-red);
	border-color: var(--color-brand-red);
}

.goods .bl-seg-tabs a.is-active {
	color: #FFFFFF;
	background: var(--color-brand-red);
	border-color: var(--color-brand-red);
}

.goods .bl-seg-sizes {
	margin-bottom: var(--space-6);
}

.goods .bl-seg-sizes a {
	min-height: 32px;
	padding: 0 var(--space-3);
	font-size: 13px;
	background: var(--color-bg-alt);
}

/* плитки типов индикаторов (страница раздела) */
.bl-seg-types {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-4);
	margin: 0 0 var(--space-6);
}

.goods .bl-seg-type {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-1);
	padding: var(--space-5) var(--space-4);
	text-align: center;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.goods .bl-seg-type:hover {
	border-color: var(--color-brand-red);
	box-shadow: 0 6px 20px rgba(23, 20, 18, .08);
	text-decoration: none;
}

.bl-seg-type img {
	width: 100px;
	height: 100px;
	margin: 0 0 var(--space-2);
	object-fit: contain;
}

.bl-seg-type b {
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 600;
}

.goods .bl-seg-type:hover b {
	color: var(--color-brand-red);
}

.bl-seg-type span {
	font-size: 13px;
	color: var(--color-ink-soft);
}

/* группа по размеру цифры и карточки индикаторов */
.bl-seg-group {
	margin: 0 0 var(--space-6);
	scroll-margin-top: var(--space-5);
}

.goods .bl-seg-group-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-2);
	margin: 0 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-seg-group-title span {
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 400;
	color: var(--color-ink-soft);
}

.bl-seg-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: var(--space-3);
}

.goods .bl-seg-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	padding: var(--space-4) var(--space-3) var(--space-3);
	text-align: center;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.goods a.bl-seg-card:hover {
	border-color: var(--color-brand-red);
	box-shadow: 0 6px 20px rgba(23, 20, 18, .08);
	text-decoration: none;
}

.bl-seg-card img,
.bl-seg-noimg {
	display: block;
	width: 80px;
	height: 80px;
	margin: 0 0 var(--space-2);
	object-fit: contain;
}

.bl-seg-card b {
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
}

.goods a.bl-seg-card:hover b {
	color: var(--color-brand-red);
}

.bl-seg-card span {
	font-size: 13px;
	color: var(--color-ink-soft);
}

.bl-seg-tag {
	margin-top: var(--space-2);
	padding: 2px var(--space-2);
	font-family: var(--font-heading);
	font-size: 11px;
	font-style: normal;
	font-weight: 600;
	color: var(--color-brand-red);
	background: rgba(63, 120, 178, .08);
	border-radius: 999px;
}

.bl-seg-tag.is-pdf {
	color: #B42318;
	background: rgba(180, 35, 24, .08);
}

/* подсказки внизу */
.bl-seg-help {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-3);
	margin: var(--space-6) 0 0;
}

.goods .bl-seg-help > a,
.bl-seg-help > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: var(--space-4) var(--space-5);
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: border-color var(--transition-fast);
}

.goods .bl-seg-help > a:hover {
	border-color: var(--color-brand-red);
	text-decoration: none;
}

.bl-seg-help b {
	font-family: var(--font-heading);
	font-size: 15px;
	font-weight: 600;
}

.goods .bl-seg-help > a:hover b {
	color: var(--color-brand-red);
}

.bl-seg-help span {
	font-size: 13px;
	line-height: 1.45;
	color: var(--color-ink-soft);
}

.bl-seg-help > div {
	background: rgba(63, 120, 178, .05);
	border-color: rgba(63, 120, 178, .25);
}

.goods .bl-seg-help a[href^="tel:"] {
	font-weight: 600;
	color: var(--color-brand-red);
	white-space: nowrap;
}

/* характеристики индикатора: старые таблицы в новом оформлении */
.bl-seg-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.bl-seg-table table {
	width: 100%;
	min-width: 680px;
	margin: 0 0 var(--space-4);
	font-size: 14px;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}

.bl-seg-table td {
	padding: var(--space-2) var(--space-3);
	text-align: center;
	vertical-align: middle;
	border-bottom: 1px solid var(--color-border);
}

.bl-seg-table tr:last-child td {
	border-bottom: 0;
}

.bl-seg-table tr:first-child td {
	font-family: var(--font-heading);
	font-size: 12px;
	font-weight: 600;
	color: var(--color-ink);
	background: var(--color-bg-alt);
}

.bl-seg-table td[rowspan] {
	background: var(--color-bg);
	border-right: 1px solid var(--color-border);
}

/* абзацы внутри ячеек - в строку, чтобы кружок цвета стоял рядом с названием */
.bl-seg-table td p,
.bl-seg-table td div {
	display: inline;
	margin: 0;
}

.bl-seg-table td[rowspan] p,
.bl-seg-table td[rowspan] div {
	display: block;
}

.bl-seg-table img {
	display: inline-block;
	width: 72px;
	height: auto;
}

.bl-seg-table a {
	color: var(--color-brand-red);
	white-space: nowrap;
	text-decoration: none;
}

.bl-seg-table a:hover {
	text-decoration: underline;
}

.bl-seg-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: var(--space-2);
	vertical-align: 0;
	border: 1px solid rgba(23, 20, 18, .2);
	border-radius: 50%;
}

.bl-seg-back {
	margin: var(--space-5) 0 0;
	font-size: 14px;
}

@media (max-width: 900px) {
	.bl-seg-help {
		grid-template-columns: 1fr;
	}

	.bl-seg-types {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.bl-seg-types {
		grid-template-columns: 1fr 1fr;
		gap: var(--space-3);
	}

	.goods .bl-seg-type {
		padding: var(--space-4) var(--space-2);
	}

	.bl-seg-type img {
		width: 72px;
		height: 72px;
	}

	.bl-seg-grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--space-2);
	}

	.goods .bl-seg-tabs {
		flex-wrap: nowrap;
		margin-right: calc(-1 * var(--space-4));
		overflow-x: auto;
		scrollbar-width: none;
	}

	.goods .bl-seg-tabs::-webkit-scrollbar {
		display: none;
	}

	.goods .bl-seg-tabs a {
		flex-shrink: 0;
	}
}

.goods .bl-seg-variant {
	margin: var(--space-5) 0 var(--space-3);
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-ink);
}

.bl-seg-table > .bl-seg-variant:first-child {
	margin-top: 0;
}

/* ---------- Подразделы раздела каталога (режим podrazdel, classes/catalog.php Podrazdel) ---------- */

.bl-cat-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--space-4);
	margin: 0 0 var(--space-6);
}

.goods .bl-cat-tile {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	color: var(--color-ink);
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);
}

.goods .bl-cat-tile:hover {
	border-color: var(--color-brand-red);
	box-shadow: 0 8px 24px rgba(23, 20, 18, .08);
	transform: translateY(-2px);
	text-decoration: none;
}

.goods .bl-cat-tile:focus-visible {
	outline: 2px solid var(--color-brand-red);
	outline-offset: 2px;
}

.bl-cat-tile-img {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 360 / 210;
	padding: var(--space-3);
	background: #FFFFFF;
	border-bottom: 1px solid var(--color-border);
}

.bl-cat-tile-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bl-cat-tile-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: var(--space-2);
	padding: var(--space-4) var(--space-5) var(--space-5);
}

.bl-cat-tile-body b {
	font-family: var(--font-heading);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.goods .bl-cat-tile:hover .bl-cat-tile-body b {
	color: var(--color-brand-red);
}

.bl-cat-tile-body em {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	font-family: var(--font-heading);
	font-size: 13px;
	font-style: normal;
	font-weight: 600;
	color: var(--color-brand-red);
}

.bl-cat-tile-body em::after {
	content: "\2192";
	transition: transform var(--transition-fast);
}

.goods .bl-cat-tile:hover .bl-cat-tile-body em::after {
	transform: translateX(3px);
}

@media (max-width: 600px) {
	.bl-cat-tiles {
		grid-template-columns: 1fr 1fr;
		gap: var(--space-3);
	}

	.bl-cat-tile-body {
		padding: var(--space-3);
	}

	.bl-cat-tile-body b {
		font-size: 14px;
	}

	.bl-cat-tile-img {
		padding: var(--space-2);
	}
}
