@font-face {
	font-family: 'Stratos LC Web Regular';
	src: url('../font/stratos/StratosLCWeb-Regular.woff2') format('woff2'),
		url('../font/stratos/StratosLCWeb-Regular.woff') format('woff');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Stratos LC Web Medium';
	src: url('../font/stratos/StratosLCWeb-Medium.woff2') format('woff2'),
		url('../font/stratos/StratosLCWeb-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Stratos LC Web Light';
	src: url('../font/stratos/StratosLCWeb-Light.woff2') format('woff2'),
		url('../font/stratos/StratosLCWeb-Light.woff') format('woff');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

:root {
	--bon-purple: #A54BD9;
	--bon-purple-dark: #A54BD9;
	--bon-purple-light: #c15cff;
	--bon-primary-text: #A54BD9;
	--bon-text: #303030;
	--bon-muted: #8b8b8b;
	--bon-border: #d8a6ff;
	--bon-top-bg: #f7f7f7;
}

:root {
	/* Font */
	--bon-font-main: 'Stratos LC Web Regular', Arial, sans-serif;
	--bon-font-light: 'Stratos LC Web Light', Arial, sans-serif;
	--bon-font-medium: 'Stratos LC Web Medium', Arial, sans-serif;

	/* Brand colors */
	--bon-color-primary: #A54BD9;
	--bon-color-primary-hover: #8f35e8;
	--bon-color-primary-light: #c15cff;
	--bon-color-primary-soft: #f7edff;

	/* Text colors */
	--bon-color-heading: #222222;
	--bon-color-text: #303030;
	--bon-color-text-dark: #111111;
	--bon-color-text-soft: #333333;
	--bon-color-muted: #212121;
	--bon-color-muted-light: #b5b5b5;
	--bon-color-muted-xlight: #CDCDCD;

	/* Backgrounds */
	--bon-color-white: #ffffff;
	--bon-color-bg: #ffffff;
	--bon-color-bg-soft: #f7f7f7;
	--bon-color-bg-card: #F9F9F9;
	--bon-color-bg-hover: #f5f0fb;

	/* Borders */
	--bon-color-border: #F4F4ED;
	--bon-color-border-soft: #F4F4ED;
	--bon-color-border-purple: #d8a6ff;

	/* Status / labels */
	--bon-color-sale: #E1E13D;
	--bon-color-danger: #d9534f;

	/* Shadows */
	--bon-shadow-soft: 0 8px 18px rgba(166, 77, 244, 0.12);
	--bon-shadow-card: 0 14px 34px rgba(166, 77, 244, 0.12);
	--bon-shadow-modal: 0 22px 70px rgba(0, 0, 0, 0.18);

	/* Font sizes */
	--bon-fs-xxs: 10px;
	--bon-fs-xs: 11px;
	--bon-fs-sm: 12px;
	--bon-fs-base: 13px;
	--bon-fs-md: 14px;
	--bon-fs-lg: 15px;
	--bon-fs-xl: 16px;

	--bon-fs-title-sm: 22px;
	--bon-fs-title-md: 24px;
	--bon-fs-title-lg: 30px;
	--bon-fs-title-xl: 34px;

	/* Font weights */
	--bon-fw-regular: 400;
	--bon-fw-medium: 500;
	--bon-fw-semibold: 600;
	--bon-fw-bold: 700;

	/* Radius */
	--bon-radius-xs: 3px;
	--bon-radius-sm: 8px;
	--bon-radius-md: 12px;
	--bon-radius-lg: 14px;
	--bon-radius-xl: 18px;
	--bon-radius-pill: 999px;
	--bon-radius-round: 50%;

	/* Transitions */
	--bon-transition-fast: 0.2s ease;
	--bon-transition-base: 0.25s ease;

	/* Layout */
	--bon-container-width: 1180px;
	--bon-container-wide: 1360px;
}

body {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: var(--bon-font-main);
	color: var(--bon-color-text);
	background: var(--bon-color-bg);
}

html {
	height: 100%;
}

body>.bon-footer {
	margin-top: auto;
	flex-shrink: 0;
}

.bon-container {
	max-width: 1310px;
	margin: 0 auto;
	padding-left: 16px;
	padding-right: 16px;
}


/* Home page layout */

.bon-home-page {
	width: 100%;
	padding: 0 0 60px;
	background: #ffffff;
}

.bon-home-layout {
	display: grid;
	align-items: flex-start;
	gap: 28px;
	width: 100%;
	min-width: 0;
}

.bon-home-layout--full {
	grid-template-columns: minmax(0, 1fr);
}

.bon-home-layout--left {
	grid-template-columns: 250px minmax(0, 1fr);
}

.bon-home-layout--right {
	grid-template-columns: minmax(0, 1fr) 250px;
}

.bon-home-layout--both {
	grid-template-columns: 230px minmax(0, 1fr) 230px;
}

/*
 * column_left и column_right приходят из OpenCart
 * с Bootstrap-классами col-sm-*.
 * В нашей CSS Grid они не должны повторно ограничивать ширину.
 */

.bon-home-layout>#column-left,
.bon-home-layout>#column-right {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.bon-home-layout>#column-left::before,
.bon-home-layout>#column-left::after,
.bon-home-layout>#column-right::before,
.bon-home-layout>#column-right::after {
	display: none;
	content: none;
}

.bon-home-content {
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

/* Не даём модулям растягивать страницу шире контейнера */

.bon-home-content>* {
	max-width: 100%;
}

/* Responsive */

@media (max-width: 1199px) {
	.bon-home-layout--left {
		grid-template-columns: 230px minmax(0, 1fr);
	}

	.bon-home-layout--right {
		grid-template-columns: minmax(0, 1fr) 230px;
	}

	.bon-home-layout--both {
		grid-template-columns: 210px minmax(0, 1fr) 210px;
		gap: 22px;
	}
}

@media (max-width: 991px) {

	.bon-home-layout--left,
	.bon-home-layout--right,
	.bon-home-layout--both {
		grid-template-columns: 210px minmax(0, 1fr);
		gap: 18px;
	}

	.bon-home-layout--both>#column-right {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.bon-home-page {
		padding-bottom: 40px;
	}

	.bon-home-layout,
	.bon-home-layout--left,
	.bon-home-layout--right,
	.bon-home-layout--both {
		display: block;
	}

	.bon-home-layout>#column-left,
	.bon-home-layout>#column-right {
		width: 100% !important;
		margin-bottom: 24px !important;
	}

	.bon-home-content {
		width: 100%;
	}
}

/* Top header */

.bon-top {
	background: var(--bon-top-bg);
	border-bottom: 1px solid #F7F7F7;
	min-height: 30px;
}

.bon-top__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: 40px;
}

.bon-top__nav {
	grid-column: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 42px;
}

.bon-top__link {
	font-size: 12px;
	line-height: 1;
	color: var(--bon-color-muted);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.bon-top__link:hover {
	color: var(--bon-purple);
	text-decoration: none;
}

.bon-top__language {
	grid-column: 3;
	justify-self: end;
	display: flex;
	align-items: center;
}

.bon-top__language form {
	margin: 0;
}

/* Main header */

.bon-header {
	background: #ffffff;
	min-height: 66px;
}

.bon-header__inner {
	display: grid;
	grid-template-columns: 140px 160px minmax(260px, 800px) 1fr;
	align-items: center;
	gap: 12px;
	min-height: 66px;
}

.bon-header__logo {
	display: flex;
	align-items: center;
}

.bon-header__logo img {
	display: block;
	max-width: 128px;
	max-height: 58px;
	width: auto;
	height: auto;
}

.bon-header__logo-text {
	font-size: 24px;
	font-weight: 500;
	color: var(--bon-text);
	text-decoration: none;
}

.bon-header__catalog {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 160px;
	height: 36px;
	border: 0;
	border-radius: 999px;
	background: var(--bon-color-primary);
	color: #ffffff;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.bon-header__catalog:hover {
	opacity: 0.92;
}

.bon-header__catalog:active {
	transform: scale(0.98);
}

.bon-header__catalog-icon {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 16px;
}

.bon-header__catalog-icon span {
	display: block;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: #ffffff;
}

.bon-header__search {
	width: 100%;
}

.bon-header__partner {
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-left: 26px;
	font-size: 15px;
	font-weight: 500;
	color: var(--bon-color-primary);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.bon-header__partner:hover {
	color: var(--bon-color-primary);
	text-decoration: none;
}

.bon-header__partner-icon {
	flex: 0 0 auto;
}

/* Search */

.bon-search {
	position: relative;
	width: 100%;
	height: 38px;
}

.bon-search__input {
	width: 100%;
	height: 38px;
	padding: 0 48px 0 22px;
	border: 1px solid var(--bon-border);
	border-radius: 999px;
	background: #ffffff;
	color: var(--bon-text);
	font-size: 14px;
	font-weight: 400;
	outline: none;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bon-search__input::placeholder {
	color: #c7c7c7;
}

.bon-search__input:focus {
	border-color: var(--bon-purple);
	box-shadow: 0 0 0 3px rgba(166, 77, 244, 0.12);
}

.bon-search__button {
	position: absolute;
	top: 50%;
	right: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #9d9d9d;
	transform: translateY(-50%);
	cursor: pointer;
	transition: color 0.2s ease;
}

.bon-search__button:hover {
	color: var(--bon-purple);
}

/* Language module basic reset */

.bon-top__language .btn,
.bon-top__language button {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #555555;
	font-size: 12px;
	line-height: 1;
	text-decoration: none;
}

.bon-top__language .dropdown-menu {
	min-width: 90px;
	font-size: 12px;
}

/* Responsive */

@media (max-width: 991px) {
	.bon-top__inner {
		grid-template-columns: 1fr auto;
	}

	.bon-top__nav {
		grid-column: 1;
		justify-content: flex-start;
		gap: 22px;
		overflow-x: auto;
		padding-right: 12px;
	}

	.bon-top__language {
		grid-column: 2;
	}

	.bon-header__inner {
		grid-template-columns: 1fr auto;
		gap: 10px;
	}

	.bon-header__partner {
		display: none;
	}

	.bon-header__logo img {
		max-width: 112px;
	}
}

@media (max-width: 767px) {
	.bon-header {
		padding: 10px 0;
	}

	.bon-header__inner {
		grid-template-columns: 120px auto;
		min-height: auto;
	}

	.bon-header__logo {
		grid-column: 1;
	}

	.bon-header__catalog {
		display: none;
	}

	.bon-header__catalog span:last-child {
		display: none;
	}

	.bon-top {
		display: none;
	}

	.bon-secondary-menu {
		display: none;
	}

	.bon-top__nav {
		gap: 18px;
	}

	.bon-top__link {
		font-size: 11px;
	}
}

/* Language switcher */

.bon-language {
	margin: 0;
	padding: 0;
	position: relative;
}

.bon-language .dropdown {
	position: relative;
}

.bon-language__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	height: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #333333;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	outline: none;
}

.bon-language__toggle:hover,
.bon-language__toggle:focus,
.bon-language__toggle:active {
	color: var(--bon-color-primary-hover);
	background: transparent;
	box-shadow: none;
	outline: none;
}

.bon-language__arrow {
	display: block;
	width: 8px;
	height: 5px;
	margin-top: 1px;
	color: currentColor;
	transition: transform 0.2s ease;
}

.bon-language .dropdown.show .bon-language__arrow,
.bon-language .dropdown.open .bon-language__arrow {
	transform: rotate(180deg);
}

.bon-language__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	left: auto;
	display: none;
	width: 88px;
	min-width: 88px;
	padding: 8px;
	margin: 0;
	list-style: none;
	border: 1px solid #F4F4ED;
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
	z-index: 1000;
}

.bon-language__menu.show,
.bon-language .dropdown.open>.bon-language__menu {
	display: block;
}

.bon-language__menu li {
	display: block;
	margin: 0;
	padding: 0;
}

.bon-language__item {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 30px;
	padding: 0 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #333333;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bon-language__item:hover,
.bon-language__item:focus {
	color: var(--bon-color-primary-hover);
	background: #f7edff;
	outline: none;
	text-decoration: none;
}

.bon-language__item.is-active {
	color: var(--bon-color-primary-hover);
	background: #f3e6ff;
	font-weight: 500;
}

/* Catalog mega menu */

.bon-catalog {
	position: absolute;
	top: 150px;
	left: 0;
	right: 0;
	display: none;
	background: #ffffff;
	border-top: 1px solid #F4F4ED;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.04);
	z-index: 900;
}

.bon-catalog.is-open {
	display: block;
}

.bon-catalog__inner {
	display: grid;
	grid-template-columns: 320px 1fr;
	min-height: 520px;
	padding: 34px 0 44px;
}

.bon-catalog__left {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-right: 42px;
}

.bon-catalog__category {
	display: grid;
	grid-template-columns: 28px 1fr 16px;
	align-items: center;
	column-gap: 12px;
	width: 100%;
	min-height: 30px;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	color: #151515;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
	transition: color 0.2s ease;
}

.bon-catalog__category:hover,
.bon-catalog__category:focus,
.bon-catalog__category.is-active {
	color: var(--bon-primary-text);
	text-decoration: none;
	outline: none;
}

.bon-catalog__category-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--bon-primary-text);
}

.bon-catalog__category-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bon-catalog__category-arrow {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	color: #d2d2d2;
	transition: color 0.2s ease, transform 0.2s ease;
}

.bon-catalog__category:hover .bon-catalog__category-arrow,
.bon-catalog__category.is-active .bon-catalog__category-arrow {
	color: var(--bon-primary-text);
	transform: translateX(2px);
}

.bon-catalog__right {
	position: relative;
	padding-left: 26px;
}

.bon-catalog__panel {
	display: none;
}

.bon-catalog__panel.is-active {
	display: block;
}

.bon-catalog__subcategories {
	display: grid;
	grid-template-columns: repeat(2, minmax(180px, 1fr));
	column-gap: 110px;
	row-gap: 22px;
	max-width: 760px;
}

.bon-catalog__subcategory {
	display: block;
	color: #111111;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	text-decoration: none;
	transition: color 0.2s ease;
}

.bon-catalog__subcategory:hover {
	color: var(--bon-primary-text);
	text-decoration: none;
}

.bon-catalog__empty {
	padding-top: 2px;
}

/* Затемнение не нужно, но клики снаружи будут закрывать меню через JS */

@media (max-width: 991px) {
	.bon-catalog {
		top: 126px;
	}

	.bon-catalog__inner {
		grid-template-columns: 260px 1fr;
		min-height: 440px;
		padding: 28px 0 34px;
	}

	.bon-catalog__left {
		padding-right: 24px;
	}

	.bon-catalog__right {
		padding-left: 20px;
	}

	.bon-catalog__subcategories {
		grid-template-columns: 1fr;
		row-gap: 16px;
	}
}

@media (max-width: 767px) {
	.bon-catalog {
		position: absolute;
		top: 132px;
		max-height: calc(100vh - 132px);
		overflow-y: auto;
	}

	.bon-catalog__inner {
		display: block;
		min-height: auto;
		padding: 20px 0 26px;
	}

	.bon-catalog__left {
		gap: 10px;
		padding-right: 0;
	}

	.bon-catalog__right {
		padding-left: 0;
		margin-top: 22px;
		padding-top: 20px;
		border-top: 1px solid #F4F4ED;
	}

	.bon-catalog__category {
		font-size: 15px;
	}

	.bon-catalog__subcategory {
		font-size: 15px;
	}
}

/* Header secondary menu */

.bon-secondary-menu {
	background: #ffffff;
}

.bon-secondary-menu__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 44px;
}

