/* Personnalisations Perdre du ventre — logo, en-tête, menu principal, footer */

/* ---------- Logo ---------- */
.pdv-brand {
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	color: var(--pdv-ink);
}
.pdv-brand__mark { flex: none; width: 54px; height: 54px; transition: transform .25s ease; }
.pdv-brand:hover .pdv-brand__mark { transform: rotate(-6deg); }
.pdv-brand__bg { fill: var(--pdv-green-100); }
.pdv-brand__text { display: flex; flex-direction: column; align-items: flex-start; line-height: 1; }
.pdv-brand__name {
	color: var(--pdv-ink);
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -0.025em;
	white-space: nowrap;
}
.pdv-brand__name span { color: var(--pdv-green-600); }
.pdv-brand__tag {
	margin-top: 6px;
	color: var(--pdv-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}
.pdv-brand:focus-visible { outline: 3px solid var(--pdv-pear); outline-offset: 4px; border-radius: 12px; }

/* ---------- En-tête desktop : bandeau compact + menu collant ---------- */
html body { --pdv-adminbar: 0px; --pdv-top: 92px; }
html body.admin-bar { --pdv-adminbar: 32px; }

/* overflow:hidden empêchait position:sticky ; clip coupe le débordement sans bloquer le sticky */
.wrapper { overflow: clip !important; }

header.bs-headfive {
	position: sticky;
	top: calc(var(--pdv-adminbar) - var(--pdv-top));
	z-index: 1000;
	background: var(--pdv-card);
}
header.bs-headfive .bs-header-main {
	height: var(--pdv-top);
	background: var(--pdv-card) !important;
	background-image: none !important;
}
header.bs-headfive .bs-header-main .inner {
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 !important;
	background: none !important;
}
header.bs-headfive .bs-header-main .inner > .container { width: 100%; }
header.bs-headfive .bs-header-main .navbar-header { display: flex; justify-content: center; }
header.bs-headfive .bs-header-main .bs-social a,
header.bs-headfive .bs-header-main .col-lg-4:last-child a,
header.bs-headfive .bs-header-main .col-lg-4:last-child button {
	color: var(--pdv-text) !important;
	transition: color .15s ease;
}
header.bs-headfive .bs-header-main .bs-social a:hover,
header.bs-headfive .bs-header-main .col-lg-4:last-child a:hover { color: var(--pdv-green-600) !important; }

/* ---------- Barre de menu ---------- */
.bs-menu-full {
	background: var(--pdv-card) !important;
	border-top: 1px solid var(--pdv-line);
	border-bottom: 1px solid var(--pdv-line);
	box-shadow: 0 6px 18px rgba(31, 61, 18, .05);
}
.bs-menu-full .navbar { border: 0 !important; padding: 6px 0 !important; min-height: 0 !important; background: none !important; }
.bs-menu-full .container { position: relative; }
.bs-menu-full #navbar-wp,
.bs-menu-full #menu-menu-principal { position: static !important; }
#menu-menu-principal { gap: 4px; }
#menu-menu-principal > li > a {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	padding: 9px 16px !important;
	border-radius: 999px;
	color: var(--pdv-ink) !important;
	font-size: 15.5px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	transition: background-color .15s ease, color .15s ease;
}
#menu-menu-principal > li > a:hover,
#menu-menu-principal > li:hover > a,
#menu-menu-principal > li > a:focus-visible,
#menu-menu-principal > li.current-menu-item > a,
#menu-menu-principal > li.current-menu-ancestor > a,
#menu-menu-principal > li.current-page-ancestor > a,
#menu-menu-principal > li.current-menu-parent > a {
	background: var(--pdv-green-100) !important;
	color: var(--pdv-green-700) !important;
}
#menu-menu-principal > li > a::after,
#menu-menu-principal > li > a::before { display: none !important; }
#menu-menu-principal .wpmm-megamenu-indicator {
	margin: 0 !important;
	font-size: 12px !important;
	color: var(--pdv-green-600);
	transition: transform .2s ease;
}
#menu-menu-principal > li:hover .wpmm-megamenu-indicator { transform: rotate(180deg); }

