/**
 * Blocks Styles
 * Styles for flexible content blocks
 */

/* ==========================================================================
   CSS Variables for Blocks
   ========================================================================== */

:root {
	/* Brand Colors */
	--color-teal: #19abb8;
	--color-teal-dark: #02464c;
	--color-red: #e5403e;
	--color-red-dark: #5a0d0c;
	--color-orange: #f28b14;
	--color-orange-dark: #653601;
	--color-green: #008556;
	--color-green-dark: #003c27;

	/* Block Backgrounds */
	--color-bg-light: #f1f1f1;
	--color-bg-gray: #e7e7e7;

	/* Block Shadows */
	--shadow-card: 0 0 2.4rem 0 rgba(66, 66, 66, 0.16);
	--shadow-card-zero: 0 0 0 0 rgba(66, 66, 66, 0.16);
	--shadow-nav: 0 0 5.6rem 0 rgba(115, 123, 130, 0.16);
	--shadow-faq-icon: 0 0 4.8rem 0 rgba(115, 123, 130, 0.12);
}

/* ==========================================================================
   Block: Promo
   ========================================================================== */

.block-promo {
	position: relative;
	overflow: hidden;
}

.block-promo__inner {
	position: relative;
	padding: var(--spacing-4xl) 24rem;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.block-promo__logo {
	flex-shrink: 0;
	width: 28rem;
	height: auto;
	position: relative;
}

.block-promo__logo img {
	width: 100%;
	height: auto;
}

.block-promo__text {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: var(--font-size-2-5xl);
	line-height: var(--line-height-tight);
	font-weight: var(--font-weight-bold);
	position: relative;
	align-self: stretch;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
   Block: Content Media
   ========================================================================== */

.block-content-media__wrapper {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content: flex-start;
	position: relative;
	overflow: hidden;
}

.block-content-media--media-left {
	flex-direction: row-reverse;
}

/* Content Column */
.block-content-media__content {
	padding: var(--spacing-4xl);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-4xl);
	align-items: flex-start;
	justify-content: flex-start;
	flex: 1;
	max-width: 50%;
	position: relative;
	overflow: hidden;
}

.block-content-media__content--extended {
	padding: var(--spacing-4xl) 12rem var(--spacing-4xl) var(--spacing-4xl);
}

/* Pattern Background */
.block-content-media__pattern {
	position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
	overflow: visible;
	pointer-events: none;
	z-index: 0;
}

.block-content-media--media-left .block-content-media__pattern {
	left: auto;
	right: 0;
}

/* Content Inner */
.block-content-media__inner {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-4xl);
	align-items: flex-start;
	justify-content: flex-start;
	align-self: stretch;
	position: relative;
	z-index: 1;
}

.block-content-media__content--simple .block-content-media__inner {
	height: 100%;
	justify-content: space-between;
}

/* Sections */
.block-content-media__section {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
	align-items: flex-start;
	justify-content: flex-start;
	align-self: stretch;
	justify-content: space-between;
    height: 100%;
}

/* Section Header */
.block-content-media__header {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	align-items: flex-start;
	justify-content: flex-start;
}

.block-content-media__content--simple .block-content-media__header {
	padding-right: 8rem;
}

/* Badge */
.block-content-media__badge {
	border-radius: var(--radius-sm);
	padding: var(--spacing-xs) 0.6rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.block-content-media__badge-text {
	color: var(--color-white);
	text-align: left;
	font-family: var(--font-inter);
	font-size: var(--font-size-xs);
	line-height: 1.4;
	letter-spacing: 0.02em;
	font-weight: var(--font-weight-bold);
	font-style: italic;
	text-transform: uppercase;
}

/* Section Title */
.block-content-media__title {
	color: var(--color-white);
	text-align: left;
	font-family: var(--font-actay);
	font-size: 3.4rem;
	line-height: var(--line-height-snug);
	font-weight: var(--font-weight-bold);
	max-width: 54rem;
}

.block-content-media__content--simple .block-content-media__title {
	font-size: var(--font-size-2xl);
	max-width: none;
	align-self: stretch;
}

/* Section Description */
.block-content-media__description {
	padding-right: 8rem;
	align-self: stretch;
}

.block-content-media__content--simple .block-content-media__description {
	padding-right: 12rem;
}

.block-content-media__description p,
.block-content-media__description ul,
.block-content-media__description ol {
	color: var(--color-white);
	text-align: left;
	font-family: var(--font-inter);
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: var(--font-weight-regular);
	margin: 0;
}

.block-content-media__description ul {
	list-style-type: disc;
	padding-left: var(--spacing-lg);
}

/* Button */
.block-content-media__button {
	background: var(--color-white);
	border-radius: var(--radius-md);
	padding: 2rem var(--spacing-2xl);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-xs);
	text-decoration: none;
	transition: opacity var(--transition-fast);
	position: relative;
	z-index: 1;
}