.bon-secondary-menu__list {
	grid-column: 2;
	display: flex;
	align-items: center;
	gap: 36px;
	height: 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bon-secondary-menu__item {
	display: flex;
	align-items: center;
	height: 44px;
	margin: 0;
	padding: 0;
}

.bon-secondary-menu__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	height: 44px;
	padding: 0;
	color: var(--bon-menu-text-color, #111111);
	font-size: 14px;
	font-weight: 500;
	line-height: 18px;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.bon-secondary-menu__link:hover,
.bon-secondary-menu__link:focus {
	color: var(--bon-menu-icon-color, #a64df4);
	text-decoration: none;
	opacity: 0.9;
}

.bon-secondary-menu__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	min-width: 18px;
	flex: 0 0 18px;
	color: var(--bon-menu-icon-color, #a64df4);
	line-height: 1;
	transform: translateY(0);
}

.bon-secondary-menu__icon svg {
	display: block;
	width: 18px;
	height: 18px;
	min-width: 18px;
	max-width: 18px;
	min-height: 18px;
	max-height: 18px;
	flex: 0 0 18px;
	overflow: visible;
}

.bon-secondary-menu__icon svg path,
.bon-secondary-menu__icon svg circle,
.bon-secondary-menu__icon svg rect,
.bon-secondary-menu__icon svg line,
.bon-secondary-menu__icon svg polyline,
.bon-secondary-menu__icon svg polygon {
	stroke: currentColor;
}

.bon-secondary-menu__text {
	display: inline-flex;
	align-items: center;
	height: 18px;
	line-height: 18px;
}

@media (max-width: 991px) {
	.bon-secondary-menu__inner {
		grid-template-columns: 120px 1fr;
	}

	.bon-secondary-menu__list {
		gap: 24px;
		height: 44px;
		overflow-x: auto;
		padding: 0;
		scrollbar-width: none;
	}

	.bon-secondary-menu__list::-webkit-scrollbar {
		display: none;
	}

	.bon-secondary-menu__item {
		height: 44px;
	}

	.bon-secondary-menu__link {
		height: 44px;
		font-size: 13px;
		line-height: 18px;
	}

	.bon-secondary-menu__text {
		height: 18px;
		line-height: 18px;
	}
}

@media (max-width: 767px) {
	.bon-secondary-menu__inner {
		display: block;
		min-height: auto;
		padding: 10px 0;
	}

	.bon-secondary-menu__list {
		gap: 22px;
		height: 36px;
		overflow-x: auto;
	}

	.bon-secondary-menu__item {
		height: 36px;
	}

	.bon-secondary-menu__link {
		height: 36px;
		font-size: 13px;
		line-height: 18px;
	}

	.bon-secondary-menu__text {
		height: 18px;
		line-height: 18px;
	}
}

/* Home slideshow */

.bon-home-slider {
	width: 100%;
	margin: 0 0 28px;
}

.bon-home-slider__viewport {
	position: relative;
	width: 100%;
	overflow: hidden;
	border-radius: 18px;
	background: #f5f5f5;
}

.bon-home-slider__track {
	display: flex;
	width: 100%;
	transition: transform 0.45s ease;
	will-change: transform;
}

.bon-home-slider__slide {
	flex: 0 0 100%;
	width: 100%;
	min-width: 100%;
	text-align: center;
	background: #f5f5f5;
}

.bon-home-slider__link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.bon-home-slider__image {
	display: block;
	width: 100%;
	max-width: none;
	height: 365px;
	object-fit: cover;
	object-position: center;
	border-radius: 18px;
}

.bon-home-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 30;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #d4d4d4;
	border-radius: 50%;
	background: #ffffff;
	color: #111111;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12);
	transform: translateY(-50%);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.bon-home-slider__arrow:hover,
.bon-home-slider__arrow:focus {
	background: var(--bon-primary-text);
	color: #ffffff;
	box-shadow: 0 10px 26px rgba(166, 77, 244, 0.28);
	outline: none;
}

.bon-home-slider__arrow:active {
	transform: translateY(-50%) scale(0.96);
}

.bon-home-slider__arrow--prev {
	left: 26px;
}

.bon-home-slider__arrow--next {
	right: 26px;
}

/* Custom pagination dots */

.bon-home-slider__pagination {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 14px;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 12px;
	margin: 0;
	padding: 0;
	pointer-events: auto;
}

.bon-home-slider__dot {
	display: block;
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.62);
	opacity: 1;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.bon-home-slider__dot:hover {
	background: rgba(255, 255, 255, 0.9);
	transform: scale(1.08);
}

.bon-home-slider__dot.is-active {
	background: #ffffff;
	transform: scale(1.2);
}

/* Responsive */

@media (max-width: 1199px) {
	.bon-home-slider__image {
		height: 330px;
	}
}

@media (max-width: 991px) {
	.bon-home-slider {
		margin: 14px 0 24px;
	}

	.bon-home-slider__image {
		height: 280px;
	}

	.bon-home-slider__arrow {
		width: 38px;
		height: 38px;
	}

	.bon-home-slider__arrow--prev {
		left: 18px;
	}

	.bon-home-slider__arrow--next {
		right: 18px;
	}

	.bon-home-slider__pagination {
		bottom: 12px;
		gap: 7px;
	}
}

@media (max-width: 767px) {
	.bon-home-slider {
		margin: 12px 0 22px;
	}

	.bon-home-slider__viewport,
	.bon-home-slider__image {
		border-radius: 14px;
	}

	.bon-home-slider__image {
		height: 210px;
	}

	.bon-home-slider__arrow {
		width: 34px;
		height: 34px;
	}

	.bon-home-slider__arrow--prev {
		left: 12px;
	}

	.bon-home-slider__arrow--next {
		right: 12px;
	}

	.bon-home-slider__pagination {
		bottom: 10px;
		gap: 7px;
		height: 10px;
	}

	.bon-home-slider__dot {
		width: 7px;
		height: 7px;
	}

	.bon-home-slider__dot.is-active {
		transform: scale(1.16);
	}
}

@media (max-width: 480px) {
	.bon-home-slider__image {
		height: 350px;
	}

	.bon-home-slider__pagination {
		bottom: 9px;
		gap: 6px;
	}

	.bon-home-slider__dot {
		width: 6px;
		height: 6px;
	}
}

/* Footer */

.bon-footer {
	margin: 0;
	padding: 0;
	background: #ffffff;
	color: #111111;
	border: 0;
	border-top: 1px solid #F4F4ED
}

.bon-footer a {
	text-decoration: none;
}

.bon-footer__main {
	background: #ffffff;
	padding: 74px 0 72px;
}

.bon-footer__grid {
	display: grid;
	grid-template-columns: 190px 1fr 1fr 1fr 1fr;
	column-gap: 74px;
	align-items: flex-start;
}

.bon-footer__brand {
	display: flex;
	align-items: flex-start;
}

.bon-footer__logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

.bon-footer__logo img {
	display: block;
	width: auto;
	max-width: 150px;
	max-height: 74px;
	height: auto;
}

.bon-footer__logo-text {
	display: inline-block;
	color: var(--bon-primary-text);
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.bon-footer__column {
	min-width: 0;
}

.bon-footer__title {
	margin: 0 0 20px;
	padding: 0;
	color: var(--bon-primary-text);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	text-transform: none;
}

.bon-footer__list {
	display: flex;
	flex-direction: column;
	gap: 13px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bon-footer__item {
	margin: 0;
	padding: 0;
}

.bon-footer__link {
	color: #333333;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.25;
	text-decoration: none;
	transition: color 0.2s ease;
}

.bon-footer__link:hover,
.bon-footer__link:focus {
	color: var(--bon-primary-text);
	text-decoration: none;
}

.bon-footer__socials {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 42px;
}

.bon-footer__social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--bon-primary-text);
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.bon-footer__social:hover,
.bon-footer__social:focus {
	color: var(--bon-color-primary-hover);
	transform: translateY(-1px);
	text-decoration: none;
}

.bon-footer__social svg {
	display: block;
	width: 18px;
	height: 18px;
}

.bon-footer__bottom {
	background: var(--bon-primary-text);
	color: #ffffff;
}

.bon-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 58px;
	min-height: 31px;
	text-align: center;
}

.bon-footer__copyright,
.bon-footer__slogan {
	color: #ffffff;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	opacity: 0.9;
}

/* Responsive */

@media (max-width: 1199px) {
	.bon-footer__grid {
		grid-template-columns: 160px repeat(4, 1fr);
		column-gap: 44px;
	}

	.bon-footer__logo img {
		max-width: 135px;
	}
}

@media (max-width: 991px) {
	.bon-footer__main {
		padding: 52px 0 54px;
	}

	.bon-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 36px 48px;
	}

	.bon-footer__brand {
		grid-column: 1 / -1;
	}

	.bon-footer__logo img {
		max-width: 145px;
	}

	.bon-footer__socials {
		margin-top: 28px;
	}
}

@media (max-width: 767px) {
	.bon-footer__main {
		padding: 42px 0 44px;
	}

	.bon-footer__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.bon-footer__brand {
		justify-content: center;
	}

	.bon-footer__column {
		text-align: center;
	}

	.bon-footer__list {
		align-items: center;
		gap: 11px;
	}

	.bon-footer__socials {
		justify-content: center;
		margin-top: 24px;
	}

	.bon-footer__bottom-inner {
		flex-direction: column;
		gap: 6px;
		min-height: 46px;
		padding: 8px 0;
	}

	.bon-footer__copyright,
	.bon-footer__slogan {
		font-size: 10px;
	}
}

/* Manufacturers carousel */

.bon-manufacturers {
	width: 100%;
	margin: 64px 0 76px;
	background: #ffffff;
}

/* .bon-manufacturers .bon-container {
	max-width: 1360px;
} */

.bon-manufacturers__top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 34px;
}

.bon-manufacturers__title {
	margin: 0;
	padding: 0;
	color: var(--bon-color-muted);
	font-size: 30px;
	font-weight: 500;
	text-align: center;
}

.bon-manufacturers__all {
	position: absolute;
	top: 50%;
	right: 0;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--bon-primary-text);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transform: translateY(-50%);
	transition: color 0.2s ease, opacity 0.2s ease;
}

.bon-manufacturers__all:hover,
.bon-manufacturers__all:focus {
	color: var(--bon-color-primary-hover);
	text-decoration: none;
	opacity: 0.9;
}

.bon-manufacturers__slider {
	position: relative;

	width: 100%;
	min-width: 0;
	padding: 0 62px;
}

.bon-manufacturers__viewport {
	position: relative;

	width: 100%;
	min-width: 0;

	overflow: hidden;
}

.bon-manufacturers__track {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;

	width: 100%;
	min-width: 100%;
	margin: 0;
	padding: 0;

	gap: 12px;

	will-change: transform;
}

.bon-manufacturers__item {
	display: block;
	flex: 0 0 calc((100% - 48px) / 5);

	min-width: calc((100% - 48px) / 5);
	margin: 0;
	padding: 0;
}

.bon-manufacturers__card {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 124px;
	padding: 22px 28px;
	border-radius: 16px;
	background: #F9F9F9;
	text-decoration: none;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.bon-manufacturers__card:hover,
.bon-manufacturers__card:focus {
	background: #f5f0fb;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
	transform: translateY(-2px);
	text-decoration: none;
}

.bon-manufacturers__image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100px;
	object-fit: contain;
}

.bon-manufacturers__arrow {
	position: absolute;
	top: 50%;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bon-manufacturers__arrow--prev {
	left: 0;
	border: 1px solid #e1e1e1;
	background: #ffffff;
	color: #111111;
}

.bon-manufacturers__arrow--next {
	right: 0;
	border: 1px solid var(--bon-primary-text);
	background: var(--bon-primary-text);
	color: #ffffff;
	box-shadow: 0 10px 26px rgba(166, 77, 244, 0.28);
}

.bon-manufacturers__arrow:hover,
.bon-manufacturers__arrow:focus {
	outline: none;
	transform: translateY(-50%) scale(1.04);
}

.bon-manufacturers__arrow--prev:hover,
.bon-manufacturers__arrow--prev:focus {
	border-color: var(--bon-primary-text);
	background: var(--bon-primary-text);
	color: #ffffff;
}

.bon-manufacturers__arrow--next:hover,
.bon-manufacturers__arrow--next:focus {
	background: #8f35e8;
	border-color: var(--bon-color-primary-hover);
	color: #ffffff;
}

.bon-manufacturers__arrow:active {
	transform: translateY(-50%) scale(0.96);
}

/* Responsive */

@media (max-width: 1199px) {
	/* .bon-manufacturers .bon-container {
		max-width: 1140px;
	} */

	.bon-manufacturers__title {
		font-size: 30px;
	}

	.bon-manufacturers__item {
		flex-basis: calc((100% - 36px) / 4);
		min-width: calc((100% - 36px) / 4);
	}
}

@media (max-width: 991px) {
	.bon-manufacturers {
		margin: 44px 0 54px;
	}

	.bon-manufacturers__top {
		margin-bottom: 26px;
	}

	.bon-manufacturers__title {
		font-size: 26px;
	}

	.bon-manufacturers__slider {
		padding: 0 54px;
	}

	.bon-manufacturers__item {
		flex-basis: calc((100% - 24px) / 3);
		min-width: calc((100% - 24px) / 3);
	}

	.bon-manufacturers__card {
		height: 110px;
		padding: 20px 22px;
	}
}

@media (max-width: 480px) {
	.bon-manufacturers__slider {
		padding: 0 40px;
	}

	.bon-manufacturers__item {
		flex-basis: 100%;
		min-width: 100%;
	}

	.bon-manufacturers__card {
		height: 92px;
	}
}


/* Product page */

.bon-product-page {
	background: #ffffff;
	padding: 24px 0 70px;
}

.bon-product-page__messages {
	margin-bottom: 16px;
}

.bon-product-layout {
	display: grid;
	grid-template-columns: minmax(520px, 1fr) 460px;
	gap: 62px;
	align-items: flex-start;
}

/* Gallery */

.bon-product-gallery__dots {
	display: none;
}

.bon-product-gallery {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: 28px;
	align-items: flex-start;
	min-width: 0;
}

.bon-product-gallery__thumbs-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: flex-start;
	flex: 0 0 72px;
	gap: 10px;
}

.bon-product-gallery__thumb-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 22px;
	padding: 0;
	border: 1px solid #e6e6e6;
	border-radius: 8px;
	background: #ffffff;
	color: #111111;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}

.bon-product-gallery__thumb-arrow:hover,
.bon-product-gallery__thumb-arrow:focus {
	color: var(--bon-primary-text);
	border-color: var(--bon-primary-text);
	background: #faf5ff;
	outline: none;
}

.bon-product-gallery__thumb-arrow.is-disabled,
.bon-product-gallery__thumb-arrow:disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.bon-product-gallery__thumbs {
	width: 62px;
	height: 350px;
	overflow: hidden;
}

.bon-product-gallery__thumbs-track {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 62px;
	transition: transform 0.25s ease;
	will-change: transform;
}

.bon-product-gallery__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 62px;
	height: 62px;
	min-height: 62px;
	padding: 4px;
	border: 1px solid transparent;
	border-radius: 14px;
	background: #ffffff;
	cursor: pointer;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bon-product-gallery__thumb:hover,
.bon-product-gallery__thumb.is-active {
	border-color: var(--bon-primary-text);
}

.bon-product-gallery__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bon-product-gallery__main {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 520px;
	min-height: 520px;
	background: #ffffff;
	overflow: hidden;
}

.bon-product-gallery__main-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	text-decoration: none;
	cursor: zoom-in;
	touch-action: pan-y;
	-webkit-user-select: none;
	user-select: none;
}

.bon-product-gallery__main-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	-webkit-user-drag: none;
	user-select: none;
}

/* Info */

.bon-product-info {
	padding-top: 4px;
	min-width: 0;
}

.bon-product-title {
	margin: 0 0 10px;

	font-size: 30px;
	font-weight: 600;
	line-height: 1.15;
}

.bon-product-info__topline {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 20px;
}

.bon-product-brand {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	color: var(--bon-color-muted);
	font-size: 11px;
	line-height: 1.3;
}

.bon-product-brand__logo-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 14px;
	padding: 0 4px;
	border-radius: 3px;
	background: #111111;
	color: #ffffff;
	font-size: 7px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	overflow: hidden;
}

