@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat+Alternates:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	--title-big: 40px;
	--title-medium: 32px;
	--title-small: 24px;
	--text-big: 20px;
	--text-medium: 18px;
	--text-small: 16px;
	--color-bg-dark: rgb(45, 45, 45);
	--color-bg-topbar: rgb(33, 33, 33);
	--color-text-primary: rgb(255, 255, 255);
	--color-text-light: rgb(226, 226, 226);
	--color-text-contact-muted: rgb(244, 244, 244);
	--color-border: rgb(from var(--color-text-primary) r g b / 8%);
	--accent: rgb(255, 179, 0);
	--accent-hover: rgb(255, 179, 0);
	--bg-item: rgb(34, 34, 34);
	--bg-item-open: rgb(42, 42, 42);
	--bg-dark: rgb(26, 26, 26);
	--bg-brand: rgb(39, 39, 39);
	--bg-xit: rgb(0, 116, 199);
	--color-ink: rgb(17, 17, 17);
	--color-black: rgb(0, 0, 0);
	--color-charcoal: rgb(36, 36, 36);
	--color-gray-dark: rgb(51, 51, 51);
	--color-gray-light: rgb(204, 204, 204);
	--color-gray-mid: rgb(112, 112, 112);
	--color-gray-lighter: rgb(232, 232, 232);
	--color-blue: rgb(14, 165, 233);
	--color-purple: rgb(124, 58, 237);
	--color-cream: rgb(255, 240, 204);
	--color-gold: rgb(245, 197, 24);
	--color-bg-light: rgb(240, 240, 240);
	--color-h3: rgba(45, 45, 45, 1);
	--text-muted: rgb(204, 204, 204);
	--description-text-color: rgba(0, 0, 0, 1);
	--breadcrumbs-color: rgba(45, 45, 45, 1);
	--breadcrumbs-current-color: rgba(45, 45, 45, 0.7);
	--page-title-color: var(--color-bg-topbar);
	--page-desc-color: rgba(107, 107, 107, 1);
	--page-desc-border-color: rgba(45, 45, 45, 0.1);
}

html {
	overflow-x: hidden;
	width: 100%;
}

img,
svg {
	max-width: 100%;
	height: auto;
}

body {
	font-family: "Montserrat", sans-serif;
	background: var(--color-bg-light);
	color: var(--color-text-primary);
	font-weight: 400;
	overflow-x: hidden;
	max-width: 100vw;
}

.container {
	margin: 0 auto;
	width: calc(100% - 100px);
	max-width: 1920px;
}

.topbar {
	background: var(--color-bg-topbar);
	border-bottom: 1px solid var(--color-border);
	/* Верхняя информационная панель остаётся в обычном потоке страницы. */
	position: static;
}

.section__title,
h2 {
	font-size: var(--title-medium);
	font-weight: 700;
	color: var(--color-ink);
	line-height: 1.3;
	overflow-wrap: break-word;
}

.main__title,
h1 {
	font-size: var(--title-big);
	font-weight: 500;
	line-height: 120%;
}

h3 {
	font-weight: 700;
	font-style: normal;
	font-size: var(--title-small);
	line-height: 150%;
	letter-spacing: 0;
	color: var(--color-h3);
}
.padding__box {
	padding-bottom: 80px;
}

.padding__box-all {
	padding-bottom: 80px;
	padding-top: 80px;
}
.padding__productSingle {
	padding-bottom: 40px;
	padding-top: 40px;
}

.topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.topbar__item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	color: var(--color-text-contact-muted);
	text-decoration: none;
	transition: color 0.2s;
	white-space: nowrap;
}

.topbar__item:hover {
	color: var(--accent-hover);
}

.topbar__item svg {
	flex-shrink: 0;
	opacity: 0.6;
}

.topbar__divider {
	width: 1px;
	height: 14px;
	background: var(--color-border);
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-bottom: 20px;
}

.breadcrumbs__link {
	font-size: var(--text-small);
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 0;
	color: var(--breadcrumbs-color);
	text-decoration: none;
}

.breadcrumbs__link:hover {
	color: var(--breadcrumbs-color);
}

.breadcrumbs__current {
	font-size: var(--text-small);
	font-weight: 500;
	line-height: 150%;
	letter-spacing: 0;
	color: var(--breadcrumbs-current-color);
}

.breadcrumbs__sep {
	font-size: var(--text-medium);
	color: var(--breadcrumbs-color);
}

.filters__title {
	font-size: var(--title-small);
	font-weight: 700;
	color: var(--color-bg-topbar);
	margin-bottom: 20px;
}

.contact__tilte {
	border-bottom: 1px solid var(--page-desc-border-color);
	margin-bottom: 40px;
	padding-bottom: 40px;
}
.description__text p {
	font-weight: 500;
	font-size: var(--text-medium);
	line-height: 200%;
	letter-spacing: 0;
	color: var(--description-text-color);
}
.description__text h2 {
	margin-bottom: 20px;
}

.page-head__title {
	font-weight: 700;
	font-size: var(--title-big);
	line-height: 150%;
	letter-spacing: 0;
	color: var(--page-title-color);
}

.page-head__desc {
	margin-top: 10px;
}
.page-head__desc {
	font-size: 15px;
	line-height: 160%;
	color: var(--page-desc-color);

	border-bottom: 1px solid var(--page-desc-border-color);

	padding-bottom: 30px;
	margin-bottom: 40px;
}

.header {
	background: var(--color-bg-dark);
	position: relative;
	z-index: 100;
}

.header.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	box-shadow: 0 5px 16px rgb(from var(--color-black) r g b / 18%);
}

.header-spacer {
	display: none;
}

.header-spacer.is-active {
	display: block;
}

.header__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto auto minmax(140px, 1fr) auto auto;
	align-items: center;
	gap: clamp(14px, 2.2vw, 43px);
	padding: 10px 0px;
}

.logo {
	display: flex;
	align-items: center;
	gap: 2px;
	text-decoration: none;
	flex-shrink: 0;
	transition: 0.2s;
}
.logo:hover {
	filter: sepia(1);
}
.logo-anim {
	position: relative;
}
.logo-anim-shesterenka {
	position: absolute;
	top: 50%;
	right: 42px;
	transform: translate(0, -53%);
	width: 29px;
	img {
		width: 29px;
		height: 29px;
		background-size: contain;
		-webkit-animation: rotate-center 4s linear infinite both;
		animation: rotate-center 4s linear infinite both;
	}
}
@-webkit-keyframes rotate-center {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes rotate-center {
	0% {
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

.logo img {
	display: block;
	width: 250px;
	height: auto;
	max-height: 44px;
	object-fit: contain;
}

.btn-catalog {
	display: flex;
	align-items: center;
	gap: clamp(10px, 1.5vw, 24px);
	padding: clamp(14px, 1.6vw, 21px) clamp(14px, 1.6vw, 20px);
	background: var(--accent);
	color: var(--color-ink);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-small);
	font-weight: 500;
	border: none;
	border-radius: 20px;
	cursor: pointer;
	transition:
		background 0.2s,
		transform 0.1s;
	border: 1.5px solid transparent;
	white-space: nowrap;
}

.btn-catalog:hover {
	background: transparent;
	border: 1.5px solid var(--accent);
	color: var(--accent);
}

.btn-catalog:active {
	transform: scale(0.98);
}

.btn-catalog__icon {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.btn-catalog__line {
	display: block;
	width: 16px;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
}

.search {
	position: relative;
	width: 100%;
	min-width: 140px;
	max-width: 520px;
}

.search__input {
	width: 100%;
	background: var(--color-text-contact-muted);
	border: 1px solid transparent;
	border-radius: 20px;
	padding: clamp(14px, 1.6vw, 21px) 56px clamp(14px, 1.6vw, 21px) clamp(14px, 1.6vw, 20px);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-small);
	color: var(--color-black);
	outline: none;
	transition:
		border-color 0.2s,
		background 0.2s;
}

.search__input::placeholder {
	color: rgb(122, 122, 122);
	font-size: var(--text-small);
}

.search__input:focus {
	border-color: rgb(from var(--color-gold) r g b / 40%);
	background: var(--color-gray-dark);
	color: var(--color-text-primary);
}

.search__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;

	width: 16px;
	height: 16px;
	margin-right: 8px;
	cursor: pointer;

	background-color: rgba(255, 179, 0, 1);

	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='black' stroke-width='2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");

	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
}

.search__btn {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);

	width: 48px;
	height: 44px;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-ink);
	transition: color 0.2s;
}

.search__input:focus ~ .search__btn {
	color: var(--color-text-primary);
}

.btn-dealers {
	display: flex;
	align-items: center;
	padding: 12px 30px;
	border: 1px solid var(--accent);
	border-radius: 20px;
	background: transparent;
	color: var(--accent);
	font-family: "Montserrat", sans-serif;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition:
		border-color 0.2s,
		background 0.2s;
	white-space: nowrap;
	text-decoration: none;
}

.btn-dealers:hover {
	border-color: var(--accent);
	background: var(--accent);
	color: var(--color-ink);
}

