/* Products Section Styles */

.v10-products-section {
	padding-top: clamp(92px, 8vw, 140px);
}

/* Section Heading */
.v10-favourites-head {
	margin-bottom: 42px;
}

.v10-favourites-head h2 {
	font: 300 clamp(24px, 2.4vw, 38px) / 1.08 var(--serif);
	letter-spacing: -0.035em;
	margin: 0 0 16px;
}

.v10-favourites-head p {
	margin-top: 16px;
	color: var(--body);
	font-size: 14px;
	line-height: 1.7;
}

/* Product Grid - Desktop */
.v10-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: clamp(46px, 5vw, 72px);
}

/* Product Card */
.v10-product-card {
	min-width: 0;
	padding-bottom: 18px;
	color: var(--ink);
	text-decoration: none;
	border-bottom: 1px solid var(--line);
	display: block;
	transition: transform 0.2s ease;
}

.v10-product-card:hover {
	text-decoration: none;
}

.v10-product-media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--paper);
	margin-bottom: 12px;
}

.v10-product-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s var(--ease);
}

.v10-product-card:hover .v10-product-media img {
	transform: scale(1.045);
}

/* Product Badge/Tag */
.product-tag {
	position: absolute;
	z-index: 6;
	left: 14px;
	top: 14px;
	background: #fff;
	border-radius: 2px;
	padding: 7px 12px;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.11em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--ink);
	box-shadow: 0 2px 10px rgba(22, 21, 19, 0.04);
}

.product-tag.pink {
	background: var(--blush);
}

.product-tag.black {
	background: var(--ink);
	color: #fff;
}

/* Rating */
.v10-rating {
	display: flex;
	gap: 9px;
	align-items: center;
	margin-top: 16px;
	color: var(--gold);
	font-size: 10px;
	letter-spacing: 0.08em;
}

.v10-rating i {
	color: var(--faint);
	font-style: normal;
	letter-spacing: 0;
	font-weight: 400;
}

.v10-rating .star-rating {
	display: inline-block;
	font-size: 10px;
	color: var(--gold);
	line-height: 1;
}

/* Product Name */
.v10-product-card h3 {
	margin-top: 8px;
	margin-bottom: 0;
	font: 400 clamp(17px, 1.45vw, 23px) / 1.25 var(--serif);
	letter-spacing: -0.025em;
	color: var(--ink);
}

.v10-product-card h3 em {
	font-weight: 300;
}

/* Price */
.v10-price {
	display: block;
	margin-top: 7px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
}

.v10-price s {
	margin-left: 7px;
	color: var(--faint);
	font-weight: 400;
	text-decoration: line-through;
}

/* Center Action Button */
.v10-center-action {
	text-align: center;
	margin-top: clamp(46px, 5vw, 72px);
}

/* Button */
.btn {
	background: var(--ink);
	color: #fff;
	border: none;
	border-radius: 2px;
	padding: 17px 40px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	transition: opacity 0.2s;
	display: inline-block;
	text-decoration: none;
}

.btn:hover {
	opacity: 0.8;
	color: #fff;
}

.btn-outline {
	background: transparent;
	color: var(--ink);
	border: 1px solid var(--ink);
}

.btn-soft {
	background: #F8E6E8;
	color: var(--ink);
	display: flex;
	align-items: center;
	gap: 34px;
}

/* Tablet — max-width 1024px */
@media (max-width: 1024px) {
	.v10-product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Tablet — max-width 940px */
@media (max-width: 940px) {
	.v10-products-section {
		padding-top: 78px;
	}

	.v10-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* Mobile — max-width 560px */
@media (max-width: 560px) {
	.v10-favourites-head {
		margin: 0 auto clamp(30px, 5vw, 46px);
	}

	.v10-favourites-head h2 {
		font-size: clamp(24px, 8vw, 38px);
	}

	.v10-favourites-head p {
		font-size: 14px;
	}

	.v10-product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		margin-bottom: clamp(30px, 5vw, 46px);
	}

	.v10-product-card .product-tag {
		left: 8px;
		top: 8px;
		font-size: 7px;
		padding: 6px 7px;
	}

	.v10-product-card h3 {
		font-size: 14px;
		margin-top: 6px;
	}

	.v10-rating {
		font-size: 8px;
		margin-top: 11px;
		gap: 6px;
	}

	.v10-price {
		font-size: 11px;
		margin-top: 5px;
	}
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
	.v10-product-media img,
	.v10-product-card,
	.btn {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