.block-content-media__button:hover {
	opacity: 0.9;
}

.block-content-media__button-text {
	color: var(--color-black);
	text-align: left;
	font-family: var(--font-inter);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-normal);
	letter-spacing: 0.02em;
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
}

/* Media Column */
.block-content-media__media {
	flex: 1;
	position: relative;
	background: #d7d7d7;
	min-height: 55rem;
}

.block-content-media__media-image {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.block-content-media__media-overlay {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	z-index: 1;
}

/* Color Variants */
.block-content-media--teal .block-content-media__content {
	background: var(--color-teal);
}

.block-content-media--teal .block-content-media__badge {
	background: var(--color-teal-dark);
}

.block-content-media--red .block-content-media__content {
	background: var(--color-red);
}

.block-content-media--red .block-content-media__badge {
	background: var(--color-red-dark);
}

.block-content-media--orange .block-content-media__content {
	background: var(--color-orange);
}

.block-content-media--orange .block-content-media__badge {
	background: var(--color-orange-dark);
}

.block-content-media--green .block-content-media__content {
	background: var(--color-green);
}

.block-content-media--green .block-content-media__badge {
	background: var(--color-green-dark);
}

/* ==========================================================================
   Block: Product Categories
   ========================================================================== */

.block-product-categories {
	padding: var(--spacing-5xl) var(--spacing-4xl) var(--spacing-6xl);
	display: flex;
	flex-direction: column;
	gap: 5.6rem;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

/* Header */
.block-product-categories__header {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
	align-items: center;
	justify-content: flex-start;
	padding-bottom: var(--spacing-4xl);
}

.block-product-categories--variant-1 .block-product-categories__header {
	padding-bottom: 0;
}

/* Title */
.block-product-categories__title {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: var(--font-size-4xl);
	line-height: var(--line-height-tight);
	font-weight: var(--font-weight-bold);
	width: 100%;
	max-width: 132rem;
}

.block-product-categories--variant-2 .block-product-categories__title {
	font-size: 5.6rem;
}

/* Logo */
.block-product-categories__logo {
	padding: var(--spacing-md) 0 var(--spacing-lg);
	flex-shrink: 0;
	width: fit-content;
	height: auto;
}

.block-product-categories__logo img {
	width: 100%;
	height: 4.4rem;
}

/* Grid */
.block-product-categories__grid {
	display: flex;
	flex-direction: row;
	gap: 0;
	align-items: flex-start;
	justify-content: center;
	align-self: stretch;
}

/* Category Item */
.block-product-categories__item {
	border-radius: var(--radius-md);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	flex-shrink: 0;
	width: 33rem;
	position: relative;
	overflow: hidden;
	text-decoration: none;
	box-shadow: var(--shadow-card-zero);
	transition: box-shadow var(--transition-base);
}

.block-product-categories__item:hover,
.block-product-categories__item--active {
	background: var(--color-white);
	box-shadow: var(--shadow-card);
	z-index: 2;
}

.block-product-categories__item-image-wrapper {
	position: relative;
	align-self: stretch;
	flex-shrink: 0;
	overflow: hidden;
	z-index: 1;
}

/* Item Image */
.block-product-categories__item-image {
	height: 33rem;
	position: relative;
	z-index: 2;
}

.block-product-categories__item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.block-product-categories__item-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
    height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	object-fit: contain;
	transform: scale(1);
	transition: scale var(--transition-base);
}

.block-product-categories__item-bg img {
	width: 24.2rem;
	transform: scale(1);
	transition: transform var(--transition-base);
}

.block-product-categories__item:hover .block-product-categories__item-bg img {
	transform: scale(0);
	transition: transform var(--transition-base);
}

/* Item Content */
.block-product-categories__item-content {
	padding: var(--spacing-xl) var(--spacing-2xl);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	align-items: center;
	justify-content: flex-start;
	align-self: stretch;
	overflow: hidden;
}

/* Item Title */
.block-product-categories__item-title {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: var(--font-size-xl);
	line-height: var(--line-height-snug);
	font-weight: var(--font-weight-bold);
	align-self: stretch;
	min-height: 3.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color var(--transition-fast);
}

.block-product-categories__item-title--red:hover .block-product-categories__item-title {
	color: var(--color-red);
}

.block-product-categories__item-title--orange:hover .block-product-categories__item-title {
	color: var(--color-orange);
}

.block-product-categories__item-title--green:hover .block-product-categories__item-title {
	color: var(--color-green);
}


/* Item Description */
.block-product-categories__item-description {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-inter);
	font-size: var(--font-size-sm);
	line-height: 1.2;
	font-weight: var(--font-weight-regular);
	align-self: stretch;
}