.header-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-shrink: 0;
}

.action-btn {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 10px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--color-text-light);
	border-radius: 8px;
	transition:
		color 0.2s,
		background 0.2s;
	text-decoration: none;
	width: 75px;
}

.action-btn:hover {
	color: var(--color-text-primary);
	background: rgb(from var(--color-text-primary) r g b / 6%);
}

.action-btn--active {
	color: var(--accent);
}

.action-btn--active:hover {
	color: var(--accent);
}

.action-btn__label {
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	margin-top: 10px;
	color: rgba(226, 226, 226, 1);
}

.action-btn__badge {
	position: absolute;
	top: -4px;
	right: -5px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	background: var(--color-bg-topbar);
	color: var(--color-text-primary);
	font-size: 10px;
	font-weight: 700;
	border-radius: 99px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.nav {
	background: rgb(20, 20, 20);
	border-bottom: 1px solid var(--color-border);
}

.nav__inner {
	display: flex;
	align-items: center;
}

.topbar__right {
	display: flex;
	align-items: center;
	gap: 20px;
}
.nav__link {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 20px 30px;
	font-weight: 500;
	color: var(--color-text-light);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition:
		color 0.2s,
		border-color 0.2s;
	white-space: nowrap;
	font-weight: 500;
	font-style: normal;
	font-size: var(--text-small);
	line-height: 90%;
	letter-spacing: 0;
}

.nav__link:hover,
.nav__link--active {
	color: var(--color-text-primary);
	background: rgb(from var(--color-black) r g b / 20%);
}

.hero-swiper {
	width: 100%;
	height: clamp(360px, 50vw, 600px);
	background: var(--bg-dark);
	position: relative;
}

.swiper-slide {
	position: relative;
	overflow: hidden;
}

.slide-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 6s ease;
}
.swiper-slide-active .slide-bg {
	transform: scale(1.04);
}

.slide--1 .slide-bg {
	background-image:
		linear-gradient(
			90deg,
			rgb(from var(--color-black) r g b / 72%) 0%,
			rgb(from var(--color-black) r g b / 30%) 55%,
			transparent 100%
		),
		url("../images/banner.png");
}
.slide--2 .slide-bg {
	background-image:
		linear-gradient(
			90deg,
			rgb(from var(--color-black) r g b / 72%) 0%,
			rgb(from var(--color-black) r g b / 30%) 55%,
			transparent 100%
		),
		url("https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?w=1440&q=80");
}
.slide--3 .slide-bg {
	background-image:
		linear-gradient(
			90deg,
			rgb(from var(--color-black) r g b / 72%) 0%,
			rgb(from var(--color-black) r g b / 30%) 55%,
			transparent 100%
		),
		url("https://images.unsplash.com/photo-1565192259022-6a1cdae47682?w=1440&q=80");
}

.slide-content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
	padding-top: 100px;
}

.sldiercontainer {
	margin: 0 auto;
	width: calc(100% - 100px);
	position: relative;
}

.sldiercontainers {
	display: flex;
	justify-content: space-between;
	width: 100%;
	align-items: center;
	position: relative;
	bottom: 150px;
	max-width: 1920px;
	margin: 0 auto;
}

.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next,
.hero-swiper .swiper-pagination {
	position: static;
}

.slide-content__inner {
	max-width: 870px;
}

.slide-tag {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 16px;
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.5s 0.1s,
		transform 0.5s 0.1s;
}

.slide-title {
	color: var(--color-text-primary);
	margin-bottom: 60px;
	border-left: 3px solid var(--accent);
	padding-left: 40px;
}
.slide-title span {
	color: var(--accent);
	font-weight: 500;
}

.slide-actions {
	display: flex;
	align-items: center;
	gap: 50px;
	flex-wrap: wrap;
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity 0.55s 0.35s,
		transform 0.55s 0.35s;
}

.swiper-slide-active .slide-tag,
.swiper-slide-active .slide-title,
.swiper-slide-active .slide-actions {
	opacity: 1;
	transform: translateY(0);
}

.btn-hero {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 20px 45px;
	background: var(--accent);
	color: var(--color-charcoal);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-medium);
	font-weight: 500;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	transition:
		background 0.2s,
		transform 0.15s;
	white-space: nowrap;
	border: 1.5px solid var(--accent);
}
.btn-hero:hover {
	background: transparent;
	color: var(--accent);
}
.btn-hero:active {
	transform: scale(0.97);
}
.btn-hero svg {
	flex-shrink: 0;
}

.worktime {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	background: rgb(from var(--color-black) r g b / 50%);
	backdrop-filter: blur(8px);
	border-radius: 100px;
	color: var(--color-text-primary);
	font-size: var(--text-small);
	white-space: nowrap;
	font-weight: 400;
}
.worktime strong {
	font-weight: 500;
}

.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next {
	top: auto;
	bottom: 120px;
	margin-top: 0;
	width: 70px;
	height: 50px;
	border-radius: 40px;
	background: var(--color-bg-dark);
	backdrop-filter: blur(6px);
	border: 1px solid rgb(from var(--color-text-primary) r g b / 10%);
	color: var(--color-text-primary);
	transition: background 0.2s;
}
.hero-swiper .swiper-button-prev {
	left: 50px;
}
.hero-swiper .swiper-button-next {
	right: 50px;
}
.hero-swiper .swiper-button-prev:hover,
.hero-swiper .swiper-button-next:hover {
	background: rgb(from var(--color-black) r g b / 65%);
}
.hero-swiper .swiper-button-prev::after,
.hero-swiper .swiper-button-next::after {
	display: none;
}
.swiper-button-next svg {
	width: 13px;
	transform: rotate(180deg);
}
.swiper-button-prev svg {
	width: 13px;
}

.hero-swiper .swiper-pagination {
	bottom: 48px;
}
.hero-swiper .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: rgb(from var(--color-text-primary) r g b / 40%);
	opacity: 1;
	transition:
		width 0.3s,
		background 0.3s;
	border-radius: 4px;
}
.hero-swiper .swiper-pagination-bullet-active {
	width: 24px;
	background: var(--accent);
}

.cards-section {
	position: relative;
	z-index: 10;
	margin-top: -56px;
}

.cards-grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 20px;
}

.card {
	background: var(--color-text-primary);
	border-radius: clamp(24px, 3vw, 40px);
	padding: 20px 30px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 24px rgb(from var(--color-black) r g b / 8%);
	transition:
		transform 0.25s,
		box-shadow 0.25s;
}
.card--promo {
	padding: 20px 60px 20px 30px;
}
.card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 36px rgb(from var(--color-black) r g b / 13%);
}

.card__title {
	margin-bottom: clamp(10px, 2vw, 20px);
}

.card__desc {
	font-size: clamp(16px, 1.7vw, 22px);
	color: var(--color-bg-dark);
	line-height: 110.00000000000001%;
	margin-bottom: clamp(10px, 2vw, 20px);
	font-weight: 500;
	overflow-wrap: break-word;
}

.card__sub {
	color: var(--color-gray-mid);
	line-height: 150%;
	margin-bottom: 24px;
	font-weight: 500;
	overflow-wrap: break-word;
	font-size: var(--text-medium);
}

.card--help .card__deco {
	position: absolute;
	top: -120px;
	right: -95px;
	width: 300px;
	height: 300px;
	background: rgb(from var(--accent) r g b / 20%);
	border-radius: 50%;
	pointer-events: none;
}

.card__phone a {
	color: var(--color-ink);
	font-weight: 500;
	text-decoration: none;
}
.card__wlo {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: space-between;
}
.card__phone {
	font-size: clamp(16px, 1.6vw, 22px);
	font-weight: 700;
	color: var(--color-ink);
	letter-spacing: -0.5px;
}
.card__contactso {
	display: flex;
	align-items: center;
	gap: clamp(14px, 2.5vw, 38px);
	flex-wrap: wrap;
}
.card__contacts-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 20px;
}

.avatar-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s;
	flex-shrink: 0;
}
.avatar-btn:hover {
	opacity: 0.8;
}
.avatar-btn--purple {
	background: var(--color-purple);
}
.avatar-btn--blue {
	background: var(--color-blue);
}
.btn-callback {
	display: inline-flex;
	align-items: center;
	padding: clamp(12px, 1.6vw, 16px) clamp(24px, 5vw, 49px);
	background: var(--color-ink);
	color: var(--color-text-primary);
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s;
	white-space: nowrap;
}
.btn-callback:hover {
	background: var(--accent);
	color: var(--color-charcoal);
}

.card--promo {
	background: linear-gradient(135deg, var(--color-text-primary) 60%, rgb(255, 251, 230) 100%);
}

.card--promo .card__deco {
	position: absolute;
	bottom: -20px;
	right: -20px;
	width: 100px;
	height: 100px;
	background: rgb(from var(--color-gold) r g b / 15%);
	border-radius: 50%;
	pointer-events: none;
}

.card--promo .card__deco-2 {
	position: absolute;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	background: rgb(from var(--color-gold) r g b / 20%);
	border-radius: 50%;
	pointer-events: none;
}