.bon-product-brand__logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: auto;
	min-width: 42px;
	height: 22px;
	text-decoration: none;
}

.bon-product-brand__logo img {
	display: block;
	width: auto;
	max-width: 74px;
	height: auto;
	max-height: 22px;
	object-fit: contain;
}

.bon-product-brand__label {
	color: var(--bon-color-muted);
	white-space: nowrap;
}

.bon-product-brand__link {
	color: var(--bon-primary-text);
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}

.bon-product-brand__link:hover {
	color: var(--bon-color-primary-hover);
	text-decoration: none;
}

.bon-product-code {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 5px;
	color: #CDCDCD;
	font-size: 11px;
	line-height: 1.2;
	white-space: nowrap;
}

.bon-product-code strong {
	font-weight: 400;
	color: #CDCDCD;
}

.bon-product-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.bon-product-price__current {
	color: var(--bon-primary-text);
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}

.bon-product-form {
	margin-bottom: 28px;
}

.bon-product-buy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 310px;
	max-width: 100%;
	height: 44px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--bon-primary-text);
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.2s ease, transform 0.2s ease, opacity 0.2s ease;
}

.bon-product-buy:hover,
.bon-product-buy:focus {
	background: #8f35e8;
	color: #ffffff;
	outline: none;
}

.bon-product-buy:active {
	transform: scale(0.98);
}

.bon-product-buy.is-loading,
.bon-product-buy:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

.bon-product-minimum {
	width: 310px;
	max-width: 100%;
	margin-top: 12px;
	border-radius: 12px;
	font-size: 13px;
}

/* Characteristics dotted rows */

/* Characteristics dotted rows */

.bon-product-chars {
	width: 100%;
}

.bon-product-chars--side {
	margin-top: 22px;
}

.bon-product-chars--tab {
	max-width: 900px;
	margin: 0 auto;
}

.bon-product-chars__row {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	column-gap: 12px;
	min-height: 32px;
	color: #EBEBEB;
	font-size: 13px;
	line-height: 1.25;
}

.bon-product-chars__name {
	grid-column: 1;
	grid-row: 1;
	display: block;
	color: var(--bon-color-muted-xlight);
	font-size: 14px;
	font-weight: 400;
	white-space: nowrap;
}

.bon-product-chars__row::after {
	content: "";
	grid-column: 2;
	grid-row: 1;
	display: block;
	width: 100%;
	height: 8px;
	border-bottom: 1px dashed #EBEBEB;
}

.bon-product-chars__value {
	grid-column: 3;
	grid-row: 1;
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	text-align: right;
	white-space: nowrap;
	color:var(--bon-color-muted);
}

/* Big characteristics inside tab */

.bon-product-chars--tab .bon-product-chars__row {
	min-height: 42px;
	font-size: 13px;
}

.bon-product-chars--tab .bon-product-chars__name {
	font-size: 13px;
	color: var(--bon-color-muted-xlight);
}

.bon-product-chars--tab .bon-product-chars__value {
	font-size: 13px;
	font-weight: 500;

}

/* Characteristics responsive */

@media (max-width: 767px) {
	.bon-product-chars__row {
		grid-template-columns: auto 1fr auto;
		column-gap: 8px;
		min-height: 30px;
	}

	.bon-product-chars__name,
	.bon-product-chars__value {
		font-size: 12px;
	}

	.bon-product-chars--tab .bon-product-chars__row {
		min-height: 34px;
	}

	.bon-product-chars--tab .bon-product-chars__name,
	.bon-product-chars--tab .bon-product-chars__value {
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.bon-product-chars__row {
		grid-template-columns: auto 1fr auto;
		font-size: 11px;
	}

	.bon-product-chars__name {
		font-size: 11px;
	}

	.bon-product-chars__value {
		font-size: 11px;
		white-space: normal;
	}
}

/* Tabs */

.bon-product-tabs-wrap {
	max-width: 900px;
	margin: 52px auto 0;
}

.bon-product-tabs {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-bottom: 34px;
}

.bon-product-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	height: 42px;
	padding: 0 22px;
	border: 1px solid #dddddd;
	border-radius: 999px;
	background: #ffffff;
	color: #111111;
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.bon-product-tab:hover,
.bon-product-tab:focus {
	color: var(--bon-primary-text);
	border-color: var(--bon-primary-text);
	outline: none;
}

.bon-product-tab.is-active {
	border-color: var(--bon-primary-text);
	background: var(--bon-primary-text);
	color: #ffffff;
}

.bon-product-panel {
	display: none;
}

.bon-product-panel.is-active {
	display: block;
}

.bon-product-description {
	max-width: 820px;
	margin: 0 auto;
	color: #333333;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
}


/* =========================================
   Product description collapse
   ========================================= */

.bon-product-description-wrap {
	--bon-description-collapsed-height: 420px;

	position: relative;
	width: 100%;
	max-width: 820px;
	margin: 0 auto;
}

/*
 * Ограничение применяется только тогда,
 * когда JavaScript подтвердил, что описание длинное.
 */
.bon-product-description-wrap.is-collapsible .bon-product-description__content {
	max-height: var(--bon-description-collapsed-height);
	overflow: hidden;
}

/*
 * После раскрытия убираем ограничение.
 */
.bon-product-description-wrap.is-expanded .bon-product-description__content {
	max-height: none;
	overflow: visible;
}

/* Нижняя область с градиентом */

.bon-product-description__controls {
	position: relative;
	z-index: 5;

	display: flex;
	align-items: flex-end;
	justify-content: center;

	min-height: 105px;
	margin-top: -105px;
	padding-top: 62px;

	background:
		linear-gradient(to bottom,
			rgba(255, 255, 255, 0) 0%,
			rgba(255, 255, 255, 0.72) 40%,
			#ffffff 76%,
			#ffffff 100%);
}

.bon-product-description__controls[hidden] {
	display: none !important;
}

/*
 * В раскрытом состоянии градиент больше не нужен.
 * Кнопка остаётся снизу для сворачивания текста.
 */
.bon-product-description-wrap.is-expanded .bon-product-description__controls {
	min-height: auto;
	margin-top: 22px;
	padding-top: 0;
	background: none;
}

/* Кнопка */

.bon-product-description__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 124px;
	height: 38px;
	padding: 0 20px;

	border: 1px solid #a54bd9;
	border-radius: 999px;
	background: #ffffff;
	color: var(--bon-color-primary);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.bon-product-description__toggle:hover,
.bon-product-description__toggle:focus {
	border-color: var(--bon-color-primary);
	background: #a54bd9;
	color: #ffffff;
	outline: none;
}

.bon-product-description__toggle:active {
	transform: scale(0.97);
}

/* Стрелка возле текста кнопки */

.bon-product-description__toggle::after {
	content: "";
	display: block;

	width: 7px;
	height: 7px;
	margin-left: 9px;
	margin-top: -4px;

	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;

	transform: rotate(45deg);
	transition: transform 0.25s ease;
}

.bon-product-description-wrap.is-expanded .bon-product-description__toggle::after {
	margin-top: 4px;
	transform: rotate(225deg);
}

/* Не даём содержимому ломать ширину блока */

.bon-product-description__content img {
	max-width: 100%;
	height: auto;
}

.bon-product-description__content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

/* Mobile */

@media (max-width: 767px) {
	.bon-product-description-wrap {
		--bon-description-collapsed-height: 360px;
	}

	.bon-product-description__controls {
		min-height: 92px;
		margin-top: -92px;
		padding-top: 54px;
	}

	.bon-product-description-wrap.is-expanded .bon-product-description__controls {
		margin: 18px;
		padding-top: 0;
	}

	.bon-product-description__toggle {
		min-width: 116px;
		height: 36px;
		padding: 0 17px;
		font-size: 12px;
	}
}


.bon-product-description p {
	margin: 0 0 18px;
}

.bon-product-description ul,
.bon-product-description ol {
	margin: 18px 0;
	padding-left: 20px;
}

.bon-product-description li {
	margin-bottom: 5px;
}

.bon-product-description strong,
.bon-product-description b {
	font-weight: 600;
}

/* Messages */

.bon-product-page .alert {
	border-radius: 12px;
	font-size: 13px;
}

.bon-product-page .text-danger {
	margin-top: 6px;
	color: #d9534f;
	font-size: 12px;
}

/* Responsive */

@media (max-width: 1199px) {
	.bon-product-layout {
		grid-template-columns: minmax(460px, 1fr) 420px;
		gap: 42px;
	}

	.bon-product-title {
		font-size: 27px;
	}

	.bon-product-gallery__main {
		height: 480px;
		min-height: 480px;
	}
}

@media (max-width: 991px) {
	.bon-product-layout {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.bon-product-gallery {
		max-width: 720px;
		margin: 0 auto;
	}

	.bon-product-gallery__main {
		height: 440px;
		min-height: 440px;
	}

	.bon-product-info {
		max-width: 620px;
		margin: 0 auto;
		width: 100%;
	}

	.bon-product-tabs-wrap {
		max-width: 720px;
	}

	.bon-product-chars--tab {
		max-width: 620px;
	}
}

@media (max-width: 767px) {
	.bon-product-page {
		padding: 0;
	}

	.bon-product-layout {
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.bon-product-info {
		display: contents;
	}

	.bon-product-title {
		order: 1;
		margin: 0 0 8px;
		font-size: 22px;
		line-height: 1.15;
	}

	.bon-product-info__topline {
		order: 2;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		margin-bottom: 18px;
	}

	.bon-product-brand {
		flex: 1 1 auto;
		min-width: 0;
	}

	.bon-product-code {
		flex: 0 0 auto;
		justify-content: flex-end;
		font-size: 10px;
	}

	.bon-product-gallery {
		order: 3;
		display: block;
		width: 100%;
		margin: 0 0 24px;
	}

	.bon-product-gallery__thumbs-wrap {
		display: none;
	}

	.bon-product-gallery__main {
		width: 100%;
		height: 310px;
		min-height: 310px;
		margin: 0 auto;
		overflow: hidden;
	}

	.bon-product-gallery__main-link {
		width: 100%;
		height: 100%;
	}

	.bon-product-gallery__main-image {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: 100%;
		object-fit: contain;
	}

	.bon-product-gallery__dots {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;
		margin-top: 12px;
	}

	.bon-product-gallery__dot {
		display: block;
		width: 7px;
		height: 7px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: #d8b0f7;
		opacity: 0.75;
		cursor: pointer;
		transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
	}

	.bon-product-gallery__dot.is-active {
		background: var(--bon-primary-text);
		opacity: 1;
		transform: scale(1.15);
	}

	.bon-product-price {
		order: 4;
		margin-bottom: 18px;
	}

	.bon-product-price__current {
		font-size: 30px;
	}

	.bon-product-price__old {
		font-size: 15px;
	}

	.bon-product-price__discount {
		height: 22px;
		min-width: 38px;
		padding: 0 7px;
		font-size: 11px;
	}

	.bon-product-form {
		order: 5;
		width: 100%;
		margin-bottom: 24px;
	}

	.bon-product-buy {
		width: 100%;
		height: 44px;
	}

	.bon-product-chars--side {
		order: 6;
		margin-top: 0;
	}

	.bon-product-chars__row {
		grid-template-columns: auto 1fr auto;
		column-gap: 8px;
		min-height: 30px;
	}

	.bon-product-chars__name,
	.bon-product-chars__value {
		font-size: 12px;
	}

	.bon-product-tabs-wrap {
		margin-top: 38px;
	}

	.bon-product-tabs {
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 6px;
	}

	.bon-product-tab {
		flex: 0 0 auto;
		height: 38px;
		padding: 0 18px;
	}

	.bon-product-chars--tab .bon-product-chars__row {
		min-height: 34px;
	}

	.bon-product-chars--tab .bon-product-chars__name,
	.bon-product-chars--tab .bon-product-chars__value {
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.bon-product-gallery__main {
		height: 280px;
		min-height: 280px;
	}

	.bon-product-gallery__thumb {
		width: 56px;
		height: 56px;
		border-radius: 12px;
	}

	.bon-product-chars__row {
		grid-template-columns: auto 1fr auto;
		font-size: 11px;
	}

	.bon-product-chars__name {
		font-size: 11px;
	}

	.bon-product-chars__value {
		font-size: 11px;
		white-space: normal;
	}
}

/* Where to buy partners */

.bon-where-buy {
	max-width: 1000px;
	margin: 0 auto;
}

.bon-where-buy__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.bon-where-buy__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	padding: 18px 14px;
	border: 1px solid #F4F4ED;
	border-radius: 18px;
	background: #ffffff;

	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bon-where-buy__card:hover,
.bon-where-buy__card:focus {
	border-color: var(--bon-primary-text);
	box-shadow: 0 14px 34px rgba(166, 77, 244, 0.12);
	transform: translateY(-2px);
	text-decoration: none;
	outline: none;
}

.bon-where-buy__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 64px;
	margin-bottom: 14px;
}

.bon-where-buy__logo img {
	display: block;
	width: auto;
	max-width: 140px;
	height: auto;
	max-height: 64px;
	object-fit: contain;
}

.bon-where-buy__fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 16px;
	border-radius: 12px;
	background: #f7f0ff;
	color: var(--bon-primary-text);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
}


.bon-where-buy__card:hover .bon-where-buy__button,
.bon-where-buy__card:focus .bon-where-buy__button {
	background: #8f35e8;
}

/* Responsive */

@media (max-width: 991px) {
	.bon-where-buy {
		max-width: 760px;
	}

	.bon-where-buy__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}

	.bon-where-buy__card {
		min-height: 145px;
	}
}

@media (max-width: 767px) {
	.bon-where-buy__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}

	.bon-where-buy__card {
		min-height: 140px;
		padding: 16px 12px;
	}

	.bon-where-buy__logo {
		height: 56px;
		margin-bottom: 12px;
	}

	.bon-where-buy__logo img {
		max-width: 120px;
		max-height: 56px;
	}

	.bon-where-buy__name {
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.bon-where-buy__grid {
		grid-template-columns: 1fr;
	}

	.bon-where-buy__card {
		min-height: 135px;
	}
}


/* Buy partners modal */

/* Buy partners modal */

.bon-buy-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.bon-buy-modal.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.bon-buy-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.38);
	backdrop-filter: blur(1px);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.bon-buy-modal.is-open .bon-buy-modal__overlay {
	opacity: 1;
}

.bon-buy-modal__dialog {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 700px;
	max-height: calc(100vh - 48px);
	padding: 34px 34px 36px;
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 22px 70px rgba(0, 0, 0, 0.18);
	overflow-y: auto;
	opacity: 0;
	transform: translateY(14px) scale(0.96);
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.bon-buy-modal.is-open .bon-buy-modal__dialog {
	opacity: 1;
	transform: translateY(0) scale(1);
}

.bon-buy-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #c6c6c6;
	cursor: pointer;
	transition: color 0.2s ease, transform 0.2s ease;
}

.bon-buy-modal__close:hover,
.bon-buy-modal__close:focus {
	color: var(--bon-primary-text);
	transform: rotate(90deg);
	outline: none;
}

.bon-buy-modal__title {
	margin: 0 0 22px;
	padding: 0;
	color: #111111;
	font-size: 18px;
	line-height: 1.25;
}

.bon-buy-modal__content {
	width: 100%;
}

body.bon-buy-modal-is-open {
	overflow: hidden;
}

/* Partners inside modal */

.bon-buy-modal .bon-where-buy {
	max-width: none;
	margin: 0;
}

.bon-buy-modal .bon-where-buy__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.bon-buy-modal .bon-where-buy__card {
	min-height: 126px;
	padding: 18px 14px;
	border: 0;
	border-radius: 12px;
	background: #fafafa;
	box-shadow: none;
	transform: none;
}

.bon-buy-modal .bon-where-buy__card:hover,
.bon-buy-modal .bon-where-buy__card:focus {
	background: #f6efff;
	box-shadow: none;
	transform: none;
}

.bon-buy-modal .bon-where-buy__logo {
	height: 58px;
	margin-bottom: 10px;
}

.bon-buy-modal .bon-where-buy__logo img {
	max-width: 130px;
	max-height: 58px;
}

.bon-buy-modal .bon-where-buy__name {
	margin-bottom: 0;
	font-size: 13px;
}

.bon-buy-modal .bon-where-buy__button {
	display: none;
}

@media (max-width: 767px) {
	.bon-buy-modal {
		padding: 16px;
	}

	.bon-buy-modal__dialog {
		max-width: 520px;
		padding: 28px 20px 26px;
		border-radius: 16px;
	}

	.bon-buy-modal__title {
		padding-right: 32px;
		font-size: 17px;
	}

	.bon-buy-modal .bon-where-buy__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
}

@media (max-width: 480px) {
	.bon-buy-modal__dialog {
		padding: 26px 16px 22px;
	}

	.bon-buy-modal .bon-where-buy__grid {
		grid-template-columns: 1fr;
	}

	.bon-buy-modal .bon-where-buy__card {
		min-height: 112px;
	}
}

/* Product breadcrumbs */

.bon-product-breadcrumbs {
	width: 100%;
	margin: 22px 0 22px;
	padding: 0;
}

.bon-product-breadcrumbs__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bon-product-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	color: var(--bon-color-muted);
	font-size: 13px;
	font-weight: 300;
	font-family: var(--bon-font-light);
	line-height: 1.2;
}