/* Subtitle */
.block-product-categories__subtitle {
	padding-top: var(--spacing-4xl);
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-inter);
	font-size: var(--font-size-lg);
	line-height: var(--line-height-normal);
	font-weight: var(--font-weight-regular);
}

/* ==========================================================================
   Responsive Styles
   ========================================================================== */

@media (max-width: 1089px) {
	.block-content-media__content--extended {
		padding: var(--spacing-4xl);
	}

	.block-content-media__description {
		padding-right: var(--spacing-2xl);
	}

	.block-content-media__content--simple .block-content-media__description {
		padding-right: var(--spacing-3xl);
	}

	.block-content-media__inner {
		gap: var(--spacing-3xl);
	}

	.block-product-categories__header {
		gap: 0;
	}

	.block-product-categories__logo img {
		height: var(--spacing-xl);
	}

	.block-promo {
		padding: var(--spacing-3xl) 0;
	}

	.block-promo__inner {
		padding: 0;
		gap: var(--spacing-sm);
	}

	.block-promo__logo {
		width: auto;
		height: var(--spacing-xl);
	}

	.block-promo__logo img {
		height: 100%;
	}


	.block-product-categories__grid {
		padding: 0 1.6rem;
		padding-bottom: var(--spacing-3xl);
		margin: 0 -1.6rem;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		scroll-snap-align: start;
		justify-content: space-between;
	}

	.block-product-categories__grid::-webkit-scrollbar {
		display: none;
	}

	.block-product-categories__subtitle {
		padding: var(--spacing-md) var(--spacing-lg);
		font-size: var(--font-size-base);
		line-height: var(--line-height-normal);
		font-weight: var(--font-weight-regular);
		text-align: center;
		align-self: stretch;
		min-height: 3.2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 12px;
		background: #F1F1F1;
	}

	.block-product-categories__item-content {
		padding: var(--spacing-lg) var(--spacing-2xl);
	}

	.block-promo__text {
		font-size: 3rem;
	}

	.block-content-media__content {
		padding: var(--spacing-2xl) var(--spacing-lg) var(--spacing-3xl);
		width: 100%;
		max-width: none;
		margin-top: -32px;
    	padding-top: calc(32px + var(--spacing-2xl));
		z-index: 1;
	}

	.block-content-media--teal .block-content-media__content,
	.block-content-media--orange .block-content-media__content,
	.block-content-media--green .block-content-media__content,
	.block-content-media--red .block-content-media__content {
		background: transparent;
	}
 
	.block-content-media__content::before {
        content: "";
        position: absolute;
        inset: 0;
        left: 50%;
        width: 100vw;
        transform: translateX(-50%);
        background-color: #19abb8;
        z-index: -1;
        -webkit-clip-path: polygon(0 32px, 100% 0, 100% 100%, 0 100%);
        clip-path: polygon(0 32px, 100% 0, 100% 100%, 0 100%);
	}

	.block-content-media--teal .block-content-media__content::before {
		background: #19abb8;
	}

	.block-content-media--orange .block-content-media__content::before {
		background: #f28b14;
	}

	.block-content-media--green .block-content-media__content::before {
		background: #008556;
	}

	.block-content-media--red .block-content-media__content::before {
		background: #e5403e;
	}

	.block-content-media__section {
		gap: var(--spacing-lg);
	}

	.block-content-media__wrapper {
		flex-direction: column-reverse;
	}

	.block-content-media--media-left .block-content-media__wrapper {
		flex-direction: column;
	}

	.block-content-media__title {
		font-size: 2.8rem;
	}

	.block-content-media__description p {
		font-size: var(--font-size-sm);
	}

	.block-content-media__button {
		width: 100%;
		height: 5.6rem;
	}

	.block-content-media__content--simple .block-content-media__title {
		font-size: var(--font-size-xl);
	}

	.block-content-media__content--simple .block-content-media__header {
		padding-right: 0;
	}

	.block-content-media__description,
	.block-content-media__content--simple .block-content-media__description {
		padding-right: 0;
	}

	.block-content-media__pattern {
		display: none;
	}

	.block-product-categories {
		padding: var(--spacing-3xl) 0;
	}

	.block-product-categories__title {
		font-size: var(--font-size-2xl);
	}

	.block-product-categories--variant-2 .block-product-categories__title {
		font-size: 3rem;
	}

	.block-product-categories__item {
		width: 28rem;
	}

	.block-product-categories__item-image {
		height: 28rem;
	}
}