.card--promo .side-label {
	position: absolute;
	right: -9px;
	top: 25%;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent);
	background: var(--color-cream);
	padding: 4px 10px;
	border-radius: 100px 0px 0px 100px;
	white-space: nowrap;
	width: 50px;
	height: 159px;
	transform: rotate(359deg);
	display: flex;
	align-items: center;
}
.side-label i {
	font-style: normal;
	color: var(--color-black);
	font-weight: 500;
	font-size: var(--text-small);
	transform: rotate(270deg);
	display: block;
	width: 100%;
	position: relative;
	top: 20px;
	left: -1px;
}
.discount-badge {
	display: inline-block;
	font-size: var(--title-medium);
	font-weight: 600;
	color: var(--accent);
	margin-left: 4px;
}

.card__title--inline {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 2px;
	font-weight: 700;
	color: var(--color-ink);
	margin-bottom: clamp(16px, 2vw, 30px);
}

.btn-promo {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 22px;
	background: var(--accent);
	color: var(--color-ink);
	font-family: "Montserrat", sans-serif;
	font-size: 13px;
	font-weight: 700;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s;
}
.btn-promo:hover {
	background: var(--accent-hover);
}

.card--partner .card__deco {
	position: absolute;
	top: -20px;
	right: -20px;
	width: 120px;
	height: 120px;
	background: rgb(232, 245, 233);
	border-radius: 50%;
	pointer-events: none;
}
.btn-partner {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: clamp(16px, 2.6vw, 25px) clamp(20px, 3.6vw, 35px);
	background: var(--color-ink);
	color: var(--color-text-primary);
	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s;
	white-space: nowrap;
}
.btn-partner:hover {
	background: var(--accent);
	color: var(--color-charcoal);
}

.categories {
	padding-top: 0;
}

.categories__wrap {
	background: var(--color-text-primary);
	border-radius: 40px;
	padding: 30px;
}

.categories__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 20px;
}

.categories__title {
	font-size: var(--title-medium);
	font-weight: 400;
	color: var(--color-ink);
	line-height: 1.3;
}
.categories__title strong {
	font-weight: 600;
}

.categories__subtitle {
	color: var(--color-gray-mid);
	line-height: 150%;
	margin-bottom: 10px;
	font-weight: 500;
	overflow-wrap: break-word;
	font-size: var(--text-medium);
	margin-top: 10px;
}
.btn-all {
	display: inline-flex;
	align-items: center;
	padding: 15px 40px;
	background: var(--accent);
	color: var(--color-ink);
	font-family: "Montserrat", sans-serif;
	/* font-size: var(--text-medium); */
	font-weight: 600;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition:
		background 0.2s,
		transform 0.15s;
	border: 1.5px solid var(--accent);
}
.btn-all:hover {
	background: transparent;
	color: var(--accent);
}
.btn-all:active {
	transform: scale(0.97);
}

.cat-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}

.cat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 20px 10px;
	border: 1.5px solid var(--color-gray-lighter);
	border-radius: 20px;
	cursor: pointer;
	text-decoration: none;
	color: var(--color-ink);
	background: var(--color-text-primary);
	min-height: 168px;
	transition:
		border-color 0.2s,
		box-shadow 0.2s,
		transform 0.2s;
}

.cat-card:hover {
	border-color: var(--accent);
	box-shadow: 0 0 0 1px var(--accent);
	transform: translateY(-3px);
}
.cat-card:active {
	transform: translateY(0) scale(0.98);
}

.cat-card__img {
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	flex-shrink: 0;
	margin-bottom: 20px;
}

.catalog-content .cat-card__img {
	width: 80px;
	height: 80px;
	margin-bottom: 0px;
}
.cat-card__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	pointer-events: none;
}

.cat-card__name {
	font-size: var(--text-medium);
	font-weight: 500;
	color: var(--color-ink);
	text-align: center;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	width: 100%;
	transition: color 0.2s;
}
.cat-card:hover .cat-card__name {
	color: var(--accent);
}

.products {
	padding-top: 0;
	padding-bottom: 40px;
}

.products__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.products__title {
	font-size: var(--title-medium);
	font-weight: 400;
	color: var(--color-ink);
	line-height: 1.3;
	margin-bottom: 6px;
}
.products__title strong {
	font-weight: 600;
}

.products__subtitle {
	color: var(--color-gray-mid);
	line-height: 150%;
	margin-bottom: 10px;
	font-weight: 500;
	overflow-wrap: break-word;
	font-size: var(--text-medium);
	margin-top: 10px;
}

.products__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 40px;
}

.pcard {
	background: var(--color-text-primary);
	border-radius: 40px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	position: relative;
	transition:
		transform 0.22s,
		box-shadow 0.22s;
	box-shadow: 0 2px 8px rgb(from var(--color-black) r g b / 5%);
}
.pcardimo {
	padding: 20px;
	box-sizing: border-box;
	padding-bottom: 0;
}
.pcard:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgb(from var(--color-black) r g b / 10%);
}

.pcard__badge {
	position: absolute;
	top: 10px;
	right: 0;
	transform: translateX(-50%);
	font-size: 12px;
	font-weight: 700;
	display: flex;
	align-items: center;
	white-space: nowrap;
	z-index: 2;
	padding: 5px 20px;
}
.pcard__badge--hit {
	background: var(--bg-xit);
	color: var(--color-text-primary);
	font-weight: 500;
	border-radius: 100px;
	display: inline-block;
}
.pcard__badge--new {
	background: rgb(142, 0, 199);
	color: var(--color-text-primary);
	font-weight: 500;
	border-radius: 20px;
}

.pcard__img {
	width: 100%;

	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	flex-shrink: 0;
	border: 1px dashed var(--color-gray-lighter);
	border-radius: 40px;
}
.pcard__img img {
	width: 200px;
	height: 150px;
	object-fit: contain;
	pointer-events: none;
}

.pcard__info {
	padding: 14px 16px 0;
	flex: 1;
	padding-bottom: 20px;
	padding-top: 20px;
}

.pcard__article-row {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 9px;
}
.pcard__article-label {
	font-size: 14px;
	color: var(--color-gray-mid);
}
.pcard__article-val {
	font-size: 14px;
	font-weight: 500;
	color: var(--color-black);
	background: rgb(from var(--color-black) r g b / 10%);
	border-radius: 40px;
	padding: 4px 14px;
}

.pcard__name {
	font-size: var(--text-small);
	font-weight: 500;
	color: var(--color-bg-dark);
	line-height: 1.45;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.pcard__footer {
	display: flex;
	align-items: center;
	background: var(--color-ink);
	border-radius: 0 0 16px 16px;
	padding: 12px 20px 12px 30px;
	gap: 10px;
	margin-top: auto;
}

.pcard__price {
	font-size: var(--text-medium);
	color: var(--color-text-primary);
	white-space: nowrap;
	flex-shrink: 0;
}
.pcard__price span {
	font-size: 14px;
	font-weight: 400;
	color: var(--color-text-primary);
	margin-left: 2px;
}
.pcard__fav {
	margin-left: auto;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: rgb(136, 136, 136);
	flex-shrink: 0;
	transition: color 0.2s;
	border: 1px solid rgb(from var(--color-text-primary) r g b / 10%);
	border-radius: 10px;
	margin-right: 5px;
}
.pcard__fav:hover,
.pcard__fav--active {
	color: var(--color-gold);
}

.pcard__fav--active {
	border: 0;
}
.pcard__buy {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--accent);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-small);
	font-weight: 500;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	background: transparent;
	transition:
		background 0.2s,
		transform 0.15s;
	padding: 12px 20px;
}
.pcard__buy:hover {
	background: var(--accent);
	color: var(--color-charcoal);
}
.pcard__buy--disabled {
	background: transparent !important;
	color: #b4b4b4 !important;
}
.products__quote {
	color: var(--color-gray-mid);
	line-height: 150%;
	margin-bottom: 10px;
	font-weight: 500;
	overflow-wrap: break-word;
	font-size: var(--text-medium);
	margin-top: 10px;
	text-align: center;
}

.faq__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 42px;
}

.faq__title {
	font-size: var(--title-medium);
	font-weight: 700;
	color: var(--color-black);
}

.faq__subtitle {
	font-size: var(--text-small);
	color: var(--color-black);
	font-weight: 400;
}

.faq__head-actions {
	display: flex;
	align-items: center;
	gap: 40px;
	flex-shrink: 0;
}
.link-support {
	font-size: var(--text-medium);
	font-weight: 500;
	color: var(--color-bg-dark);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s;
}
.faq__head-actions .btn-all {
	padding: 15px 25px;
}
.link-support:hover {
	color: var(--accent);
}

.faq__list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.faq-item {
	transition: background 0.25s;
	background: var(--color-bg-topbar);
	border-radius: 50px;
}

.faq-item__trigger {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 31px;
	padding: 20px 33px;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	font-family: "Montserrat", sans-serif;
	border-radius: 50px;
	background: var(--color-bg-dark);
}
.is-open .faq-item__icon svg path {
	fill: var(--accent);
}