/* Méga-menu (WP Mega Menu) : panneau aligné sur la largeur du site */
.bs-menu-full .wpmm-megamenu-container {
	/* centré sous le menu (lui-même centré), largeur du contenu du site */
	left: 50% !important;
	right: auto !important;
	margin: 0 !important;
	transform: translateX(-50%);
	width: min(960px, calc(100vw - 32px)) !important;
	top: 100% !important;
	padding: 26px 28px 22px !important;
	background: var(--pdv-card) !important;
	border: 1px solid var(--pdv-line) !important;
	border-radius: 0 0 20px 20px !important;
	box-shadow: 0 24px 48px rgba(31, 61, 18, .14) !important;
	max-height: calc(100vh - 180px);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.bs-menu-full .wpmm-subcategories { padding: 0 12px !important; }
.bs-menu-full .wpmm-subcategory-heading {
	margin: 0 0 8px !important;
	padding: 0 0 10px !important;
	border-bottom: 1px solid var(--pdv-line);
	font-size: 15px !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.bs-menu-full .wpmm-subcategory-heading a {
	color: var(--pdv-ink) !important;
	font-weight: 700 !important;
	text-transform: none !important;
}
.bs-menu-full .wpmm-subcategory-heading a:hover { color: var(--pdv-green-600) !important; }
.bs-menu-full a.wpmm-subcategory-child {
	display: block !important;
	margin: 0 !important;
	padding: 5px 0 !important;
	color: var(--pdv-text) !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	transition: color .15s ease, transform .15s ease;
}
.bs-menu-full a.wpmm-subcategory-child .fa { display: none !important; }
.bs-menu-full a.wpmm-subcategory-child:hover { color: var(--pdv-green-600) !important; transform: translateX(3px); }
.bs-menu-full .wpmm-post .wpmm-thumbnail { border-radius: 12px; overflow: hidden; }
.bs-menu-full .wpmm-post img { border-radius: 12px; transition: transform .3s ease; }
.bs-menu-full .wpmm-post:hover img { transform: scale(1.03); }
.bs-menu-full .wpmm-entry-title,
.bs-menu-full .wpmm-entry-title a {
	margin-top: 10px !important;
	color: var(--pdv-ink) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}
.bs-menu-full .wpmm-entry-title a:hover { color: var(--pdv-green-600) !important; }
.bs-menu-full .wpmm-pagination a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50% !important;
	border: 1px solid var(--pdv-line) !important;
	background: var(--pdv-green-50) !important;
	color: var(--pdv-green-700) !important;
}
.bs-menu-full .wpmm-pagination a:hover { background: var(--pdv-green-100) !important; }

/* ---------- En-tête mobile ---------- */
@media (max-width: 991px) {
	header.bs-headfive { top: var(--pdv-adminbar); }
	.bs-menu-full .navbar { padding: 8px 0 !important; }
	.m-header .navbar-header { flex: 1 1 auto; min-width: 0; display: flex; justify-content: center; }
	.m-header .site-logo { max-width: 100%; }
	.m-header .pdv-brand__mark { width: 40px; height: 40px; }
	.m-header .pdv-brand { gap: 9px; }
	.m-header .pdv-brand__name { font-size: 19px; }
	.m-header .pdv-brand__tag { display: none; }
	.navbar-wp .navbar-nav#menu-menu-principal { gap: 0; padding: 8px 0 12px !important; background: var(--pdv-card) !important; }
	#menu-menu-principal > li { border-bottom: 1px solid var(--pdv-line); }
	#menu-menu-principal > li:last-child { border-bottom: 0; }
	#menu-menu-principal > li > a { display: flex !important; justify-content: space-between; padding: 13px 6px !important; border-radius: 10px; font-size: 16px !important; }
}
@media (max-width: 782px) {
	html body.admin-bar { --pdv-adminbar: 46px; }
}
@media (max-width: 600px) {
	html body.admin-bar { --pdv-adminbar: 0px; }
}

/* ---------- Footer ---------- */
footer.footer {
	background: #132210 !important;
	background-image: none !important;
	color: #c3cfba;
}
footer.footer .overlay { background: none !important; padding: 0 !important; }
.pdv-footer { padding: 64px 0 44px; }
.pdv-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) repeat(3, minmax(0, 1fr));
	gap: 40px;
}
.pdv-brand--footer .pdv-brand__bg { fill: #233a1a; }
.pdv-brand--footer .pdv-brand__name { color: #fff; }
footer.footer .pdv-brand, footer.footer .pdv-brand * { text-shadow: none !important; }
.pdv-brand--footer .pdv-brand__name span { color: var(--pdv-pear); }
.pdv-brand--footer .pdv-brand__tag { color: #98ab8b; }
.pdv-footer__about {
	max-width: 340px;
	margin: 18px 0 20px;
	color: #b4c1a9;
	font-size: 15px;
	line-height: 1.65;
}
.pdv-footer__social { display: flex; gap: 10px; margin: 0; padding: 0; list-style: none; }
.pdv-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff !important;
	transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.pdv-footer__social a:hover { background: var(--pdv-pear); color: #132210 !important; transform: translateY(-2px); }
.pdv-footer__heading {
	margin: 6px 0 16px !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 700;
	letter-spacing: 0;
}
.pdv-footer__col ul { margin: 0; padding: 0; list-style: none; }
.pdv-footer__col li { margin: 0 0 10px; padding: 0; line-height: 1.4; }
.pdv-footer__col a {
	color: #c3cfba !important;
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none !important;
	transition: color .15s ease;
}
.pdv-footer__col a:hover { color: var(--pdv-pear) !important; }
.pdv-footer a:focus-visible { outline: 2px solid var(--pdv-pear); outline-offset: 3px; border-radius: 4px; }
.pdv-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .09); background: #0e190b !important; }
.pdv-footer__bottom .container {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 32px;
	padding-top: 20px;
	padding-bottom: 20px;
}
.pdv-footer__copy, .pdv-footer__note { margin: 0 !important; color: #98ab8b !important; font-size: 13.5px; line-height: 1.5; }
.pdv-footer__note { max-width: 560px; }
@media (max-width: 991px) {
	.pdv-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pdv-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.pdv-footer { padding: 44px 0 28px; }
	.pdv-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.pdv-footer__col:last-child { grid-column: 1 / -1; }
	.pdv-footer__col:last-child ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.pdv-brand__mark, .bs-menu-full a, .pdv-footer__social a { transition: none !important; }
}

/* Méga-menu « Programmes » : grille complète */
.pdv-mm__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 4px 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pdv-line);
}
.pdv-mm__title { margin: 0 !important; color: var(--pdv-ink); font-size: 16px; font-weight: 700; }
.pdv-mm__title span { margin-left: 8px; color: var(--pdv-muted); font-size: 13px; font-weight: 600; }
.pdv-mm__all { color: var(--pdv-green-600) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.pdv-mm__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px 16px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.pdv-mm__grid li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.pdv-mm__grid a {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding: 8px !important;
	border-radius: 12px;
	color: var(--pdv-text) !important;
	font-size: 14px !important;
	line-height: 1.35 !important;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease;
}
.pdv-mm__grid a:hover { background: var(--pdv-green-50); color: var(--pdv-green-700) !important; }
.pdv-mm__thumb {
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	overflow: hidden;
	background: var(--pdv-green-100);
}
.pdv-mm__thumb img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; margin: 0 !important; }
.pdv-mm__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 991px) {
	.pdv-mm__grid { grid-template-columns: 1fr; }
	.pdv-mm__head { flex-wrap: wrap; }
}

/* Méga-menu « Traitements » : grille de marques */
.pdv-mm--brands .pdv-mm__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px 12px; }
.pdv-mm--brands .pdv-mm__thumb { width: 44px; height: 44px; }
.pdv-mm__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pdv-mm__brand { color: var(--pdv-ink); font-size: 14.5px; font-weight: 700; line-height: 1.25; }
.pdv-mm__grid a:hover .pdv-mm__brand { color: var(--pdv-green-700); }
.pdv-mm__desc { color: var(--pdv-muted); font-size: 12.5px; line-height: 1.3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 991px) {
	.pdv-mm--brands .pdv-mm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Recherche dans la sidebar ---------- */
.bs-sidebar .widget_search .search-form {
	position: relative;
	display: block !important;
	margin: 0;
}
.bs-sidebar .widget_search .search-form label { display: block !important; width: 100% !important; margin: 0 !important; }
.bs-sidebar .widget_search .search-field {
	display: block;
	width: 100% !important;
	height: 50px !important;
	margin: 0 !important;
	padding: 0 56px 0 18px !important;
	border: 1px solid var(--pdv-line) !important;
	border-radius: 999px !important;
	background: var(--pdv-green-50) !important;
	color: var(--pdv-ink) !important;
	font-size: 15px !important;
	box-shadow: none !important;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.bs-sidebar .widget_search .search-field::placeholder { color: var(--pdv-muted); opacity: 1; }
.bs-sidebar .widget_search .search-field:focus {
	outline: none;
	border-color: var(--pdv-green-600) !important;
	background: var(--pdv-card) !important;
	box-shadow: 0 0 0 4px rgba(166, 201, 74, .28) !important;
}
.bs-sidebar .widget_search .search-field::-webkit-search-cancel-button { margin-right: 4px; }
.bs-sidebar .widget_search .search-submit {
	position: absolute !important;
	top: 6px !important;
	right: 6px !important;
	width: 38px !important;
	height: 38px !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--pdv-green-600) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='m16 16 4.5 4.5'/%3E%3C/svg%3E") center / 18px no-repeat !important;
	color: transparent !important;
	font-size: 0 !important;
	cursor: pointer;
	transition: background-color .15s ease, transform .15s ease;
}
.bs-sidebar .widget_search .search-submit:hover { background-color: var(--pdv-green-700) !important; transform: scale(1.05); }
.bs-sidebar .widget_search .search-submit:focus-visible { outline: 3px solid var(--pdv-pear); outline-offset: 2px; }

/* =========================================================================
 * Landing pages (body.pdv-landing : programmes et guides, voir body_class)
 * ====================================================================== */
.pdv-landing .bs-card-box {
	color: var(--pdv-text);
	font-size: 17px;
	line-height: 1.7;
}
.pdv-landing .bs-card-box > p,
.pdv-landing .bs-card-box > ul li { color: var(--pdv-text); }
.pdv-landing .bs-card-box strong,
.pdv-landing .bs-card-box b { color: var(--pdv-ink); }
.pdv-landing .bs-card-box a:not(.pdv-lp-btn):not(.unstale-cta-link) {
	color: var(--pdv-green-600);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.pdv-landing .bs-card-box a:not(.pdv-lp-btn):hover { color: var(--pdv-green-900); }
.pdv-landing .bs-card-box > h2 { margin: 56px 0 14px; color: var(--pdv-ink); }
.pdv-landing .bs-card-box > ul { padding-left: 1.2em; }
.pdv-landing .bs-card-box > ul li { margin-bottom: 6px; }
.pdv-landing .bs-card-box > ul li::marker { color: var(--pdv-pear); }

/* Image à la une : moins haute pour faire remonter l'essentiel */
.pdv-landing .post-thumbnail img {
	width: 100%;
	height: clamp(220px, 34vw, 360px);
	object-fit: cover;
	border-radius: var(--pdv-radius);
}

/* Images du contenu */
.pdv-landing .bs-card-box > p img {
	border-radius: 12px;
}
.pdv-landing .bs-card-box > p img.alignleft { margin: 6px 28px 16px 0; }
.pdv-landing .bs-card-box > p img.alignright { margin: 6px 0 16px 28px; }

/* Encadré « L'essentiel en bref » (Unstale) */
.pdv-landing .unstale-tldr {
	background: var(--pdv-green-50);
	border: 1px solid var(--pdv-line);
	border-radius: var(--pdv-radius);
	padding: 22px 26px;
	margin: 28px 0;
}
.pdv-landing .unstale-tldr-title {
	font-weight: 700;
	color: var(--pdv-green-700);
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 13px;
	margin-bottom: 10px;
}
.pdv-landing .unstale-tldr li { color: var(--pdv-text); }

/* Chapô sous les H2 (Unstale callout) */
.pdv-landing .unstale-callout {
	font-size: 18px;
	color: var(--pdv-ink);
	border-left: 3px solid var(--pdv-pear);
	padding-left: 16px;
	margin-bottom: 20px;
}

/* Encart de renvoi (Unstale CTA) */
.pdv-landing .unstale-cta {
	border: 1px solid var(--pdv-line);
	border-left: 4px solid var(--pdv-green-600);
	border-radius: 12px;
	background: var(--pdv-card);
}
.pdv-landing .unstale-cta-link {
	font-weight: 700;
	color: var(--pdv-green-600);
}
.pdv-landing .unstale-cta-link::after { content: " →"; }

/* ---------- Boutons d'achat ----------
 * .pdv-lp-cta (contenu retravaillé) ou tout paragraphe qui ne contient
 * qu'un lien affilié go- (anciennes landing pages, sans retouche). */
.pdv-landing .pdv-lp-cta,
.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child),
.pdv-landing .bs-card-box > p:has(> strong:only-child > a[href*="/go-"]) {
	text-align: center;
	margin: 28px 0;
}
.pdv-landing .pdv-lp-cta a,
.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child) > a,
.pdv-landing .bs-card-box > p:has(> strong:only-child > a[href*="/go-"]) a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 28px;
	border-radius: 999px;
	background: var(--pdv-green-600);
	color: #fff !important;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	box-shadow: 0 6px 16px rgba(70, 122, 34, .25);
	transition: background .2s, transform .2s, box-shadow .2s;
}
.pdv-landing .pdv-lp-cta a::after,
.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child) > a::after,
.pdv-landing .bs-card-box > p:has(> strong:only-child > a[href*="/go-"]) a::after { content: "→"; }
.pdv-landing .pdv-lp-cta a strong,
.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child) a strong { color: inherit; }
.pdv-landing .pdv-lp-cta a:hover,
.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child) > a:hover,
.pdv-landing .bs-card-box > p:has(> strong:only-child > a[href*="/go-"]) a:hover {
	background: var(--pdv-green-700);
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(70, 122, 34, .3);
}
.pdv-landing .pdv-lp-cta a:focus-visible { outline: 3px solid var(--pdv-pear); outline-offset: 3px; }
.pdv-landing .pdv-lp-cta small {
	display: block;
	margin-top: 8px;
	font-size: 13px;
	color: var(--pdv-muted);
}
body.dark.pdv-landing .pdv-lp-cta a,
body.dark.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child) > a,
body.dark.pdv-landing .bs-card-box > p:has(> strong:only-child > a[href*="/go-"]) a { color: #1b1f19 !important; }

/* ---------- Fiche produit ---------- */
.pdv-lp-product {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px 32px;
	align-items: center;
	margin: 32px 0 40px;
	padding: 26px 28px;
	background: var(--pdv-card);
	border: 1px solid var(--pdv-line);
	border-radius: var(--pdv-radius);
	box-shadow: var(--pdv-shadow);
}
.pdv-lp-product > h3 { grid-column: 1 / -1; margin: 0 0 4px; font-size: 24px; color: var(--pdv-ink); }
.pdv-lp-product .pdv-lp-specs { list-style: none; margin: 0; padding: 0; }
.pdv-lp-product .pdv-lp-specs li {
	position: relative;
	padding: 6px 0 6px 28px;
	border-bottom: 1px dashed var(--pdv-line);
	color: var(--pdv-text);
}
.pdv-lp-product .pdv-lp-specs li:last-child { border-bottom: 0; }
.pdv-lp-product .pdv-lp-specs li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 14px;
	width: 14px;
	height: 8px;
	border-left: 2.5px solid var(--pdv-green-600);
	border-bottom: 2.5px solid var(--pdv-green-600);
	transform: rotate(-45deg);
}
.pdv-lp-buy {
	min-width: 230px;
	padding: 20px 22px;
	text-align: center;
	background: var(--pdv-green-50);
	border-radius: 14px;
}
.pdv-lp-buy p { margin: 0; }
.pdv-lp-price { font-size: 34px; font-weight: 800; line-height: 1.1; color: var(--pdv-ink); }
.pdv-lp-price span { display: block; margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--pdv-green-700); }
.pdv-lp-rating { margin: 10px 0 4px !important; font-size: 14px; color: var(--pdv-muted); }
.pdv-lp-stars { color: #e5a00d; font-size: 18px; letter-spacing: 2px; margin-right: 4px; }
.pdv-lp-buy .pdv-lp-cta { margin: 14px 0 0; }
.pdv-lp-buy .pdv-lp-cta a { width: 100%; justify-content: center; padding: 12px 18px; }

/* ---------- Points forts / faibles ---------- */
.pdv-lp-proscons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin: 26px 0;
}
.pdv-lp-pros, .pdv-lp-cons {
	padding: 20px 22px;
	border-radius: 14px;
	border: 1px solid var(--pdv-line);
}
.pdv-lp-pros { background: var(--pdv-green-50); }
.pdv-lp-cons { background: #fdf6f3; border-color: #f1ddd4; }
body.dark .pdv-lp-cons { background: #2a1f1b; border-color: #4a3029; }
.pdv-lp-pc-title { margin: 0 0 10px !important; font-weight: 700; color: var(--pdv-ink); }
.pdv-lp-proscons ul { list-style: none; margin: 0; padding: 0; }
.pdv-lp-proscons li { position: relative; padding: 5px 0 5px 28px; font-size: 16px; line-height: 1.55; color: var(--pdv-text); }
.pdv-lp-proscons li::before {
	position: absolute;
	left: 0;
	top: 6px;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
	color: #fff;
}
.pdv-lp-pros li::before { content: "✓"; background: var(--pdv-green-600); }
.pdv-lp-cons li::before { content: "–"; background: #c8694a; }

/* ---------- Témoignage ---------- */
.pdv-lp-quote {
	position: relative;
	margin: 32px 0;
	padding: 26px 28px 22px 64px;
	background: var(--pdv-green-50);
	border: 0;
	border-radius: var(--pdv-radius);
	font-style: normal;
}
.pdv-lp-quote::before {
	content: "“";
	position: absolute;
	left: 20px;
	top: 6px;
	font-size: 64px;
	line-height: 1;
	font-family: Georgia, serif;
	color: var(--pdv-pear);
}
.pdv-lp-quote p { margin: 0 0 12px; font-size: 17px; color: var(--pdv-ink); }
.pdv-lp-quote cite { font-style: normal; font-size: 14px; color: var(--pdv-muted); }
.pdv-lp-quote cite strong { color: var(--pdv-ink); }

/* ---------- Lectures connexes ---------- */
.pdv-lp-related {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 10px;
	list-style: none;
	margin: 16px 0 32px !important;
	padding: 0 !important;
}
.pdv-lp-related li { margin: 0 !important; }
.pdv-lp-related li::marker { content: none; }
.pdv-landing .bs-card-box .pdv-lp-related a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	height: 100%;
	padding: 12px 16px;
	border: 1px solid var(--pdv-line);
	border-radius: 12px;
	background: var(--pdv-card);
	color: var(--pdv-ink);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none;
	transition: border-color .2s, background .2s;
}
.pdv-landing .bs-card-box .pdv-lp-related a::after { content: "→"; color: var(--pdv-green-600); }
.pdv-landing .bs-card-box .pdv-lp-related a:hover { border-color: var(--pdv-pear); background: var(--pdv-green-50); }

/* ---------- Tableau comparatif ---------- */
.pdv-landing .wp-block-table { overflow-x: auto; }
.pdv-landing .wp-block-table table { border-collapse: separate; border-spacing: 0; border: 1px solid var(--pdv-line); border-radius: 14px; overflow: hidden; font-size: 15px; }
.pdv-landing .wp-block-table th,
.pdv-landing .wp-block-table thead td { background: var(--pdv-green-700); color: #fff; border: 0; }
body.dark.pdv-landing .wp-block-table th { color: #1b1f19; }
.pdv-landing .wp-block-table td { border: 0; border-top: 1px solid var(--pdv-line); }

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
	.pdv-landing .bs-card-box { font-size: 16px; }
	.pdv-lp-product { grid-template-columns: 1fr; padding: 20px; }
	.pdv-lp-buy { min-width: 0; }
	.pdv-lp-proscons { grid-template-columns: 1fr; }
	.pdv-lp-quote { padding: 22px 20px 18px 52px; }
	.pdv-lp-quote::before { left: 14px; }
	.pdv-landing .bs-card-box > p img.alignleft,
	.pdv-landing .bs-card-box > p img.alignright { float: none; display: block; margin: 0 auto 16px; }
}

/* Ajustements landing : boutons sans soulignement, citation droite, tableau lisible */
.pdv-landing .bs-card-box .pdv-lp-cta a,
.pdv-landing .bs-card-box .pdv-lp-cta a:hover,
.pdv-landing .bs-card-box > p:has(> a[href*="/go-"]:only-child) > a,
.pdv-landing .bs-card-box > p:has(> strong:only-child > a[href*="/go-"]) a { text-decoration: none !important; }
.pdv-landing .pdv-lp-quote,
.pdv-landing .pdv-lp-quote p { font-style: normal !important; }
.pdv-landing .wp-block-table td { border-left: 0 !important; border-right: 0 !important; color: var(--pdv-text); }

/* Fiche produit sans prix affiché : garantie en titre */
.pdv-lp-guarantee { font-size: 20px; font-weight: 800; line-height: 1.2; color: var(--pdv-ink); }
.pdv-lp-guarantee span { display: block; margin-top: 2px; font-size: 13px; font-weight: 600; color: var(--pdv-green-700); }


/* __________________________________________________________
   Landing pages : compléments UX (en-tête, largeur de lecture,
   H3, boîtes produit vides, barre de progression)
   Complète les règles .pdv-landing ci-dessus sans les redéfinir.
   __________________________________________________________ */

/* En-tête : titre pleine largeur, fil d'Ariane au-dessus */
.pdv-landing .page-entry-title {
	display: flex;
	flex-direction: column-reverse;
	gap: 8px;
	padding: 32px 40px !important;
	background: linear-gradient(135deg, var(--pdv-green-50) 0%, #fff 70%);
	border: 1px solid var(--pdv-line);
	border-radius: var(--pdv-radius);
	box-shadow: none;
}
.pdv-landing .page-entry-title .page-entry-title-box,
.pdv-landing .page-entry-title .bs-breadcrumb-section {
	width: 100% !important;
	max-width: none !important;
	flex: none !important;
	padding: 0 !important;
}
.pdv-landing h1.entry-title {
	font-size: clamp(30px, 3.6vw, 44px);
	line-height: 1.15;
	letter-spacing: -.02em;
	color: var(--pdv-ink);
}
.pdv-landing .bs-breadcrumb-section,
.pdv-landing .bs-breadcrumb-section * { background: none !important; }
.pdv-landing .bs-breadcrumb-section .breadcrumb {
	justify-content: flex-start;
	margin: 0;
	padding: 0 !important;
	font-size: 14px;
}
.pdv-landing .bs-breadcrumb-section a { color: var(--pdv-green-600); }
body.dark.pdv-landing .page-entry-title { background: none; }

/* Largeur de lecture : ~80 caractères au lieu de ~120 */
.pdv-landing .hentry > .bs-card-box > *:not(.comments-area) {
	max-width: 48rem;
	margin-left: auto;
	margin-right: auto;
}

/* Blocs qui forcent leur marge (CTA Unstale, boîte auteur) : recentrés */
.pdv-landing .hentry > .bs-card-box > .unstale-cta,
.pdv-landing .hentry > .bs-card-box > .abh_box {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Tableaux de mise en page (grilles d'images) : tenir dans la largeur de lecture */
.pdv-landing .hentry > .bs-card-box > table {
	width: 100%;
	table-layout: fixed;
}
.pdv-landing .hentry > .bs-card-box > table img {
	max-width: 100%;
	height: auto;
}

/* H3 : repère vert pour les sous-sections */
.pdv-landing .bs-card-box > h3 {
	clear: both;
	padding-left: 14px;
	border-left: 4px solid var(--pdv-green-600);
	scroll-margin-top: 110px;
}

/* Boîtes produit sans offre (« Product offers are temporarily unavailable ») */
.pdv-landing .unstale-product:has(.afx-products-unavailable) { display: none; }

/* Barre de progression de lecture (Chrome, Edge, Safari récents) */
@supports (animation-timeline: scroll()) {
	.pdv-landing::before {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99999;
		width: 100%;
		height: 4px;
		background: var(--pdv-green-600);
		transform-origin: 0 50%;
		transform: scaleX(0);
		animation: pdv-lp-progress linear both;
		animation-timeline: scroll(root);
	}
	@keyframes pdv-lp-progress { to { transform: scaleX(1); } }
}

@media (max-width: 767px) {
	.pdv-landing .page-entry-title { padding: 24px 20px !important; }
}