/* ==========================================================================
   Block: FAQ
   ========================================================================== */

.block-faq {
	background: var(--color-bg-light);
	padding: var(--spacing-6xl) 0;
	display: flex;
	flex-direction: column;
	gap: 5.6rem;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.block-faq__title {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: 5.6rem;
	line-height: var(--line-height-tight);
	font-weight: var(--font-weight-bold);
	align-self: stretch;
	margin: 0 auto;
	max-width: 68rem;
}

.block-faq__list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	align-self: stretch;
	max-width: 68rem;
	margin: 0 auto;
}

.block-faq__item {
	border-bottom: 0.1rem solid var(--color-black-200);
	padding: var(--spacing-2xl) 0;
	width: 100%;
}

.block-faq__item:last-child {
	border-bottom: none;
}

.block-faq__header {
	display: flex;
	flex-direction: row;
	gap: 7.2rem;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	text-align: left;
}

.block-faq__question {
	color: var(--color-black);
	text-align: left;
	font-family: var(--font-actay);
	font-size: var(--font-size-xl);
	line-height: var(--line-height-snug);
	font-weight: var(--font-weight-bold);
	flex: 1;
	transition: color var(--transition-fast);
}

.block-faq__item--open .block-faq__question {
	color: var(--color-accent);
}

.block-faq__icon {
	flex-shrink: 0;
	width: 4.4rem;
	height: 4.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: transparent; 
	color: var(--color-black);
}

.block-faq__icon-plus {
	display: block;
	transition: transform var(--transition-fast);
	transform-origin: center;
	height: 2rem;
	width: 2rem;
} 

.block-faq__item--open .block-faq__icon-plus {
	transform: rotate(45deg);
}

.block-faq__content {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--transition-base), padding-top var(--transition-base);
	overflow: hidden;
	padding-top: 0;
	padding-right: 11.6rem;
}

.block-faq__item--open .block-faq__content {
	grid-template-rows: 1fr;
	padding-top: var(--spacing-lg);
}

.block-faq__answer {
	color: var(--color-black);
	text-align: left;
	font-family: var(--font-inter);
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: var(--font-weight-regular);
	overflow: hidden;
}

.block-faq__answer p {
	margin: 0 0 var(--spacing-md) 0;
}

.block-faq__answer p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Block: Where Buy
   ========================================================================== */

.block-where-buy {
	background: var(--color-white);
	padding: 8rem var(--spacing-4xl);
	display: flex;
	flex-direction: column;
	gap: 4rem;
	align-items: center;
	justify-content: flex-start;
	box-shadow: var(--shadow-card);
}

.block-where-buy__header {
	padding-top: var(--spacing-md);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xl);
	align-items: center;
	justify-content: flex-start;
}

.block-where-buy__title-group {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
	align-items: center;
	justify-content: flex-start;
}

.block-where-buy__logo {
	flex-shrink: 0;
	width: 28rem;
	height: auto;
}

.block-where-buy__logo img {
	width: 100%;
	height: auto;
}

.block-where-buy__title {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: 5.6rem;
	line-height: var(--line-height-tight);
	font-weight: var(--font-weight-bold);
	margin: 0;
}

.block-where-buy__subtitle {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-inter);
	font-size: var(--font-size-lg);
	line-height: var(--line-height-relaxed);
	font-weight: var(--font-weight-regular);
	margin: 0;
}

.block-where-buy__buttons {
	padding-top: var(--spacing-3xl);
	display: flex;
	flex-direction: row;
	gap: var(--spacing-xs);
	align-items: center;
	justify-content: center;
}

.block-where-buy__button {
	background: var(--color-black);
	border-radius: var(--radius-md);
	padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-lg) 2rem;
	display: flex;
	flex-direction: row;
	gap: var(--spacing-sm);
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: background var(--transition-fast);
}