.faq-item__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition:
		border-color 0.2s,
		color 0.2s;
}
.faq-item.is-open .faq-item__icon {
	border-color: var(--accent);
	color: var(--accent);
}

.faq-item__question {
	font-size: var(--text-medium);
	font-weight: 500;
	color: var(--color-text-primary);
	line-height: 1.4;
	flex: 1;
}

.faq-item__arrow {
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--accent);
	transition: transform 0.3s;
}
.faq-item.is-open .faq-item__arrow {
	transform: rotate(90deg);
}

.faq-item__body {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.32s ease;
}
.faq-item.is-open .faq-item__body {
	grid-template-rows: 1fr;
}

.faq-item__body-inner {
	overflow: hidden;
}

.faq-item__answer {
	padding: 0 22px 22px calc(-10px + 28px + 14px);
	font-size: var(--text-medium);
	color: var(--color-text-contact-muted);
	line-height: 1.65;
	padding-top: 20px;
	font-weight: 400;
}

.faq-item__answer strong {
	color: var(--color-text-primary);
	font-weight: 700;
}

.faq-item__answer a {
	color: rgb(255, 70, 70);
	text-decoration: none;
}
.faq-item__answer a:hover {
	text-decoration: underline;
}

.faq {
	padding: 80px 0;
}

.about {
	padding: 80px 0;
	position: relative;
	overflow: hidden;
	background: var(--color-text-primary);
}

.about::before {
	content: "";
	position: absolute;
	bottom: -115px;
	left: -280px;
	width: 500px;
	height: 500px;
	background: rgb(229, 229, 229);
	pointer-events: none;
	border-radius: 100%;
}

.about::after {
	content: "";
	position: absolute;
	background: rgb(from var(--accent) r g b / 20%);
	pointer-events: none;
	width: 568px;
	height: 97.51px;
	top: 198.62px;
	left: -294.61px;
	opacity: 1;
	border-radius: 80px;
	position: absolute;
	transform: rotate(11deg);
	transform-origin: center;
}

.about__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
	position: relative;
	z-index: 9;
}

.about__heading-icon {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 7px solid var(--color-bg-topbar);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.about__heading-icon::after {
	content: "";
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--color-bg-topbar);
}

.about__heading-text {
	font-size: var(--title-medium);
	font-weight: 800;
	color: var(--color-ink);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.contact-head__title {
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(45, 45, 45, 0.1);
	margin-bottom: 40px;
}

.about__textborder {
}
.about__textbor {
	padding-top: 0 !important;
}

.about__texyt {
	background: linear-gradient(180deg, #ffffff 0%, #f4f4f4 100%);
	border-radius: 40px;
	padding: 0 40px;
}

.about__text {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.about__text strong {
	font-weight: 700;
	color: var(--color-ink);
}

.about__text a {
	color: var(--accent);
	text-decoration: underline;
	text-decoration-color: rgb(from var(--color-gold) r g b / 40%);
	font-weight: 500;
}
.about__text a:hover {
	text-decoration-color: var(--accent);
}

.btn-read {
	display: inline-flex;
	align-items: center;
	gap: 40px;
	height: 50px;
	padding: 15px 30px;
	background: var(--color-ink);
	color: var(--color-text-primary);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-small);
	font-weight: 500;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	text-decoration: none;
	transition:
		background 0.2s,
		transform 0.15s;
}

.btn-read:hover {
	background: var(--accent);
	color: var(--color-ink);
}
.btn-read:active {
	transform: scale(0.97);
}

.btn-read__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.about__right {
	background: var(--color-text-contact-muted);
	border-radius: 40px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.about__right-border {
	border: 1px solid rgb(from var(--color-black) r g b / 13%);
	border-radius: 40px;
	padding: 40px 20px;
}

.feature {
	display: grid;
	grid-template-columns: 52px 1fr;
	gap: 0 36px;
	align-items: start;
}

.feature__icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.feature__icon-wrap svg {
	color: var(--accent);
}

.feature__body {
}

.feature__title {
	font-size: var(--text-big);
	font-weight: 400;
	color: var(--color-ink);
	margin-bottom: 10px;
	line-height: 1.3;
}
.feature__title strong {
	font-weight: 700;
}

.feature__list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.feature__list li {
	font-size: var(--text-medium);
	color: var(--color-bg-dark);
	line-height: 1.5;
	display: flex;
	align-items: baseline;
	gap: 7px;
}

.feature__list li::before {
	content: "◆";
	font-size: 7px;
	color: var(--accent);
	flex-shrink: 0;
	position: relative;
	top: -7px;
}

.feature + .feature {
	padding-top: 40px;
	border-top: 1px solid var(--color-bg-light);
}

.footer {
	background: var(--bg-dark);
	display: flex;
	flex-direction: column;
}

.footer__main {
	display: flex;
	min-height: 0;
	max-width: 1920px;
	margin: 0 auto;
}

.footer__brand {
	background: var(--bg-brand);
	flex-shrink: 0;
	width: clamp(220px, 28%, 480px);
	padding: 32px 28px 32px clamp(16px, 3.47vw, 50px);
	display: flex;
	flex-direction: column;
	gap: 0;
}
.footer__logo {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	text-decoration: none;
	margin-bottom: 10px;
}

.footer__logo-text {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.5px;
	color: var(--color-text-primary);
	text-transform: uppercase;
	line-height: 1;
}
.footer__copy {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-small);
	color: var(--text-muted);
	margin-bottom: 20px;
	margin-top: 14px;
}
.footer__copy span {
	color: rgb(133 133 133);
}
.footer__copy a {
	color: var(--text-muted);
	text-decoration: none;
}
.footer__copy a:hover {
	color: var(--color-gray-light);
}

.footer__phone {
	font-size: 21px;
	font-weight: 500;
	color: var(--color-text-primary);
	letter-spacing: -0.5px;
	text-decoration: none;
	display: block;
	margin-bottom: 15px;
	transition: color 0.2s;
}
.footer__phone:hover {
	color: var(--accent);
}

.footer__contacts {
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.footer__contact-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--text-muted);
	text-decoration: none;
	transition: color 0.2s;
}
.footer__contact-item:hover {
	color: var(--color-gray-light);
}
.footer__contact-item svg {
	flex-shrink: 0;
	opacity: 0.55;
}

.footer__right {
	flex: 1;
	min-width: 0;
	background: var(--bg-dark);
	display: grid;
	grid-template-columns: 1px 1fr 1fr 1fr;
	gap: 0;
	padding-block: 32px;
	padding-right: clamp(16px, 3.47vw, 50px);
}

.footer__divider {
	background: var(--color-border);
	margin-inline: 0;
	align-self: stretch;
}

.footer__nav {
	padding-inline: 28px;
}
.footer__nav-title {
	font-size: 21px;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 10px;
}

.footer__nav-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.footer__nav-list a {
	font-size: var(--text-small);
	color: var(--text-muted);
	text-decoration: none;
	transition: color 0.2s;
}
.footer__nav-list a:hover {
	color: var(--accent);
}

.footer__callback {
	padding-left: 28px;
}

.footer__callback-title {
	font-size: 21px;
	font-weight: 700;
	color: var(--color-text-primary);
	margin-bottom: 10px;
}

.footer__callback-desc {
	font-size: 14px;
	color: var(--text-muted);
	line-height: 1.6;
	margin-bottom: 14px;
	color: var(--color-gray-mid);
}

.footer__callback-form {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
}

.footer__input {
	flex: 1;
	height: 46px;
	background: var(--color-text-contact-muted);
	border: 1px solid transparent;
	border-radius: 100px;
	padding: 0 14px;
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-small);
	outline: none;
	min-width: 0;
	transition: border-color 0.2s;
}

.footer__input::placeholder {
	color: rgb(85, 85, 85);
}
.footer__input:focus {
	border-color: rgb(from var(--color-gold) r g b / 40%);
}

.footer__btn-call {
	display: inline-flex;
	align-items: center;
	padding: 0 16px;
	background: var(--accent);
	color: var(--color-ink);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-small);
	font-weight: 500;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
	transition:
		background 0.2s,
		transform 0.15s;
	border: 1.5px solid var(--accent);
}

.footer__btn-call:hover {
	background: transparent;
	color: var(--accent);
}
.footer__btn-call:active {
	transform: scale(0.97);
}

