/* ==========================================================================
   NEW PRODUCTS V2
   Desktop/Laptop: 4 columns. 8 items = exactly 2 rows.
   Tablet: 3 columns. Mobile: 2 columns.
   ========================================================================== */

.home-section-frame:has(> .new-products-v2){
	margin-top:0!important;
	margin-bottom:0!important;
}

.new-products-v2{
	--np-accent:#B91441;
	--np-text:#1f1f1f;
	--np-muted:#747474;
	--np-border:#e3e3e3;
	--np-surface:#fff;
	width:100%;
	padding:18px 0;
	background:#fff;
}

.new-products-v2__head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:28px;
	margin-bottom:18px;
}

.new-products-v2__heading{
	max-width:760px;
}

.new-products-v2__head h2{
	position:relative;
	margin:0;
	padding-bottom:11px;
	color:var(--np-text);
	font-size:clamp(28px,2.25vw,36px);
	font-weight:700;
	line-height:1.14;
	letter-spacing:-.03em;
}

.new-products-v2__head h2::after{
	content:"";
	position:absolute;
	left:0;
	bottom:0;
	width:44px;
	height:2px;
	background:var(--np-accent);
}

.new-products-v2__heading p{
	margin:8px 0 0;
	color:var(--np-muted);
	font-size:14px;
	line-height:1.55;
}

.new-products-v2__all{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:9px;
	padding-bottom:5px;
	border-bottom:1px solid #252525;
	color:#252525;
	font-size:14px;
	font-weight:600;
	line-height:1.2;
	text-decoration:none;
}

.new-products-v2__all span:last-child{
	color:var(--np-accent);
	font-size:18px;
	transition:transform .2s ease;
}

.new-products-v2__all:hover span:last-child{
	transform:translateX(3px);
}

.new-products-v2__grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:18px;
}

.new-products-v2__card{
	position:relative;
	min-width:0;
	overflow:hidden;
	border:1px solid var(--np-border);
	border-radius:14px;
	background:var(--np-surface);
	transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.new-products-v2__card:hover{
	transform:translateY(-2px);
	border-color:#d2d2d2;
	box-shadow:0 10px 26px rgba(18,18,18,.06);
}

.new-products-v2__card-link{
	display:flex;
	height:100%;
	flex-direction:column;
	color:inherit;
	text-decoration:none;
}

.new-products-v2__media{
	position:relative;
	aspect-ratio:1 / 1;
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:hidden;
	padding:14px;
	background:#fff;
	border-bottom:1px solid #efefef;
}

.new-products-v2__image{
	width:100%;
	height:100%;
	display:block;
	object-fit:contain;
	object-position:center;
	background:#fff;
	transform:scale(1);
	transition:transform .4s cubic-bezier(.16,1,.3,1);
}

.new-products-v2__card:hover .new-products-v2__image{
	transform:scale(1.035);
}

.new-products-v2__image-placeholder{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#fafafa;
	color:#c4c4c4;
}

.new-products-v2__image-placeholder svg{
	width:52px;
	height:52px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.5;
	stroke-linecap:round;
	stroke-linejoin:round;
}

.new-products-v2__discount{
	position:absolute;
	z-index:2;
	top:12px;
	right:12px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:30px;
	padding:0 9px;
	border-radius:8px;
	background:var(--np-accent);
	color:#fff;
	font-size:12px;
	font-weight:700;
	line-height:1;
	box-shadow:0 4px 12px rgba(185,20,65,.16);
}

.new-products-v2__content{
	flex:1;
	display:flex;
	flex-direction:column;
	padding:16px 16px 15px;
}

.new-products-v2__content h3{
	display:-webkit-box;
	min-height:2.8em;
	margin:0;
	overflow:hidden;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
	color:var(--np-text);
	font-size:16px;
	font-weight:600;
	line-height:1.4;
	letter-spacing:-.01em;
}

.new-products-v2__sku{
	margin:8px 0 0;
	color:#8a8a8a;
	font-size:12px;
	line-height:1.35;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}

.new-products-v2__price-row{
	min-height:42px;
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	gap:5px 9px;
	margin-top:10px;
}

.new-products-v2__price{
	color:var(--np-accent);
	font-size:18px;
	font-weight:700;
	line-height:1.2;
}

.new-products-v2__price--contact{
	color:var(--np-text);
}

.new-products-v2__compare{
	color:#999;
	font-size:12.5px;
	font-weight:400;
	line-height:1.2;
	text-decoration-thickness:1px;
}

.new-products-v2__cta{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-top:auto;
	padding-top:12px;
	border-top:1px solid #efefef;
	color:#292929;
	font-size:12.5px;
	font-weight:600;
	line-height:1.25;
}

.new-products-v2__cta span:last-child{
	color:var(--np-accent);
	font-size:17px;
	transition:transform .2s ease;
}

.new-products-v2__card:hover .new-products-v2__cta span:last-child{
	transform:translateX(3px);
}

/* Tablet: 3 columns */
@media(min-width:768px) and (max-width:1023px){
	.new-products-v2{
		padding:16px 0;
	}

	.new-products-v2__head{
		margin-bottom:16px;
	}

	.new-products-v2__grid{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:14px;
	}

	.new-products-v2__media{
		padding:12px;
	}

	.new-products-v2__content{
		padding:14px;
	}

	.new-products-v2__content h3{
		font-size:15px;
	}

	.new-products-v2__price{
		font-size:17px;
	}
}

/* Mobile: 2 columns */
@media(max-width:767px){
	.new-products-v2{
		padding:14px 0;
	}

	.new-products-v2__head{
		align-items:flex-start;
		margin-bottom:14px;
	}

	.new-products-v2__head h2{
		font-size:27px;
		padding-bottom:9px;
	}

	.new-products-v2__heading p{
		font-size:13px;
		line-height:1.5;
	}

	.new-products-v2__all{
		display:none;
	}

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

	.new-products-v2__card{
		border-radius:12px;
	}

	.new-products-v2__media{
		padding:9px;
	}

	.new-products-v2__discount{
		top:8px;
		right:8px;
		min-height:25px;
		padding:0 7px;
		border-radius:7px;
		font-size:10.5px;
	}

	.new-products-v2__content{
		padding:11px 10px 10px;
	}

	.new-products-v2__content h3{
		min-height:2.72em;
		font-size:13.5px;
		line-height:1.36;
	}

	.new-products-v2__sku{
		margin-top:6px;
		font-size:10.5px;
	}

	.new-products-v2__price-row{
		min-height:38px;
		gap:3px 6px;
		margin-top:8px;
	}

	.new-products-v2__price{
		font-size:14.5px;
	}

	.new-products-v2__compare{
		font-size:10.5px;
	}

	.new-products-v2__cta{
		padding-top:9px;
		font-size:11px;
	}

	.new-products-v2__cta span:last-child{
		font-size:15px;
	}
}

@media(max-width:420px){
	.new-products-v2__grid{
		gap:8px;
	}

	.new-products-v2__media{
		padding:7px;
	}

	.new-products-v2__content{
		padding:10px 8px 9px;
	}

	.new-products-v2__content h3{
		font-size:13px;
	}

	.new-products-v2__sku{
		display:none;
	}

	.new-products-v2__price{
		font-size:14px;
	}

	.new-products-v2__cta{
		font-size:10.5px;
	}
}

@media(prefers-reduced-motion:reduce){
	.new-products-v2__card,
	.new-products-v2__image,
	.new-products-v2__cta span:last-child,
	.new-products-v2__all span:last-child{
		transition:none!important;
	}
}