.block-where-buy__button:hover {
	background: var(--color-black-800);
}

.block-where-buy__button-text {
	color: var(--color-white);
	text-align: left;
	font-family: var(--font-inter);
	font-size: var(--font-size-base);
	line-height: var(--line-height-normal);
	letter-spacing: 0.02em;
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
}

.block-where-buy__button-icon {
	border-radius: var(--radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
}

.block-where-buy__button-icon svg {
	width: 3.2rem;
	height: 3.2rem;
	border-radius: var(--radius-full);
}

.block-where-buy__button-icon--wb svg {
	background: var(--gradient-marketplace);
}

.block-where-buy__button-icon--ozon svg {
	background: #005bff;
}

/* ==========================================================================
   Block: Why Choose
   ========================================================================== */

.block-why-choose {
	position: relative;
	overflow: hidden;
}

.block-why-choose__inner {
	position: relative;
	padding: 4rem var(--spacing-4xl);
	display: flex;
	flex-direction: row;
	gap: var(--spacing-md);
	align-items: flex-start;
	justify-content: flex-start;
	height: 70rem;
}

.block-why-choose__background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 0;
}

.block-why-choose__card {
	background: var(--color-white);
	border-radius: var(--radius-md);
	padding: 4rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	align-self: stretch;
	flex: 1;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.block-why-choose__pattern {
	position: absolute;
	left: -17rem;
	top: -8.2rem;
	width: 77.3rem;
	height: auto;
	overflow: visible;
	pointer-events: none;
	z-index: 0;
}

.block-why-choose__content {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	align-items: flex-start;
	justify-content: flex-start;
	align-self: stretch;
	position: relative;
	z-index: 1;
}

.block-why-choose__header {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
	align-items: flex-start;
	justify-content: flex-start;
	align-self: stretch;
}

.block-why-choose__title {
	color: var(--color-black);
	text-align: left;
	font-family: var(--font-actay);
	font-size: 5.6rem;
	line-height: var(--line-height-tight);
	font-weight: var(--font-weight-bold);
	align-self: stretch;
	margin: 0;
}

.block-why-choose__logo {
	flex-shrink: 0;
	width: 28rem;
	height: auto;
}

.block-why-choose__logo img {
	width: 100%;
	height: auto;
}

.block-why-choose__description {
	color: var(--color-black);
	text-align: left;
	font-family: var(--font-inter);
	font-size: 1.5rem;
	line-height: 1.5;
	font-weight: var(--font-weight-regular);
	align-self: stretch;
}

.block-why-choose__description p {
	margin: 0;
}

.block-why-choose__button {
	background: var(--color-accent);
	border-radius: var(--radius-md);
	padding: 2rem var(--spacing-2xl);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-xs);
	text-decoration: none;
	transition: opacity var(--transition-fast);
	position: relative;
	z-index: 1;
}

.block-why-choose__button:hover {
	opacity: 0.9;
}

.block-why-choose__button-text {
	color: var(--color-white);
	text-align: left;
	font-family: var(--font-inter);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-normal);
	letter-spacing: 0.02em;
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
}

.block-why-choose__spacer {
	border-radius: var(--radius-md);
	align-self: stretch;
	flex: 1;
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.block-why-choose__spacer-inner {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}

.block-why-choose__spacer-logo {
	height: 5.2rem;
	width: auto;
}

/* ==========================================================================
   Block: Products Slider
   ========================================================================== */

.block-products-slider {
	padding: 8rem var(--spacing-4xl) var(--spacing-6xl) var(--spacing-2xl);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-6xl);
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.block-products-slider__pattern {
	position: absolute;
	right: 0;
	bottom: 0;
	width: auto;
	height: auto;
	max-width: 200rem;
	overflow: visible;
	pointer-events: none;
	z-index: 0;
}

.block-products-slider__title {
	padding-bottom: var(--spacing-6xl);
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: 5.6rem;
	line-height: var(--line-height-tight);
	font-weight: var(--font-weight-bold);
	width: 100%;
	max-width: 132rem;
	margin: 0;
	position: relative;
	z-index: 1;
}

.block-products-slider__container {
	position: relative;
	align-self: stretch;
	z-index: 1;
}

.block-products-slider__slider {
	border-radius: var(--radius-md);
	overflow: hidden;
}

.block-products-slider__item {
	margin-bottom: var(--spacing-xl);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	border-radius: var(--radius-md);
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow var(--transition-base), background-color var(--transition-base);
}

.block-products-slider__item:hover {
	background: var(--color-white);
	box-shadow: var(--shadow-card);
}

.block-products-slider__item-image {
	align-self: stretch;
	height: 33rem;
	position: relative;
	overflow: hidden;
}

.block-products-slider__item-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.block-products-slider__item-content {
	padding: var(--spacing-xl) var(--spacing-2xl);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	align-items: center;
	justify-content: flex-start;
	align-self: stretch;
	overflow: hidden;
}

.block-products-slider__item-title {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-actay);
	font-size: var(--font-size-xl);
	line-height: var(--line-height-snug);
	font-weight: var(--font-weight-bold);
	align-self: stretch;
	min-height: 3.2rem;
	margin: 0;
	transition: color var(--transition-fast);
}

