/* ===== SECTION: FAQ - Start ===== */
.main-page section.faq {
	padding-top: 80px;
	padding-bottom: 120px;
}

@media (max-width: 1680px) {
	.main-page section.faq {
		padding-top: 60px;
		padding-bottom: 120px;
	}
}

@media (max-width: 1279px) {
	.main-page section.faq {
		padding-top: 40px;
		padding-bottom: 80px;
	}
}
/* ===== SECTION: FAQ - End ===== */

/* ===== Mob/PC nav buttons - Start ===== */
.new-products-header .swiper-buttons {
	position: static;
	margin: 0;
}
/* ===== Mob/PC nav buttons - End ===== */

/* ===== SECTION: Hero Slider - Start ===== */
.hero-slider-section {
	padding-top: calc(var(--container-indent) / 2);
	padding-bottom: calc(var(--container-indent) / 2);
}

.hero-slider .swiper-slide {
	position: relative;
	min-height: calc(100dvh - var(--header-height) - var(--container-indent));
	border-radius: var(--radius-medium);
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Затемнение — только под текст поверх фото (класс вешает pages/main.php).
   На слайде без текста оно ничего не делает, кроме как глушит картинку. */
.hero-slider .swiper-slide.has-overlay-text::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: rgba(0, 0, 0, 0.2);
	z-index: 0;
}

.hero-slider .slide-content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	max-width: 700px;
	gap: 20px;
	padding: 40px;
}

.hero-slider .slide-content .btn {
	margin-top: 20px;
}

/* Весь слайд — ссылка: режим «заполнена только Ссылка, без текста кнопки» */
.hero-slider .slide-link-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

.hero-slider .swiper-pagination-hero {
	bottom: 30px !important;
}

@media (max-width: 1279px) {
	.hero-slider .slide-content {
		padding: 20px;
		margin-bottom: 55px;
	}

	.hero-slider .swiper-pagination-hero {
		bottom: 15px !important;
	}
}
/* ===== SECTION: Hero Slider - End ===== */

/* ===== SECTION: Why We - Start ===== */
.why-we-section {
	padding-top: 50px;
	padding-bottom: 50px;
}

.why-we-section .h2 {
	margin-bottom: 30px;
}

.why-card {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 25px;
	background: var(--white);
	border-radius: var(--radius-small);
}

.why-card .h3 {
	margin-top: 0;
}

.why-card p {
	color: var(--dark-gray);
}

@media (max-width: 1279px) {
	.why-we-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.why-card {
		padding: 20px;
	}
}
/* ===== SECTION: Why We - End ===== */

/* ===== SECTION: Categories - Start ===== */
.categories-section {
	padding-top: 45px;
	padding-bottom: 45px;
}

.categories-section .h2 {
	margin-bottom: 30px;
}

.categories-section .swiper-buttons {
	position: absolute;
	top: 0;
	right: 0;
}

.category-card {
	display: flex;
	gap: 20px;
	padding: 25px;
	height: 100%;
}

.category-content {
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex: 1;
}

.category-content .btn {
	margin-top: auto;
}

.category-image {
	width: 40%;
	display: flex;
	align-items: center;
}

.category-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Desktop Grid */
@media (min-width: 769px) {
	.categories-slider .swiper-wrapper {
		display: grid;
		grid-template-columns: repeat(6, 1fr);
		gap: var(--blocks-indent);
	}

	.categories-slider .swiper-slide {
		width: 100% !important;
	}

	.categories-slider .swiper-slide:nth-child(1) {
		grid-column: span 2;
	}

	.categories-slider .swiper-slide:nth-child(2) {
		grid-column: span 2;
	}

	.categories-slider .swiper-slide:nth-child(3) {
		grid-column: span 2;
	}

	.categories-slider .swiper-slide:nth-child(4) {
		grid-column: span 2;
	}

	.categories-slider .swiper-slide:nth-child(5) {
		grid-column: span 2;
	}
	
	.categories-slider .swiper-slide:nth-child(6) {
		grid-column: span 2;
	}


}

@media (max-width: 768px) {
	.categories-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.category-card {
		flex-direction: column;
		padding: 20px;
	}

	.category-image {
		width: 100%;
		height: 200px;
		order: -1;
	}
}
/* ===== SECTION: Categories - End ===== */

/* ===== SECTION: Categories Grid Variant - Start ===== */
.categories-grid-section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.categories-grid-section .h2 {
	margin-bottom: 30px;
}

/* Wrapper для скрытия */
.categories-grid-wrapper {
	position: relative;
}
.categories-grid-wrapper.is-collapsed {
	overflow: hidden;
	padding-bottom: 50px;
}

.categories-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: var(--blocks-indent);
}

.categories-grid .category-card {
	position: relative;
	display: block;
	overflow: hidden;
	padding: 0;
	gap: 0;
	height: auto;
}

