/* preservatif.ma — by AjiPara : feuille du thème enfant (04/11/2026), mobile d'abord.
   Référence visuelle : travaux/maquettes/assets/maquettes.css (validée par Simo le 03/11).
   Règle : propriétés LOGIQUES seulement (inline-start / inline-end, inset-inline…) → la même feuille sert au français (ltr) et à
   l'arabe (rtl). Les seules règles « [dir=rtl] » changent ce que la langue change : interlignes, lettres jamais espacées en arabe,
   sens des dégradés. Couleurs : jetons de theme.json (01_charte.md). Aucune couleur d'AjiPara. */

:root {
	--pm-aubergine: var(--wp--preset--color--aubergine, #210127);
	--pm-aubergine-800: var(--wp--preset--color--aubergine-800, #3A1442);
	--pm-texte-doux: var(--wp--preset--color--texte-doux, #5E4A66);
	--pm-violet: var(--wp--preset--color--violet, #8C03E8);
	--pm-magenta-texte: var(--wp--preset--color--magenta-texte, #B00285);
	--pm-soleil: var(--wp--preset--color--soleil, #FCBA03);
	--pm-blanc: var(--wp--preset--color--blanc, #FFFFFF);
	--pm-lilas-50: var(--wp--preset--color--lilas-50, #F4EEFB);
	--pm-lilas-100: var(--wp--preset--color--lilas-100, #EDE2F7);
	--pm-lilas-200: var(--wp--preset--color--lilas-200, #E2D5EE);
	--pm-bordure: var(--wp--preset--color--bordure, #857190);
	--pm-stock: var(--wp--preset--color--stock, #2D7A0E);
	--pm-rupture: var(--wp--preset--color--rupture, #B3261E);
	--pm-whatsapp: var(--wp--preset--color--whatsapp, #25D366);
	--pm-degrade: linear-gradient(90deg, #8C03E8 0%, #EB03AB 38%, #FA5647 68%, #FCBA03 100%);
	--pm-degrade-bouton: linear-gradient(90deg, #8C03E8, #B00285);
	--pm-titre: var(--wp--preset--font-family--alexandria, "Alexandria", system-ui, sans-serif);
	--pm-texte: var(--wp--preset--font-family--readex-pro, "Readex Pro", system-ui, sans-serif);
	--pm-rayon: 18px;
	--pm-rayon-s: 12px;
	--pm-ombre: 0 10px 30px rgba(33, 1, 39, .10);
	--pm-ombre-s: 0 2px 10px rgba(33, 1, 39, .08);
	--pm-haut-colle: var(--wp-admin--admin-bar--height, 0px);
}
[dir="rtl"] {
	--pm-degrade: linear-gradient(270deg, #8C03E8 0%, #EB03AB 38%, #FA5647 68%, #FCBA03 100%);
	--pm-degrade-bouton: linear-gradient(270deg, #8C03E8, #B00285);
}

/* ---------- Base ---------- */
html { -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
[dir="rtl"] body { line-height: 1.75; }
[dir="rtl"] :is(h1, h2, h3, h4, h5, h6, .wp-block-post-title) { letter-spacing: 0; line-height: 1.45; }
img { max-width: 100%; height: auto; }
.pm-cache {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}
.pm-ico { width: 22px; height: 22px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pm-ico--s { width: 16px; height: 16px; }
.pm-ico--xs { width: 14px; height: 14px; }
:where(a, button, input, select, summary):focus-visible { outline: 2px solid var(--pm-violet); outline-offset: 2px; border-radius: 6px; }
/* Sur les fonds sombres, le violet ne fait que 3,00:1 : contour soleil (11,08:1). */
:where(.pm-annonce, .pm-entete, .pm-pied, .pm-contact) :where(a, button, input, select):focus-visible { outline-color: var(--pm-soleil); }
.pm-recherche-form:focus-within { outline: 2px solid var(--pm-soleil); outline-offset: 2px; }
.pm-conteneur { max-width: 1240px; margin-inline: auto; padding-inline: 16px; }
@media (min-width: 768px) { .pm-conteneur { padding-inline: 28px; } }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.pm-evitement {
	position: absolute; inset-inline-start: 8px; inset-block-start: -60px; z-index: 100; padding: 10px 16px; border-radius: 999px;
	background: var(--pm-blanc); color: var(--pm-aubergine); font-weight: 600; text-decoration: none;
}
.pm-evitement:focus { inset-block-start: 8px; }
.pm-prix, .woocommerce-Price-amount { unicode-bidi: isolate; direction: ltr; }

/* ---------- En-tête : bandeau, en-tête collant AU-DESSUS du diaporama (E5) ---------- */
/* Les deux enveloppes s'effacent : l'en-tête colle alors à toute la page, pas seulement à sa partie de gabarit. */
.pm-partie-entete, .pm-haut { display: contents; }
.pm-annonce { background: var(--pm-aubergine); color: var(--pm-lilas-200); font-size: 12.5px; }
.pm-annonce .pm-conteneur { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; }
.pm-defile { display: flex; gap: 18px; white-space: nowrap; overflow: hidden; margin: 0; min-width: 0; }
.pm-defile span { overflow: hidden; text-overflow: ellipsis; }
.pm-defile span + span { display: none; }
a.pm-langue { color: var(--pm-blanc); font-weight: 500; white-space: nowrap; text-decoration: none; border-block-end: 1px solid rgba(255, 255, 255, .35); }
@media (min-width: 768px) {
	.pm-defile span + span { display: inline; }
	.pm-defile span + span::before { content: "·"; margin-inline-end: 18px; opacity: .6; }
}

.pm-entete { position: sticky; inset-block-start: var(--pm-haut-colle); z-index: 50; background: var(--pm-aubergine); color: var(--pm-blanc); }
.pm-entete::after { content: ""; display: block; height: 3px; background: var(--pm-degrade); }
.pm-entete-ligne { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 62px; }
.pm-entete-debut, .pm-entete-fin { display: flex; align-items: center; gap: 2px; min-width: 0; }
.pm-entete-fin { justify-content: flex-end; }
.pm-btn-icone {
	position: relative; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 12px;
	background: transparent; color: var(--pm-blanc); cursor: pointer; text-decoration: none;
}
.pm-btn-icone:hover { background: rgba(255, 255, 255, .08); }
.pm-logo { display: block; line-height: 0; }
.pm-logo img { height: 40px; width: auto; }
.pm-logo-bureau, .pm-recherche, .pm-nav, .pm-langue-bureau, .pm-compte { display: none; }
.pm-entete-fin .pm-langue-bureau { display: none; }

/* Panier (mini-panier natif de WooCommerce) : pictogramme blanc, pastille soleil */
.pm-panier { display: flex; align-items: center; }
.pm-panier .wc-block-mini-cart__button {
	color: var(--pm-blanc); padding: 0; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center;
}
.pm-panier .wc-block-mini-cart__button:hover { background: rgba(255, 255, 255, .08); }
.pm-panier .wc-block-mini-cart__quantity-badge { position: relative; }
.pm-panier .wc-block-mini-cart__icon { width: 26px; height: 26px; color: var(--pm-blanc); fill: currentColor; }
.pm-panier .wc-block-mini-cart__badge {
	background: var(--pm-soleil) !important; color: var(--pm-aubergine) !important; font: 700 11px/18px var(--pm-texte);
	min-width: 18px; height: 18px; border: 0; box-shadow: none;
}
.pm-panier .wc-block-mini-cart__amount { display: none; }

/* Recherche au téléphone : une ligne sous l'en-tête, ouverte par la loupe */
.pm-recherche-mobile { display: none; background: var(--pm-aubergine); padding-block: 0 12px; }
.pm-recherche-mobile:target, .pm-recherche-mobile.pm-ouvert { display: block; }
.pm-recherche-form {
	position: relative; display: flex; align-items: center; gap: 10px; height: 46px; padding-inline: 18px; border-radius: 999px;
	background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .2); color: var(--pm-lilas-200);
}
.pm-recherche-form input[type="search"] {
	flex: 1; min-width: 0; height: 100%; border: 0; background: transparent; color: var(--pm-blanc); font: inherit; font-size: 15px;
	outline: none;
}
.pm-recherche-form input::placeholder { color: var(--pm-lilas-200); opacity: 1; }
.pm-recherche-form:focus-within { border-color: var(--pm-lilas-200); }

@media (min-width: 1100px) {
	.pm-entete-ligne { grid-template-columns: auto 1fr auto; gap: 36px; height: 76px; }
	.pm-logo img { height: 52px; }
	.pm-btn-menu, .pm-btn-recherche, .pm-logo-mobile, .pm-recherche-mobile, .pm-recherche-mobile:target { display: none; }
	.pm-logo-bureau { display: block; }
	.pm-recherche { display: block; width: 100%; max-width: 560px; justify-self: center; }
	.pm-entete-fin .pm-langue-bureau, .pm-compte { display: flex; }
	a.pm-langue { display: none; }
	.pm-langue-bureau {
		align-items: center; height: 44px; padding-inline: 12px; font-size: 14px; font-weight: 500; border-radius: 12px;
		color: var(--pm-blanc); text-decoration: none;
	}
	.pm-langue-bureau:hover { background: rgba(255, 255, 255, .08); }
	.pm-nav { display: block; position: relative; border-block-start: 1px solid rgba(255, 255, 255, .1); }
	.pm-nav-liste { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; gap: 6px; }
	.pm-nav-item > a, .pm-nav-bouton {
		display: flex; align-items: center; gap: 6px; height: 50px; padding-inline: 16px; font: 500 15px/1 var(--pm-texte);
		color: var(--pm-lilas-200); text-decoration: none; background: none; border: 0; border-block-end: 2px solid transparent; cursor: pointer;
	}
	.pm-nav-item:hover > a, .pm-nav-item:focus-within > a, .pm-nav-item:hover > .pm-nav-bouton, .pm-nav-item:focus-within > .pm-nav-bouton,
	.pm-nav-item > a[aria-current="page"] {
		color: var(--pm-blanc); border-image: var(--pm-degrade) 1; border-block-end-width: 2px; border-block-end-style: solid;
	}
}
/* La variante « simple » (caisse) garde le logo au centre partout. */
.pm-haut--simple .pm-entete-ligne { grid-template-columns: 1fr auto 1fr; }
.pm-haut--simple .pm-entete-fin .pm-langue-bureau { display: flex; align-items: center; height: 44px; padding-inline: 8px; color: var(--pm-blanc); font-size: 14px; text-decoration: none; }
.pm-retour-panier { display: inline-flex; align-items: center; gap: 6px; color: var(--pm-lilas-200); font-size: 14px; text-decoration: none; }

/* ---------- Méga-menu (ordinateur) ---------- */
.pm-mega { display: none; }
@media (min-width: 1100px) {
	.pm-mega {
		display: block; position: absolute; inset-inline: 0; inset-block-start: 100%; z-index: 49; background: var(--pm-blanc);
		color: var(--pm-aubergine); box-shadow: var(--pm-ombre); border-radius: 0 0 22px 22px;
		visibility: hidden; opacity: 0; transform: translateY(-6px); transition: opacity .15s ease, transform .15s ease, visibility 0s .15s;
	}
	.pm-nav-item:hover > .pm-mega, .pm-nav-item:focus-within > .pm-mega, .pm-nav-item.pm-ouvert > .pm-mega {
		visibility: visible; opacity: 1; transform: none; transition-delay: 0s;
	}
	.pm-nav-item.pm-ferme > .pm-mega { visibility: hidden; opacity: 0; }
	.pm-mega-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 40px; padding-block: 34px 38px; }
	.pm-mega .pm-conteneur:not(.pm-mega-grille) { padding-block: 30px 34px; }
	.pm-mega-titre {
		font: 600 12.5px/1 var(--pm-texte); letter-spacing: .12em; text-transform: uppercase; color: var(--pm-texte-doux); margin: 0 0 14px;
	}
	[dir="rtl"] .pm-mega-titre { letter-spacing: 0; font-size: 14px; text-transform: none; }
	.pm-mega ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
	.pm-mega ul a {
		display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-block: 7px; font-size: 16px; font-weight: 500;
		color: var(--pm-aubergine); text-decoration: none;
	}
	.pm-mega ul a:hover { color: var(--pm-violet); }
	.pm-mega ul a .pm-ico { color: var(--pm-violet); }
	.pm-mega-tout { margin-block-start: 12px; color: var(--pm-violet); font-weight: 600; font-size: 15px; display: inline-flex; gap: 6px; align-items: center; text-decoration: none; }
	.pm-mise-en-avant {
		display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; align-items: center; align-self: start; padding: 16px;
		border-radius: 18px; background: var(--pm-lilas-50);
	}
	.pm-mise-en-avant-visuel { height: 140px; border-radius: 12px; background: var(--pm-blanc); display: grid; place-items: center; }
	.pm-mise-en-avant-visuel img { max-height: 120px; width: auto; mix-blend-mode: multiply; }
	.pm-mise-en-avant-nom { font: 600 17px/1.25 var(--pm-titre); margin: 4px 0 6px; }
	.pm-mise-en-avant-nom a { color: inherit; text-decoration: none; }
	.pm-mise-en-avant .pm-btn-panier { height: 40px; font-size: 13.5px; }
	body:has(.pm-nav-item:is(:hover, :focus-within, .pm-ouvert):not(.pm-ferme) > .pm-mega) .pm-voile { opacity: 1; visibility: visible; }
}

/* ---------- Tiroir du téléphone (modèle des maquettes, E4) ---------- */
.pm-tiroir {
	position: fixed; inset: 0; z-index: 80; background: var(--pm-blanc); color: var(--pm-aubergine); display: flex; flex-direction: column;
	overflow: hidden; overflow: clip; /* « clip » : une ancre (#pm-n2-…) ne fait plus défiler le tiroir hors de l'écran */
	visibility: hidden; transform: translateX(-100%); transition: transform .25s ease, visibility 0s .25s;
}
[dir="rtl"] .pm-tiroir { transform: translateX(100%); }
.pm-tiroir:target, .pm-tiroir.pm-ouvert, .pm-tiroir:has(.pm-niveau-2:target) { visibility: visible; transform: none; transition-delay: 0s; }
.admin-bar .pm-tiroir { inset-block-start: var(--wp-admin--admin-bar--height, 0px); }
.pm-tiroir-haut {
	display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; height: 62px; padding-inline: 8px;
	border-block-end: 1px solid var(--pm-lilas-200); text-align: center;
}
.pm-tiroir-haut .pm-btn-icone { color: var(--pm-aubergine); }
.pm-tiroir-haut strong { font: 600 16px/1 var(--pm-titre); }
.pm-niveau {
	position: absolute; inset: 62px 0 0 0; overflow-y: auto; padding: 8px 20px 24px; background: var(--pm-blanc);
	transition: transform .25s ease, visibility 0s .25s;
}
.pm-niveau-2 { transform: translateX(100%); visibility: hidden; }
[dir="rtl"] .pm-niveau-2 { transform: translateX(-100%); }
.pm-niveau-2:target, .pm-niveau-2.pm-ouvert { transform: none; visibility: visible; transition-delay: 0s; }
.pm-tiroir:has(.pm-niveau-2:target) .pm-niveau-1, .pm-tiroir.pm-sous-menu .pm-niveau-1 { visibility: hidden; }
.pm-grands { list-style: none; margin: 0; padding: 0; }
.pm-grands a {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-block: 15px; font: 600 23px/1.2 var(--pm-titre);
	color: var(--pm-aubergine); text-decoration: none; border-block-end: 1px solid var(--pm-lilas-100);
}
.pm-grands a .pm-ico { color: var(--pm-violet); }
.pm-grands--n2 a { font-size: 19px; padding-block: 13px; }
.pm-petits { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 4px; }
.pm-petits a { display: flex; align-items: center; gap: 10px; padding-block: 8px; font-size: 15.5px; color: var(--pm-aubergine); text-decoration: none; }
.pm-petits .pm-ico { color: var(--pm-texte-doux); width: 19px; height: 19px; }
.pm-langues { display: flex; gap: 8px; margin-block-start: 18px; }
.pm-langues > * {
	flex: 1; height: 44px; display: grid; place-items: center; border-radius: 999px; border: 1px solid var(--pm-lilas-200); font-weight: 500;
	color: var(--pm-aubergine); text-decoration: none;
}
.pm-langues .pm-langues-actif { background: var(--pm-aubergine); color: var(--pm-blanc); border-color: var(--pm-aubergine); }
.pm-carte-whatsapp {
	margin-block-start: 20px; padding: 16px; border-radius: 16px; background: var(--pm-lilas-50); display: flex; gap: 12px; align-items: center;
	font-size: 14px; line-height: 1.4; color: var(--pm-aubergine); text-decoration: none;
}
.pm-rond {
	width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; flex: none; background: var(--pm-blanc);
	color: var(--pm-violet); box-shadow: inset 0 0 0 1.5px var(--pm-lilas-200);
}
.pm-rond--whatsapp { background: var(--pm-whatsapp); color: var(--pm-aubergine); box-shadow: none; }
.pm-retour { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; color: var(--pm-violet); padding-block: 12px; text-decoration: none; }
.pm-niveau-titre { font: 600 26px/1.2 var(--pm-titre); margin: 4px 0 6px; }
.pm-voir-tout { display: inline-flex; gap: 6px; align-items: center; color: var(--pm-violet); font-weight: 500; font-size: 15px; margin-block-end: 8px; text-decoration: none; }
.pm-niveau-sous-titre {
	font: 600 13px/1.2 var(--pm-texte); letter-spacing: .1em; text-transform: uppercase; color: var(--pm-texte-doux); margin: 22px 0 8px;
}
[dir="rtl"] .pm-niveau-sous-titre { letter-spacing: 0; font-size: 14px; text-transform: none; }
.pm-marques-liste { display: flex; flex-wrap: wrap; gap: 8px; }
.pm-marques-liste a {
	height: 38px; display: inline-flex; align-items: center; padding-inline: 14px; border-radius: 999px; background: var(--pm-lilas-50);
	font-weight: 500; font-size: 14px; color: var(--pm-aubergine); text-decoration: none;
}
.pm-voile {
	position: fixed; inset: 0; z-index: 40; background: rgba(33, 1, 39, .45); opacity: 0; visibility: hidden; transition: opacity .15s ease;
	pointer-events: none;
}
@media (min-width: 1100px) { .pm-tiroir { display: none; } }
body.pm-tiroir-ouvert { overflow: hidden; }

/* ---------- Diaporama (E5) : une CARTE claire, détachée de l'en-tête ---------- */
.pm-diaporama { position: relative; padding-block: 14px 6px; }
.pm-diapos {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; border-radius: 22px;
	overscroll-behavior-x: contain;
}
.pm-diapos::-webkit-scrollbar { display: none; }
.pm-diapo {
	flex: 0 0 100%; scroll-snap-align: start; position: relative; overflow: hidden; border-radius: 22px; color: var(--pm-aubergine);
	min-height: 392px; display: grid; grid-template-rows: auto 1fr;
	background:
		radial-gradient(70% 60% at 88% 92%, rgba(235, 3, 171, .22) 0%, rgba(235, 3, 171, 0) 70%),
		radial-gradient(60% 55% at 70% 20%, rgba(252, 186, 3, .20) 0%, rgba(252, 186, 3, 0) 70%),
		radial-gradient(70% 70% at 0% 0%, rgba(140, 3, 232, .16) 0%, rgba(140, 3, 232, 0) 70%),
		var(--pm-lilas-50);
}
[dir="rtl"] .pm-diapo {
	background:
		radial-gradient(70% 60% at 12% 92%, rgba(235, 3, 171, .22) 0%, rgba(235, 3, 171, 0) 70%),
		radial-gradient(60% 55% at 30% 20%, rgba(252, 186, 3, .20) 0%, rgba(252, 186, 3, 0) 70%),
		radial-gradient(70% 70% at 100% 0%, rgba(140, 3, 232, .16) 0%, rgba(140, 3, 232, 0) 70%),
		var(--pm-lilas-50);
}
.pm-diapo-texte { padding: 26px 22px 0; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; position: relative; z-index: 2; }
.pm-surtitre { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--pm-magenta-texte); }
[dir="rtl"] .pm-surtitre { letter-spacing: 0; font-size: 13.5px; }
/* Sur le fond teinté du diaporama, le magenta-texte tombe à 4,35:1 au coin violet : assombri de 6 % → 5,26:1 (outils/contrastes.py). */
.pm-diapo .pm-surtitre { color: #9A0275; }
.pm-diapo-titre { margin: 0; font: 600 29px/1.15 var(--pm-titre); letter-spacing: -.012em; max-width: 18ch; color: var(--pm-aubergine); }
[dir="rtl"] .pm-diapo-titre { max-width: 20ch; font-size: 28px; line-height: 1.45; letter-spacing: 0; }
/* Le dégradé n'est peint que dans la boîte du texte : sans marge en bas, les points SOUS la ligne de l'arabe (« في », « يناسبكم »)
   disparaissent (mesuré au banc le 04/11). La marge verticale d'un élément en ligne ne change pas la hauteur des lignes ; « clone » la
   répète sur chaque ligne quand le titre passe à la ligne. */
.pm-degrade-texte {
	background: var(--pm-degrade-bouton); -webkit-background-clip: text; background-clip: text; color: transparent;
	padding-block: .1em .3em; -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.pm-diapo-detail { margin: 0; color: var(--pm-texte-doux); }
.pm-btn-principal {
	display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding-inline: 22px; border-radius: 999px; border: 0;
	background: var(--pm-degrade-bouton); color: var(--pm-blanc); font-weight: 600; font-size: 15px; text-decoration: none;
}
.pm-btn-principal:hover { color: var(--pm-blanc); filter: brightness(1.08); }
.pm-diapo-visuel { position: relative; display: flex; align-items: flex-end; justify-content: center; padding-inline: 12px; }
.pm-diapo-visuel img { height: 178px; width: auto; object-fit: contain; mix-blend-mode: multiply; }
.pm-diapo-visuel img + img { margin-inline-start: -28px; height: 150px; }
.pm-diapo-icone { display: grid; place-items: center; width: 150px; height: 150px; margin-block-end: 24px; border-radius: 50%; background: var(--pm-blanc); color: var(--pm-violet); box-shadow: var(--pm-ombre); }
.pm-diapo-icone .pm-ico { width: 72px; height: 72px; stroke-width: 1.4; }
/* Diapositive « Discrétion » (3.8, seulement avec les mots de l'interrupteur) : ligne « Paiement à la livraison » + dessin du colis. */
.pm-diapo-ligne { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--pm-aubergine); }
.pm-diapo-ligne .pm-ico { color: var(--pm-violet); flex: none; }
.pm-diapo-visuel .pm-diapo-carton { mix-blend-mode: normal; }
@media (max-width: 899px) {
	/* Au téléphone, la diapositive « Discrétion » (texte plus long) rend la carte plus haute : les boîtes des autres diapositives
	   grandissent et se centrent dans la place gagnée, le dessin du colis reste plus petit. */
	.pm-diaporama--colis .pm-diapo-visuel { align-items: center; }
	.pm-diaporama--colis .pm-diapo-visuel img { height: 210px; }
	.pm-diaporama--colis .pm-diapo-visuel img + img { height: 180px; }
	.pm-diaporama--colis .pm-diapo-visuel .pm-diapo-carton { height: 160px; }
}
.pm-diapo-controles { display: flex; align-items: center; justify-content: center; gap: 14px; padding-block: 12px 4px; }
.pm-diapo-controles[hidden] { display: none; }
.pm-points { display: flex; gap: 7px; }
.pm-points button { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px; background: var(--pm-lilas-200); cursor: pointer; position: relative; }
.pm-points button::after { content: ""; position: absolute; inset: -18px -6px; }
.pm-points button[aria-current="true"] { width: 26px; background: var(--pm-degrade); }
.pm-fleche {
	width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--pm-lilas-200); background: var(--pm-blanc); display: grid;
	place-items: center; color: var(--pm-aubergine); cursor: pointer; padding: 0; position: relative;
}
.pm-fleche::after { content: ""; position: absolute; inset: -4px; }
.pm-fleche .pm-ico { width: 18px; height: 18px; }
.pm-pause {
	display: inline-flex; align-items: center; gap: 4px; min-height: 36px; padding-inline: 10px; border: 0; background: none; color: var(--pm-texte-doux);
	font: 500 12.5px/1 var(--pm-texte); cursor: pointer;
}
.pm-pause .pm-pause-ico, .pm-pause .pm-lecture-ico { display: inline-flex; }
.pm-pause[aria-pressed="true"] .pm-pause-ico, .pm-pause:not([aria-pressed="true"]) .pm-lecture-ico { display: none; }
@media (min-width: 900px) {
	.pm-diaporama { padding-block: 22px 8px; }
	.pm-diapo { min-height: 420px; grid-template-columns: 1.05fr 1fr; grid-template-rows: none; }
	.pm-diapo-texte { padding-block: 56px; padding-inline: 56px 0; justify-content: center; gap: 18px; }
	.pm-diapo-titre { font-size: 46px; }
	[dir="rtl"] .pm-diapo-titre { font-size: 42px; }
	.pm-diapo-visuel { align-items: center; }
	.pm-diapo-visuel img { height: 330px; }
	.pm-diapo-visuel img + img { height: 280px; margin-inline-start: -50px; }
	.pm-diapo-icone { width: 220px; height: 220px; margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.pm-diapos { scroll-behavior: auto; }
	.pm-tiroir, .pm-niveau, .pm-mega, .pm-barre-achat { transition: none !important; }
}

/* ---------- Sections ---------- */
.pm-section { padding-block: 34px; }
.pm-main > .pm-section:first-child { padding-block-start: 14px; }
.pm-section-titre { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-block-end: 16px; }
.pm-section-titre > * { margin: 0 !important; }
.pm-section-titre h2 { font-size: 23px; }
.pm-tout-voir a, .pm-section-titre > a {
	font-size: 14px; color: var(--pm-violet); font-weight: 500; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; text-decoration: none;
}
@media (min-width: 900px) { .pm-section { padding-block: 52px; } .pm-section-titre h2 { font-size: 32px; } }
.pm-fond-lilas { background: var(--pm-lilas-50); }
.pm-section > * + * { margin-block-start: 0; }

/* Cartes de rubriques */
.pm-rubriques { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.pm-rubrique {
	display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: var(--pm-rayon-s); background: var(--pm-lilas-50);
	border: 1px solid var(--pm-lilas-100); min-height: 76px; color: var(--pm-aubergine); text-decoration: none;
}
.pm-rubrique:hover { border-color: var(--pm-lilas-200); box-shadow: var(--pm-ombre-s); }
.pm-vignette { width: 54px; height: 54px; border-radius: 12px; background: var(--pm-blanc); display: grid; place-items: center; flex: none; overflow: hidden; }
.pm-vignette img { max-width: 44px; max-height: 44px; width: auto; height: auto; object-fit: contain; mix-blend-mode: multiply; }
.pm-vignette .pm-vignette-symbole { opacity: .35; mix-blend-mode: normal; }
.pm-rubrique-nom { font: 600 14px/1.25 var(--pm-titre); flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.pm-rubrique-nom span { min-width: 0; overflow-wrap: normal; hyphens: manual; }
@media (max-width: 400px) {
	.pm-rubrique { gap: 8px; padding: 8px; }
	.pm-vignette { width: 46px; height: 46px; }
	.pm-vignette img { max-width: 38px; max-height: 38px; }
	.pm-rubrique-nom { font-size: 13.5px; gap: 4px; }
	.pm-rubrique-nom .pm-ico { width: 16px; height: 16px; }
}
.pm-rubrique-nom .pm-ico { width: 18px; height: 18px; color: var(--pm-violet); flex: none; }
@media (min-width: 900px) {
	.pm-rubriques { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.pm-rubrique { flex-direction: column; align-items: flex-start; padding: 18px; min-height: 0; }
	.pm-vignette { width: 100%; height: 150px; }
	.pm-vignette img { max-width: 120px; max-height: 120px; }
	.pm-rubrique-nom { font-size: 17px; width: 100%; }
}

/* ---------- Grilles de produits (collection de produits de WooCommerce) ---------- */
.pm-grille .wc-block-product-template.wc-block-product-template,
.pm-grille .wc-block-product-template.wc-block-product-template__responsive {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none;
}
@media (min-width: 900px) {
	.pm-grille .wc-block-product-template.wc-block-product-template,
	.pm-grille .wc-block-product-template.wc-block-product-template__responsive { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
}
.pm-grille .wc-block-product { display: flex; margin: 0; padding: 0; width: auto; max-width: none; }

/* ---------- Carte produit (E3) ---------- */
.pm-carte {
	display: flex; flex-direction: column; flex: 1; min-width: 0; border-radius: var(--pm-rayon); background: var(--pm-blanc);
	border: 1px solid var(--pm-lilas-200); overflow: hidden;
}
.pm-carte > * { margin: 0 !important; }
.pm-carte-visuel.wc-block-components-product-image { position: relative; aspect-ratio: 1; background: var(--pm-lilas-50); display: grid; place-items: center; padding: 14px; margin: 0 !important; }
.pm-carte-visuel a { display: grid; place-items: center; width: 100%; height: 100%; }
.pm-carte-visuel img { max-height: 100%; max-width: 100%; width: auto !important; height: auto; object-fit: contain; mix-blend-mode: multiply; aspect-ratio: auto !important; }
.pm-carte-corps { flex: 1; display: flex; flex-direction: column; gap: 7px; padding: 12px; }
.pm-carte-corps > * { margin: 0 !important; }
.pm-surtitre-carte { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--pm-texte-doux); }
[dir="rtl"] .pm-surtitre-carte { letter-spacing: .02em; font-size: 12px; text-transform: none; }
.pm-carte-titre { font-size: 15px !important; line-height: 1.28; font-weight: 600; margin: 0; }
[dir="rtl"] .pm-carte-titre { line-height: 1.5; }
.pm-carte-titre a { color: var(--pm-aubergine); text-decoration: none; }
.pm-carte-titre a:hover { color: var(--pm-violet); }
.pm-puces { display: flex; flex-wrap: wrap; gap: 5px; list-style: none; margin: 0; padding: 0; }
.pm-puce {
	display: inline-flex; align-items: center; gap: 4px; font-size: 11.5px; line-height: 1.15; padding: 5px 8px; border-radius: 999px;
	background: var(--pm-lilas-100); color: var(--pm-aubergine);
}
.pm-carte-corps .wp-block-preservatif-achat { margin-block-start: auto !important; }

/* ---------- Achat : prix, disponibilité, boîtes, bouton ---------- */
.pm-achat { display: flex; flex-direction: column; gap: 8px; }
.pm-achat-form { display: flex; flex-direction: column; gap: 8px; margin: 0; }
.pm-ligne-prix { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; flex-wrap: wrap; }
.pm-ligne-prix .pm-prix { font: 700 18px/1 var(--pm-titre); color: var(--pm-aubergine); }
.pm-prix del { display: none; } /* prix seul, sans barré (choix 5) — filet de sécurité, le filtre PHP le retire déjà */
.pm-prix ins { text-decoration: none; }
.pm-dispo { font-size: 12px; font-weight: 500; display: inline-flex; align-items: center; gap: 5px; color: var(--pm-stock); }
.pm-dispo::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pm-dispo--rupture { color: var(--pm-rupture); }
fieldset.pm-boites, fieldset.pm-choix-boite { border: 0; margin: 0; padding: 0; min-width: 0; }
.pm-boites { display: flex; gap: 6px; }
.pm-boite { flex: 1; position: relative; min-width: 0; }
.pm-boite input, .pm-case input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pm-boite .pm-case-nom {
	display: block; text-align: center; font-size: 12px; font-weight: 500; padding-block: 6px; border-radius: 9px; border: 1px solid var(--pm-lilas-200);
	color: var(--pm-texte-doux); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pm-boite input:checked + .pm-case-nom { border-color: var(--pm-aubergine); color: var(--pm-aubergine); box-shadow: inset 0 0 0 1px var(--pm-aubergine); }
.pm-boite input:focus-visible + .pm-case-nom, .pm-case:has(input:focus-visible) { outline: 2px solid var(--pm-violet); outline-offset: 2px; }
.pm-epuisee .pm-case-nom { text-decoration: line-through; text-decoration-color: var(--pm-bordure); }
.pm-btn-panier {
	display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; padding-inline: 14px; border: 0;
	border-radius: 999px; background: var(--pm-degrade-bouton); color: var(--pm-blanc); font: 600 14px/1.2 var(--pm-texte); cursor: pointer;
	text-decoration: none; text-align: center;
}
.pm-btn-panier:hover { color: var(--pm-blanc); filter: brightness(1.08); }
.pm-btn-panier .pm-ico { width: 18px; height: 18px; }
.pm-btn-panier[disabled] { background: var(--pm-lilas-100); color: var(--pm-texte-doux); cursor: not-allowed; filter: none; }
.pm-btn-panier.pm-ajoute { background: var(--pm-stock); }
@media (max-width: 420px) { .pm-carte .pm-btn-panier .pm-ico { display: none; } .pm-carte .pm-btn-panier { font-size: 13.5px; padding-inline: 8px; } }
.pm-carte:has(.pm-btn-panier[disabled]) .pm-carte-visuel img { opacity: .55; }
.pm-btn-whatsapp {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding-inline: 20px; border-radius: 999px;
	background: var(--pm-whatsapp); color: var(--pm-aubergine); font-weight: 600; text-decoration: none; width: fit-content;
}
.pm-btn-whatsapp:hover { color: var(--pm-aubergine); filter: brightness(1.05); }

/* ---------- Guides, réassurance, contact ---------- */
.pm-guides { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
@media (min-width: 900px) { .pm-guides { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.pm-guide { display: flex; flex-direction: column; gap: 10px; padding: 18px; border-radius: var(--pm-rayon); background: var(--pm-blanc); border: 1px solid var(--pm-lilas-200); }
.pm-guide-num {
	font: 600 13px/1 var(--pm-titre); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: var(--pm-blanc);
	background: var(--pm-degrade-bouton);
}
.pm-guide h3 { font-size: 17px; margin: 0; }
.pm-guide a { color: var(--pm-violet); font-size: 14px; font-weight: 500; display: inline-flex; gap: 4px; align-items: center; text-decoration: none; margin-block-start: auto; }
.pm-reassurance { list-style: none; margin: 0; padding: 0; }
.pm-reassurance--icones { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 12px; }
@media (min-width: 900px) { .pm-reassurance--icones { grid-template-columns: repeat(4, 1fr); } .pm-reassurance--icones:has(> li:nth-child(3):last-child) { grid-template-columns: repeat(3, 1fr); } }
.pm-reassurance--icones li { display: flex; flex-direction: column; gap: 8px; font-size: 13.5px; line-height: 1.4; }
.pm-reassurance--icones strong { font: 600 14.5px/1.3 var(--pm-titre); }
.pm-reassurance--mini { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--pm-texte-doux); }
.pm-reassurance--mini li { display: inline-flex; align-items: center; gap: 5px; }
.pm-reassurance--mini .pm-ico { width: 15px; height: 15px; color: var(--pm-violet); }
.pm-reassurance--tuiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-block: 28px 0 !important; }
.pm-reassurance--tuiles li, .pm-reassurance--panier li {
	display: flex; gap: 10px; align-items: center; padding: 12px; border-radius: 14px; background: var(--pm-lilas-50); font-size: 13px; line-height: 1.35;
}
.pm-reassurance--tuiles .pm-ico, .pm-reassurance--panier .pm-ico { color: var(--pm-violet); }
@media (min-width: 900px) { .pm-reassurance--tuiles { grid-template-columns: repeat(3, 1fr); } .pm-reassurance--tuiles:has(> li:nth-child(4)) { grid-template-columns: repeat(4, 1fr); } }
.pm-reassurance--panier { display: grid; gap: 8px; margin-block-start: 22px !important; }
@media (min-width: 900px) { .pm-reassurance--panier { grid-template-columns: repeat(3, 1fr); } }
.pm-contact {
	border-radius: 22px; padding: 26px 22px; color: var(--pm-blanc); display: grid; gap: 16px;
	background: radial-gradient(110% 120% at 100% 0%, rgba(235, 3, 171, .35), rgba(235, 3, 171, 0) 60%), var(--pm-aubergine);
}
[dir="rtl"] .pm-contact { background: radial-gradient(110% 120% at 0% 0%, rgba(235, 3, 171, .35), rgba(235, 3, 171, 0) 60%), var(--pm-aubergine); }
.pm-contact-rond { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: var(--pm-degrade); color: var(--pm-aubergine); }
.pm-contact-rond .pm-ico { width: 30px; height: 30px; }
.pm-contact-titre { font-size: 24px !important; color: var(--pm-blanc) !important; margin: 0 0 6px; }
.pm-contact p { color: var(--pm-lilas-200); margin: 0; }
.pm-contact p + p { margin-block-start: 8px; }
.pm-lien-clair { color: var(--pm-blanc); font-weight: 500; display: inline-flex; gap: 6px; align-items: center; }
@media (min-width: 900px) { .pm-contact { grid-template-columns: auto 1fr auto; align-items: center; padding: 34px 40px; gap: 28px; } }

/* ---------- Pied de page ---------- */
.pm-partie-pied, .pm-bas-de-page { display: contents; }
.pm-pied { background: var(--pm-aubergine); color: var(--pm-lilas-200); padding-block: 36px 90px; font-size: 14px; margin-block-start: 20px; }
.pm-pied::before { content: ""; display: block; height: 3px; background: var(--pm-degrade); margin-block: -36px 36px; }
.pm-pied-colonnes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 16px; }
.pm-pied-marque { grid-column: 1 / -1; }
.pm-pied-marque .pm-logo img { height: 46px; margin-block-end: 14px; }
.pm-pied-marque p { margin: 0; max-width: 40ch; }
.pm-pied-marque .pm-pied-google { margin-block-start: 10px; font-size: 13px; }
.pm-pied-titre { color: var(--pm-blanc); font: 600 15px/1.2 var(--pm-titre); margin: 0 0 10px; }
.pm-pied ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.pm-pied a { color: var(--pm-lilas-200); text-decoration: none; }
.pm-pied a:hover { color: var(--pm-blanc); text-decoration: underline; }
.pm-pied-bas {
	margin-block-start: 30px; padding-block-start: 18px; border-block-start: 1px solid rgba(255, 255, 255, .12); display: flex; flex-wrap: wrap;
	gap: 10px 20px; justify-content: space-between; font-size: 13px;
	padding-inline-end: 76px; /* la bulle WhatsApp ne couvre jamais le lien de langue */
}
@media (min-width: 900px) {
	.pm-pied-colonnes { grid-template-columns: 1.4fr repeat(3, 1fr); }
	.pm-pied-marque { grid-column: auto; }
	.pm-pied { padding-block-end: 40px; }
}

/* ---------- Bulle WhatsApp (E6) : jamais sur le bouton d'achat ---------- */
.pm-whatsapp-flottant {
	position: fixed; inset-inline-end: 16px; inset-block-end: 16px; z-index: 60; width: 58px; height: 58px; border-radius: 50%;
	background: var(--pm-whatsapp); color: var(--pm-aubergine); display: grid; place-items: center; box-shadow: 0 8px 22px rgba(33, 1, 39, .28);
	transition: inset-block-end .25s ease;
}
.pm-whatsapp-flottant .pm-ico { width: 30px; height: 30px; stroke-width: 1.7; }
.pm-barre-visible .pm-whatsapp-flottant { inset-block-end: 86px; }
/* Filet de sécurité (script) : si la bulle touche le gros bouton d'achat, elle s'efface le temps qu'il soit dessous. */
.pm-whatsapp-flottant { transition: inset-block-end .25s ease, opacity .2s ease, transform .2s ease; }
.pm-bulle-effacee .pm-whatsapp-flottant { opacity: 0; transform: scale(.85); pointer-events: none; }

/* ---------- Page de rubrique ---------- */
.pm-fil, .woocommerce-breadcrumb { font-size: 13px; color: var(--pm-texte-doux); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding-block: 14px 6px; margin: 0; }
.wp-block-woocommerce-breadcrumbs .woocommerce-breadcrumb.pm-fil { padding-block: 14px 6px; margin: 0; } /* WooCommerce le remettait à 0 */
.pm-fil a, .woocommerce-breadcrumb a { color: var(--pm-texte-doux); text-decoration: none; }
.pm-fil a:hover { color: var(--pm-violet); }
.pm-fil-sep { display: inline-flex; }
.pm-tete-rubrique > * { margin: 0 !important; }
.pm-tete-rubrique .wp-block-query-title { font-size: 30px; }
.pm-tete-rubrique .wp-block-term-description { color: var(--pm-texte-doux); margin-block-start: 8px !important; max-width: 62ch; font-size: 15px; }
.pm-tete-rubrique .wp-block-term-description p { margin: 0; }
@media (min-width: 900px) { .pm-tete-rubrique .wp-block-query-title { font-size: 44px; } }
.pm-onglets {
	display: flex; gap: 8px; overflow-x: auto; padding-block: 16px 4px; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none;
}
.pm-onglets::-webkit-scrollbar { display: none; }
.pm-onglets a {
	flex: none; height: 40px; display: inline-flex; align-items: center; padding-inline: 16px; border-radius: 999px; border: 1px solid var(--pm-lilas-200);
	font-size: 14px; font-weight: 500; white-space: nowrap; color: var(--pm-aubergine); text-decoration: none;
}
.pm-onglets a[aria-current="page"] { background: var(--pm-aubergine); border-color: var(--pm-aubergine); color: var(--pm-blanc); }
@media (min-width: 768px) { .pm-onglets { margin-inline: 0; padding-inline: 0; flex-wrap: wrap; } }
.pm-outils { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-block: 14px; font-size: 14px; }
.pm-outils > * { margin: 0 !important; }
.pm-outils .woocommerce-result-count { color: var(--pm-texte-doux); margin: 0; }
.pm-outils .woocommerce-ordering { margin: 0; }
.pm-outils select, .woocommerce-ordering select {
	height: 42px; padding-inline: 16px 36px; border-radius: 999px; border: 1px solid var(--pm-bordure); background-color: var(--pm-blanc);
	font: 500 14px/1 var(--pm-texte); color: var(--pm-aubergine); max-width: 52vw;
}
[dir="rtl"] .pm-outils select { padding-inline: 36px 16px; background-position: left 12px center; }
.pm-vide { padding-block: 24px; color: var(--pm-texte-doux); }
.wp-block-query-pagination { margin-block-start: 26px; gap: 6px; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: 8px 12px; border-radius: 999px; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--pm-aubergine); color: var(--pm-blanc); }

/* ---------- Fiche produit (E7, E8) ---------- */
.pm-fiche { display: grid; gap: 18px; padding-block-start: 4px; }
.pm-fiche > * { margin: 0 !important; min-width: 0; }
.pm-fiche-galerie .woocommerce-product-gallery { position: relative; margin: 0 !important; width: 100% !important; float: none !important; opacity: 1 !important; }
.pm-fiche-galerie > * { margin: 0 !important; }
/* E8 au téléphone : l'accroche passe sous le bouton d'achat (à l'ordinateur, elle reste au-dessus). */
@media (max-width: 899px) { .pm-fiche-infos > .pm-accroche { order: 1; } }
.pm-fiche-galerie .woocommerce-product-gallery__wrapper { margin: 0; }
.pm-fiche-galerie .woocommerce-product-gallery__image,
.pm-fiche-galerie .flex-viewport { border-radius: var(--pm-rayon); background: var(--pm-lilas-50); }
.pm-fiche-galerie .woocommerce-product-gallery__image > a { display: grid; place-items: center; height: 258px; }
.pm-fiche-galerie .woocommerce-product-gallery__image img {
	max-height: 228px; width: auto !important; max-width: 100%; margin-inline: auto; object-fit: contain; mix-blend-mode: multiply;
}
.pm-fiche-galerie .woocommerce-product-gallery__trigger { display: none; }
.pm-fiche-galerie .flex-control-thumbs { display: flex; gap: 8px; list-style: none; margin: 10px 0 0; padding: 0; overflow-x: auto; }
.pm-fiche-galerie .flex-control-thumbs li { flex: 0 0 64px; height: 64px; border-radius: 12px; background: var(--pm-lilas-50); border: 1px solid var(--pm-lilas-200); display: grid; place-items: center; cursor: pointer; }
.pm-fiche-galerie .flex-control-thumbs img { max-height: 54px; width: auto; mix-blend-mode: multiply; opacity: .7; }
.pm-fiche-galerie .flex-control-thumbs img.flex-active { opacity: 1; }
.pm-fiche-galerie .flex-control-thumbs li:has(img.flex-active) { border-color: var(--pm-aubergine); }
/* E8 : galerie un peu plus basse sur les petits téléphones, pour garder le bouton loin de la bulle WhatsApp. */
@media (max-width: 420px) {
	.pm-fiche-galerie .woocommerce-product-gallery__image > a { height: 230px; }
	.pm-fiche-galerie .woocommerce-product-gallery__image img { max-height: 204px; }
}
.pm-fiche-infos { display: flex; flex-direction: column; gap: 10px; }
.pm-fiche-infos > * { margin: 0 !important; }
.pm-fiche-titre { font-size: 23px !important; line-height: 1.2; margin: 0; }
[dir="rtl"] .pm-fiche-titre { font-size: 22px !important; line-height: 1.5; }
.pm-accroche { color: var(--pm-texte-doux); font-size: 15px; }
.pm-accroche p { margin: 0; }
.pm-accroche .wp-block-post-excerpt__more-text { display: none; }
.pm-achat--fiche { gap: 12px; }
.pm-achat--fiche .pm-ligne-prix { justify-content: flex-start; align-items: center; gap: 14px; }
.pm-achat--fiche .pm-ligne-prix .pm-prix { font-size: 26px; }
.pm-choix-boite { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.pm-case {
	position: relative; display: flex; flex-direction: column; gap: 1px; padding: 9px 12px; border-radius: 12px; border: 1px solid var(--pm-lilas-200);
	font-size: 14px; font-weight: 500; cursor: pointer;
}
.pm-case .pm-case-prix { color: var(--pm-texte-doux); font-weight: 400; font-size: 12.5px; }
.pm-case:has(input:checked) { border-color: var(--pm-aubergine); box-shadow: inset 0 0 0 1px var(--pm-aubergine); background: var(--pm-lilas-50); }
.pm-achat-ligne { display: flex; gap: 10px; }
.pm-quantite { display: flex; align-items: center; height: 52px; border: 1px solid var(--pm-bordure); border-radius: 999px; flex: none; }
.pm-quantite .pm-qte { width: 40px; height: 50px; border: 0; background: none; display: grid; place-items: center; cursor: pointer; color: var(--pm-aubergine); padding: 0; }
.pm-quantite .pm-qte .pm-ico { width: 18px; height: 18px; }
.pm-quantite input {
	width: 30px; height: 50px; border: 0; background: none; text-align: center; font: 600 16px/1 var(--pm-texte); color: var(--pm-aubergine);
	-moz-appearance: textfield; appearance: textfield; padding: 0;
}
.pm-quantite input::-webkit-outer-spin-button, .pm-quantite input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pm-btn-panier--grand { min-height: 52px; font-size: 16px; }
.pm-suite-fiche { padding-block: 28px 8px; }
.pm-contenu-fiche { max-width: 760px; }
.pm-contenu-fiche > * + * { margin-block-start: 16px; }
.pm-a-voir-aussi { padding-block: 8px 34px; }
.pm-titre-a-voir { font-size: 23px; margin: 0 0 16px !important; }
@media (min-width: 900px) {
	.pm-fiche { grid-template-columns: 1.05fr 1fr; gap: 56px; padding-block-start: 10px; align-items: start; }
	.pm-fiche-galerie { position: sticky; inset-block-start: calc(var(--pm-haut-colle) + 150px); }
	.pm-fiche-galerie .woocommerce-product-gallery__image > a { height: 520px; }
	.pm-fiche-galerie .woocommerce-product-gallery__image img { max-height: 440px; }
	.pm-fiche-galerie .flex-control-thumbs li { flex-basis: 76px; height: 76px; }
	.pm-fiche-infos { gap: 16px; padding-block-start: 8px; }
	.pm-fiche-titre { font-size: 36px !important; }
	[dir="rtl"] .pm-fiche-titre { font-size: 32px !important; }
	.pm-btn-panier--grand { font-size: 17px; }
	.pm-titre-a-voir { font-size: 32px; }
}

/* Accordéons natifs (contenu des fiches, FAQ, pages d'aide) */
.wp-block-details { border-block-end: 1px solid var(--pm-lilas-200); padding: 0; margin: 0; }
.wp-block-details:first-child, :not(.wp-block-details) + .wp-block-details { border-block-start: 1px solid var(--pm-lilas-200); }
:where(.pm-contenu-fiche, .pm-contenu-page) > .wp-block-details + .wp-block-details { margin-block-start: 0; }
.wp-block-details summary {
	list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-block: 16px; cursor: pointer;
	font: 600 16px/1.3 var(--pm-titre); color: var(--pm-aubergine);
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font: 400 24px/1 var(--pm-texte); color: var(--pm-violet); flex: none; }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { margin-block: 0 16px; font-size: 14.5px; color: var(--pm-texte-doux); }
.wp-block-details[open] > summary + * { margin-block-start: 0; }
.pm-titre-faq { font-size: 19px !important; margin-block: 28px 6px !important; }
.wp-block-table table, .pm-carac table { border-collapse: collapse; width: 100%; font-size: 14px; }
.wp-block-table td, .wp-block-table th { border: 0; border-block-end: 1px solid var(--pm-lilas-200); padding: 8px 12px 8px 0; text-align: start; }
[dir="rtl"] .wp-block-table td, [dir="rtl"] .wp-block-table th { padding: 8px 0 8px 12px; }
.wp-block-table td:first-child { color: var(--pm-texte-doux); }

/* Barre d'achat collante (téléphone) */
.pm-barre-achat {
	position: fixed; inset-inline: 0; inset-block-end: 0; z-index: 55; display: flex; align-items: center; gap: 12px; padding: 10px 16px;
	background: var(--pm-blanc); border-block-start: 1px solid var(--pm-lilas-200); box-shadow: 0 -8px 24px rgba(33, 1, 39, .10);
	transform: translateY(110%); transition: transform .25s ease; margin: 0 !important;
}
.pm-barre-achat.pm-visible { transform: none; }
.pm-barre-achat img { width: 46px; height: 46px; object-fit: contain; border-radius: 10px; background: var(--pm-lilas-50); mix-blend-mode: multiply; flex: none; }
.pm-barre-texte { flex: 1; min-width: 0; font-size: 13px; line-height: 1.3; display: flex; flex-direction: column; }
.pm-barre-texte strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--pm-titre); font-weight: 600; }
.pm-barre-achat .pm-btn-panier { width: auto; padding-inline: 18px; flex: none; }
@media (min-width: 900px) { .pm-barre-achat { display: none; } .pm-barre-visible .pm-whatsapp-flottant { inset-block-end: 16px; } }

/* ---------- Pages de texte (légales, aide), 404 ---------- */
.pm-titre-page { font-size: 30px; margin-block: 24px 16px !important; }
@media (min-width: 900px) { .pm-titre-page { font-size: 44px; margin-block-start: 40px !important; } }
.pm-page .pm-contenu-page { padding-block-end: 48px; }
.pm-contenu-page h2 { font-size: 23px; margin-block: 32px 10px; }
.pm-contenu-page h3 { font-size: 19px; margin-block: 24px 8px; }
.pm-contenu-page :is(ul, ol) { padding-inline-start: 1.3em; }
.pm-recherche-404 .wp-block-search__input { border-radius: 999px; border: 1px solid var(--pm-bordure); padding-inline: 18px; height: 46px; }
.pm-recherche-404 .wp-block-search__button { border-radius: 999px; }
.pm-boutons-404 { margin-block: 18px 48px; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--pm-aubergine); border: 1px solid var(--pm-bordure); }

/* ---------- Panier et caisse (blocs de WooCommerce) ---------- */
.pm-page-panier .pm-titre-page { margin-block-start: 16px !important; max-width: none !important; } /* WooCommerce le bornait à 1 000 px */
.wc-block-components-sale-badge, .wc-block-components-product-price__regular { display: none !important; } /* prix seul (choix 5) */
.wc-block-components-product-price__value.is-discounted { margin-inline-start: 0 !important; }
.wc-block-cart .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button,
.wc-block-components-button:not(.is-link):not(.outlined):not(.wc-block-components-panel__button) {
	border-radius: 999px; background: var(--pm-degrade-bouton); color: var(--pm-blanc); border: 0; min-height: 54px; font-weight: 600;
}
.wc-block-components-sidebar .wc-block-components-totals-wrapper, .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block {
	border-color: var(--pm-lilas-200);
}
.wp-block-woocommerce-cart-order-summary-block, .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	border-radius: var(--pm-rayon);
}
.wc-block-components-quantity-selector { border-radius: 999px; border-color: var(--pm-bordure); }
.wc-block-components-quantity-selector::after { border-radius: 999px; border-color: var(--pm-bordure) !important; }
.wc-block-components-product-name { color: var(--pm-aubergine); font-family: var(--pm-titre); font-weight: 600; text-decoration: none; }
.wc-block-cart-item__image img, .wc-block-components-order-summary-item__image img { background: var(--pm-lilas-50); border-radius: 14px; mix-blend-mode: multiply; }
.wc-block-components-text-input input, .wc-block-components-select select, .wc-blocks-components-select__select,
.wc-block-components-textarea, .wc-block-components-combobox .wc-block-components-combobox-control input {
	border-color: var(--pm-bordure) !important; border-radius: 12px !important;
}
.wc-block-components-notice-banner { border-radius: 14px; }
.wc-block-components-notice-banner.is-success { border-color: var(--pm-stock); background: #F3F9EE; }
.wc-block-components-notice-banner.is-error { border-color: var(--pm-rupture); }
.wc-block-mini-cart__footer-checkout, .wc-block-mini-cart__footer-cart.wc-block-components-button {
	border-radius: 999px !important;
}