.block-products-slider__item--red:hover .block-products-slider__item-title {
	color: var(--color-red);
}

.block-products-slider__item--orange:hover .block-products-slider__item-title {
	color: var(--color-orange);
}

.block-products-slider__item--green:hover .block-products-slider__item-title {
	color: var(--color-green);
}

.block-products-slider__item-description {
	color: var(--color-black);
	text-align: center;
	font-family: var(--font-inter);
	font-size: var(--font-size-sm);
	line-height: 1.2;
	font-weight: var(--font-weight-regular);
	align-self: stretch;
}

.block-products-slider__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 5.6rem;
	height: 5.6rem;
	background: var(--color-white);
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--shadow-nav);
	z-index: 10;
	transition: opacity var(--transition-fast);
	color: var(--color-black);
}

.block-products-slider__nav:hover {
	opacity: 0.9;
}

.block-products-slider__nav--prev {
	left: -2.9rem;
}

.block-products-slider__nav--next {
	right: -2.9rem;
}

.block-products-slider__nav.swiper-button-disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* ==========================================================================
   Block: Hero
   ========================================================================== */

.block-hero {
	position: relative;
}

.block-hero__inner {
	position: relative;
	z-index: 1;
}

.block-hero__slider {
	width: 100%;
	height: 75.2rem;
}

.block-hero__slide {
	width: 100%;
	height: 100%;
	min-height: 75.2rem;
	padding: var(--spacing-4xl) var(--spacing-4xl) var(--spacing-xl);
	padding-top: 11.2rem;
	position: relative;
	background-size: cover; 
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: flex-end;
}

.block-hero__slide--content-left {
	padding: 11.2rem var(--spacing-4xl) var(--spacing-4xl);
	justify-content: flex-start;
}

.block-hero__slide--content-center {
	justify-content: center;
	align-items: flex-start;
	max-width: 100%;
	height: 64rem;
}

.block-hero__pattern {
	position: absolute;
	bottom: 0;
	right: 0;
	width: auto;
	height: auto;
	max-width: 50%;
	overflow: visible;
	pointer-events: none;
	z-index: 0;
}

.block-hero__slide--content-left .block-hero__pattern {
	right: auto;
	left: 0;
	min-height: 100%;
}

.block-hero__product-image {
	position: absolute;
	left: 50%;
    bottom: 5rem;
    transform: translateX(-50%);
    max-width: 32rem;
	width: 100%;
	z-index: 1;
}

.block-hero__product-image img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

.block-hero__content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-2xl);
	align-items: flex-start;
	justify-content: flex-start;
	max-width: 51rem;
	position: relative;
	z-index: 2;
}

.block-hero__slide--content-center .block-hero__content,
.block-hero__slide--content-center .block-hero__content-inner {
	align-items: center;
	justify-content: center;
	text-align: center;
	flex-direction: column;
	display: flex;
}

.block-hero__slide--content-center .block-hero__content {
	padding-top: var(--spacing-2xl);
	justify-content: space-between;
    align-items: center;
    max-width: 100%;
    gap: 0;
    height: 100%;
}

.block-hero__slide--content-center .block-hero__content-inner {
	gap: var(--spacing-xl);
}

.block-hero__slide--content-left .block-hero__content-inner {
	gap: var(--spacing-2xl);
}

.block-hero__slide--content-left .block-hero__content {
	padding-top: var(--spacing-5xl);
	justify-content: flex-end;
	align-items: flex-start;
	height: 100%;
	gap: 6.4rem
}

.block-hero__logo {
    width: 100%;
    height: auto;
    text-align: center;
    display: flex;
	flex-direction: column;
}

