/* Aperçu du produit au survol d'un lien, dans le corps d'un article. */

.cd-ap{
	position:absolute; z-index:120; width:288px; max-width:calc(100vw - 24px);
	background:var(--s,#fff); border:1px solid var(--b,#E9DCD3); border-radius:var(--r,14px);
	box-shadow:var(--ombre,0 18px 40px -24px rgba(60,30,35,.36));
	overflow:hidden; pointer-events:none;
	opacity:0; transform:translateY(6px);
	transition:opacity .16s ease, transform .16s ease;
}
.cd-ap.ouvert{ opacity:1; transform:translateY(0); }

.cd-ap-haut{ display:flex; gap:12px; padding:12px; align-items:flex-start; }

.cd-ap-vis{
	flex:0 0 84px; width:84px; height:84px; border-radius:var(--r-p,8px);
	background:var(--f2,#F4EAE3); overflow:hidden;
	display:flex; align-items:center; justify-content:center;
}
.cd-ap-vis img{ width:100%; height:100%; object-fit:contain; display:block; }

.cd-ap-txt{ min-width:0; flex:1; }

.cd-ap-marque{
	font-family:var(--mono,monospace); font-size:9.5px; letter-spacing:.1em;
	text-transform:uppercase; color:var(--d,#7A6058); margin:0 0 3px;
}
.cd-ap-nom{
	font-family:var(--titre,serif); font-size:14.5px; line-height:1.25;
	color:var(--t,#241619); margin:0 0 6px;
	display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.cd-ap-prix{ font-family:var(--mono,monospace); font-size:13px; color:var(--a,#8C2F42); }
.cd-ap-prix del{ color:var(--d,#7A6058); font-size:11px; margin-right:5px; }
.cd-ap-prix ins{ text-decoration:none; }

.cd-ap-bas{
	display:flex; align-items:center; justify-content:space-between; gap:8px;
	padding:8px 12px; border-top:1px solid var(--b,#E9DCD3); background:var(--f,#FBF7F4);
}
.cd-ap-etat{
	font-family:var(--mono,monospace); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase;
	padding:3px 8px; border-radius:var(--r-pill,999px);
}
.cd-ap-etat.dispo{ color:var(--ok,#2F7A5A); background:var(--ok-f,#E4F1EA); }
.cd-ap-etat.precommande,
.cd-ap-etat.rupture{ color:var(--alerte,#B0552A); background:var(--alerte-f,#FBEDE2); }
.cd-ap-voir{
	font-family:var(--mono,monospace); font-size:9.5px; letter-spacing:.08em;
	text-transform:uppercase; color:var(--d,#7A6058);
}

/* Le triangle qui rattache la carte au lien. */
.cd-ap::after{
	content:""; position:absolute; left:var(--fleche,32px); width:10px; height:10px;
	background:var(--s,#fff); border:1px solid var(--b,#E9DCD3); transform:rotate(45deg);
}
.cd-ap[data-cote="bas"]::after{ top:-6px; border-right:0; border-bottom:0; }
.cd-ap[data-cote="haut"]::after{ bottom:-6px; border-left:0; border-top:0; background:var(--f,#FBF7F4); }

/* Le lien qui porte un aperçu se signale discrètement. */
.cd-contenu a[data-cd-ap]{ text-decoration-style:dotted; text-underline-offset:3px; }

@media (prefers-reduced-motion:reduce){
	.cd-ap{ transition:none; transform:none; }
	.cd-ap.ouvert{ transform:none; }
}

/* Sans survol — écrans tactiles — la carte n'existe pas. */
@media (hover:none){
	.cd-ap{ display:none !important; }
}
