/* ==========================================================================
   Nos nouveautés — scroll horizontal — Mobile first
   ========================================================================== */

.featured-products {
	max-width: var(--container-width);
	margin-left: auto;
	margin-right: auto;
	padding: 48px 0 48px 20px;
}

/* ---------- En-tête ---------- */

.featured-products__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-right: 20px;
	margin-bottom: 24px;
}

.featured-products__title {
	font-size: 1.375rem;
}

.featured-products__link {
	font-size: 0.8125rem;
	font-weight: 500;
	color: var(--color-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
	transition: color var(--transition);
}

.featured-products__link:hover {
	color: #b37070;
}

/* ---------- Grille scrollable ---------- */

.featured-products__grid {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding-right: 20px;
	padding-bottom: 4px;
}

.featured-products__grid::-webkit-scrollbar {
	display: none;
}

/* ---------- Cartes dans ce contexte ---------- */

.featured-products__grid .product-card {
	flex-shrink: 0;
	width: 200px;
	scroll-snap-align: start;
}

.featured-products__grid .product-card__image {
	position: relative;
}

.featured-products__grid .product-card__image img {
	transition: transform 0.4s ease;
}

.featured-products__grid .product-card__image::after {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 24px;
	background: rgba(34, 34, 34, 0.15);
	opacity: 0;
	transition: opacity 0.25s ease;
}

@media (hover: hover) {
	.featured-products__grid .product-card:hover .product-card__image img {
		transform: scale(1.04);
	}

	.featured-products__grid .product-card:hover .product-card__image::after {
		opacity: 1;
	}
}

/* ==========================================================================
   Nos nouveautés — Desktop
   ========================================================================== */

@media (min-width: 768px) {
	.featured-products {
		padding: 80px 0 80px 80px;
	}

	.featured-products__header {
		padding-right: 80px;
		margin-bottom: 32px;
	}

	.featured-products__title {
		font-size: 1.75rem;
	}

	.featured-products__grid {
		gap: 24px;
		padding-right: 80px;
	}

	.featured-products__grid .product-card {
		width: 260px;
	}
}