.block-hero__slide--content-left .block-hero__logo {
	text-align: left;
	align-items: flex-start;
}

.block-hero__logo img {
	width: auto;
	height: 4.4rem;
}

.block-hero__slide--content-left .block-hero__logo img {
	height: 4.4rem;
	object-fit: contain;
}

.block-hero__logo-subtitle {
	font-family: var(--font-inter);
	font-size: 7.2rem;
	line-height: 90%;
	font-weight: var(--font-weight-bold);
	color: var(--color-white);
	margin: 0;
}

.block-hero__title {
	font-family: var(--font-actay);
	font-size: 7.2rem;
	line-height: 0.9;
	font-weight: var(--font-weight-bold);
	margin: 0;
}

.block-hero__slide--content-center .block-hero__title {
	font-size: var(--font-size-xl);
	line-height: 130%;
	font-weight: var(--font-weight-medium);
}

.block-hero__slide--content-center .block-hero__logo {
	width: 28rem;
	display: flex;
	justify-content: center;
}

.block-hero__subtitle {
	font-family: var(--font-inter);
	font-size: 2.8rem;
	line-height: var(--line-height-relaxed);
	font-weight: var(--font-weight-regular);
	margin: 3.2rem 0 0;
}
 
.block-hero__button {
	background: var(--color-white);
	border-radius: var(--radius-md);
	padding: 1.5rem 4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--spacing-xs);
	text-decoration: none;
	box-shadow: 0 0 0.4rem 0 rgba(0, 0, 0, 0.04), 0 0.8rem 1.6rem 0 rgba(0, 0, 0, 0.08);
	transition: opacity var(--transition-fast);
}

.block-hero__button:hover {
	opacity: 0.9;
}

.block-hero__button-text {
	color: var(--color-black);
	font-family: var(--font-inter);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-normal);
	letter-spacing: 0.02em;
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
}

/* Hero Hover Zones */
.block-hero__hover-zone { 
	position: absolute;
	top: 0;
	bottom: 12rem;
	width: 20rem;
	z-index: 5;
}

.block-hero__hover-zone--left {
	left: 0;
}

.block-hero__hover-zone--right {
	right: 0;
}

/* Hero Navigation — cursor-following buttons */
.block-hero__nav {
	position: absolute;
	top: 0;
	left: 0;
	width: 5.6rem;
	height: 5.6rem;
	background: var(--color-white);
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: var(--shadow-nav);
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: none;
	will-change: transform;
	color: var(--color-black);
}

.block-hero__nav--visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.block-hero__nav svg {
	width: 1.4rem;
	height: 1.4rem;
}

/* Hero Pagination (bullets) */
.block-hero__pagination {
	position: absolute;
	bottom: -2.4rem!important;
	left: 0;
	right: 0;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	z-index: 5;
}