.footer__social {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.footer__social-label {
	font-size: 14px;
	color: var(--text-muted);
	margin-bottom: 0;
}

.footer__social-links {
	display: flex;
	gap: 8px;
	flex-shrink: 0;
}

.social-btn {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: transform 0.2s;
}
.social-btn:hover {
	transform: rotate(360deg);
}
.social-btn:active {
	transform: scale(0.95);
}
.social-btn--viber {
	background: var(--color-purple);
}
.social-btn--telegram {
	background: var(--color-blue);
}

.footer__bottom {
	background: var(--bg-dark);
	border-top: 1px solid var(--color-border);
	padding-block: 14px;
}

.footer__bottom-inner {
	max-width: 1920px;
	margin-inline: auto;
	padding-inline: clamp(16px, 3.47vw, 50px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer__bottom p {
	font-size: 12px;
	color: rgb(68, 68, 68);
	text-align: center;
}

.solutions {
	background-color: var(--color-bg-topbar);
	background-image: url("../images/__\ 1.png");
	background-repeat: no-repeat;
	background-position: center bottom;
	padding-bottom: 0;
}

.solutions__title {
	font-size: var(--title-medium);
	font-weight: 400;
	color: var(--color-text-primary);
	text-align: center;
	margin-bottom: 49px;
	line-height: 1.3;
}
.solutions__title strong {
	font-weight: 700;
}

.solutions-swiper {
	position: relative;
	padding: 0 80px;
	max-width: 1920px;
}

.solutions__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 40px;
	padding: 40px 0;
	padding-top: 0;
	width: 100%;
	margin: 0px auto;
	padding-bottom: 0;
}
.solutions__feature {
	font-size: clamp(16px, 1.1vw, 18px);
	color: var(--color-text-contact-muted);
	line-height: 1.5;
	background: linear-gradient(90deg, var(--color-bg-topbar) 0%, var(--color-bg-dark) 50%, var(--color-bg-topbar) 100%);
	padding: 25px;
	width: 100%;
	text-align: center;
	max-width: 750px;
	border-radius: 50px;
}

.solutions__image {
	width: clamp(160px, 18vw, 260px);
}
.solutions__image img {
	width: 100%;
	display: block;
	object-fit: cover;
}

.solutions__features--left {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: flex-end;
	text-align: right;
}
.solutions__features--right {
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: flex-start;
	text-align: left;
}

.solutions__features--left .solutions__feature::after {
	margin-left: auto;
}

.solutions__cta {
	display: flex;
	justify-content: center;
	margin-top: 80px;
}
.solutions__btn {
	display: inline-flex;
	align-items: center;
	padding: 19px 77px;
	background: var(--accent);
	color: var(--color-ink);
	font-family: "Montserrat", sans-serif;
	font-size: var(--text-medium);
	font-weight: 500;
	border-radius: 50px 50px 0px 0px;
	cursor: pointer;
	text-decoration: none;
	transition:
		background 0.2s,
		transform 0.15s;
	border: 1.5px solid var(--accent);
}
.solutions__btn:hover {
	background: transparent;
	color: var(--accent);
}
.solutions__btn:active {
	transform: scale(0.97);
}

.solutions__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	color: var(--accent);
}
.solutions__arrow:hover {
	color: var(--color-text-primary);
}
.solutions__arrow--prev {
	left: 20px;
}
.solutions__arrow--next {
	right: 20px;
}

.burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
	flex-shrink: 0;
	order: 2;
}
.burger__line {
	display: block;
	width: 22px;
	height: 2px;
	background: var(--color-text-primary);
	border-radius: 2px;
	transition:
		transform 0.25s ease,
		opacity 0.2s ease;
}
.burger.is-active .burger__line:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.burger.is-active .burger__line:nth-child(2) {
	opacity: 0;
}
.burger.is-active .burger__line:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
	position: fixed;
	top: 0;
	right: 0;
	width: min(86vw, 380px);
	height: 100vh;
	height: 100dvh;
	background: var(--color-bg-dark);
	z-index: 300;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	overflow-y: auto;
	box-shadow: -8px 0 24px rgb(from var(--color-black) r g b / 25%);
}
.mobile-menu.is-open {
	transform: translateX(0);
}
.mobile-menu__inner {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 20px;
}
.mobile-menu__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.mobile-menu__title {
	color: var(--color-text-primary);
	font-size: var(--text-medium);
	font-weight: 600;
}
.mobile-menu__close {
	width: 36px;
	height: 36px;
	border: none;
	background: rgb(from var(--color-text-primary) r g b / 8%);
	color: var(--color-text-primary);
	border-radius: 50%;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}
.mobile-menu__search {
	width: 100%;
}
.mobile-menu__catalog {
	width: 100%;
	justify-content: center;
}

.mobile-menu__nav {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}
.mobile-menu__link {
	display: block;
	padding: 14px 4px;
	color: var(--color-text-light);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
	border-bottom: 1px solid var(--color-border);
}
.mobile-menu__link:last-child {
	border-bottom: none;
}
.mobile-menu__link:hover,
.mobile-menu__link--active {
	color: var(--color-text-primary);
}

.mobile-menu__actions {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.mobile-menu__action {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px;
	border-radius: 12px;
	background: rgb(from var(--color-text-primary) r g b / 6%);
	color: var(--color-text-primary);
	text-decoration: none;
	font-size: 15px;
	font-weight: 500;
}
.mobile-menu__badge {
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: 99px;
	background: var(--accent);
	color: var(--color-ink);
	font-size: 11px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mobile-menu__action--accent {
	background: var(--accent);
	color: var(--color-ink);
}

.mobile-menu__contacts {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 6px;
	border-top: 1px solid var(--color-border);
}
.mobile-menu__contact {
	color: var(--color-text-contact-muted);
	text-decoration: none;
	font-size: 13px;
}
a.mobile-menu__contact:hover {
	color: var(--color-text-primary);
}

.mobile-menu-backdrop {
	position: fixed;
	inset: 0;
	background: rgb(from var(--color-black) r g b / 50%);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
	z-index: 290;
}
.mobile-menu-backdrop.is-open {
	opacity: 1;
	pointer-events: auto;
}
body.menu-open {
	overflow: hidden;
}

:root {
	--about-color-bg: rgb(242 242 242);
	--about-color-card-bg: rgb(255 255 255);
	--about-color-text-main: rgb(26 26 26);
	--about-color-text-body: rgb(70 70 70);
	--about-color-dark: rgb(20 20 20);
	--about-color-white: rgb(255 255 255);
	--about-color-accent: rgb(255 179 0);
}

.page-wrap {
	padding: 40px 0 40px 0;
}

.page-single-product {
	padding-bottom: 0;
}
.about__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 3vw, 32px);
}

.about__text {
	border-radius: 16px;
	padding: 40px 0px;
	padding-left: 0;
}

.about__text p {
	font-size: clamp(16px, 1vw, 18px);
	line-height: 1.6;
	color: var(--about-color-text-body);
	margin: 0 0 16px;
}

.about__text p:last-child {
	margin-bottom: 0;
}

.about__text strong {
	color: var(--about-color-text-main);
}

.about__heading {
	display: flex;
	gap: 15px;
}

.map-card {
	background: rgba(33, 33, 33, 1);
	border-radius: 16px;
	padding: clamp(20px, 3vw, 28px);
	border-radius: 40px;
}

.map-card__title {
	font-size: clamp(20px, 1.8vw, 32px);
	font-weight: 700;
	color: var(--about-color-white);
	margin: 0 0 clamp(20px, 2vw, 40px);
}

.map-card__frame {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	background: rgb(230 230 230);
}

.map-card__frame iframe {
	display: block;
	width: 100%;
	height: 450px;
	border: 0;
}

.contact {
	background: rgb(242 242 242);
	padding: clamp(32px, 5vw, 64px) clamp(16px, 4vw, 48px);
}

.contact__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: start;
}

.contact-card__title {
	color: var(--bg-dark);
	margin: 0 0 clamp(10px, 1.5vw, 14px);

	font-weight: 500;
	font-size: var(--title-medium);
	line-height: 150%;
	letter-spacing: 0;
	margin-bottom: 10px;
}

.contact-card__text {
	color: rgb(120 120 120);
	font-weight: 400;
	font-size: var(--text-medium);
	line-height: 150%;
	letter-spacing: 0;
	margin-bottom: 40px;
}

.contact-formC {
	background: var(--color-text-primary);
	border-radius: 40px;
	padding: clamp(24px, 3vw, 40px);
}

.contact-form-wrap {
	background: var(--color-text-primary);
	border-radius: 40px;
	padding: 0 20px;
}

.contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.contact-form__label {
	font-size: var(--text-small);
	color: var(--color-gray-mid);
	padding-left: 10px;
}

.contact-form__required {
	color: rgb(224 64 64);
}

.contact-form__input,
.contact-form__textarea {
	width: 100%;
	background: rgb(245 245 245);
	border: 1px solid rgba(45, 45, 45, 0.2);
	border-radius: 20px;
	padding: 15px 20px;
	font-size: var(--text-small);
	color: var(--color-bg-topbar);
	font-family: inherit;
	transition:
		border-color 0.2s ease,
		background 0.2s ease;
}

.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
	color: var(--color-black);
}

.contact-form__input:focus,
.contact-form__textarea:focus {
	outline: none;
	border-color: var(--accent);
	background: var(--color-text-primary);
}

.contact-form__textarea {
	min-height: 130px;
	resize: vertical;
}

.contact-form__checkbox {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
	font-size: 13px;
	color: var(--color-gray-mid);
	user-select: none;
}

.contact-form__checkbox input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.contact-form__checkbox-box {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	border: 1px solid var(--accent);
	border-radius: 4px;
	background: var(--color-text-primary);
	position: relative;
	transition:
		background 0.2s ease,
		border-color 0.2s ease;
}