.categories-grid .category-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 50%);
	z-index: 1;
	pointer-events: none;
	border-radius: inherit;
}

.categories-grid .category-card > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.category-card-label {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px;
	color: var(--white);
	font-size: 16px;
}

.category-card-label .icon-arrow {
	width: 24px;
	height: 24px;
	filter: brightness(0) invert(1);
}

/* Градиент для скрытия */
.categories-grid-gradient {
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 170px;
	background: linear-gradient(to bottom, transparent, var(--white));
	z-index: 3;
	pointer-events: none;
}
.categories-grid-wrapper.is-collapsed .categories-grid-gradient {
	display: block;
}

/* Кнопка "Показати все" */
.categories-grid-toggle {
	display: none;
	z-index: 4;
}
.categories-grid-wrapper.is-collapsed .categories-grid-toggle {
	display: flex;
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%);
}

@media (max-width: 1680px) {
	.category-card-label .h3 {
		font-size: 20px;
		line-height: 22px;
	}
	.category-card-label {
		padding: 10px;
	}
	.categories-grid-section .categories-grid {
		gap: 10px;
	}
	.categories-grid-section,
	.new-products-section,
	.bestsellers-section,
	.sale-section,
	.articles-section {
		padding-top: 60px;
		padding-bottom: 60px;
	}
}

@media (max-width: 1279px) {
	.categories-grid-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

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

	.category-card-label {
		padding: 10px;
		font-size: 14px;
	}

	.category-card-label .h3 {
		font-size: 14px;
	}

	.category-card-label .icon-arrow {
		width: 14px;
		height: 14px;
	}
}
/* ===== SECTION: Categories Grid Variant - End ===== */

/* ===== SECTION: Bestsellers - Start ===== */
.bestsellers-section {
	padding-top: 80px;
	padding-bottom: 80px;
}



.bestsellers-section .product-list + .btn {
	margin-top: 30px;
}

@media (max-width: 1279px) {
	.bestsellers-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
/* ===== SECTION: Bestsellers - End ===== */

/* ===== SECTION: New Products - Start ===== */
.new-products-section {
	padding-top: 80px;
	padding-bottom: 80px;
	background: var(--light-gray);
}

.swiper-buttons.outside.new-products-nav,
.swiper-buttons.outside.bestsellers-nav,
.swiper-buttons.outside.sale-nav {
	justify-content: center;
	margin-top: 0;
}

@media (max-width: 1279px) {
	.new-products-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.new-products-header {
		margin-bottom: 20px;
	}
	.main-page .swiper-buttons.outside.mob {
		justify-content: center;
		margin-top: 15px;
		margin-right: auto;
	}
}
/* ===== SECTION: New Products - End ===== */

/* ===== SECTION: Scrollbar Slider (пример слайдера с прогресс-баром) - Start ===== */
.scrollbar-slider-section {
	padding-top: 100px;
	padding-bottom: 100px;
}

.scrollbar-slider-title {
	text-transform: uppercase;
}

.scrollbar-slider-section .swiper {
	padding-bottom: 40px;
}

.scrollbar-slider-section .swiper-scrollbar {
	position: relative;
	width: 50%;
	height: 2px;
	margin: 60px auto 0;
	background: rgba(0, 0, 0, 0.1);
	border-radius: 0;
}

.scrollbar-slider-section .swiper-scrollbar-drag {
	height: 2px;
	background: var(--black);
	border-radius: 0;
	top: 0;
}

.scrollbar-slider-section .swiper-scrollbar-drag::after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border-radius: var(--radius-max);
	background: var(--black);
	top: 50%;
	right: -8px;
	transform: translateY(-50%);
}

@media (max-width: 1680px) {
	.scrollbar-slider-section {
		padding-top: 60px;
		padding-bottom: 60px;
	}
}

@media (max-width: 1279px) {
	.scrollbar-slider-section {
		padding-top: 30px;
		padding-bottom: 30px;
	}

	.scrollbar-slider-section .swiper-scrollbar {
		width: 100%;
		margin-top: 20px;
	}

	.scrollbar-slider-section .swiper-scrollbar-drag::after {
		width: 12px;
		height: 12px;
		right: -6px;
	}
}
/* ===== SECTION: Scrollbar Slider - End ===== */

/* ===== SECTION: Banner - Start ===== */
.banner-section {
	padding-top: 50px;
	padding-bottom: 50px;
}

.banner-block {
	padding: 60px;
	color: var(--white);
	display: flex;
	flex-direction: column;
	gap: 25px;
}

.banner-block .h1 {
	max-width: 580px;
}

@media (max-width: 1279px) {
	.banner-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.banner-block {
		padding: 40px;
	}
}