.block-hero__bullet {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: var(--color-dark-bg);
	opacity: 0.4;
	cursor: pointer;
	transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.block-hero__bullet:hover {
	opacity: 0.5;
}

.block-hero__bullet--active {
	opacity: 1;
}

/* ==========================================================================
   Responsive Styles for New Blocks
   ========================================================================== */

@media (max-width: 1089px) {
	.block-faq {
		padding: var(--spacing-4xl) 0 var(--spacing-3xl);
		gap: 4rem;
	}

	.block-faq__title {
		margin-bottom: var(--spacing-3xl);
		font-size: var(--font-size-2xl);
	}

	.block-faq__item {
		padding: var(--spacing-xl) 0;
	}

	.block-faq__header {
		gap: var(--spacing-md);
	}

	.block-faq__content {
		padding-top: 0;
		padding-right: 0;
	}

	.block-faq__item--open .block-faq__content {
		padding-top: var(--spacing-lg);
	}

	.block-faq__question {
		font-size: var(--font-size-md);
		line-height: var(--line-height-snug);
	}

	.block-faq__icon {
		width: 3.6rem;
		height: 3.6rem;
		background-color: transparent;
	}

	.block-where-buy {
		padding: var(--spacing-4xl) 0;
	}

	.block-where-buy__title {
		font-size: var(--font-size-2xl);
	}

	.block-where-buy__buttons {
		flex-direction: column;
		width: 100%;
	}

	.block-where-buy__button { 
		width: 100%;
		justify-content: space-between;
	}

	.block-where-buy__header {
		gap: var(--spacing-lg);
	}

	.block-where-buy__logo {
		height: 2.4rem;
		width: auto;
	}
	.block-where-buy__logo img {
		height: 100%;
		width: auto;
	}

	.block-where-buy__title-group {
		gap: var(--spacing-sm);
	}

	.block-where-buy__subtitle {
		font-size: var(--font-size-base);
		line-height: var(--line-height-normal);
	}

	.block-why-choose__inner {
		flex-direction: column;
		padding: 40rem var(--spacing-lg) var(--spacing-lg);
		height: fit-content;
	}

	.block-why-choose__background {
		height: 48rem;
	}

	.block-why-choose__card {
		padding: var(--spacing-2xl);
		gap: var(--spacing-2xl);
		border-radius: 12px;
		box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.04), 0 8px 16px 0 rgba(0, 0, 0, 0.08);
	}

	.block-why-choose__spacer {
		display: none;
	}

	.block-why-choose__title {
		font-size: 3rem;
	}

	.block-why-choose__content {
		gap: var(--spacing-2xl);
	}

	.block-why-choose__logo {
		width: auto;
		height: 2.4rem;
	}
	.block-why-choose__logo img {
		height: 100%;
		width: auto;
	}
	.block-why-choose__description p {
		font-size: var(--font-size-sm);
		line-height: var(--line-height-loose);
	}
	.block-why-choose__button {
		width: 100%;
	}
	

	.block-products-slider {
		padding: var(--spacing-4xl) 0;
		gap: 0;
	}

	.block-products-slider__title {
		padding-bottom: var(--spacing-3xl);
		font-size: var(--font-size-2xl);
	}

	.block-products-slider__container {
		margin: 0 -1.6rem;
	}

	.block-products-slider__slider {
		overflow: visible!important;
	}

	.block-products-slider__slider .swiper-wrapper {
		padding: 0 var(--spacing-lg);
		width: auto;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		scroll-snap-align: start;
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}
	
	.block-products-slider__slider .swiper-wrapper::-webkit-scrollbar {
		display: none;
	}

	.block-products-slider__slider .swiper-slide {
		width: 28rem;
	}

	.block-products-slider__item-content {
		padding: var(--spacing-lg) var(--spacing-2xl);
	}

	.block-products-slider__nav {
		display: none;
	}

	.block-products-slider__item-image {
		height: 28rem;
	}

	.block-hero__slider {
		height: 65rem;
	}

	.block-hero__slide {
		padding: 11.2rem var(--spacing-lg) var(--spacing-xl);
		align-items: flex-end;
		min-height: 65rem;
	}

	.block-hero__content {
		max-width: 100%;
		width: 100%;
	}

	.block-hero__slide {
		align-items: center;
	}

	.block-hero__slide--content-left .block-hero__content {
        justify-content: flex-end;
        align-items: center;
        text-align: center;
        height: 100%;
        gap: var(--spacing-xl);
	}

	.block-hero__slide--content-left .block-hero__logo {
		text-align: center;
	}

	.page-template-page-catalog .block-hero__slide--content-left .block-hero__content {
		margin-bottom: var(--spacing-4xl);
	}

	.block-hero__slide--content-center .block-hero__title {
		font-size: 1.5rem;
		line-height: var(--line-height-relaxed);
	}

	.block-hero__slide--content-left .block-hero__content-inner {
		justify-content: center;
		gap: 1.2rem;
		align-items: center;
		text-align: center;
		display: flex;
		flex-direction: column;
	}

	.block-hero__logo {
		width: 22rem;
		height: auto;
		gap: var(--spacing-sm);
	}

	.block-hero__logo-subtitle {
		font-size: 2.6rem;
	}

	.block-hero__title {
		font-size: var(--font-size-2xl);
	}

	.block-hero__subtitle {
		font-size: var(--font-size-base);
	}

	.block-hero__subtitle br {
		display: none;
	}

	.block-hero__slide--content-left .block-hero__subtitle {
		margin: 0;
	}

	.block-hero__button {
		padding: var(--spacing-lg) var(--spacing-2xl);
		width: 100%;
	}

	.block-hero__hover-zone {
		width: 8rem;
	}

	.block-hero__nav {
		width: 4.4rem;
		height: 4.4rem;
	}

	.block-hero__pagination {
		bottom: 1.6rem;
		gap: 0.8rem;
	}

	.block-hero__bullet {
		width: 0.8rem;
		height: 0.8rem;
	}

	.block-hero__product-image {
        max-width: 100%;
		bottom: 22rem;
        width: 50%;
	}
}