.bon-product-breadcrumbs__item+.bon-product-breadcrumbs__item::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 1px;
	margin: 0 12px;
	background: #999999;
}

.bon-product-breadcrumbs__link {
	display: inline-flex;
	align-items: center;
	color: var(--bon-color-muted);
	font-size: 12px;
	font-weight: 300;
	line-height: 1.2;
	text-decoration: none;
	transition: color 0.2s ease;
}

.bon-product-breadcrumbs__link:hover,
.bon-product-breadcrumbs__link:focus {
	color: var(--bon-primary-text);
	text-decoration: none;
	outline: none;
}

.bon-product-breadcrumbs__current {
	display: inline-flex;
	align-items: center;
	color: #999999;
	font-size: 12px;
	font-weight: 300;
	line-height: 1.2;
}

@media (max-width: 767px) {
	.bon-product-breadcrumbs {
		margin-bottom: 18px;
	}

	.bon-product-breadcrumbs__item,
	.bon-product-breadcrumbs__link,
	.bon-product-breadcrumbs__current {
		font-size: 11px;
	}

	.bon-product-breadcrumbs__item+.bon-product-breadcrumbs__item::before {
		width: 10px;
		margin: 0 8px;
	}
}

.bon-product-price {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.bon-product-price__current {
	color: #a64df4;
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
}

.bon-product-price__old-wrap {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.bon-product-price__old {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: #CDCDCD;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	text-decoration: line-through;
}

.bon-product-price__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 24px;
	padding: 0 8px;
	border-radius: 999px;
	background: #E1E13D;
	color: #111111;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}


/* =========================================
   Product card: bon-viewed-card
   ========================================= */

.bon-viewed-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-width: 0;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 1px solid #F4F4ED;
	border-radius: 18px;
	background: #ffffff;
	overflow: hidden;
	box-shadow: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.bon-viewed-card:hover {
	border-color: #e4d5ed;
	transform: translateY(-2px);
}


.bon-viewed-card__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	aspect-ratio: 1 / 1;
	margin: 0;
	padding: 0;
	border-radius: 0;
	background: #ffffff;
	overflow: hidden;
}

.bon-viewed-card__image-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	text-decoration: none;
	overflow: hidden;
}

.bon-viewed-card__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	object-fit: contain;
	object-position: center;
	transition: transform 0.3s ease;
}

.bon-viewed-card:hover .bon-viewed-card__image {
	transform: scale(1.025);
}


.bon-viewed-card__labels {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 3;
	display: flex;
	align-items: flex-start;
	gap: 5px;
	pointer-events: none;
}

.bon-viewed-card__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 28px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
}

.bon-viewed-card__label--new {
	background: #47A405;
	color: #FFFFFF;
}

.bon-viewed-card__label--hit {
	background: #0A69E9;
	color: #FFFFFF;
}

.bon-viewed-card__label--sale {
	background: #D21B69;
	color: #FFFFFF;
}


.bon-viewed-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	padding: 14px 14px 16px;
}

.bon-viewed-card__title {
	display: -webkit-box;
	min-height: 40px;
	margin: 0 0 8px;
	overflow: hidden;
	color: #242424;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.bon-viewed-card__title a {
	color: inherit;
	text-decoration: none;
}

.bon-viewed-card__title a:hover,
.bon-viewed-card__title a:focus {
	color: var(--bon-color-primary);
	text-decoration: none;
	outline: none;
}


.bon-viewed-card__rating {
	display: flex;
	align-items: center;
	gap: 2px;
	min-height: 18px;
	margin: 0 0 8px;
	color: #ff4d38;
	font-size: 15px;
	line-height: 1;
}

.bon-viewed-card__rating .fa-star-o,
.bon-viewed-card__rating .bon-star--empty {
	color: #dddddd;
}


.bon-viewed-card__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
}

.bon-viewed-card__prices {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 6px;
	min-width: 0;
}

.bon-viewed-card__price {
	order: 3;
	flex: 0 0 100%;
	margin-top: 2px;
	color: var(--bon-color-primary);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.05;
}

.bon-viewed-card__price-old {
	order: 1;
	color: #CDCDCD;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	text-decoration: line-through;
}

.bon-viewed-card__discount {
	order: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	padding: 3px 7px;
	border-radius: 999px;
	background: #E1E13D;
	color: var(--bon-color-muted);
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
}


.bon-viewed-card__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #A54BD9;
	color: #ffffff;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.bon-viewed-card__action:hover,
.bon-viewed-card__action:focus {
	background: #9135cc;
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
	outline: none;
}


.bon-viewed-card__wishlist {
	display: none !important;
}

@media (max-width: 767px) {
	.bon-viewed-card {
		border-radius: 15px;
	}

	.bon-viewed-card__body {
		padding: 12px 12px 14px;
	}

	.bon-viewed-card__labels {
		top: 9px;
		left: 9px;
	}

	.bon-viewed-card__label {
		min-height: 24px;
		padding: 4px 8px;
		font-size: 10px;
	}

	.bon-viewed-card__title {
		min-height: 38px;
		font-size: 13px;
		line-height: 19px;
	}

	.bon-viewed-card__price {
		font-size: 18px;
	}

	.bon-viewed-card__action {
		flex-basis: 38px;
		width: 38px;
		height: 38px;
	}
}

/* Category layout */

.bon-category-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	align-items: flex-start;
	gap: 28px;
	width: 100%;
}

.bon-category-layout--full {
	grid-template-columns: minmax(0, 1fr);
}

.bon-category-sidebar {
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.bon-category-sidebar #column-left {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.bon-category-sidebar #column-left::before,
.bon-category-sidebar #column-left::after {
	display: none;
	content: none;
}

.bon-category-content {
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
}

.bon-category-content {
	width: 100%;
	min-width: 0;
}

.bon-category-banner {
	width: 100%;
	margin-bottom: 18px;
	overflow: hidden;
	border-radius: 18px;
}

.bon-category-banner .bon-home-slider {
	margin: 0;
}

.bon-category-banner .bon-home-slider__viewport,
.bon-category-banner .bon-home-slider__image {
	border-radius: 18px;
}

.bon-category-banner .bon-home-slider__image {
	height: 350px;
}

/* Category active filters */

.bon-category-toolbar {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	min-height: 48px;
	margin: 14px 0 18px;
}

