/* Ardent Pêche — cartes et carrousels produits.
   Les couleurs reprennent celles du thème (avec des valeurs de repli). */

.ardent-pc,
.ardent-pc-carte {
	--pc-papier: var(--ardent-papier, #fff);
	--pc-sable: #F4F5F3;
	--pc-ligne: var(--ardent-ligne, #DADDD8);
	--pc-encre: var(--ardent-encre, #13211D);
	--pc-gris: var(--ardent-gris, #5E6A64);
	--pc-cta: var(--ardent-leurres-texte, #B8431A);
	--pc-mouche: var(--ardent-mouche, #1F5C58);
	--pc-display: var(--ardent-display, "industry", "Arial Narrow", sans-serif);
	--pc-mono: var(--ardent-mono, "Karla", "Segoe UI", sans-serif);
}

/* Neutralise l'ancien CSS (Personnaliser → CSS additionnel) s'il est encore là. */
.ardent-pc *,
.ardent-pc-carte,
.ardent-pc-carte * { box-sizing: border-box; }
.ardent-pc.ardent-products-carousel-wrap { padding: 0; width: auto; }
.ardent-pc .ardent-pc__item.ardent-products-carousel-item { width: auto; min-width: 0; max-width: none; }
.ardent-pc-carte.ardent-product-card-v2 {
	max-width: none;
	padding: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	background: var(--pc-papier);
}
.ardent-pc-carte .ardent-pc-carte__visuel.ardent-product-image-wrap { height: auto; margin: 0; }
.ardent-pc-carte .ardent-pc-carte__corps.ardent-product-body { padding: 1rem 1rem 1.125rem; }
.ardent-pc-carte .ardent-pc-carte__titre.ardent-product-title-v2 { min-height: 0; }
.ardent-pc-carte .ardent-pc-carte__cta.ardent-product-cta-v2 {
	width: 100%;
	min-height: 0;
	height: auto;
	padding: 0.75rem 0.75rem 0.75rem 1.1rem;
	border-radius: 999px;
	justify-content: space-between;
	background: var(--pc-cta);
	font-size: 0.8125rem;
	line-height: 1.2;
}
.ardent-pc-carte[data-shop="fly"] .ardent-pc-carte__cta.ardent-product-cta-v2 { background: var(--pc-mouche); }
.ardent-pc-carte.ardent-product-card-v2:hover .ardent-pc-carte__cta.ardent-product-cta-v2 { background: var(--pc-encre); }
.ardent-pc-carte .ardent-pc-carte__visuel.ardent-product-image-wrap { background: var(--pc-sable); }
.ardent-pc-carte .ardent-pc-carte__titre.ardent-product-title-v2 a { color: var(--pc-encre) !important; }
.ardent-pc-carte .ardent-pc-carte__titre.ardent-product-title-v2 a:hover { color: var(--pc-cta) !important; }
.ardent-pc-carte .ardent-product-image-v2 { max-width: none; max-height: none; }

/* ---------- Carrousel ---------- */

.ardent-pc {
	--pc-gap: 1rem;
	margin-block: 2.25rem;
	max-width: 100%;
}

.ardent-pc__tete {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ardent-pc__titre {
	margin: 0 !important;
	font-family: var(--pc-mono);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--pc-encre);
}

.ardent-pc__fleches {
	display: flex;
	gap: 0.5rem;
	margin-left: auto;
}
.ardent-pc.is-statique .ardent-pc__fleches,
.ardent-pc.is-statique .ardent-pc__progression { display: none; }

.ardent-pc__fleche {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: color-mix(in srgb, var(--pc-encre) 8%, transparent);
	color: var(--pc-encre);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, opacity .2s ease;
}
.ardent-pc__fleche:hover:not(:disabled) { background: var(--pc-encre); color: var(--pc-papier); }
.ardent-pc__fleche:disabled { opacity: 0.3; cursor: default; }
.ardent-pc__fleche:focus-visible { outline: 2px solid var(--ardent-leurres, #E2622B); outline-offset: 2px; }

.ardent-pc__piste {
	display: flex;
	gap: var(--pc-gap);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 8px 4px 16px;
	margin: -8px -4px -10px;
}
.ardent-pc__piste::-webkit-scrollbar { display: none; }
.ardent-pc__piste:focus-visible { outline: 2px solid var(--ardent-leurres, #E2622B); outline-offset: 4px; }

/* 2 cartes et un bout de la 3e : on comprend tout de suite que ça défile. */
.ardent-pc__item {
	display: flex;
	flex: 0 0 calc((100% - 2 * var(--pc-gap)) / 2.35);
	min-width: 0;
	scroll-snap-align: start;
}

.ardent-pc__progression {
	position: relative;
	height: 2px;
	margin-top: 1rem;
	background: var(--pc-ligne);
	overflow: hidden;
}
.ardent-pc__progression span {
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--pc-taille, 40%);
	transform: translateX(var(--pc-pos, 0%));
	background: var(--pc-encre);
	transition: transform .15s linear;
}

@media (max-width: 600px) {
	.ardent-pc { --pc-gap: 0.75rem; }
	.ardent-pc__item { flex-basis: 72%; }
	.ardent-pc__fleche { width: 36px; height: 36px; }
}

/* ---------- Carte ---------- */

.ardent-pc-carte {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin: 0;
	background: var(--pc-papier);
	border: 1px solid var(--pc-ligne);
	transition: border-color .2s ease, box-shadow .25s ease, transform .25s ease;
}
.ardent-pc-carte.ardent-product-card-v2:hover,
.ardent-pc-carte:hover {
	border-color: var(--pc-encre);
	box-shadow: 0 14px 28px -18px rgba(19, 33, 29, .45);
	transform: translateY(-3px);
}

.ardent-pc-carte__visuel {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--pc-sable);
	text-decoration: none !important;
}
.ardent-pc-carte__visuel img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 9%;
	box-sizing: border-box;
	object-fit: contain;
	mix-blend-mode: multiply; /* le fond blanc des photos se fond dans le gris */
	transition: transform .4s ease;
}
.ardent-pc-carte:hover .ardent-pc-carte__visuel img { transform: scale(1.06); }

.ardent-pc-carte__badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.35rem 0.55rem;
	background: var(--pc-cta);
	color: #fff;
	font-family: var(--pc-mono);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
}
.ardent-pc-carte[data-shop="fly"] .ardent-pc-carte__badge { background: var(--pc-mouche); }

.ardent-pc-carte__corps {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 1rem 1.125rem;
}
.ardent-pc-carte__corps > * { margin: 0 !important; }

.ardent-pc-carte__dispo {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-family: var(--pc-mono);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--pc-gris);
}
.ardent-pc-carte__dispo::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #2E8B57;
	box-shadow: 0 0 0 3px color-mix(in srgb, #2E8B57 18%, transparent);
}
.ardent-pc-carte.is-rupture .ardent-pc-carte__dispo::before {
	background: var(--pc-gris);
	box-shadow: none;
}

.ardent-pc-carte__titre {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-family: var(--pc-display);
	font-size: 1.0625rem;
	font-style: italic;
	font-weight: 900;
	line-height: 1.15;
	color: var(--pc-encre);
}
.ardent-pc-carte__titre a { color: inherit !important; text-decoration: none !important; }
.ardent-pc-carte__titre a:hover { color: var(--pc-cta) !important; }

.ardent-pc-carte__prix {
	font-family: var(--pc-display);
	font-size: 1.25rem;
	font-style: italic;
	font-weight: 900;
	line-height: 1;
	color: var(--pc-encre);
}
.ardent-pc-carte__prix span {
	font-family: var(--pc-mono);
	font-size: 0.6875rem;
	font-style: normal;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pc-gris);
}

.ardent-pc-carte__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-top: auto !important;
	padding: 0.75rem 0.75rem 0.75rem 1.1rem;
	border-radius: 999px;
	background: var(--pc-cta);
	color: #fff !important;
	font-family: var(--pc-mono);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .2s ease;
}
.ardent-pc-carte__cta svg { flex: none; transition: transform .2s ease; }
.ardent-pc-carte:hover .ardent-pc-carte__cta { background: var(--pc-encre); }
.ardent-pc-carte:hover .ardent-pc-carte__cta svg { transform: translateX(3px); }
.ardent-pc-carte[data-shop="fly"] .ardent-pc-carte__cta { background: var(--pc-mouche); }
.ardent-pc-carte[data-shop="fly"]:hover .ardent-pc-carte__cta { background: var(--pc-encre); }

/* Carte seule ([product_id]) : plusieurs à la suite s'alignent. */
.ardent-pc-carte--seule {
	display: inline-flex;
	vertical-align: top;
	width: min(100%, 300px);
	margin: 0.5rem 1rem 1.5rem 0;
}

/* Alerte visible uniquement par les rédacteurs */
.ardent-pc-alerte {
	padding: 0.6rem 0.9rem;
	border-left: 4px solid #B8431A;
	background: #FBEEE8;
	color: #13211D;
	font-family: var(--pc-mono);
	font-size: 0.8125rem;
}

@media (prefers-reduced-motion: reduce) {
	.ardent-pc__piste { scroll-behavior: auto; }
	.ardent-pc-carte,
	.ardent-pc-carte__visuel img,
	.ardent-pc-carte__cta svg { transition: none; }
	.ardent-pc-carte:hover { transform: none; }
	.ardent-pc-carte:hover .ardent-pc-carte__visuel img { transform: none; }
}
