/* ============================================================
   Novadev — Inoxsa Products : shortcode [inoxsa_produits]
   Lignes alternées, calquées sur la maquette page Traflux.
   Variables alignées sur le design system Inoxsa.
   ============================================================ */
.ndv-produits{
	--navy:#003C71;
	--navy-deep:#001a33;
	--traflux:#afca0b;
	--traflux-dark:#86990a;
	--ink:#101828;
	--ink-mid:#475467;
	--ink-light:#98a2b3;
	--cloud:#f9fafb;
	--line:#eaecf0;
	font-family:'Manrope',sans-serif;
}

.ndv-produits-empty{
	font-family:'Manrope',sans-serif;
	color:#475467;
	text-align:center;
	padding:2rem 0;
}

/* Carte / ligne produit */
.ndv-model{
	background:#fff;
	border:1px solid var(--line);
	border-radius:18px;
	overflow:hidden;
	display:grid;
	grid-template-columns:1fr 1.3fr;
	margin-bottom:1.5rem;
	transition:box-shadow .3s;
}
.ndv-model:hover{
	box-shadow:0 24px 56px -24px rgba(0,40,77,.16);
}
/* Alternance : une ligne sur deux inverse media / texte */
.ndv-model:nth-child(even){
	grid-template-columns:1.3fr 1fr;
}
.ndv-model:nth-child(even) .ndv-model-media{
	order:2;
}

/* Media */
.ndv-model-media{
	position:relative;
	overflow:hidden;
	min-height:280px;
	background:var(--navy-deep);
}
.ndv-model-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:absolute;
	inset:0;
}
.ndv-model-media-ph{
	display:flex;
	align-items:center;
	justify-content:center;
	height:100%;
	background:linear-gradient(135deg,#062742,#0a3a5c);
}
.ndv-model-media-ph svg{
	width:60px;
	height:60px;
	color:rgba(255,255,255,.15);
}
.ndv-model-tag{
	position:absolute;
	top:1rem;
	left:1rem;
	z-index:2;
	background:var(--e-global-color-uicore_primary);
	color:white;
	font-size:.66rem;
	font-weight:800;
	letter-spacing:.05em;
	text-transform:uppercase;
	padding:.35rem .85rem;
	border-radius:5px;
}

/* Corps */
.ndv-model-body{
	padding:2.25rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.ndv-model-title{
	font-size:1.5rem;
	font-weight:800;
	color:var(--ink);
	letter-spacing:-.04em;
	margin:0 0 .5rem;
}
.ndv-model-desc{
	color:var(--ink-mid);
	line-height:1.78;
	font-weight:300;
	margin:0 0 1.4rem;
}

/* Specs */
.ndv-specs{
	display:flex;
	flex-wrap:wrap;
	gap:.5rem;
	margin-bottom:1.5rem;
}
.ndv-spec{
	display:flex;
	flex-direction:column;
	gap:.1rem;
	background:var(--cloud);
	border:1px solid var(--line);
	border-radius:10px;
	padding:.6rem .9rem;
	min-width:90px;
}
.ndv-spec-label{
	font-size:.62rem;
	text-transform:uppercase;
	letter-spacing:.06em;
	color:var(--ink-light);
	font-weight:600;
}
.ndv-spec-value{
	font-size:.85rem;
	font-weight:700;
	color:var(--ink);
	letter-spacing:-.02em;
}

/* Arguments en puces */
.ndv-model-features{
	list-style:none;
	margin:0 0 1.5rem;
	padding:0;
	display:flex;
	flex-direction:column;
	gap:.45rem;
}
.ndv-model-features li{
	display:flex;
	align-items:flex-start;
	gap:.55rem;
	font-size:.83rem;
	color:var(--ink-mid);
	font-weight:300;
	line-height:1.5;
}
.ndv-model-features svg{
	width:15px;
	height:15px;
	color:var(--e-global-color-uicore_primary);
	flex-shrink:0;
	margin-top:.18rem;
}

/* CTA */
.ndv-model-cta{
	display:inline-flex;
	align-items:center;
	gap:.45rem;
	font-size:.84rem;
	font-weight:700;
	color:var(--navy);
	align-self:flex-start;
	transition:gap .2s;
	letter-spacing:-.02em;
	text-decoration:none;
}
.ndv-model-cta:hover{
	gap:.7rem;
}
.ndv-model-cta svg{
	width:14px;
	height:14px;
}

@media(max-width:860px){
	.ndv-model,
	.ndv-model:nth-child(even){
		grid-template-columns:1fr;
	}
	.ndv-model:nth-child(even) .ndv-model-media{
		order:0;
	}
	.ndv-model-media{
		min-height:220px;
	}
}