.bon-category-active-filters {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

.bon-category-active-filters:empty {
	display: none;
}

.bon-category-active-filters__clear {
	flex: 0 0 100%;
	display: inline-flex;
	align-items: center;
	width: fit-content;
	height: 22px;
	margin: 0 0 2px;
	padding: 0;
	color: var(--bon-color-primary, #a54bd9);
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.bon-category-active-filters__clear:hover,
.bon-category-active-filters__clear:focus {
	color: var(--bon-color-primary-hover, #8f35e8);
	text-decoration: none;
	outline: none;
}

.bon-category-active-filters__chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 28px;
	padding: 0 11px;
	border: 0;
	border-radius: 999px;
	background: #f5f5f5;
	color: #444444;
	font-size: 11px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.bon-category-active-filters__chip:hover,
.bon-category-active-filters__chip:focus {
	background: #f2e8fb;
	color: var(--bon-color-primary, #a54bd9);
	text-decoration: none;
	outline: none;
}

.bon-category-active-filters__chip-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	color: #969696;
	font-size: 15px;
	font-weight: 300;
	line-height: 1;
}

.bon-category-active-filters__chip:hover .bon-category-active-filters__chip-close {
	color: var(--bon-color-primary, #a54bd9);
}

/* Category sorting */

.bon-category-sort {
	position: relative;
	z-index: 50;
	flex: 0 0 auto;
	min-width: 210px;
	margin-left: auto;
}

.bon-category-sort__toggle {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	width: 100%;
	height: 38px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #222222;
	font-family: inherit;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	text-align: right;
	cursor: pointer;
	outline: none;
}

.bon-category-sort__toggle:hover,
.bon-category-sort__toggle:focus {
	color: var(--bon-color-primary, #a54bd9);
	outline: none;
}

.bon-category-sort__sort-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: currentColor;
}

.bon-category-sort__current {
	white-space: nowrap;
}

.bon-category-sort__chevron {
	display: block;
	width: 7px;
	height: 7px;
	margin: -3px 2px 0 1px;
	border-right: 1.4px solid currentColor;
	border-bottom: 1.4px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.bon-category-sort.is-open .bon-category-sort__chevron {
	margin-top: 3px;
	transform: rotate(225deg);
}

.bon-category-sort__menu {
	position: absolute;
	top: calc(100% + 3px);
	right: 0;
	z-index: 100;
	width: 232px;
	padding: 8px 0;
	border: 1px solid #f1f1f1;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-5px);
	transition:
		opacity 0.18s ease,
		visibility 0.18s ease,
		transform 0.18s ease;
}

.bon-category-sort.is-open .bon-category-sort__menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.bon-category-sort__item {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: center;
	column-gap: 4px;
	width: 100%;
	min-height: 36px;
	padding: 0 14px;
	color: #858585;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.25;
	text-decoration: none;
	transition:
		color 0.2s ease,
		background-color 0.2s ease;
}

.bon-category-sort__item:hover,
.bon-category-sort__item:focus {
	background: #faf7fd;
	color: var(--bon-color-primary, #a54bd9);
	text-decoration: none;
	outline: none;
}

.bon-category-sort__item.is-active {
	color: #222222;
	font-weight: 500;
}

.bon-category-sort__item-arrow {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 18px;
	color: #222222;
	opacity: 0;
}

.bon-category-sort__item.is-active .bon-category-sort__item-arrow {
	opacity: 1;
}


/* Mobile filter button */

.bon-category-filter-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 58px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(90deg, #A54BD9 0%, #B14EE8 100%);
	color: #ffffff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.bon-category-filter-toggle:hover,
.bon-category-filter-toggle:focus {
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgba(165, 75, 217, 0.28);
	outline: none;
}

.bon-category-filter-toggle__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.bon-category-filter-toggle__text {
	white-space: nowrap;
}

/* Filter drawer */

.bon-category-sidebar-overlay {
	display: none;
}

.bon-category-sidebar__mobile-head {
	display: none;
}

.bon-category-sidebar__body {
	width: 100%;
	min-width: 0;
}


.bon-category-filter__mobile-selected,
.bon-category-filter__mobile-actions {
	display: none;
}

@media (max-width: 767px) {
	.bon-category-filter__category-title {
		display: none;
	}

	.bon-category-active-filters {
		display: none;
	}

	.bon-category-sidebar__body {
		height: calc(100vh - 62px);
		padding: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		background: #ffffff;
	}

	.bon-category-filter {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		padding: 0;
		background: #ffffff;
	}

	.bon-category-filter__mobile-selected {
		display: none;
		padding: 12px 16px 4px;
		border-bottom: 1px solid #f4f4f4;
		background: #ffffff;
	}

	.bon-category-filter__mobile-selected.is-visible {
		display: block;
	}

	.bon-category-filter__mobile-selected-list {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
	}

	.bon-category-filter__mobile-chip {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		min-height: 28px;
		padding: 0 10px;
		border: 0;
		border-radius: 999px;
		background: #f5f5f5;
		color: #444444;
		font-size: 11px;
		font-weight: 400;
		line-height: 1;
		cursor: pointer;
	}

	.bon-category-filter__mobile-chip-text {
		display: block;
	}

	.bon-category-filter__mobile-chip-close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 10px;
		height: 10px;
		color: #8d8d8d;
		font-size: 14px;
		line-height: 1;
	}

	.bon-category-filter__groups {
		padding: 12px 16px 96px;
	}

	.bon-category-filter__mobile-actions {
		position: sticky;
		bottom: 0;
		z-index: 10;
		display: flex;
		gap: 10px;
		padding: 12px 16px 16px;
		background: #ffffff;
		border-top: 1px solid #efefef;
		box-shadow: 0 -8px 18px rgba(0, 0, 0, 0.04);
	}

	.bon-category-filter__mobile-reset,
	.bon-category-filter__mobile-apply {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 42px;
		border-radius: 999px;
		font-size: 12px;
		font-weight: 500;
		line-height: 1;
		cursor: pointer;
		transition: all 0.2s ease;
	}

	.bon-category-filter__mobile-reset {
		flex: 0 0 92px;
		border: 1px solid #2d2d2d;
		background: #ffffff;
		color: #2d2d2d;
	}

	.bon-category-filter__mobile-apply {
		flex: 1 1 auto;
		border: 0;
		background: linear-gradient(90deg, #A54BD9 0%, #B14EE8 100%);
		color: #ffffff;
		box-shadow: 0 10px 20px rgba(165, 75, 217, 0.2);
	}

	.bon-category-filter__mobile-reset:disabled,
	.bon-category-filter__mobile-apply:disabled {
		opacity: 0.45;
		cursor: default;
		box-shadow: none;
	}

	.bon-category-filter__mobile-reset:not(:disabled):hover,
	.bon-category-filter__mobile-reset:not(:disabled):focus {
		background: #fafafa;
	}

	.bon-category-filter__mobile-apply:not(:disabled):hover,
	.bon-category-filter__mobile-apply:not(:disabled):focus {
		transform: translateY(-1px);
	}
}

/* Mobile sorting */

@media (max-width: 767px) {
	.bon-category-sort {
		width: 100%;
		min-width: 0;
		margin-left: 0;
	}

	.bon-category-sort__toggle {
		justify-content: flex-start;
		height: 42px;
		padding: 0 12px;
		border: 1px solid #F4F4ED;
		border-radius: 8px;
		background: #ffffff;
		text-align: left;
	}

	.bon-category-sort__current {
		flex: 1 1 auto;
	}

	.bon-category-sort__menu {
		right: auto;
		left: 0;
		width: 100%;
		border-radius: 8px;
	}
}



/* Reuse Viewed Products card inside category */

.bon-category-products__grid .bon-viewed-card {
	flex: none;
	width: 100%;
	min-width: 0;
	height: 400px;
}

/* =========================
   Category pagination
   ========================= */

.bon-category-pagination {
	--pagination-accent: #A54BD9;
	--pagination-border: #CDCDCD;
	--pagination-text: #CDCDCD;
	--pagination-size: 30px;

	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 40px 0 20px;
}

.bon-category-pagination__links {
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 2px;

	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.bon-category-pagination__links::-webkit-scrollbar {
	display: none;
}

.bon-category-pagination .pagination {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 10px;

	margin: 0;
	padding: 0;

	border: 0;
	border-radius: 0;
	white-space: nowrap;
}

.bon-category-pagination .pagination>li {
	display: block;
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.bon-category-pagination .pagination>li>a,
.bon-category-pagination .pagination>li>span {
	display: flex;
	align-items: center;
	justify-content: center;
	float: none;
	width: var(--pagination-size);
	min-width: var(--pagination-size);
	height: var(--pagination-size);
	margin: 0;
	padding: 0;
	color: #999999;
	background: #ffffff;
	border: 1px solid #999999;
	border-radius: 50% !important;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	text-align: center;
	text-decoration: none;
	box-shadow: none;
	transition:
		color 0.2s ease,
		border-color 0.2s ease,
		background-color 0.2s ease,
		transform 0.2s ease;
}

.bon-category-pagination .pagination>li>a:hover,
.bon-category-pagination .pagination>li>a:focus {
	color: var(--pagination-accent);
	background: #ffffff;
	border-color: var(--pagination-accent);

	outline: none;
	box-shadow: none;
	transform: translateY(-1px);
}

.bon-category-pagination .pagination>li.active>span,
.bon-category-pagination .pagination>li.active>a,
.bon-category-pagination .pagination>li.active>span:hover,
.bon-category-pagination .pagination>li.active>a:hover {
	color: #ffffff;
	background: var(--pagination-accent);
	border-color: var(--pagination-accent);

	cursor: default;
	transform: none;
}

.bon-category-pagination .pagination>li.disabled>span,
.bon-category-pagination .pagination>li.disabled>a {
	color: #999999;
	border-color: #999999;
	cursor: default;
	pointer-events: none;
}

.bon-category-pagination .pagination>li.bon-pagination-prev>a,
.bon-category-pagination .pagination>li.bon-pagination-prev>span,
.bon-category-pagination .pagination>li.bon-pagination-next>a,
.bon-category-pagination .pagination>li.bon-pagination-next>span {
	position: relative;
	font-size: 0;
}


.bon-category-pagination .pagination>li.bon-pagination-prev:not(.disabled)>a,
.bon-category-pagination .pagination>li.bon-pagination-next:not(.disabled)>a {
	color: var(--pagination-accent);
	border-color: var(--pagination-accent);
}

.bon-category-pagination .pagination>li.bon-pagination-prev>a::after,
.bon-category-pagination .pagination>li.bon-pagination-prev>span::after,
.bon-category-pagination .pagination>li.bon-pagination-next>a::after,
.bon-category-pagination .pagination>li.bon-pagination-next>span::after {
	content: "";

	position: absolute;
	top: 50%;

	width: 12px;
	height: 1px;

	background: currentColor;
	transform: translateY(-50%);
}



.bon-category-pagination .pagination>li.bon-pagination-prev>a::before,
.bon-category-pagination .pagination>li.bon-pagination-prev>span::before,
.bon-category-pagination .pagination>li.bon-pagination-next>a::before,
.bon-category-pagination .pagination>li.bon-pagination-next>span::before {
	content: "";

	position: absolute;
	top: 50%;

	width: 6px;
	height: 6px;

	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
}



.bon-category-pagination .pagination>li.bon-pagination-prev>a::after,
.bon-category-pagination .pagination>li.bon-pagination-prev>span::after {
	left: 8px;
}

.bon-category-pagination .pagination>li.bon-pagination-prev>a::before,
.bon-category-pagination .pagination>li.bon-pagination-prev>span::before {
	left: 7px;
	transform: translateY(-50%) rotate(-135deg);
}



.bon-category-pagination .pagination>li.bon-pagination-next>a::after,
.bon-category-pagination .pagination>li.bon-pagination-next>span::after {
	right: 8px;
}

.bon-category-pagination .pagination>li.bon-pagination-next>a::before,
.bon-category-pagination .pagination>li.bon-pagination-next>span::before {
	right: 7px;
	transform: translateY(-50%) rotate(45deg);
}



@media (max-width: 767px) {
	.bon-category-pagination {
		--pagination-size: 26px;

		margin-top: 30px;
	}

	.bon-category-pagination .pagination {
		gap: 8px;
	}

	.bon-category-pagination .pagination>li>a,
	.bon-category-pagination .pagination>li>span {
		font-size: 13px;
	}
}


.bon-category-description {
	margin-top: 46px;
	color: #444444;
	font-size: 14px;
	line-height: 1.6;
}

.bon-category-empty {
	padding: 60px 20px;
	color: #777777;
	text-align: center;
}


/* =========================================
   Shared product grid
   Used by category and search
   ========================================= */

.bon-category-products__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;
	gap: 16px;
	width: 100%;
	min-width: 0;
}


.bon-category-layout:not(.bon-category-layout--full) .bon-category-products__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}



.bon-category-products__grid>.bon-viewed-card {
	flex: none;
	width: 100%;
	max-width: none;
	min-width: 0;
	height: 400px;
}



@media (max-width: 991px) {

	.bon-category-products__grid,
	.bon-category-layout:not(.bon-category-layout--full) .bon-category-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.bon-category-products__grid>.bon-viewed-card {
		height: 380px;
	}
}



@media (max-width: 767px) {

	.bon-category-products__grid,
	.bon-category-layout:not(.bon-category-layout--full) .bon-category-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.bon-category-products__grid>.bon-viewed-card {
		height: 360px;
	}
}


@media (max-width: 480px) {

	.bon-category-products__grid,
	.bon-category-layout:not(.bon-category-layout--full) .bon-category-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.bon-category-products__grid>.bon-viewed-card {
		height: 350px;
	}
}

/* Category responsive */

@media (max-width: 1199px) {
	.bon-category-layout {
		grid-template-columns: 230px minmax(0, 1fr);
		gap: 22px;
	}

	.bon-category-banner .bon-home-slider__image {
		height: 300px;
	}
}

@media (max-width: 991px) {
	.bon-category-layout {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 18px;
	}

	.bon-category-products__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bon-category-banner .bon-home-slider__image {
		height: 250px;
	}
}



@media (max-width: 767px) {
	.bon-category-page {
		padding: 14px 0 50px;
	}

	.bon-category-layout {
		display: block;
	}

	.bon-category-sidebar {
		width: 100%;
		margin-bottom: 24px;
	}

	.bon-category-sidebar #column-left {
		display: block !important;
		width: 100% !important;
	}

	.bon-category-banner .bon-home-slider__image {
		height: 210px;
	}

	@media (max-width: 767px) {

		.bon-category-toolbar {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 12px;
			margin: 12px 0 16px;
		}

		.bon-category-filter-toggle {
			display: inline-flex;
			flex: 0 0 auto;
		}

		.bon-category-active-filters {
			order: 3;
			flex: 0 0 100%;
			width: 100%;
		}

		/* Mobile sorting as round button */

		.bon-category-sort {
			margin-left: auto;
			width: 58px;
			min-width: 58px;
			flex: 0 0 58px;
		}

		.bon-category-sort__toggle {
			justify-content: center;
			width: 58px;
			height: 58px;
			padding: 0;
			border: 1px solid #9f9f9f;
			border-radius: 50%;
			background: #ffffff;
			color: #222222;
		}

		.bon-category-sort__toggle:hover,
		.bon-category-sort__toggle:focus {
			color: var(--bon-color-primary, #A54BD9);
			border-color: var(--bon-color-primary, #A54BD9);
			background: #ffffff;
		}

		.bon-category-sort__current,
		.bon-category-sort__chevron {
			display: none;
		}

		.bon-category-sort__menu {
			right: 0;
			left: auto;
			width: 232px;
			border-radius: 10px;
		}

		/* Sidebar becomes offcanvas drawer */

		.bon-category-sidebar {
			position: fixed;
			top: 0;
			left: 0;
			z-index: 1300;
			width: 100vw;
			height: 100vh;
			margin: 0;
			padding: 0;
			background: #ffffff;
			box-shadow: 0 16px 40px rgba(0, 0, 0, 0.16);
			transform: translateX(-105%);
			transition: transform 0.24s ease;
			overflow: hidden;
		}

		.bon-category-sidebar.is-open {
			transform: translateX(0);
		}

		.bon-category-sidebar__mobile-head {
			display: flex;
			align-items: center;
			justify-content: space-between;
			height: 62px;
			padding: 0 16px;
			border-bottom: 1px solid #f0f0f0;
			background: #ffffff;
		}

		.bon-category-sidebar__mobile-title {
			color: #222222;
			font-size: 16px;
			font-weight: 600;
			line-height: 1;
		}

		.bon-category-sidebar__mobile-close {
			position: relative;
			width: 36px;
			height: 36px;
			padding: 0;
			border: 0;
			background: transparent;
			cursor: pointer;
		}

		.bon-category-sidebar__mobile-close span {
			position: absolute;
			top: 50%;
			left: 50%;
			width: 16px;
			height: 1.6px;
			background: #222222;
			border-radius: 999px;
		}

		.bon-category-sidebar__mobile-close span:first-child {
			transform: translate(-50%, -50%) rotate(45deg);
		}

		.bon-category-sidebar__mobile-close span:last-child {
			transform: translate(-50%, -50%) rotate(-45deg);
		}

		.bon-category-sidebar #column-left {
			display: block !important;
			float: none !important;
			width: 100% !important;
			max-width: none !important;
			margin: 0 !important;
			padding: 0 !important;
		}

		.bon-category-sidebar-overlay {
			position: fixed;
			inset: 0;
			z-index: 1250;
			display: block;
			background: rgba(15, 15, 15, 0.38);
			opacity: 0;
			visibility: hidden;
			pointer-events: none;
			transition: opacity 0.24s ease, visibility 0.24s ease;
		}

		.bon-category-sidebar-overlay.is-open {
			opacity: 1;
			visibility: visible;
			pointer-events: auto;
		}

		body.bon-filter-drawer-open {
			overflow: hidden;
		}

		/* Sidebar in normal flow hidden on mobile */
		.bon-category-layout {
			display: block;
		}
	}

	.bon-category-products__grid {
		gap: 12px;
	}

	.bon-category-products__grid .bon-viewed-card {
		height: 360px;
	}
}

/* Category filter */

.bon-category-filter {
	width: 100%;
	color: var(--bon-color-text, #303030);
}

.bon-category-filter__clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 38px;
	margin: 0 0 14px;
	padding: 0 16px;
	border: 1px solid var(--bon-color-primary, #A54BD9);
	border-radius: 999px;
	background: #ffffff;
	color: var(--bon-color-primary, #A54BD9);
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.bon-category-filter__clear:hover,
.bon-category-filter__clear:focus {
	background: var(--bon-color-primary, #A54BD9);
	color: #ffffff;
	outline: none;
}


.bon-category-filter__group-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 52px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
	cursor: pointer;
}

.bon-category-filter__arrow {
	display: block;
	width: 8px;
	height: 8px;
	margin-right: 3px;
	border-right: 1.5px solid #777777;
	border-bottom: 1.5px solid #777777;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.bon-category-filter__group.is-open .bon-category-filter__arrow {
	transform: rotate(225deg);
}

.bon-category-filter__group-content {
	display: none;
	padding: 0 0 18px;
}

.bon-category-filter__group.is-open .bon-category-filter__group-content {
	display: block;
}

.bon-category-filter__search-wrap {
	margin-bottom: 10px;
}

.bon-category-filter__search {
	width: 100%;
	height: 36px;
	padding: 0 12px;
	border: 1px solid #F4F4ED;
	border-radius: 8px;
	background: #ffffff;
	color: #303030;
	font-size: 12px;
	outline: none;
	box-shadow: none;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.bon-category-filter__search::placeholder {
	color: #b7b7b7;
}

.bon-category-filter__search:focus {
	border-color: var(--bon-color-primary, #A54BD9);
	box-shadow: 0 0 0 3px rgba(165, 75, 217, 0.1);
}

.bon-category-filter__options {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 9px;
	max-height: 230px;
	padding-right: 7px;
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #cfcfcf transparent;
}

.bon-category-filter__options::-webkit-scrollbar {
	width: 4px;
}

.bon-category-filter__options::-webkit-scrollbar-track {
	background: transparent;
}

.bon-category-filter__options::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: #cfcfcf;
}

.bon-category-filter__option {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 8px;
	margin: 0;
	padding: 0;
	color: #333333;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.25;
	cursor: pointer;
}

.bon-category-filter__option[hidden] {
	display: none;
}

.bon-category-filter__checkbox {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.bon-category-filter__checkmark {
	position: relative;
	display: block;
	width: 16px;
	height: 16px;
	border: 1px solid #dedede;
	border-radius: 3px;
	background: #ffffff;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease;
}

.bon-category-filter__checkmark::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 5px;
	display: block;
	width: 4px;
	height: 8px;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	opacity: 0;
	transform: rotate(45deg);
}

.bon-category-filter__checkbox:checked+.bon-category-filter__checkmark {
	border-color: var(--bon-color-primary, #A54BD9);
	background: var(--bon-color-primary, #A54BD9);
}

.bon-category-filter__checkbox:checked+.bon-category-filter__checkmark::after {
	opacity: 1;
}

.bon-category-filter__option-name {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.bon-category-filter__count {
	color: #b1b1b1;
	font-size: 11px;
}

.bon-category-filter__empty {
	padding: 8px 0;
	color: #999999;
	font-size: 12px;
}

html.bon-filter-loading {
	cursor: wait;
}

html.bon-filter-loading body {
	opacity: 0.7;
	pointer-events: none;
}

@media (max-width: 767px) {
	.bon-category-filter {
		margin-bottom: 24px;
	}

	.bon-category-filter__group-toggle {
		min-height: 48px;
	}

	.bon-category-filter__options {
		max-height: 210px;
	}
}

/* Category filter brands */

.bon-category-filter__options--brands {
	max-height: 230px;
}

/* Category filter price */

.bon-category-filter__price-inputs {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 7px;
	margin-bottom: 18px;
}

.bon-category-filter__price-divider {
	color: #c6c6c6;
	font-size: 13px;
	line-height: 1;
}

.bon-category-filter__price-prefix {
	flex: 0 0 auto;
	color: #a7a7a7;
	white-space: nowrap;
}

.bon-category-filter__price-currency {
	flex: 0 0 auto;
	color: #333333;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
}

.bon-category-filter__price-field {
	display: flex;
	align-items: center;
	gap: 5px;
	height: 36px;
	margin: 0;
	padding: 0 10px;
	border: 1px solid #F4F4ED;
	border-radius: 8px;
	background: #ffffff;
	color: #a7a7a7;
	font-size: 11px;
	font-weight: 400;
}

.bon-category-filter__price-field input {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #333333;
	font-size: 12px;
	outline: none;
	-moz-appearance: textfield;
}

.bon-category-filter__price-field input::-webkit-outer-spin-button,
.bon-category-filter__price-field input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.bon-category-filter__price-range {
	position: relative;
	height: 24px;
	margin: 0 8px 4px;
}

.bon-category-filter__price-track,
.bon-category-filter__price-progress {
	position: absolute;
	top: 50%;
	right: 0;
	left: 0;
	height: 4px;
	border-radius: 999px;
	transform: translateY(-50%);
}

.bon-category-filter__price-track {
	background: #e8e8e8;
}

.bon-category-filter__price-progress {
	background: var(--bon-color-primary, #A54BD9);
}

.bon-category-filter__price-range input[type="range"] {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 24px;
	margin: 0;
	padding: 0;
	background: transparent;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}

.bon-category-filter__price-range input[type="range"]::-webkit-slider-runnable-track {
	height: 4px;
	background: transparent;
}

.bon-category-filter__price-range input[type="range"]::-webkit-slider-thumb {
	width: 16px;
	height: 16px;
	margin-top: -6px;
	border: 0;
	border-radius: 50%;
	background: var(--bon-color-primary, #A54BD9);
	box-shadow: 0 2px 7px rgba(165, 75, 217, 0.3);
	cursor: pointer;
	pointer-events: auto;
	-webkit-appearance: none;
}

.bon-category-filter__price-range input[type="range"]::-moz-range-track {
	height: 4px;
	background: transparent;
}

.bon-category-filter__price-range input[type="range"]::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: 0;
	border-radius: 50%;
	background: var(--bon-color-primary, #A54BD9);
	box-shadow: 0 2px 7px rgba(165, 75, 217, 0.3);
	cursor: pointer;
	pointer-events: auto;
}

.bon-category-filter__price-values {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #333333;
	font-size: 11px;
}

.bon-category-filter__price-values strong {
	font-weight: 500;
}


/* Filter tiles module */
.bon-filter-tiles {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(360px, 1fr);
	align-items: stretch;
	gap: 8px;
	width: 100%;
	margin: 24px 0 34px;
	font-family: var(--bon-font-main, 'Stratos LC Web', Arial, sans-serif);
}

.bon-filter-tiles__panel {
	display: flex;
	align-items: center;
	width: 100%;
	min-width: 0;
	padding: 20px 66px;
	border-radius: 18px;
	background: #BBEEFC;
}

.bon-filter-tiles__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
}

.bon-filter-tiles__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
	min-height: 54px;
	padding: 9px 18px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: #ffffff;
	color: #111111;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.1;
	text-decoration: none;
	box-shadow: 0 3px 9px rgba(0, 0, 0, 0.025);
	transition: color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bon-filter-tiles__item:hover,
.bon-filter-tiles__item:focus {
	border-color: var(--bon-filter-tile-icon, #a54bd9);
	color: var(--bon-filter-tile-icon, #a54bd9);
	text-decoration: none;
	box-shadow: 0 9px 22px rgba(0, 0, 0, 0.08);
	transform: translateY(-1px);
	outline: none;
}

.bon-filter-tiles__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	color: var(--bon-filter-tile-icon, #a54bd9);
	line-height: 1;
}

.bon-filter-tiles__icon svg {
	display: block;
	width: 30px;
	height: 30px;
	max-width: 30px;
	max-height: 30px;
	overflow: visible;
}


.bon-filter-tiles__label {
	display: block;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Right banner */
.bon-filter-tiles__banner {
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 160px;
	padding: 28px 42% 24px 30px;
	border-radius: 18px;
	background: var(--bon-filter-banner-bg, #a54bd9);
	color: #ffffff;
	text-decoration: none;
	overflow: hidden;
	isolation: isolate;
}

.bon-filter-tiles__banner:hover,
.bon-filter-tiles__banner:focus {
	color: #ffffff;
	text-decoration: none;
	outline: none;
}

.bon-filter-tiles__banner-copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	min-height: 108px;
}

.bon-filter-tiles__banner-title {
	margin: 0 0 10px;
	padding: 0;
	color: #ffffff;
	font-size: 33px;
	font-weight: 500;
	line-height: 0.94;
	letter-spacing: -0.5px;
}

.bon-filter-tiles__banner-text {
	margin: 0;
	padding: 0;
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	opacity: 0.96;
}

.bon-filter-tiles__banner-image {
	position: absolute;
	right: -80px;
	bottom: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: right bottom;
	pointer-events: none;
	transition: transform 0.3s ease;
}

.bon-filter-tiles__banner[href]:hover .bon-filter-tiles__banner-image {
	transform: scale(1.025);
}

/* Responsive */
@media (max-width: 1199px) {
	.bon-filter-tiles {
		grid-template-columns: minmax(0, 1.2fr) minmax(330px, 0.9fr);
	}

	.bon-filter-tiles__panel {
		padding: 20px 34px;
	}

	.bon-filter-tiles__item {
		gap: 10px;
		padding-right: 12px;
		padding-left: 12px;
		font-size: 13px;
	}

	.bon-filter-tiles__banner-title {
		font-size: 29px;
	}
}

@media (max-width: 991px) {
	.bon-filter-tiles {
		grid-template-columns: minmax(0, 1fr) 340px;
	}

	.bon-filter-tiles__panel {
		padding: 18px 22px;
	}

	.bon-filter-tiles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.bon-filter-tiles__banner {
		padding-left: 24px;
	}

	.bon-filter-tiles__banner-title {
		font-size: 27px;
	}
}

@media (max-width: 767px) {

	.bon-filter-tiles {
		display: flex;
		flex-direction: column;
		width: 100%;
		margin: 20px 0 20px;
		gap: 14px;
	}

	.bon-filter-tiles__panel {
		display: block;

		width: 100%;
		min-width: 0;
		padding: 0;

		border-radius: 0;
		background: transparent;

		overflow: hidden;
	}

	.bon-filter-tiles__grid {
		display: flex;
		align-items: stretch;
		justify-content: flex-start;
		flex-wrap: nowrap;

		width: 100%;
		min-width: 0;
		padding: 0;

		gap: 8px;

		overflow-x: auto;
		overflow-y: hidden;

		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		scroll-padding-left: 16px;

		overscroll-behavior-x: contain;
		touch-action: pan-x;

		scrollbar-width: none;
		-ms-overflow-style: none;
	}

	.bon-filter-tiles__grid::-webkit-scrollbar {
		display: none;
	}

	.bon-filter-tiles__item {
		flex: 0 0 66%;
		min-width: 66%;
		min-height: 64px;

		padding: 11px 16px;

		gap: 10px;

		border: 0;
		border-radius: 999px;

		background: #f8f8f8;
		box-shadow: none;

		font-size: 16px;
		font-weight: 500;
		line-height: 1.1;

		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	.bon-filter-tiles__item:hover,
	.bon-filter-tiles__item:focus {
		border-color: transparent;
		box-shadow: none;
		transform: none;
	}

	.bon-filter-tiles__icon {
		flex: 0 0 32px;

		width: 32px;
		height: 32px;
	}

	.bon-filter-tiles__icon svg {
		width: 32px;
		height: 32px;
		max-width: 32px;
		max-height: 32px;
	}

	.bon-filter-tiles__label {
		flex: 0 1 auto;

		min-width: 0;

		overflow: hidden;

		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.bon-filter-tiles__banner {
		width: 100%;
		margin-top: 15px;
	}
}

@media (max-width: 420px) {

	.bon-filter-tiles__grid {
		grid-template-columns: 1fr;
	}

	.bon-filter-tiles__item {
		justify-content: center;
	}

	.bon-filter-tiles__banner {
		min-height: 145px;
		padding-right: 42%;
		padding-left: 18px;
	}

	.bon-filter-tiles__banner-title {
		font-size: 23px;
	}
}

@media (max-width: 390px) {
	@media (max-width: 390px) {
		.bon-filter-tiles__grid {
			padding-right: 0;
			padding-left: 0;
			scroll-padding-left: 10px;
		}

		.bon-filter-tiles__item {
			flex-basis: 66%;
			min-width: 66%;

			min-height: 58px;
			padding: 0;

			font-size: 14px;
		}

		.bon-filter-tiles__icon,
		.bon-filter-tiles__icon svg {
			width: 29px;
			height: 29px;
			max-width: 29px;
			max-height: 29px;
		}
	}
}

/* ========================================= 404 page ========================================= */
.bon-error-page {
	display: flex;
	align-items: center;
	width: 100%;
	min-height: calc(100vh - 210px);
	padding: 70px 0 90px;
	background: #ffffff;
}

.bon-error-page__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.bon-error-page__image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-bottom: 30px;
}

.bon-error-page__image {
	display: block;
	width: 100%;
	max-width: 420px;
	height: auto;
	object-fit: contain;
}

.bon-error-page__text {
	margin: 0 0 22px;
	color: #161616;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
}

.bon-error-page__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 126px;
	min-height: 44px;
	padding: 11px 25px;
	border: 1px solid #a94ce4;
	border-radius: 999px;
	background: #a94ce4;
	color: #ffffff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.bon-error-page__button:hover,
.bon-error-page__button:focus {
	border-color: #9136cf;
	background: #9136cf;
	color: #ffffff;
	text-decoration: none;
	transform: translateY(-1px);
	outline: none;
}

@media (max-width: 767px) {
	.bon-error-page {
		min-height: calc(100vh - 160px);
		padding: 55px 0 70px;
	}

	.bon-error-page__image-wrap {
		margin-bottom: 24px;
	}

	.bon-error-page__image {
		max-width: 330px;
	}

	.bon-error-page__text {
		max-width: 310px;
		margin-bottom: 20px;
		font-size: 14px;
	}

	.bon-error-page__button {
		min-width: 120px;
		min-height: 42px;
		padding: 10px 22px;
		font-size: 13px;
	}
}

@media (max-width: 420px) {
	.bon-error-page {
		padding: 45px 0 60px;
	}

	.bon-error-page__image {
		max-width: 280px;
	}
}

```css
/* =========================================
   Search page
   ========================================= */

.bon-search-page {
	width: 100%;
	padding: 0 0 72px;
	background: #ffffff;
}

.bon-search-layout {
	display: grid;
	align-items: start;
	width: 100%;
	min-width: 0;
	gap: 28px;
}

.bon-search-layout--full {
	grid-template-columns: minmax(0, 1fr);
}

.bon-search-layout--left {
	grid-template-columns: 250px minmax(0, 1fr);
}

.bon-search-layout--right {
	grid-template-columns: minmax(0, 1fr) 250px;
}

.bon-search-layout--both {
	grid-template-columns: 220px minmax(0, 1fr) 220px;
}

.bon-search-sidebar {
	width: 100%;
	min-width: 0;
}

.bon-search-sidebar #column-left,
.bon-search-sidebar #column-right {
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.bon-search-content {
	width: 100%;
	min-width: 0;
}

.bon-search-header {
	margin-bottom: 28px;
}

.bon-search-title {
	margin: 0;
	padding: 0;
	color: #171717;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.4px;
}

/* Search form */

.bon-search-form {
	margin-bottom: 34px;
	padding: 24px;
	border-radius: 18px;
	background: #f8f5fc;
}

.bon-search-form__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px auto;
	align-items: center;
	gap: 12px;
}

.bon-search-form__field {
	position: relative;
	display: flex;
	align-items: center;
	min-width: 0;
	height: 52px;
	border: 1px solid #e8ddf1;
	border-radius: 999px;
	background: #ffffff;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.bon-search-form__field:focus-within {
	border-color: #ab4ce5;
	box-shadow: 0 0 0 3px rgba(171, 76, 229, 0.09);
}

.bon-search-form__field--query {
	padding: 0 18px 0 48px;
}

.bon-search-form__field--category {
	padding: 0 18px;
}

.bon-search-form__search-icon {
	position: absolute;
	top: 50%;
	left: 18px;
	display: inline-flex;
	color: var(--bon-color-primary);
	transform: translateY(-50%);
	pointer-events: none;
}

.bon-search-form__input,
.bon-search-form__select {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: #171717;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	outline: none;
	box-shadow: none;
}

.bon-search-form__input::placeholder {
	color: #a6a6a6;
}

.bon-search-form__select {
	cursor: pointer;
}

.bon-search-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-width: 136px;
	height: 52px;
	padding: 0 24px;
	border: 1px solid #A54BD9;
	border-radius: 999px;
	background: #A54BD9;
	color: #ffffff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.bon-search-form__submit:hover,
.bon-search-form__submit:focus {
	border-color: #9135cc;
	background: #9135cc;
	transform: translateY(-1px);
	outline: none;
}

.bon-search-form__options {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 22px;
	margin-top: 17px;
	padding-left: 4px;
}

.bon-search-check {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	cursor: pointer;
}

.bon-search-check input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.bon-search-check__box {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
	border: 1px solid #d7c9e2;
	border-radius: 5px;
	background: #ffffff;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease;
}

.bon-search-check input:checked+.bon-search-check__box {
	border-color: var(--bon-color-primary);
	background: #A54BD9;
}

.bon-search-check input:checked+.bon-search-check__box::after {
	content: "";
	width: 8px;
	height: 5px;
	margin-top: -2px;
	border-left: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(-45deg);
}

.bon-search-check__text {
	color: #555555;
	font-size: 13px;
	font-weight: 400;
}

/* Toolbar */

.bon-search-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
}

.bon-search-toolbar__result {
	color: #8b8b8b;
	font-size: 13px;
	line-height: 1.3;
}


/* Pagination */

.bon-search-pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 42px;
}

.bon-search-pagination__results {
	color: #999999;
	font-size: 12px;
}

/* Empty search */

.bon-search-empty {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	min-height: 340px;
	padding: 50px 20px;
	border-radius: 18px;
	background: #fafafa;
	text-align: center;
}

.bon-search-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	color: var(--bon-color-primary);
}

.bon-search-empty__title {
	margin: 0 0 10px;
	color: #171717;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
}

.bon-search-empty__text {
	max-width: 420px;
	margin: 0;
	color: #777777;
	font-size: 14px;
	line-height: 1.55;
}

@media (max-width: 1199px) {

	.bon-search-form__main {
		grid-template-columns: minmax(0, 1fr) 230px auto;
	}
}

@media (max-width: 991px) {
	.bon-search-layout--both {
		grid-template-columns: 220px minmax(0, 1fr);
	}

	.bon-search-layout--both .bon-search-sidebar--right {
		display: none;
	}

	.bon-search-form__main {
		grid-template-columns: minmax(0, 1fr) 210px;
	}

	.bon-search-form__submit {
		grid-column: 1 / -1;
		width: 100%;
	}

	.bon-search-title {
		font-size: 32px;
	}
}

@media (max-width: 767px) {
	.bon-search-page {
		padding-bottom: 50px;
	}

	.bon-search-layout,
	.bon-search-layout--full,
	.bon-search-layout--left,
	.bon-search-layout--right,
	.bon-search-layout--both {
		display: block;
	}

	.bon-search-sidebar {
		margin-bottom: 24px;
	}

	.bon-search-title {
		font-size: 28px;
	}

	.bon-search-form {
		padding: 16px;
		border-radius: 14px;
	}

	.bon-search-form__main {
		display: block;
	}

	.bon-search-form__field {
		width: 100%;
		margin-bottom: 10px;
	}

	.bon-search-form__submit {
		width: 100%;
	}

	.bon-search-form__options {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
		margin-top: 16px;
	}

	.bon-search-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}


	.bon-search-pagination {
		align-items: flex-start;
		flex-direction: column;
	}

	.bon-search-empty {
		min-height: 280px;
	}

	.bon-search-empty__title {
		font-size: 23px;
	}
}

@media (max-width: 480px) {

	.bon-search-title {
		font-size: 25px;
	}
}

/* =========================================
   Header search autocomplete
   ========================================= */

.bon-header-search {
	position: relative;
	width: 100%;
	min-width: 0;
	z-index: 80;
}

.bon-header-search__control {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 48px;
	border: 1px solid #b64df1;
	border-radius: 999px;
	background: #ffffff;
	transition:
		border-radius 0.2s ease,
		box-shadow 0.2s ease;
}

.bon-header-search__input {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 52px 0 22px;
	border: 0;
	border-radius: inherit;
	background: transparent;
	color: #242424;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	outline: none;
	box-shadow: none;
}

.bon-header-search__input::placeholder {
	color: #a7a7a7;
}

.bon-header-search__button {
	position: absolute;
	top: 50%;
	right: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #b7b7b7;
	cursor: pointer;
	transform: translateY(-50%);
	transition:
		color 0.2s ease,
		background-color 0.2s ease;
}

.bon-header-search__button:hover,
.bon-header-search__button:focus {
	background: #f6effb;
	color: #aa4be3;
	outline: none;
}

/* Dropdown */

.bon-search-autocomplete {
	position: absolute;
	top: calc(100% + 2px);
	right: 0;
	left: 0;
	z-index: 1200;
	width: 100%;
	min-width: 420px;
	padding: 10px 0 0;
	border-radius: 22px;
	background: #ffffff;
	box-shadow: 0 18px 40px rgba(38, 21, 49, 0.18);
	overflow: hidden;
}

.bon-search-autocomplete[hidden] {
	display: none !important;
}

.bon-search-autocomplete__list {
	max-height: 370px;
	padding: 4px 16px 6px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.bon-search-autocomplete__item {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	min-width: 0;
	padding: 10px 8px;
	border-radius: 13px;
	color: #212121;
	text-decoration: none;
	transition:
		background-color 0.18s ease,
		color 0.18s ease;
}

.bon-search-autocomplete__item:hover,
.bon-search-autocomplete__item:focus,
.bon-search-autocomplete__item.is-active {
	background: #f8f2fc;
	color: #212121;
	text-decoration: none;
	outline: none;
}

.bon-search-autocomplete__image-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 12px;
	background: #fafafa;
	overflow: hidden;
}

.bon-search-autocomplete__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bon-search-autocomplete__content {
	display: block;
	min-width: 0;
}

.bon-search-autocomplete__title {
	display: -webkit-box;
	margin-bottom: 7px;
	overflow: hidden;
	color: #242424;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.bon-search-autocomplete__prices {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	min-height: 20px;
}

.bon-search-autocomplete__price {
	color: #ae4be5;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.bon-search-autocomplete__price-old {
	color: #bcbcbc;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	text-decoration: line-through;
}

.bon-search-autocomplete__discount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 20px;
	padding: 2px 7px;
	border-radius: 999px;
	background: #d8e638;
	color: #3c4100;
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
}

.bon-search-autocomplete__empty {
	padding: 35px 20px;
	color: #777777;
	font-size: 14px;
	text-align: center;
}

.bon-search-autocomplete__all {
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 14px 20px;
	color: #ad4be5;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}

.bon-search-autocomplete__all:hover,
.bon-search-autocomplete__all:focus {
	background: #faf6fd;
	color: #9132cc;
	text-decoration: none;
	outline: none;
}

/* Scrollbar */

.bon-search-autocomplete__list {
	scrollbar-width: thin;
	scrollbar-color: #d6c3e2 transparent;
}

.bon-search-autocomplete__list::-webkit-scrollbar {
	width: 5px;
}

.bon-search-autocomplete__list::-webkit-scrollbar-track {
	background: transparent;
}

.bon-search-autocomplete__list::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: #d6c3e2;
}

@media (max-width: 767px) {
	.bon-search-autocomplete {
		min-width: 0;
		border-radius: 10px 10px 18px 18px;
	}

	.bon-search-autocomplete__list {
		max-height: 320px;
		padding-right: 10px;
		padding-left: 10px;
	}

	.bon-search-autocomplete__item {
		grid-template-columns: 50px minmax(0, 1fr);
		gap: 10px;
		padding: 9px 5px;
	}

	.bon-search-autocomplete__image-wrap {
		width: 50px;
		height: 50px;
	}

	.bon-search-autocomplete__title {
		font-size: 13px;
	}

	.bon-search-autocomplete__price {
		font-size: 15px;
	}

	.bon-search-autocomplete__all {
		min-height: 50px;
		padding: 12px 16px;
		font-size: 13px;
	}
}


/* =========================================
   Viewed products carousel
   Desktop: 4 cards + arrows
   Tablet: 3 cards + arrows
   Mobile: 2 cards + dots
   ========================================= */

.bon-viewed-products,
.bon-viewed-products * {
	box-sizing: border-box;
}

.bon-viewed-products {
	--bon-viewed-gap: 16px;
	--bon-viewed-arrow-size: 44px;
	--bon-viewed-side-space: 56px;

	position: relative;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 70px 0;
	overflow: visible;
}

/* =========================================
   Header
   ========================================= */

.bon-viewed-products__header {
	margin-bottom: 38px;
	text-align: center;
}

.bon-viewed-products__title {
	margin: 0;
	padding: 0;
	color: var(--bon-color-muted);
	font-size: 30px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.5px;
}

/* =========================================
   Slider
   ========================================= */

.bon-viewed-products__slider,
.bon-product-page .bon-viewed-products__slider {
	position: relative;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding-right: var(--bon-viewed-side-space);
	padding-left: var(--bon-viewed-side-space);
}

/*
 * Благодаря внутренним отступам slider стрелки находятся
 * за пределами карточек, но не выходят за bon-container.
 */

.bon-viewed-products__viewport,
.bon-product-page .bon-viewed-products__viewport {
	position: relative;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	touch-action: pan-x pan-y;
}

.bon-viewed-products__viewport::-webkit-scrollbar {
	display: none;
}

.bon-viewed-products__track,
.bon-product-page .bon-viewed-products__track {
	display: flex;
	align-items: stretch;
	flex-wrap: nowrap;
	gap: var(--bon-viewed-gap);
	width: 100%;
	min-width: 100%;
	margin: 0;
	padding: 2px 0 4px;
}

/* =========================================
   Desktop cards: 4 cards
   ========================================= */

.bon-viewed-products .bon-viewed-card {
	position: relative;
	z-index: 1;
	isolation: isolate;

	display: flex;
	flex: 0 0 calc((100% - 48px) / 4);
	flex-direction: column;

	width: calc((100% - 48px) / 4);
	max-width: calc((100% - 48px) / 4);
	min-width: 0;
	height: auto;

	margin: 0;
	padding: 0;

	border: 0 !important;
	border-radius: 18px;
	background: #ffffff;

	overflow: hidden !important;

	box-shadow: none;
	transform: none !important;

	scroll-snap-align: start;
	scroll-snap-stop: always;

	transition:
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

/*
 * Рамка рисуется отдельным верхним слоем.
 * Масштабированное изображение больше не может её перекрыть.
 */

.bon-viewed-products .bon-viewed-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 100;

	display: block;

	border: 1px solid #F4F4ED;
	border-radius: inherit;

	pointer-events: none;

	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.bon-viewed-products .bon-viewed-card:hover {
	transform: none !important;
}

.bon-viewed-products .bon-viewed-card:hover::after {
	border-color: #e4d5ed;
}

/* =========================================
   Card image
   ========================================= */

.bon-viewed-products .bon-viewed-card__media {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;

	width: 100%;
	min-width: 0;
	aspect-ratio: 1 / 1;

	margin: 0;
	padding: 0;

	border-radius: 17px 17px 0 0;
	background: #ffffff;

	overflow: hidden !important;

	/*
	 * Дополнительное аппаратное отсечение.
	 * Особенно полезно для Safari и трансформированных изображений.
	 */
	clip-path: inset(0 round 17px 17px 0 0);
}

.bon-viewed-products .bon-viewed-card__image-link {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	margin: 0;
	padding: 0;

	border-radius: inherit;
	text-decoration: none;

	overflow: hidden !important;
}

.bon-viewed-products .bon-viewed-card__image {
	display: block;

	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;

	margin: 0;
	padding: 0;

	object-fit: contain;
	object-position: center;

	transform: scale(1);
	transform-origin: center center;

	transition: transform 0.3s ease;
	will-change: transform;
}

/*
 * Scale действует только внутри media.
 * Верхняя рамка остаётся поверх изображения.
 */

@media (hover: hover) and (pointer: fine) {
	.bon-viewed-products .bon-viewed-card:hover .bon-viewed-card__image {
		transform: scale(1.025);
	}
}

/* =========================================
   Labels
   ========================================= */

.bon-viewed-products .bon-viewed-card__labels {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 20;

	display: flex;
	align-items: flex-start;
	gap: 5px;

	pointer-events: none;
}

.bon-viewed-products .bon-viewed-card__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 28px;
	padding: 5px 10px;

	border-radius: 999px;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;
}

/* =========================================
   Card content
   ========================================= */

.bon-viewed-products .bon-viewed-card__body {
	position: relative;
	z-index: 2;

	display: flex;
	flex: 1 1 auto;
	flex-direction: column;

	min-width: 0;
	padding: 14px 14px 16px;

	background: #ffffff;
}

.bon-viewed-products .bon-viewed-card__title {
	display: -webkit-box;

	min-height: 40px;
	margin: 0 0 8px;

	overflow: hidden;

	color: #242424;
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;

	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.bon-viewed-products .bon-viewed-card__title a {
	color: inherit;
	text-decoration: none;
}

.bon-viewed-products .bon-viewed-card__title a:hover,
.bon-viewed-products .bon-viewed-card__title a:focus {
	color: var(--bon-color-primary);
	text-decoration: none;
	outline: none;
}

.bon-viewed-products .bon-viewed-card__rating {
	display: flex;
	align-items: center;
	gap: 2px;

	min-height: 18px;
	margin: 0 0 8px;

	color: #ff4d38;
	font-size: 15px;
	line-height: 1;
}

.bon-viewed-products .bon-viewed-card__star--empty,
.bon-viewed-products .bon-viewed-card__rating .fa-star-o,
.bon-viewed-products .bon-viewed-card__rating .bon-star--empty {
	color: #dddddd;
}

.bon-viewed-products .bon-viewed-card__bottom {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 10px;

	margin-top: auto;
}

.bon-viewed-products .bon-viewed-card__prices {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 6px;

	min-width: 0;
}

.bon-viewed-products .bon-viewed-card__price-old {
	order: 1;

	color: #bbbbbb;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	text-decoration: line-through;
}

.bon-viewed-products .bon-viewed-card__discount {
	order: 2;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 20px;
	padding: 3px 7px;

	border-radius: 999px;
	background: #dce835;
	color: #394000;

	font-size: 10px;
	font-weight: 600;
	line-height: 1;
}

.bon-viewed-products .bon-viewed-card__price {
	order: 3;
	flex: 0 0 100%;

	margin-top: 2px;

	color: var(--bon-color-primary);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.05;
}

.bon-viewed-products .bon-viewed-card__action {
	position: relative;
	z-index: 5;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 42px;

	width: 42px;
	height: 42px;
	padding: 0;

	border: 0;
	border-radius: 50%;
	background: #A54BD9;
	color: #ffffff;

	text-decoration: none;

	transition:
		background-color 0.2s ease,
		transform 0.2s ease;
}

.bon-viewed-products .bon-viewed-card__action:hover,
.bon-viewed-products .bon-viewed-card__action:focus {
	background: #9135cc;
	color: #ffffff;
	text-decoration: none;
	transform: scale(1.04);
	outline: none;
}

/* =========================================
   Desktop and tablet arrows
   ========================================= */

.bon-viewed-products__arrow {
	position: absolute;
	top: 37%;
	z-index: 30;

	display: none;
	align-items: center;
	justify-content: center;

	width: var(--bon-viewed-arrow-size);
	height: var(--bon-viewed-arrow-size);
	padding: 0;

	border-radius: 50%;
	cursor: pointer;

	transform: translateY(-50%);

	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		opacity 0.2s ease,
		transform 0.2s ease,
		box-shadow 0.2s ease;
}

.bon-viewed-products.is-scrollable .bon-viewed-products__arrow:not([hidden]) {
	display: inline-flex;
}

/*
 * Стрелки располагаются внутри свободных боковых зон slider.
 * За пределы контейнера они больше не выходят.
 */

.bon-viewed-products__arrow--prev {
	left: 4px;

	border: 1px solid #dfdfdf;
	background: #ffffff;
	color: #555555;
	box-shadow: 0 5px 16px rgba(0, 0, 0, 0.06);
}

.bon-viewed-products__arrow--next {
	right: 4px;

	border: 1px solid #a54bd9;
	background: #a54bd9;
	color: #ffffff;
	box-shadow: 0 8px 22px rgba(165, 75, 217, 0.26);
}

.bon-viewed-products__arrow--prev:hover,
.bon-viewed-products__arrow--prev:focus {
	border-color: var(--bon-color-primary);
	background: #a54bd9;
	color: #ffffff;
	outline: none;
}

.bon-viewed-products__arrow--next:hover,
.bon-viewed-products__arrow--next:focus {
	border-color: #9135cc;
	background: #9135cc;
	color: #ffffff;
	outline: none;
}

.bon-viewed-products__arrow:active {
	transform: translateY(-50%) scale(0.96);
}

.bon-viewed-products__arrow:disabled {
	opacity: 0.28;
	cursor: default;
	pointer-events: none;
	box-shadow: none;
}

.bon-viewed-products__arrow[hidden] {
	display: none !important;
}

/* =========================================
   Pagination hidden on desktop and tablet
   ========================================= */

.bon-viewed-products__pagination {
	display: none;
}

.bon-viewed-products__pagination[hidden] {
	display: none !important;
}

/* =========================================
   Tablet: 3 cards + arrows
   ========================================= */

@media (min-width: 768px) and (max-width: 991px) {
	.bon-viewed-products {
		--bon-viewed-gap: 14px;
		--bon-viewed-arrow-size: 38px;
		--bon-viewed-side-space: 46px;

		margin: 52px 0;
	}

	.bon-viewed-products__header {
		margin-bottom: 30px;
	}

	.bon-viewed-products__title {
		font-size: 30px;
	}

	.bon-viewed-products .bon-viewed-card {
		flex-basis: calc((100% - 28px) / 3);
		width: calc((100% - 28px) / 3);
		max-width: calc((100% - 28px) / 3);
	}

	.bon-viewed-products__arrow--prev {
		left: 2px;
	}

	.bon-viewed-products__arrow--next {
		right: 2px;
	}
}

/* =========================================
   Mobile: 2 cards + dots + swipe
   ========================================= */

@media (max-width: 767px) {
	.bon-viewed-products {
		--bon-viewed-gap: 0;
		--bon-viewed-side-space: 0;

		width: 100%;
		max-width: 100%;

		margin: 38px 0;

		overflow: hidden;
	}

	.bon-viewed-products__header {
		margin-bottom: 20px;
	}

	.bon-viewed-products__title {
		font-size: 24px;
		line-height: 1.15;
		text-align: center;
	}

	.bon-viewed-products__slider,
	.bon-product-page .bon-viewed-products__slider {
		width: 100%;
		max-width: 100%;

		margin: 0;
		padding: 0;
	}

	.bon-viewed-products__viewport,
	.bon-product-page .bon-viewed-products__viewport {
		width: 100%;
		max-width: 100%;

		margin: 0;
		padding: 0;

		overflow-x: auto;
		overflow-y: hidden;

		border-radius: 0;
		background: #ffffff;

		scroll-snap-type: x mandatory;
	}

	.bon-viewed-products__track,
	.bon-product-page .bon-viewed-products__track {
		display: flex;
		align-items: stretch;
		flex-wrap: nowrap;

		gap: 0;

		width: 100%;
		min-width: 100%;

		margin: 0;
		padding: 0;
	}

	/* Ровно две карточки */

	.bon-viewed-products .bon-viewed-card {
		display: flex;
		flex: 0 0 50%;
		flex-direction: column;

		width: 50%;
		max-width: 50%;
		min-width: 50%;
		height: auto;

		margin: 0;
		padding: 0;

		border: 0 !important;
		border-radius: 0;
		background: #ffffff;

		overflow: hidden !important;

		box-shadow: none !important;
		transform: none !important;

		scroll-snap-align: none;
		scroll-snap-stop: normal;
	}

	/*
	 * На мобильном рамка каждой карточки не нужна.
	 */

	.bon-viewed-products .bon-viewed-card::after {
		display: none !important;
		content: none !important;
	}

	/*
	 * Первая карточка каждой пары является началом слайда.
	 */

	.bon-viewed-products .bon-viewed-card:nth-child(odd) {
		scroll-snap-align: start;
		scroll-snap-stop: always;
	}

	/*
	 * Вертикальная линия между двумя карточками.
	 */

	.bon-viewed-products .bon-viewed-card:nth-child(odd):not(:last-child) {
		border-right: 1px solid #ececec !important;
	}

	.bon-viewed-products .bon-viewed-card:hover,
	.bon-viewed-products .bon-viewed-card:focus-within {
		box-shadow: none !important;
		transform: none !important;
	}

	/* Mobile image */

	.bon-viewed-products .bon-viewed-card__media {
		position: relative;

		width: 100%;
		min-width: 0;
		aspect-ratio: 1 / 1;

		margin: 0;
		padding: 6px 7px 0;

		border-radius: 0;
		background: #ffffff;

		clip-path: none;
		overflow: hidden !important;
	}

	.bon-viewed-products .bon-viewed-card__image-link {
		width: 100%;
		height: 100%;

		margin: 0;
		padding: 0;

		border-radius: 0;
	}

	.bon-viewed-products .bon-viewed-card__image {
		width: 100%;
		height: 100%;

		object-fit: contain;
		object-position: center;

		transform: none !important;
		will-change: auto;
	}

	.bon-viewed-products .bon-viewed-card:hover .bon-viewed-card__image {
		transform: none !important;
	}

	/* Mobile content */

	.bon-viewed-products .bon-viewed-card__body {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;

		min-width: 0;
		padding: 8px 9px 10px;
	}

	.bon-viewed-products .bon-viewed-card__title {
		display: -webkit-box;
		min-height: 36px;
		margin: 0 0 6px;
		overflow: hidden;
		font-size: 14px;
		line-height: 15px;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}

	.bon-viewed-products .bon-viewed-card__rating {
		gap: 1px;

		min-height: 14px;
		margin: 0 0 6px;

		font-size: 12px;
	}

	.bon-viewed-products .bon-viewed-card__bottom {
		gap: 5px;
	}

	.bon-viewed-products .bon-viewed-card__prices {
		gap: 2px 4px;
	}

	.bon-viewed-products .bon-viewed-card__price-old {
		font-size: 10px;
	}

	.bon-viewed-products .bon-viewed-card__discount {
		min-height: 17px;
		padding: 2px 5px;
		font-size: 8px;
	}

	.bon-viewed-products .bon-viewed-card__price {
		margin-top: 1px;
		font-size: 24px;
	}

	.bon-viewed-products .bon-viewed-card__action {
		flex-basis: 34px;

		width: 34px;
		height: 34px;
	}

	.bon-viewed-products .bon-viewed-card__action svg {
		width: 17px;
		height: 17px;
	}

	.bon-viewed-products .bon-viewed-card__labels {
		top: 7px;
		left: 7px;
		gap: 3px;
	}

	.bon-viewed-products .bon-viewed-card__label {
		min-height: 20px;
		padding: 3px 6px;
		font-size: 8px;
	}

	/* На мобильном стрелок нет */

	.bon-viewed-products__arrow,
	.bon-viewed-products.is-scrollable .bon-viewed-products__arrow {
		display: none !important;
	}

	/* Mobile pagination */

	.bon-viewed-products__pagination {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 6px;

		min-height: 8px;
		margin-top: 13px;
	}

	.bon-viewed-products__pagination[hidden] {
		display: none !important;
	}

	.bon-viewed-products__dot {
		display: block;
		flex: 0 0 6px;

		width: 6px;
		height: 6px;

		margin: 0;
		padding: 0;

		border: 0;
		border-radius: 50%;

		background: #ddbdf3;
		opacity: 0.9;

		cursor: pointer;

		transition:
			background-color 0.2s ease,
			transform 0.2s ease,
			opacity 0.2s ease;
	}

	.bon-viewed-products__dot:hover,
	.bon-viewed-products__dot:focus {
		background: #bd77e5;
		opacity: 1;
		outline: none;
	}

	.bon-viewed-products__dot.is-active {
		background: #a54bd9;
		opacity: 1;
		transform: scale(1.2);
	}
}

/* =========================================
   Very small screens
   ========================================= */

@media (max-width: 360px) {
	.bon-viewed-products .bon-viewed-card__body {
		padding-right: 6px;
		padding-left: 6px;
	}

	.bon-viewed-products .bon-viewed-card__title {
		min-height: 32px;
		font-size: 10px;
		line-height: 14px;
	}

	.bon-viewed-products .bon-viewed-card__price {
		font-size: 14px;
	}

	.bon-viewed-products .bon-viewed-card__action {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
	}
}


/* =========================================
   Product card image spacing
   Category, search and viewed products
   ========================================= */

.bon-category-products__grid .bon-viewed-card__image-link,
.bon-viewed-products .bon-viewed-card__image-link {
	padding: 14px !important;
	box-sizing: border-box;
}

.bon-category-products__grid .bon-viewed-card__image,
.bon-viewed-products .bon-viewed-card__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: contain;
	object-position: center;
}


@media (hover: hover) and (pointer: fine) {

	.bon-category-products__grid .bon-viewed-card:hover .bon-viewed-card__image,
	.bon-viewed-products .bon-viewed-card:hover .bon-viewed-card__image {
		transform: scale(1.025);
	}
}

@media (max-width: 767px) {

	.bon-category-products__grid .bon-viewed-card__image-link,
	.bon-viewed-products .bon-viewed-card__image-link {
		padding: 8px !important;
	}

	.bon-category-products__grid .bon-viewed-card:hover .bon-viewed-card__image,
	.bon-viewed-products .bon-viewed-card:hover .bon-viewed-card__image {
		transform: none !important;
	}
}


/* =========================================
   Mobile catalog product cards
   Two cards per row
   ========================================= */

@media (max-width: 767px) {

	/*
	 * Две карточки в строке на всех мобильных экранах.
	 * Выходим за стандартные отступы .bon-container по 16px,
	 * чтобы сетка выглядела как на макете.
	 */

	.bon-category-products__grid,
	.bon-category-layout:not(.bon-category-layout--full) .bon-category-products__grid {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: stretch;

		width: calc(100% + 32px);
		margin-right: -16px;
		margin-left: -16px;

		gap: 0 !important;
		background: #ffffff;
	}

	/*
	 * Карточка
	 */

	.bon-category-products__grid>.bon-viewed-card {
		display: flex;
		flex-direction: column;

		width: 100%;
		max-width: none;
		min-width: 0;
		height: auto !important;
		min-height: 300px;

		margin: 0;
		padding: 0;

		border: 0 !important;
		border-radius: 0 !important;

		background: #ffffff;
		box-shadow: none !important;
		overflow: hidden;

		transform: none !important;
	}

	/*
	 * Вертикальная линия между карточками.
	 */

	@media (max-width: 767px) {

		.bon-category-products__grid,
		.bon-category-layout:not(.bon-category-layout--full) .bon-category-products__grid {
			position: relative;

			display: grid;
			grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

			width: calc(100% + 32px);
			margin-right: -16px;
			margin-left: -16px;

			column-gap: 0 !important;
			row-gap: 14px !important;

			border: 0 !important;
			background: #ffffff;
		}

		/*
	 * Убираем одну длинную линию,
	 * если псевдоэлемент был добавлен ранее.
	 */

		.bon-category-products__grid::before {
			display: none !important;
			content: none !important;
		}

		/*
	 * У карточек нет нижних рамок.
	 */

		.bon-category-products__grid>.bon-viewed-card {
			border: 0 !important;
			border-radius: 0 !important;
			box-shadow: none !important;
		}

		/*
	 * Разделитель только между карточками
	 * внутри каждого ряда.
	 */

		.bon-category-products__grid>.bon-viewed-card:nth-child(odd) {
			border-right: 1px solid #F4F4ED !important;
		}

		.bon-category-products__grid>.bon-viewed-card:nth-child(even) {
			border-right: 0 !important;
		}

		/*
	 * Снизу рамок нет у всех карточек.
	 */

		.bon-category-products__grid>.bon-viewed-card {
			border-bottom: 0 !important;
		}
	}

	.bon-category-products__grid>.bon-viewed-card:hover,
	.bon-category-products__grid>.bon-viewed-card:focus-within {
		box-shadow: none !important;
		transform: none !important;
	}

	/*
	 * Изображение
	 */

	.bon-category-products__grid .bon-viewed-card__media {
		position: relative;

		display: flex;
		align-items: center;
		justify-content: center;

		flex: 0 0 auto;

		width: 100%;
		min-width: 0;
		aspect-ratio: 1 / 1;

		margin: 0;
		padding: 7px 7px 0;

		border-radius: 0;
		background: #ffffff;

		overflow: hidden;
	}

	.bon-category-products__grid .bon-viewed-card__image-link {
		display: flex;
		align-items: center;
		justify-content: center;

		width: 100%;
		height: 100%;

		margin: 0;
		padding: 0 !important;

		overflow: hidden;
	}

	.bon-category-products__grid .bon-viewed-card__image {
		display: block;

		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;

		object-fit: contain;
		object-position: center;

		transform: none !important;
	}

	/*
	 * Метки: Новинка, Знижка, Хіт
	 */

	.bon-category-products__grid .bon-viewed-card__labels {
		top: 7px;
		left: 7px;

		gap: 3px;
	}

	.bon-category-products__grid .bon-viewed-card__label {
		min-height: 20px;
		padding: 3px 6px;

		font-size: 8px;
		line-height: 1;
	}

	/*
	 * Контент карточки
	 */

	.bon-category-products__grid .bon-viewed-card__body {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;

		min-width: 0;
		padding: 7px 8px 10px;
	}

	/*
	 * Название разрешаем выводить в три строки,
	 * как на мобильном макете.
	 */

	.bon-category-products__grid .bon-viewed-card__title {
		display: -webkit-box;

		min-height: 48px;
		margin: 0 0 5px;

		overflow: hidden;

		font-size: 12px;
		font-weight: 500;
		line-height: 16px;

		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	/*
	 * Рейтинг
	 */

	.bon-category-products__grid .bon-viewed-card__rating {
		display: flex;
		align-items: center;

		gap: 1px;

		min-height: 15px;
		margin: 0 0 5px;

		font-size: 13px;
		line-height: 1;
	}

	/*
	 * Нижняя область: цены и кнопка
	 */

	.bon-category-products__grid .bon-viewed-card__bottom {
		display: flex;
		align-items: flex-end;
		justify-content: space-between;

		gap: 5px;
		min-width: 0;
		margin-top: auto;
	}

	.bon-category-products__grid .bon-viewed-card__prices {
		display: flex;
		flex: 1 1 auto;
		flex-wrap: wrap;
		align-items: center;

		gap: 2px 4px;
		min-width: 0;
	}

	.bon-category-products__grid .bon-viewed-card__price-old {
		font-size: 10px;
	}

	.bon-category-products__grid .bon-viewed-card__discount {
		min-height: 17px;
		padding: 2px 5px;

		font-size: 8px;
	}

	.bon-category-products__grid .bon-viewed-card__price {
		flex: 0 0 100%;

		margin-top: 1px;

		font-size: 18px;
		line-height: 1;
	}

	/*
	 * Круглая кнопка перехода к товару
	 */

	.bon-category-products__grid .bon-viewed-card__action {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		flex: 0 0 38px;

		width: 38px;
		height: 38px;
		padding: 0;

		border-radius: 50%;

		transform: none !important;
	}

	.bon-category-products__grid .bon-viewed-card__action svg {
		width: 19px;
		height: 19px;
	}
}

/*
 * Очень узкие экраны.
 * Две карточки всё равно сохраняются.
 */

@media (max-width: 360px) {

	.bon-category-products__grid>.bon-viewed-card {
		min-height: 320px;
	}

	.bon-category-products__grid .bon-viewed-card__body {
		padding-right: 6px;
		padding-left: 6px;
	}

	.bon-category-products__grid .bon-viewed-card__title {
		min-height: 45px;

		font-size: 11px;
		line-height: 15px;
	}

	.bon-category-products__grid .bon-viewed-card__price {
		font-size: 16px;
	}

	.bon-category-products__grid .bon-viewed-card__action {
		flex-basis: 34px;

		width: 34px;
		height: 34px;
	}

	.bon-category-products__grid .bon-viewed-card__action svg {
		width: 17px;
		height: 17px;
	}
}


@media (max-width: 767px) {
	.bon-manufacturers {
		width: 100%;
		margin: 30px 0 30px;
	}

	.bon-manufacturers__top {
		display: block;

		width: 100%;
		margin-bottom: 22px;
	}

	.bon-manufacturers__title {
		width: 100%;
		margin: 0;

		color: #212121;

		font-size: 24px;
		font-weight: 500;
		line-height: 1.2;

		text-align: center;
	}

	.bon-manufacturers__all {
		display: none;
	}

	.bon-manufacturers__slider {
		position: relative;
		padding: 0;
		width: 100%;
	}

	.bon-manufacturers__arrow {
		display: none !important;
	}

	.bon-manufacturers__viewport {
		width: 100%;

		overflow-x: auto;
		overflow-y: hidden;

		overscroll-behavior-x: contain;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;

		scrollbar-width: none;
		-ms-overflow-style: none;

		touch-action: pan-x;
	}

	.bon-manufacturers__viewport::-webkit-scrollbar {
		display: none;
	}

	.bon-manufacturers__track {
		display: flex;

		width: max-content;
		min-width: 100%;

		gap: 8px;

		transform: none;
		transition: none;
	}

	.bon-manufacturers__item {
		flex: 0 0 calc((100vw - 32px - 8px) / 2);

		min-width: 0;

		scroll-snap-stop: always;
	}

	.bon-manufacturers__item:nth-child(2n + 1) {
		scroll-snap-align: start;
	}

	.bon-manufacturers__card {
		display: flex;
		align-items: center;
		justify-content: center;

		width: 100%;
		height: 124px;
		padding: 18px 12px;

		border: 0;
		border-radius: 12px;

		background: #f7f7f7;

		overflow: hidden;
		text-decoration: none;
	}

	.bon-manufacturers__card:hover,
	.bon-manufacturers__card:focus {
		text-decoration: none;
	}

	.bon-manufacturers__image {
		display: block;

		width: auto;
		max-width: 92%;
		height: auto;
		max-height: 76px;

		object-fit: contain;
		object-position: center;
	}

	.bon-manufacturers .bon-hit-categories__dots {
		margin-top: 14px;
	}
}

@media (max-width: 390px) {
	.bon-manufacturers__title {
		font-size: 22px;
	}

	.bon-manufacturers__card {
		height: 118px;
		padding: 16px 10px;
	}

	.bon-manufacturers__image {
		max-height: 70px;
	}
}

/* Кнопка "розпродаж" */

.bon-secondary-menu__mobile-sale {
	display: none;
}

@media (max-width: 767px) {
	.bon-secondary-menu__mobile-sale {
		display: block;

		width: 100%;
		margin: 10px 0 16px;
	}

	.bon-secondary-menu__mobile-sale-link {
		display: flex;
		align-items: center;
		justify-content: center;

		width: 100%;
		min-height: 50px;
		padding: 10px 18px;

		gap: 9px;

		border: 0;
		border-radius: 10px;

		background: #1477ec;
		color: #ffffff;

		font-size: 18px;
		font-weight: 500;
		line-height: 1;

		text-align: center;
		text-decoration: none;

		box-shadow: none;

		transition:
			background-color 0.2s ease,
			transform 0.2s ease;
	}

	.bon-secondary-menu__mobile-sale-link:hover,
	.bon-secondary-menu__mobile-sale-link:focus {
		background: #086bdc;
		color: #ffffff;

		text-decoration: none;
		outline: none;
	}

	.bon-secondary-menu__mobile-sale-link:active {
		transform: scale(0.99);
	}

	.bon-secondary-menu__mobile-sale-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;

		flex: 0 0 25px;

		width: 25px;
		height: 25px;

		color: #ffffff;
		line-height: 1;
	}

	.bon-secondary-menu__mobile-sale-icon svg {
		display: block;

		width: 25px;
		height: 25px;
		max-width: 25px;
		max-height: 25px;
	}

	.bon-secondary-menu__mobile-sale-icon
		svg [stroke]:not([stroke="none"]) {
		stroke: #ffffff !important;
	}

	.bon-secondary-menu__mobile-sale-icon
		svg [fill]:not([fill="none"]) {
		fill: #ffffff !important;
	}

	.bon-secondary-menu__mobile-sale-text {
		display: block;

		color: #ffffff;

		font-size: 18px;
		font-weight: 500;
		line-height: 1;
	}
}

@media (max-width: 390px) {
	.bon-secondary-menu__mobile-sale {
		margin-top: 9px;
		margin-bottom: 14px;
	}

	.bon-secondary-menu__mobile-sale-link {
		min-height: 48px;
		padding: 9px 14px;

		font-size: 17px;
	}

	.bon-secondary-menu__mobile-sale-text {
		font-size: 17px;
	}
}