/* ===== Bestsellers (SSR) ===== */
.bestsellers {
	margin-top: 24px;
	margin-bottom: 32px;
}

@media (min-width: 768px) {
	.bestsellers {
		margin-top: 26px;
		margin-bottom: 28px;
	}
}

.bestsellers__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 28px;
}

/* ===== Bestsellers Grid - Чистая CSS Grid ===== */
.bestsellers__grid {
	--bs-cols: 6;
	display: grid;
	grid-template-columns: repeat(var(--bs-cols), minmax(0, 1fr));
	grid-auto-rows: minmax(0, auto);
	gap: 28px;
	align-items: start;
}

@media (max-width: 1401px) {
	.bestsellers__grid {
		--bs-cols: 5;
	}
}

@media (max-width: 1200px) {
	.bestsellers__grid {
		--bs-cols: 4;
	}
}

@media (max-width: 980px) {
	.bestsellers__grid {
		--bs-cols: 3;
	}
}

@media (max-width: 640px) {
	.bestsellers__grid {
		--bs-cols: 2;
		gap: 16px;
	}
}

.gg-bestseller-card {
	width: 100%;
	min-width: 0;
	height: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
}

.bestsellers__grid>.bs-item {
	justify-self: stretch;
	align-self: stretch;
	display: flex;
	content-visibility: auto;
	contain-intrinsic-size: 180px 350px;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

@media (max-width: 640px) {
	.bestsellers__grid>.bs-item {
		min-width: 140px;
	}
}

.gg-bestseller-cart {
	flex-shrink: 0;
}

.gg-bestseller-cart-mobile {
	margin-top: 8px;
}

.gg-line-clamp-2 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.bs-banner {
	grid-column: 1 / -1;
	border-radius: 12px;
	overflow: hidden;
	text-decoration: none;
	display: block !important;
	width: 100%;
	visibility: visible !important;
	opacity: 1 !important;
}

.bs-banner__wrapper {
	position: relative;
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	background-color: #E8E8E8;
	aspect-ratio: 344 / 154;
}

@media (min-width: 641px) {
	.bs-banner__wrapper {
		aspect-ratio: 1440 / 220;
	}
}

.bs-banner__skeleton {
	position: absolute;
	inset: 0;
	background: linear-gradient(to right, #E8E8E8, white, #E8E8E8);
	background-size: 200% 100%;
	animation: pulse 1.5s ease-in-out infinite;
	border-radius: 12px;
	z-index: 1;
}

.bs-banner__skeleton.hidden {
	display: none;
}

.bs-banner__img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.3s;
	z-index: 2;
}

.bs-banner__img.loaded {
	opacity: 1;
}

.bs-banner {
	grid-column: 1 / -1;
	grid-row: 4 / 5;
}

.bestsellers__footer {
	margin-top: 20px;
	display: flex;
	justify-content: center;
}

.bestsellers__loadMore {
	background: #F4F4FB;
	border-radius: 12px;
	padding: 12px 18px;
	font-family: Montserrat, sans-serif;
	font-weight: 600;
	font-size: 14px;
	color: #2B2E35;
}

.bestsellers__sentinel {
	height: 1px;
	width: 1px;
}

@keyframes pulse {
	0%, 100% {
		background-position: 200% 0;
	}
	50% {
		background-position: -200% 0;
	}
}