.contact-form__checkbox input:checked + .contact-form__checkbox-box {
	background: var(--accent);
	border-color: var(--accent);
}

.contact-form__checkbox input:checked + .contact-form__checkbox-box::after {
	content: "";
	position: absolute;
	left: 4px;
	top: 1px;
	width: 5px;
	height: 9px;
	border: solid var(--color-text-primary);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.contact-form__checkbox-text {
	line-height: 1.4;
}

.contact-form__link {
	color: var(--bg-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.contact-form__link:hover {
	color: rgb(235 163 0);
}

.contact-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	padding: 25px 0px;
	max-width: 350px;

	border: none;
	border-radius: 40px;

	cursor: pointer;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		transform 0.15s ease;

	font-family: "Montserrat", sans-serif;
	font-weight: 500;
	font-size: var(--text-medium);
	line-height: 110%;
	letter-spacing: 0;
	text-align: center;

	color: var(--color-charcoal);
}

.contact-form__submit--accent:hover {
	background: rgb(24 24 24);
	color: var(--color-text-primary);
}

.contact-form__submit:active {
	transform: scale(0.98);
}
.contact-form__submit--accent {
	background: var(--accent);
	color: var(--bg-dark);
}

.contact-form__submit--dark {
	background: rgb(24 24 24);
	color: var(--color-text-primary);
}

.contact-form__submit--dark:hover {
	background: var(--accent);
	color: var(--color-black);
}

.contact-form__icon {
	flex-shrink: 0;
}

.fancybox__content {
	width: auto !important;
	max-width: none !important;
	overflow: visible !important;
	background: transparent !important;
	padding: 0 !important;
}

.fancybox__slide {
	padding: 20px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.popup {
	position: relative;
	width: min(1000px, calc(100vw - 32px));
	background: var(--color-text-primary);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;

	border-radius: 80px 32px 80px 32px;

	padding: 64px 80px;
	margin: 0 auto;
}

.popup__title {
	font-size: clamp(22px, 2.2vw, 28px);
	font-weight: 700;
	text-align: center;
	color: var(--bg-dark);
	margin-bottom: 12px;
}

.popup__subtitle {
	font-size: 14px;
	color: var(--color-gray-mid);
	text-align: center;
	margin-bottom: 28px;
}

.popup__close {
	position: absolute;
	top: -20px;
	right: -20px;

	width: 48px;
	height: 48px;

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

	background: var(--accent);
	border-radius: 50%;
	border: none;
	cursor: pointer;
	z-index: 10;

	transition:
		background 0.2s ease,
		transform 0.2s ease;
}

.popup__close:hover {
	background: rgb(235 163 0);
	transform: scale(1.05);
}

.popup__close svg {
	width: 45%;
	height: 45%;
	stroke: var(--bg-dark);
	stroke-width: 2.5;
}

.contact-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.popup .contact-form__submit {
	width: 100%;
	max-width: none;
}
.fancybox__slide .f-button.is-close-btn,
.fancybox__toolbar {
	display: none !important;
}

.scroll-top {
	position: fixed;
	right: clamp(16px, 3vw, 32px);
	bottom: clamp(16px, 3vw, 32px);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: rgb(24 24 24);
	color: var(--accent);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 14px rgb(0 0 0 / 20%);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition:
		opacity 0.25s ease,
		transform 0.25s ease,
		background 0.2s ease;
	z-index: 100;
}

.scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.scroll-top:hover {
	background: var(--color-bg-dark);
	transform: translateY(-2px);
}

/* Адаптивные стили */

@media (max-width: 1400px) {
	.container {
		width: calc(100% - 50px);
	}

	.header-actions {
		gap: 10px;
	}

	.card__desc {
		font-size: clamp(16px, 1.7vw, 17px);
	}

	.products__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.insert-grid {
		grid-template-columns: repeat(4, 1fr) !important;
	}
}

@media (max-width: 1300px) {
	.cat-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.cat-card {
		padding: 20px 15px;
	}
	.section__title {
		font-size: 28px;
	}
}

@media (min-width: 992px) and (max-width: 1300px) {
	.action-btn__label {
		display: none;
	}
	.action-btn {
		padding: 15px 10px;
		width: 60px;
	}
	.btn-dealers {
		padding: clamp(10px, 1.2vw, 14px) 18px;
	}
}

@media (max-width: 1250px) {
	.footer__main {
		flex-direction: column;
	}
	.footer__brand {
		width: 100%;
		padding: 36px clamp(16px, 3.47vw, 50px);
	}
	.footer__right {
		grid-template-columns: 1fr 1fr 1fr;
		padding: 36px clamp(16px, 3.47vw, 50px);
	}
	.footer__divider {
		display: none;
	}
	.footer__nav {
		padding-inline: 0;
	}
	.footer__callback {
		padding-left: 0;
	}

	.nav__link {
		padding: 20px 20px;
	}
	.footer__brand {
		align-items: center;
	}
}

@media (max-width: 1200px) {
	.cards-grid {
		grid-template-columns: 1fr 1fr;
	}
	.card--help {
		grid-column: 1 / -1;
	}
	.btn-partner {
		text-align: center;
		align-items: center;
		justify-content: center;
	}

	.slide-content {
		padding-top: 80px;
	}

	.slide-title {
		margin-bottom: 60px;
	}
	.btn-hero {
		padding: 15px 20px;
		font-size: var(--text-medium);
	}

	.feature__list li {
		font-size: var(--text-small);
	}
	.feature__title {
		font-size: var(--text-big);
		font-weight: 400;
		color: var(--color-ink);
		margin-bottom: 10px;
		line-height: 1.3;
	}
	.btn-partner {
		width: 100%;
	}
	.card--promo .side-label {
		width: 35px;
	}
	.nav__inner {
		display: flex;
		align-items: center;
		gap: 0;
	}
	.nav__link {
		font-size: 13px;
	}

	.cat-card {
		padding: 20px 15px;
	}

	.products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.about__grid {
		grid-template-columns: 1fr;
	}

	.cat-card__img {
		width: 75px;
		height: 75px;

		margin-bottom: 5px;
	}
	.cat-card {
		min-height: 100%;
		padding: 15px 15px;
		min-width: 120px;
	}

	.insert-grid {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 1024px) {
	.cat-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.products__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.popup {
		border-radius: 60px 24px 60px 24px;
		padding: 48px 40px;
	}

	.popup__close {
		width: 42px;
		height: 42px;
		top: -16px;
		right: -16px;
	}

	.card--promo .side-label {
		width: 50px;
	}
	.hero-swiper .swiper-button-prev,
	.hero-swiper .swiper-button-next {
		bottom: 120px;
		width: 80px;
		height: 50px;
	}
}

@media (max-width: 991px) {
	.contact__inner {
		grid-template-columns: 1fr;
	}
	.catalog-control {
		display: none;
	}
	.contact-card__title {
		font-size: var(--title-medium);
	}
	.contact-form__submit--dark {
		align-self: stretch;
	}

	.contact-form__submit {
		font-size: var(--text-small);
	}

	.container {
		width: calc(100% - (clamp(16px, 3.47vw, 50px) * 2));
	}
	.link-support {
		display: none;
	}
	.faq-item__answer {
		font-size: 15px;
	}

	.topbar__inner {
		flex-wrap: wrap;
		row-gap: 8px;
	}
	.nav__inner {
		display: none;
	}
	.topbar__right {
		width: 100%;
		justify-content: center;
		flex-wrap: wrap;
		row-gap: 6px;
	}

	.footer__input {
		padding: 10px 14px;
	}
	.footer__btn-call {
		padding: 8px 16px;
	}

	.padding__box {
		padding-bottom: 40px;
	}
	.padding__box-all {
		padding-bottom: 40px;
		padding-top: 40px;
	}

	.solutions.padding__box-all {
		padding-bottom: 0;
	}

	.solutions__features--left {
		width: 100%;
	}
	.solutions__features--lef,
	.solutions__features--right {
		gap: 24px;
	}

	.solutions-swiper {
		padding: 0px 10px;
		box-sizing: border-box;
	}

	.footer__right {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"nav1 nav2"
			"callback callback";
		gap: 32px;
	}

	.footer__nav:nth-of-type(1) {
		grid-area: nav1;
	}

	.footer__nav:nth-of-type(2) {
		grid-area: nav2;
	}

	.footer__callback {
		grid-area: callback;
		background: rgba(255, 255, 255, 0.04);
		border-radius: 24px;
		padding: 32px;
	}

	.footer__divider {
		display: none;
	}

	.footer__nav,
	.footer__callback-title,
	.footer__callback-desc {
		text-align: center;
	}

	.topbar {
		display: none;
	}

	.hero-swiper .swiper-button-prev,
	.hero-swiper .swiper-button-next {
		width: 50px;
		height: 30px;
	}
	.hero-swiper .swiper-button-prev:hover {
		color: var(--color-text-primary);
	}
	.swiper-button-prev svg,
	.swiper-button-next svg {
		width: 7px;
	}
	.slide-title {
		margin-bottom: 40px;
	}

	.btn-hero {
		padding: 11px 13px;
		font-size: var(--text-small);
	}
	.pcard__buy span {
		display: none;
	}
	.faq-item__question {
		font-size: var(--text-small);
	}
	.products__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.faq__head {
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
		flex-direction: column;
	}

	.faq__head-actions {
		width: 100%;

		justify-content: space-between;
	}

	.sldiercontainers {
		display: none;
	}

	.section__title {
		font-size: 27px;
	}

	.main__title,
	h1 {
		font-size: 3.2vw;
	}

	.discount-badge {
		font-size: 27px;
	}

	.header {
		position: sticky;
	}

	.header__inner {
		gap: 12px;
		padding: 12px 0;
		display: flex;
		justify-content: space-between;
	}

	.header__inner::after {
		display: none;
	}

	.logo {
		order: initial;
	}

	.btn-catalog:not(.mobile-menu__catalog),
	.search:not(.mobile-menu__search),
	.btn-dealers,
	.header-actions {
		display: none;
	}

	.burger {
		display: flex;
		order: initial;
		margin-left: 0;
		width: 44px;
		height: 44px;
		border-radius: 12px;
		background: rgb(from var(--color-text-primary) r g b / 8%);
	}

	.mobile-menu__search {
		display: block;
	}

	.mobile-menu__catalog {
		display: flex;
		width: 100%;
		min-height: 48px;
		justify-content: center;
		text-decoration: none;
	}
}

@media (max-width: 900px) {
	.cards-grid {
		grid-template-columns: 1fr 1fr;
	}
	.card--help {
		grid-column: 1 / -1;
	}

	.about__right {
		padding: 28px 24px;
	}
}

@media (max-width: 768px) {
	.products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.products__head {
		flex-direction: column;
	}

	.solutions__body {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 24px;
		text-align: center;
	}
	.solutions__features--left,
	.solutions__features--right {
		align-items: center;
	}
	.solutions__features--left .solutions__feature::after,
	.solutions__features--right .solutions__feature::after {
		margin-inline: auto;
	}
	.solutions__image {
		order: -1;
	}

	.map-card__frame {
		aspect-ratio: 4 / 5;
	}

	.slide-title {
		margin-bottom: 32px;
		padding-left: 20px;
		border-left-width: 4px;
	}
	.slide-actions {
		gap: 16px;
	}
	.btn-hero {
		padding: 14px 28px;
		font-size: 15px;
	}
	.worktime {
		font-size: 13px;
		padding: 8px 12px;
	}
	.hero-swiper .swiper-button-prev,
	.hero-swiper .swiper-button-next {
		width: 34px;
		height: 34px;
		bottom: 16px;
	}
	.hero-swiper .swiper-button-prev {
		left: 16px;
	}
	.hero-swiper .swiper-button-next {
		right: 16px;
	}
	.hero-swiper .swiper-button-prev::after,
	.hero-swiper .swiper-button-next::after {
		font-size: 11px;
	}
	.hero-swiper .swiper-pagination {
		bottom: 24px;
	}

	.topbar {
		display: none;
	}

	.mobile-menu {
		width: min(92vw, 380px);
	}

	.mobile-menu__inner {
		gap: 18px;
		padding: 16px;
	}
}

@media (max-width: 700px) {
	.card--promo .side-label {
		position: static;

		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--accent);
		background: var(--color-cream);
		padding: 11px 10px;
		border-radius: 50px;
		white-space: nowrap;
		transform: rotate(0deg);
		align-items: center;
		text-align: center;
		box-sizing: border-box;
		margin-bottom: 14px;
	}
	.about__texyt {
		padding: 20px;
	}
	.card--promo .side-label {
		width: 50px;
		display: block;
		width: 100%;
		height: auto;
	}

	.side-label i {
		font-style: normal;
		color: var(--color-black);
		font-weight: 500;
		font-size: var(--text-small);
		transform: inherit;
		display: block;
		width: 100%;
		position: relative;
		top: 0;
		left: 0;
	}
	.cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.insert-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
	.breadcrumbs__link {
		font-size: 14px;
	}
	.breadcrumbs__current {
		font-size: 14px;
	}
}

@media (max-width: 640px) {
	.cat-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.categories__head {
		flex-direction: column;
	}
	.categories__wrap {
		padding: 24px 20px 28px;
	}

	.faq__head {
		flex-direction: column;
	}
	.faq__head-actions {
		flex-wrap: wrap;
	}
	.faq-item__answer {
		padding-left: 22px;
	}

	.footer__right {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.footer__callback-form {
		flex-direction: column;
	}
	.footer__btn-call {
		width: 100%;
		justify-content: center;
	}

	.popup {
		border-radius: 40px 20px 40px 20px;
		padding: 36px 24px;
	}

	.popup__close {
		width: 36px;
		height: 36px;
		top: -12px;
		right: -12px;
	}

	.topbar__item {
		font-size: 11px;
	}
	.topbar__divider {
		display: none;
	}
}

@media (max-width: 600px) {
	.cards-grid {
		grid-template-columns: 1fr;
	}
	.card--help {
		grid-column: auto;
	}
	.cards-section {
		margin-top: 0;
	}

	.card {
		padding: 20px 30px 20px 30px;
	}
	.cards-section {
		padding-top: 50px;
	}

	.contact-card__title {
		font-size: var(--text-big);
	}
	.contact__tilte {
		margin-bottom: 25px;
		padding-bottom: 25px;
	}

	.btn-catalog svg {
		display: none;
	}
	.cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.faq-item__icon {
		display: none;
	}

	.products__grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.section__title,
	h2 {
		font-size: 23px;
	}

	.main__title,
	h1 {
		font-size: var(--title-small);
	}
	.discount-badge {
		font-size: 23px;
	}
	.btn-catalog {
		padding: 12px 20px;
		gap: 8px;
		font-size: 15px;
		order: 2;
	}
	/* Keep the catalogue link directly below the mobile-menu header. */
	.mobile-menu__catalog {
		order: 1;
	}
	.mobile-menu__search {
		order: 2;
	}
	.mobile-menu__nav {
		order: 3;
	}
	.mobile-menu__actions {
		order: 4;
	}
	.mobile-menu__contacts {
		order: 5;
	}
	.btn-catalog svg {
		display: block;
	}

	.main__title,
	h1 {
		line-height: 30px;
	}

	.ptable__link {
		font-size: var(--text-small);
	}

	.footer__right {
		grid-template-columns: 1fr;
		grid-template-areas:
			"nav1"
			"nav2"
			"callback";
		gap: 40px;
	}

	.footer__nav-title,
	.footer__nav-list {
		text-align: center;
	}

	.footer__nav-list {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.product-specs__row {
		gap: 5px;
		flex-direction: column;
		justify-content: left;
		align-items: baseline !important;
	}

	.product-specs__row--multiline .product-specs__value {
		max-width: 100%;
		line-height: 1.5;
		text-align: left;
	}

	.ptable {
		min-width: 640px;
	}

	.ptable__th--name,
	.ptable__td--name {
		position: sticky;
		left: 0;
		z-index: 2;
		background: #fff;
		width: 130px;
		min-width: 130px;
		max-width: 130px;
		padding: 10px 12px;
	}

	.ptable__th--name {
		z-index: 3;
		background: #f5f5f5;
	}

	.ptable__link {
		font-size: 14px;
		white-space: normal;
	}

	.ptable__article {
		font-size: 11px;
	}
	.ptable__article i {
		font-size: 11px;
	}

	.ptable__th--cart,
	.ptable__td--cart {
		position: sticky;
		right: 0;
		z-index: 2;
		background: #fff;
		width: 110px;
		min-width: 110px;
		max-width: 110px;
		padding: 8px;
	}

	.ptable__th--cart {
		z-index: 3;
		background: #f5f5f5;
	}

	.ptable__cart {
		display: flex;
		justify-content: space-between;
		padding: 0px;
		flex-direction: column;
	}

	.ptable__buy {
		padding: 7px 10px;
		font-size: 13px;
		width: 100%;
	}

	.qty__btn {
		width: 20px;
		height: 20px;
	}

	.qty__input {
		width: 30px;
		height: 20px;
		font-size: 12px;
	}

	.ptable__stock {
		font-size: 10px;
	}

	.ptable__td--name::after,
	.ptable__th--name::after {
		content: "";
		position: absolute;
		top: 0;
		right: -1px;
		bottom: 0;
		width: 6px;
		pointer-events: none;
		box-shadow: 4px 0 6px -4px rgba(0, 0, 0, 0.15);
	}

	.ptable__td--cart::before,
	.ptable__th--cart::before {
		content: "";
		position: absolute;
		top: 0;
		left: -1px;
		bottom: 0;
		width: 6px;
		pointer-events: none;
		box-shadow: -4px 0 6px -4px rgba(0, 0, 0, 0.15);
	}

	.ptable__td--cart {
		min-width: 120px;
	}

	.ptable__link {
		font-size: 15px;
	}

	.ptable__td {
		padding: 5px 10px !important;
	}
	.ptable__td {
		padding: 10px !important;
	}

	.ptable__td--cart {
		min-width: 90px !important;
	}

	.ptable__td--name {
		min-width: 90px !important;
	}

	.ptable__th {
		font-size: 12px !important;
	}
	.ptable__link {
		font-size: 14px !important;
	}
	.ptable__th {
		padding: 15px;
		white-space: normal !important;
		font-weight: 500;
		font-size: var(--text-medium);
		line-height: 150%;
	}
	.ptable__td {
		padding: 5px !important;
		font-size: 14px !important;
	}

	.ptable__buy {
		padding: 9px 5px !important;

		font-size: 14px !important;
	}
	.ptable__th--name,
	.ptable__td--name,
	.ptable__th--cart,
	.ptable__td--cart {
		background: #fafafa;
	}

	.qty__btn {
		flex: 0 0 20px !important;
	}

	.logo img {
		width: 180px;
		max-height: 32px;
	}
	.logo-anim-shesterenka {
		position: absolute;
		top: 50%;
		right: 30px;
		transform: translate(0, -53%);
		width: 22px;
	}
	.burger {
		width: 42px;
		height: 42px;
	}
}

@media (max-width: 500px) {
	.insert-grid {
		grid-template-columns: repeat(1, 1fr) !important;
	}

	.products__grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.cat-grid {
		grid-template-columns: repeat(1, 1fr);
	}
	.about__grid {
		display: block;
	}
	.about__right-border {
		border: 0;
		border-radius: 40px;
		padding: 0;
	}
	.feature {
		display: block;
	}
	.about__right {
		padding: 28px 24px;
		margin-top: 30px;
	}
	.faq-item__question {
		font-size: 15px;
	}
	.faq-item__answer {
		padding: 0 22px 22px calc(-10px + 28px + 14px);
		font-size: var(--text-small);
	}
	.about__text p {
		font-size: var(--text-small);
		color: var(--color-black);
		line-height: 1.7;
	}
	.faq__head-actions {
		gap: 10px;
	}

	.faq__head {
		gap: 18px;
	}
	.solutions__btn {
		padding: 19px 35px;
	}

	.worktime {
		display: none;
	}

	.cards-section,
	.faq,
	.about {
		padding-bottom: 50px;
		padding-top: 50px;
	}
	.categories,
	.products {
		padding-bottom: 50px;
	}
	.faq-item__answer {
		padding: 15px 22px 22px calc(-10px + 28px + 14px);
	}
	.footer__brand {
		flex-direction: column-reverse;

		gap: 8px;
	}

	.footer__input {
		padding: 10px 14px;
	}
	.footer__btn-call {
		padding: 8px 16px;
	}
	.footer__main {
		flex-direction: column-reverse;
	}
}

@media (max-width: 480px) {
	.about {
		padding: 20px 16px 32px;
	}

	.about__text,
	.map-card {
		padding: 20px;
	}

	.map-card__frame {
		aspect-ratio: 1 / 1;
	}

	.footer__copy,
	.footer__copy span {
		display: block;
	}

	.contact {
		padding: 24px 16px;
	}

	.contact-form {
		padding: 20px;
	}

	.scroll-top {
		width: 40px;
		height: 40px;
	}

	.btn-catalog {
		padding: 10px 12px;
		gap: 8px;
		font-size: 14px;
	}
	.btn-catalog svg {
		flex-shrink: 0;
	}
	.search__input {
		padding: 12px 48px 12px 14px;
		font-size: 13px;
	}
	.btn-callback {
		width: 100%;
		justify-content: center;
	}
	.slide-content__inner {
		max-width: 100%;
	}
	.categories__wrap {
		padding: 16px;
	}
	.btn-all {
		padding: 12px 24px;
		font-size: 16px;
		width: 100%;
		text-align: center;
		justify-content: center;
	}
}

@media (max-width: 400px) {
	.cat-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.products__grid {
		grid-template-columns: 1fr;
	}
}

/* Контейнер на весь экран */
.popup-overlay {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.6);
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	backdrop-filter: blur(2px);
}

.popup-overlay.is-visible {
	display: flex;
}

/* Сам попап внутри overlay */
.popup-overlay .popup {
	position: relative;
	width: min(1000px, calc(100vw - 32px));
	background: #ffffff;
	border-radius: 40px;
	padding: 20px 40px;
	margin: 0;
	max-height: 90vh;
	overflow-y: auto;
	animation: popupSlideIn 0.3s ease;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
	border: none;
	display: block;
}

/* Крестик */
.popup-overlay .popup__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 44px;
	height: 44px;
	background: #ffb300;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 20;
	transition:
		transform 0.2s,
		background 0.2s;
	padding: 0;
}

.popup-overlay .popup__close:hover {
	background: #e6a100;
	transform: rotate(90deg);
}

.popup-overlay .popup__close svg {
	width: 22px;
	height: 22px;
	stroke: #212121;
	stroke-width: 2.5;
}

/* Иконки успеха/ошибки */
.popup-success__icon,
.popup-error__icon {
	text-align: center;
	margin: 10px 0 20px;
}

.popup-success__icon svg,
.popup-error__icon svg {
	display: inline-block;
}

.popup-success__title {
	color: #2e7d32;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 12px;
}

.popup-error__title {
	color: #c62828;
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 12px;
}

/* Заголовок и текст */
.popup-overlay .popup__title {
	font-size: 28px;
	font-weight: 700;
	text-align: center;
	color: #212121;
	margin-bottom: 12px;
}

.popup-overlay .popup__subtitle {
	font-size: 16px;
	color: #707070;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 0;
}

/* Кнопка закрытия */
.popup-overlay .contact-form__submit {
	min-width: 200px;
	padding: 20px 40px;
	border: none;
	border-radius: 40px;
	background: #ffb300;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition:
		background 0.2s,
		transform 0.15s;
	display: block;
	margin: 20px auto 0;
	color: #212121;
	text-align: center;
	max-width: 100%;
	display: flex;
	align-items: center;
}

.popup-overlay .contact-form__submit:hover {
	background: #e6a100;
	transform: scale(1.02);
}

.popup-overlay .contact-form__submit:active {
	transform: scale(0.97);
}

/* Анимация появления */
@keyframes popupSlideIn {
	from {
		opacity: 0;
		transform: scale(0.9) translateY(30px);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}

/* Адаптив */
@media (max-width: 640px) {
	.popup-overlay {
		padding: 16px;
		align-items: flex-start;
		padding-top: 40px;
	}

	.popup-overlay .popup {
		padding: 32px 24px;
		border-radius: 28px;
		max-width: 100%;
	}

	.popup-overlay .popup__close {
		top: 10px;
		right: 10px;
		width: 38px;
		height: 38px;
	}

	.popup-overlay .popup__close svg {
		width: 18px;
		height: 18px;
	}

	.popup-overlay .popup__title,
	.popup-success__title,
	.popup-error__title {
		font-size: 22px;
	}

	.popup-overlay .popup__subtitle {
		font-size: 14px;
	}

	.popup-overlay .contact-form__submit {
		min-width: 100%;
		padding: 14px 20px;
		font-size: 15px;
	}
}

@media (max-width: 400px) {
	.popup-overlay .popup {
		padding: 24px 16px;
		border-radius: 20px;
	}

	.popup-overlay .popup__close {
		top: 8px;
		right: 8px;
		width: 34px;
		height: 34px;
	}

	.popup-overlay .popup__close svg {
		width: 16px;
		height: 16px;
	}
}

/* Затемнение для попапов */
#popup-request,
#popup-callback {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	background: rgba(0, 0, 0, 0.6);
	align-items: center;
	justify-content: center;
	padding: 20px;
	animation: popupFadeIn 0.3s ease;
}

/* Контейнер с контентом попапа */
#popup-request .contact-form-wrap,
#popup-callback .contact-form-wrap {
	position: relative;
	width: 100%;
	max-width: 500px;
	background: #ffffff;
	border-radius: 40px;
	padding: 40px 50px;
	margin: auto;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

/* Кнопка закрытия */
#popup-request .popup__close,
#popup-callback .popup__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	background: #ffb300;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
	transition:
		transform 0.2s,
		background 0.2s;
}

#popup-request .popup__close:hover,
#popup-callback .popup__close:hover {
	background: #e6a100;
	transform: rotate(90deg);
}

#popup-request .popup__close svg,
#popup-callback .popup__close svg {
	width: 20px;
	height: 20px;
	stroke: #212121;
	stroke-width: 2.5;
}

/* Анимация появления */
@keyframes popupFadeIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Адаптив */
@media (max-width: 640px) {
	#popup-request .contact-form-wrap,
	#popup-callback .contact-form-wrap {
		padding: 28px 24px;
		border-radius: 28px;
	}
}

@media (max-width: 400px) {
	#popup-request .contact-form-wrap,
	#popup-callback .contact-form-wrap {
		padding: 20px 16px;
		border-radius: 20px;
	}
}