@media (max-width: 768px) {
	.banner-block {
		padding: 30px 20px;
	}

	.banner-block .h1 {
		max-width: 100%;
	}
}
/* ===== SECTION: Banner - End ===== */

/* ===== SECTION: Banners Group - Start ===== */
.banners-group-section {
	padding-top: 60px;
	padding-bottom: 60px;
}

.product-banner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 30px;
	background: var(--light-gray);
	overflow: hidden;
	min-height: 400px;
}

.product-banner::before {
	content: "";
	position: absolute;
	bottom: -100px;
	right: -100px;
	width: 300px;
	height: 300px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: var(--radius-max);
}

.banner-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--primary);
	color: var(--primary-match);
	padding: 4px 10px;
	border-radius: var(--radius-small);
	width: fit-content;
	z-index: 2;
}

.product-banner > * {
	z-index: 2;
}

.product-banner p {
	color: var(--dark-gray);
	max-width: 70%;
}

.product-banner .items-group {
	align-items: baseline;
}

.product-banner del {
	color: var(--gray);
}

.banner-product-image {
	position: absolute;
	bottom: 0;
	right: 0;
	max-width: 45%;
	height: auto;
	z-index: 1;
}

@media (max-width: 1279px) {
	.banners-group-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.product-banner {
		padding: 25px;
		min-height: 350px;
	}

	.banner-product-image {
		max-width: 40%;
	}
}

@media (max-width: 768px) {
	.product-banner {
		padding: 20px;
		min-height: auto;
	}

	.banner-badge {
		display: none;
	}

	.product-banner p {
		max-width: 100%;
	}

	.banner-product-image {
		position: relative;
		max-width: 100%;
		margin-top: 20px;
	}
}
/* ===== SECTION: Banners Group - End ===== */

/* ===== SECTION: Sale - Start ===== */
.sale-section {
	padding-top: 80px;
	padding-bottom: 80px;
	background: var(--light-gray);
}

.sale-section .h2 {
	margin-bottom: 30px;
}

.sale-section .product-list + .btn {
	margin-top: 30px;
}

@media (max-width: 1279px) {
	.sale-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
/* ===== SECTION: Sale - End ===== */

/* ===== SECTION: Articles - Start ===== */
.articles-section {
	padding-top: 80px;
	padding-bottom: 80px;
}

.articles-section .block-with-cols {
	margin-bottom: 30px;
}

.articles-slider {
	margin-bottom: 20px;
}



@media (max-width: 1279px) {
	.articles-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.articles-section .block-with-cols {
		margin-bottom: 30px;
	}

	.articles-slider {
		margin-bottom: 30px;
	}


}
/* ===== SECTION: Articles - End ===== */

/* ===== SECTION: Brands - Start ===== */
.brands-section {
	padding-bottom: 50px;
}

.brands-section .h2 {
	margin-bottom: 30px;
}

.brand-logo {
	width: 100%;
	height: auto;
	object-fit: contain;
}

@media (max-width: 1279px) {
	.brands-section {
		padding-bottom: 40px;
	}

	.brands-section .h2 {
		margin-bottom: 20px;
	}
}
/* ===== SECTION: Brands - End ===== */

/* ===== SECTION: About - Start ===== */
.about-section {
	padding-top: 50px;
	padding-bottom: 50px;
}

.about-section p {
	margin: 20px 0 25px;
	color: var(--dark-gray);
}

.about-image img {
	width: 100%;
	height: auto;
}

@media (max-width: 1279px) {
	.about-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.about-section .col-50 {
		width: 100%;
	}

	.about-image {
		margin-bottom: 30px;
	}
}
/* ===== SECTION: About - End ===== */

/* ===== SECTION: Reviews - Start ===== */
.reviews-section {
	padding-top: 50px;
	padding-bottom: 50px;
}

.reviews-section .h2 {
	margin-bottom: 20px;
}

.reviews-section .block-with-cols {
	margin-bottom: 30px;
}

.reviews-slider {
	margin-bottom: 35px;
}

@media (max-width: 1279px) {
	.reviews-section {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
/* ===== SECTION: Reviews - End ===== */


/* ===== SECTION: Instagram - Start ===== */
.instagram {
	padding: 60px 0;
}
.instagram > .container + .container {
	margin-top: 40px;
}
.instagram a.instagram-username {
	color: var(--dark-gray);
}
.instagram-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: var(--blocks-indent);
}
.instagram-grid a.instagram-photo {
	position: relative;
	padding-bottom: 100%;
	overflow: hidden;
	display: block;
}
.instagram-grid a.instagram-photo img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 1279px) {
	.instagram {
		padding: 40px 0;
	}
	.instagram > .container + .container {
		margin-top: 20px;
	}
	.instagram-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.instagram-grid a.instagram-photo:nth-child(5) {
		display: none;
	}
}
/* ===== SECTION: Instagram - End ===== */