/* =====================================================================
   MEPHISTO-SHOP — NOUVEAU CSS DE LA REFONTE (démarré le 05/10/2026)
   Fichier indépendant de l'ancien CSS (stylev7.css / styleXav.css) :
   toutes les classes sont préfixées (mh- = header) pour ne rien perturber.
   ===================================================================== */

:root {
	--mh-vert: #2D5947;
	--mh-vert-fonce: #224537;
	--mh-rouge: #EB423F;
	--mh-texte: #222222;
	--mh-texte-doux: #5f5f5f;
	--mh-fond-doux: #f6f5f2;
	--mh-bordure: #e6e3dd;
	--mh-blanc: #ffffff;
	--mh-ombre: 0 6px 24px rgba(0, 0, 0, .08);
	--mh-rayon: 6px;
	--mh-largeur: 1440px;
	--mh-transition: .2s ease;
	--mh-police: "Roboto", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- Base du header ---------- */
.mh,
.mh * { box-sizing: border-box; }

/* Tout le header colle en haut, décalé de la hauteur du bandeau vert :
   au défilement, le bandeau disparaît et seule la barre principale reste visible */
.mh {
	font-family: var(--mh-police);
	color: var(--mh-texte);
	position: -webkit-sticky;
	position: sticky;
	top: calc(-1 * var(--mh-hauteur-bandeau));
	z-index: 1030;
	margin-bottom: 24px; /* espace avant le contenu (l'ancien header se terminait par un <hr>) */
	--mh-hauteur-bandeau: 36px;
}

.mh a { color: inherit; text-decoration: none; }
.mh a:hover { text-decoration: none; }
.mh ul { list-style: none; margin: 0; padding: 0; }
.mh button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.mh img { display: block; max-width: 100%; height: auto; }
.mh :focus-visible { outline: 2px solid var(--mh-vert); outline-offset: 2px; }

.mh .mh-conteneur {
	width: 100%;
	max-width: var(--mh-largeur);
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------- Bandeau d'information (vert) ---------- */
.mh .mh-bandeau {
	background: #F6F5F2; /* crème (05/10/2026, était vert) */
	color: var(--mh-vert);
	box-shadow: inset 0 -1px 0 var(--mh-bordure); /* séparation sans changer la hauteur (header collant décalé de la hauteur du bandeau) */
	font-size: 13px;
	letter-spacing: .02em;
}

.mh .mh-bandeau-ligne {
	display: flex;
	align-items: center;
	gap: 16px;
	height: var(--mh-hauteur-bandeau);
	white-space: nowrap;
	overflow: hidden;
}

.mh .mh-bandeau a { color: var(--mh-vert); }
.mh .mh-bandeau a:hover { color: var(--mh-vert-fonce); opacity: .85; }
.mh .mh-bandeau a.mh-bandeau-promo,
.mh .mh-bandeau a.mh-bandeau-promo:hover { color: var(--mh-blanc); }
.mh .mh-bandeau .fa { margin-right: 6px; }

.mh .mh-bandeau-promo {
	font-weight: 700;
	text-transform: uppercase;
	background: var(--mh-rouge);
	padding: 3px 10px;
	border-radius: 3px;
	white-space: nowrap;
}

.mh .mh-bandeau-droite {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 18px;
}

.mh .mh-bandeau-tel { font-weight: 500; white-space: nowrap; }
.mh .mh-bandeau-deconnexion { white-space: nowrap; opacity: .85; }
.mh .mh-bandeau-deconnexion:hover { opacity: 1; text-decoration: underline; }

.mh .mh-langues { display: inline-flex; gap: 2px; }
.mh .mh-langues a {
	padding: 2px 6px;
	border-radius: 3px;
	font-weight: 500;
	opacity: .75;
}
.mh .mh-langues a.mh-actif { opacity: 1; background: var(--mh-vert); color: var(--mh-blanc); }

/* ---------- Barre principale (collante) ---------- */
.mh .mh-barre {
	position: relative; /* référence des panneaux Femme / Homme */
	background: var(--mh-blanc);
	border-bottom: 1px solid var(--mh-bordure);
	transition: box-shadow var(--mh-transition);
}

.mh .mh-barre.mh-defile { box-shadow: var(--mh-ombre); }

.mh .mh-barre-ligne {
	display: flex;
	align-items: center;
	gap: 20px;
	min-height: 84px;
}

/* Logo + signature */
.mh .mh-logo { flex: 0 0 auto; display: flex; flex-direction: column; gap: 6px; }
.mh .mh-logo img { width: 215px; }
.mh .mh-logo .mh-signature { width: 190px; opacity: .9; }

/* Navigation */
.mh .mh-nav { flex: 1 1 auto; align-self: stretch; }
.mh .mh-nav > ul { display: flex; justify-content: center; height: 100%; gap: 4px; }
.mh .mh-nav > ul > li { display: flex; align-items: stretch; }

.mh .mh-nav-lien {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 12px;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--mh-texte);
	position: relative;
	white-space: nowrap;
}

.mh .mh-nav-lien::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 0;
	height: 3px;
	background: var(--mh-vert);
	transform: scaleX(0);
	transition: transform var(--mh-transition);
}

.mh .mh-nav-lien:hover,
.mh .mh-nav-lien.mh-actif,
.mh .mh-a-panneau.mh-ouvert > .mh-nav-lien { color: var(--mh-vert); }

.mh .mh-nav-lien:hover::after,
.mh .mh-nav-lien.mh-actif::after,
.mh .mh-a-panneau.mh-ouvert > .mh-nav-lien::after { transform: scaleX(1); }

.mh .mh-nav-lien .fa { font-size: 15px; transition: transform var(--mh-transition); }
.mh .mh-a-panneau.mh-ouvert > .mh-nav-lien .fa { transform: rotate(180deg); }

.mh .mh-nav-promo { color: var(--mh-rouge); }
.mh .mh-nav-promo:hover { color: var(--mh-rouge); }
.mh .mh-nav-promo::after { background: var(--mh-rouge); }

/* Nouveautés en rouge comme Promotions (menu + tiroir mobile, y compris page active) */
.mh .mh-nav-lien[href="nouveautes"],
.mh .mh-nav-lien[href="nouveautes"]:hover,
.mh .mh-nav-lien[href="nouveautes"].mh-actif,
.mh .mh-tiroir-lien[href="nouveautes"],
.mh .mh-tiroir-lien[href="nouveautes"]:hover { color: var(--mh-rouge); }
.mh .mh-nav-lien[href="nouveautes"]::after { background: var(--mh-rouge); }

/* Panneaux Femme / Homme */
.mh .mh-panneau {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--mh-blanc);
	border-top: 1px solid var(--mh-bordure);
	box-shadow: 0 18px 30px rgba(0, 0, 0, .10);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity var(--mh-transition), transform var(--mh-transition), visibility 0s linear .2s;
}

.mh .mh-a-panneau.mh-ouvert .mh-panneau {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity var(--mh-transition), transform var(--mh-transition), visibility 0s;
}

.mh .mh-panneau-grille {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 48px;
	padding-top: 32px;
	padding-bottom: 36px;
}

.mh .mh-panneau-titre {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--mh-texte-doux);
}

.mh .mh-panneau-colonnes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px 32px;
}

.mh .mh-panneau-lien {
	display: block;
	padding: 9px 0;
	font-size: 15px !important;   /* l'ancien CSS impose .menuLink { 16px; 700 !important } */
	font-weight: 400 !important;
	color: var(--mh-texte);
	border-bottom: 1px solid transparent;
	transition: color var(--mh-transition), padding-left var(--mh-transition);
}

.mh .mh-panneau-lien:hover { color: var(--mh-vert); padding-left: 6px; }

.mh .mh-panneau-tout {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 22px;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--mh-blanc) !important;
	background: var(--mh-vert);
	border-radius: var(--mh-rayon);
	transition: background var(--mh-transition);
}

.mh .mh-panneau-tout:hover { background: var(--mh-vert-fonce); }

.mh .mh-panneau-visuel {
	position: relative;
	display: block;
	border-radius: var(--mh-rayon);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--mh-fond-doux);
}

.mh .mh-panneau-visuel img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.mh .mh-panneau-visuel:hover img { transform: scale(1.04); }

.mh .mh-panneau-visuel span {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 28px 16px 14px;
	font-size: 14px;
	font-weight: 500;
	color: var(--mh-blanc);
	background: linear-gradient(to top, rgba(0, 0, 0, .65), transparent);
}

/* Actions : recherche, compte, favoris, réservations, panier */
.mh .mh-actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 6px;
}

.mh .mh-recherche {
	position: relative;
	display: flex;
	align-items: center;
	margin: 0 8px 0 0;
}

/* 07/10/2026 : champ rendu plus visible (clientèle âgée) — fond blanc, bordure verte nette, texte et icône plus grands,
   indication plus foncée ; 16 px évite aussi le zoom automatique de l'iPhone au toucher */
.mh .mh-recherche .fa {
	position: absolute;
	left: 16px;
	color: var(--mh-vert);
	font-size: 17px;
	pointer-events: none;
}

.mh .mh-recherche input {
	width: 230px;
	height: 46px;
	padding: 0 18px 0 44px;
	font-family: var(--mh-police);
	font-size: 16px;
	color: var(--mh-texte);
	background: var(--mh-blanc);
	border: 2px solid #8fa89b;
	border-radius: 999px;
	outline: none;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .06);
	transition: border-color var(--mh-transition), box-shadow var(--mh-transition), width var(--mh-transition);
	-webkit-appearance: none;
	appearance: none;
}

.mh .mh-recherche input::placeholder { color: #4a4a4a; opacity: 1; }
.mh .mh-recherche input:hover { border-color: var(--mh-vert); }
.mh .mh-recherche input:focus { border-color: var(--mh-vert); box-shadow: 0 0 0 4px rgba(45, 89, 71, .18); width: 270px; }

.mh .mh-action {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	color: var(--mh-texte);
	border-radius: var(--mh-rayon);
	transition: color var(--mh-transition), background var(--mh-transition);
}

.mh .mh-action:hover { color: var(--mh-vert); background: var(--mh-fond-doux); }
.mh .mh-action .fa { font-size: 21px; line-height: 1; }

/* Libellés lus par les lecteurs d'écran, masqués à l'écran (icônes + bulle d'aide "title") */
.mh .mh-action-texte {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.mh .mh-pastille {
	position: absolute;
	top: 1px;
	right: 0;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
	color: var(--mh-blanc);
	background: var(--mh-rouge);
	border-radius: 999px;
}

/* Recherche mobile (affichée sous la barre en dessous de 1200 px) */
.mh .mh-recherche-mobile { display: none; }

/* Bouton menu (mobile / tablette) */
.mh .mh-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0 10px !important;
}

.mh .mh-burger span { display: block; height: 2px; background: var(--mh-texte); border-radius: 2px; }

/* ---------- Tiroir mobile ---------- */
.mh .mh-voile {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .45);
	opacity: 0;
	transition: opacity .25s ease;
	z-index: 1040;
}

.mh .mh-voile.mh-ouvert { opacity: 1; }

.mh .mh-tiroir {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	width: min(360px, 88vw);
	display: flex;
	flex-direction: column;
	background: var(--mh-blanc);
	transform: translateX(-100%);
	transition: transform .25s ease;
	z-index: 1045;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.mh .mh-tiroir.mh-ouvert { transform: none; box-shadow: 8px 0 30px rgba(0, 0, 0, .2); }

html.mh-bloque, html.mh-bloque body { overflow: hidden; }

.mh .mh-tiroir-tete {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--mh-bordure);
}

.mh .mh-tiroir-tete img { width: 170px; }
.mh .mh-tiroir-fermer { width: 40px; height: 40px; font-size: 22px !important; border-radius: 50%; }
.mh .mh-tiroir-fermer:hover,
.mh .mh-tiroir-fermer:focus-visible { outline: none; background: var(--mh-fond-doux); color: var(--mh-vert); }

.mh .mh-tiroir-nav { display: flex; flex-direction: column; padding: 8px 0; }

.mh .mh-tiroir-lien {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 15px 20px !important;
	font-size: 15px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-align: left;
	color: var(--mh-texte);
	border-bottom: 1px solid var(--mh-bordure) !important;
}

.mh .mh-tiroir-lien:hover { color: var(--mh-vert); background: var(--mh-fond-doux); }
.mh .mh-tiroir-fort { color: var(--mh-vert); font-weight: 700; }
.mh .mh-tiroir-promo { color: var(--mh-rouge); }
.mh .mh-tiroir-promo:hover { color: var(--mh-rouge); }

.mh .mh-accordeon-bouton .fa { transition: transform var(--mh-transition); font-size: 18px; }
.mh .mh-accordeon-bouton[aria-expanded="true"] { color: var(--mh-vert); background: var(--mh-fond-doux); }
.mh .mh-accordeon-bouton[aria-expanded="true"] .fa { transform: rotate(180deg); }

.mh .mh-accordeon-contenu { background: var(--mh-fond-doux); padding: 6px 0 10px; border-bottom: 1px solid var(--mh-bordure); }

.mh .mh-tiroir-sous {
	display: block;
	padding: 10px 20px 10px 34px;
	font-size: 15px !important;   /* l'ancien CSS impose .menuLink { 16px; 700 !important } */
	font-weight: 400 !important;
	color: var(--mh-texte);
}

.mh .mh-tiroir-sous:hover { color: var(--mh-vert); }

.mh .mh-tiroir-pied {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 22px 20px 28px;
	font-size: 14px;
	background: var(--mh-fond-doux);
}

.mh .mh-tiroir-pied .fa { width: 20px; color: var(--mh-vert); }
.mh .mh-tiroir-pied .mh-langues a { color: var(--mh-texte); opacity: .6; border: 1px solid var(--mh-bordure); }
.mh .mh-tiroir-pied .mh-langues a.mh-actif { opacity: 1; background: var(--mh-vert); color: var(--mh-blanc); border-color: var(--mh-vert); }

/* ---------- Écrans moyens : actions sans libellés ---------- */
@media (max-width: 1399.98px) {
	.mh .mh-barre-ligne { gap: 18px; }
	.mh .mh-logo img { width: 200px; }
	.mh .mh-logo .mh-signature { width: 165px; }
	.mh .mh-nav-lien { padding: 0 10px; font-size: 13px; }
	.mh .mh-nav-lien::after { left: 10px; right: 10px; }
	.mh .mh-recherche input { width: 190px; }
	.mh .mh-recherche input:focus { width: 220px; }
}

/* ---------- Tablette et mobile : menu tiroir + recherche sous la barre ---------- */
@media (max-width: 1199.98px) {
	.mh .mh-burger { display: flex; }
	.mh .mh-nav { display: none; }
	.mh .mh-actions .mh-recherche { display: none; }
	.mh .mh-barre-ligne { min-height: 70px; gap: 12px; }
	.mh .mh-logo { margin-right: auto; }
	.mh .mh-recherche-mobile { display: flex; margin: 0 auto; padding: 0 24px 12px; max-width: var(--mh-largeur); }
	.mh .mh-recherche-mobile .fa { left: 40px; }
	.mh .mh-recherche-mobile input,
	.mh .mh-recherche-mobile input:focus { width: 100%; }
}

@media (max-width: 767.98px) {
	.mh .mh-conteneur { padding: 0 14px; }
	.mh { --mh-hauteur-bandeau: 32px; margin-bottom: 16px; }
	.mh .mh-bandeau { font-size: 12px; }
	.mh .mh-bandeau-ligne { gap: 10px; }
	.mh .mh-bandeau-promo { display: none; }
	.mh .mh-bandeau .mh-langues { display: none; }
	.mh .mh-bandeau-deconnexion { display: none; }
	.mh .mh-barre-ligne { min-height: 60px; gap: 6px; }
	.mh .mh-logo { flex: 1 1 auto; align-items: center; margin-right: 0; }
	.mh .mh-logo img { width: 165px; }
	.mh .mh-logo .mh-signature { display: none; }
	.mh .mh-action-favoris { display: none; }
	.mh .mh-recherche-mobile { padding: 0 14px 10px; }
	.mh .mh-recherche-mobile .fa { left: 30px; }
}

@media (max-width: 380px) {
	.mh .mh-bandeau-info { display: none; }
	.mh .mh-bandeau-droite { margin: 0 auto; }
	.mh .mh-logo img { width: 140px; }
	.mh .mh-action-compte { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.mh *, .mh-tiroir, .mh-voile { transition: none !important; }
}


/* =====================================================================
   PIED DE PAGE (refonte 05/10/2026) — theme/mephisto/footer_v2.php
   Toutes les règles préfixées .mf .mf-… (même principe que le header)
   ===================================================================== */

.mf,
.mf * { box-sizing: border-box; }

.mf {
	--mf-vert: #2D5947;
	--mf-vert-nuit: #16302a;
	--mf-vert-clair: #9cc3b2;
	--mf-or: #d9b26f;
	--mf-rouge: #EB423F;
	--mf-creme: #f6f5f2;
	--mf-texte: #222222;
	--mf-texte-clair: rgba(255, 255, 255, .78);
	--mf-trait: rgba(255, 255, 255, .14);
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	color: var(--mf-texte);
	margin-top: 64px;
}

.mf a { text-decoration: none; }
.mf a:hover { text-decoration: none; }
.mf ul { list-style: none; margin: 0; padding: 0; }
.mf h2, .mf h3, .mf p { margin: 0; }
.mf img { display: block; max-width: 100%; height: auto; }
.mf :focus-visible { outline: 2px solid var(--mf-or); outline-offset: 3px; }

.mf .mf-conteneur {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ---------- Réassurance ---------- */
.mf .mf-reassurance {
	background: var(--mf-creme);
	border-top: 1px solid #e6e3dd;
	padding: 34px 0;
}

.mf .mf-reassurance-grille {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
	gap: 24px;
	align-items: center;
}

.mf .mf-engagement {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--mf-texte);
}

.mf .mf-engagement-icone {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	font-size: 22px;
	color: var(--mf-vert);
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 4px 14px rgba(45, 89, 71, .12);
	transition: transform .3s ease, background .3s ease, color .3s ease;
}

.mf .mf-engagement:hover .mf-engagement-icone {
	transform: translateY(-4px) rotate(-6deg);
	background: var(--mf-vert);
	color: #fff;
}

.mf .mf-engagement strong { display: block; font-size: 15px; font-weight: 700; color: var(--mf-texte); }
.mf .mf-engagement small { display: block; margin-top: 2px; font-size: 13px; line-height: 1.35; color: #5f5f5f; }
.mf .mf-engagement:hover strong { color: var(--mf-vert); }

.mf .mf-avis {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 18px 10px 10px;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .06);
	color: var(--mf-texte);
	transition: transform .3s ease, box-shadow .3s ease;
}

.mf .mf-avis:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0, 0, 0, .10); color: var(--mf-texte); }

.mf .mf-avis-note {
	display: flex;
	align-items: baseline;
	justify-content: center;
	width: 62px;
	height: 62px;
	padding-top: 16px;
	font-size: 22px;
	font-weight: 900;
	color: #fff;
	background: var(--mf-vert);
	border-radius: 50%;
}

.mf .mf-avis-note small { font-size: 11px; font-weight: 500; opacity: .8; }
.mf .mf-avis-texte { display: flex; flex-direction: column; gap: 3px; }
.mf .mf-avis-texte small { font-size: 12px; color: #5f5f5f; }
.mf .mf-etoiles { color: var(--mf-or); font-size: 14px; letter-spacing: 2px; }

/* ---------- Bloc principal ---------- */
.mf .mf-principal {
	position: relative;
	overflow: hidden;
	padding: 72px 0 40px;
	color: var(--mf-texte-clair);
	background:
		radial-gradient(1100px 500px at 85% -10%, rgba(156, 195, 178, .22), transparent 60%),
		radial-gradient(800px 400px at -10% 110%, rgba(217, 178, 111, .12), transparent 60%),
		linear-gradient(160deg, var(--mf-vert) 0%, var(--mf-vert-nuit) 75%);
}

/* Grand MEPHISTO en filigrane */
.mf .mf-filigrane {
	position: absolute;
	left: 50%;
	bottom: -0.18em;
	transform: translateX(-50%);
	font-size: clamp(90px, 17vw, 300px);
	font-weight: 900;
	letter-spacing: .04em;
	line-height: 1;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, .08);
	pointer-events: none;
	user-select: none;
}

.mf .mf-principal .mf-conteneur { position: relative; }

/* Club / newsletter */
.mf .mf-club {
	display: grid;
	grid-template-columns: 1fr minmax(0, 520px);
	gap: 40px;
	align-items: center;
	padding: 36px 40px;
	margin-bottom: 64px;
	background: rgba(255, 255, 255, .06);
	border: 1px solid var(--mf-trait);
	border-radius: 18px;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.mf .mf-surtitre {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mf-or);
}

.mf .mf-surtitre .fa { margin-right: 6px; }
.mf .mf-club h2 { font-size: 30px; font-weight: 700; line-height: 1.2; color: #fff; margin-bottom: 8px; }
.mf .mf-club-texte p:last-child { font-size: 15px; line-height: 1.5; }

.mf .mf-club-champ {
	display: flex;
	padding: 6px;
	background: #fff;
	border-radius: 999px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}

.mf .mf-club-champ input {
	flex: 1 1 auto;
	min-width: 0;
	height: 48px;
	padding: 0 20px;
	font-family: inherit;
	font-size: 15px;
	color: var(--mf-texte);
	background: transparent;
	border: 0;
	outline: none;
}

.mf .mf-club-champ button {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 26px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #fff;
	background: var(--mf-vert);
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	transition: background .25s ease, gap .25s ease;
}

.mf .mf-club-champ button:hover { background: var(--mf-rouge); gap: 16px; }

.mf .mf-club-rgpd {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 14px 0 0 12px;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--mf-texte-clair);
	cursor: pointer;
}

.mf .mf-club-rgpd input { margin-top: 2px; accent-color: var(--mf-or); padding: 0; border: 0; }

/* Colonnes */
.mf .mf-colonnes {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr 1.2fr;
	gap: 48px;
}

.mf .mf-colonne h3 {
	position: relative;
	margin-bottom: 22px;
	padding-bottom: 12px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
}

.mf .mf-colonne h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--mf-or);
}

.mf .mf-colonne li { margin-bottom: 9px; }

.mf .mf-lien {
	position: relative;
	display: inline-block;
	padding: 0;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	color: var(--mf-texte-clair);
	background: none;
	border: 0;
	cursor: pointer;
	transition: color .2s ease, transform .2s ease;
}

.mf .mf-lien::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -2px;
	height: 1px;
	background: var(--mf-or);
	transition: right .25s ease;
}

.mf .mf-lien:hover { color: #fff; transform: translateX(3px); }
.mf .mf-lien:hover::after { right: 0; }

/* Colonne marque */
.mf .mf-logo {
	display: inline-block;
	padding: 14px 18px;
	margin-bottom: 18px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
	transition: transform .3s ease;
}

.mf .mf-logo:hover { transform: rotate(-1.5deg) scale(1.02); }
.mf .mf-logo img { width: 200px; }
.mf .mf-marque > p { font-size: 14.5px; line-height: 1.6; margin-bottom: 16px; }

.mf .mf-tel {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	letter-spacing: .02em;
}

.mf .mf-tel .fa { color: var(--mf-or); font-size: 20px; }
.mf .mf-tel:hover { color: var(--mf-or); }

.mf .mf-suivre {
	margin: 22px 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
}

.mf .mf-reseaux { display: flex; gap: 10px; }

.mf .mf-reseaux a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	font-size: 18px;
	color: #fff;
	border: 1px solid var(--mf-trait);
	border-radius: 50%;
	transition: background .25s ease, border-color .25s ease, transform .25s ease, color .25s ease;
}

.mf .mf-reseaux a:hover { background: var(--mf-or); border-color: var(--mf-or); color: var(--mf-vert-nuit); transform: translateY(-3px); }

/* Boutiques */
.mf .mf-boutique {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 0 0 14px;
	margin-bottom: 14px;
	font-size: 14px;
	line-height: 1.45;
	border-bottom: 1px solid var(--mf-trait);
}

.mf .mf-boutique strong { font-size: 15px; font-weight: 700; color: #fff; }
.mf .mf-boutique a { margin-top: 4px; font-weight: 500; color: var(--mf-vert-clair); }
.mf .mf-boutique a:hover { color: #fff; }
.mf .mf-boutique .fa { margin-right: 4px; }

.mf .mf-bouton-contour {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
	padding: 10px 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 999px;
	transition: background .25s ease, color .25s ease, border-color .25s ease;
}

.mf .mf-bouton-contour:hover { background: #fff; color: var(--mf-vert-nuit); border-color: #fff; }

/* Adresse de retour + paiements */
.mf .mf-infos-bas {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px solid var(--mf-trait);
}

.mf .mf-retour { display: flex; align-items: flex-start; gap: 14px; font-size: 13.5px; line-height: 1.5; }
.mf .mf-retour > .fa { margin-top: 3px; font-size: 18px; color: var(--mf-or); }
.mf .mf-retour strong { display: block; color: #fff; font-weight: 700; }
.mf .mf-retour small { display: block; font-size: 12px; opacity: .8; font-style: italic; }

.mf .mf-paiements { display: flex; align-items: center; gap: 12px; font-size: 30px; color: #fff; }
.mf .mf-paiements span { margin-right: 4px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--mf-texte-clair); }
.mf .mf-paiements .fa { opacity: .85; transition: opacity .2s ease, transform .2s ease; }
.mf .mf-paiements .fa:hover { opacity: 1; transform: translateY(-2px); }

/* ---------- Barre du bas ---------- */
.mf .mf-bas { background: #0f221d; color: rgba(255, 255, 255, .6); font-size: 12.5px; }

.mf .mf-bas-ligne {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 56px;
}

.mf .mf-haut {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
	white-space: nowrap;
}

.mf .mf-haut .fa { transition: transform .25s ease; }
.mf .mf-haut:hover { color: var(--mf-or); }
.mf .mf-haut:hover .fa { transform: translateY(-4px); }

/* ---------- Apparition au défilement (activée par le script si les animations sont autorisées) ---------- */
.mf.mf-anime .mf-apparition {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
}

.mf.mf-anime .mf-apparition.mf-visible { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1399.98px) {
	.mf .mf-reassurance-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 32px; }
	.mf .mf-avis { grid-column: 1 / -1; justify-self: center; }
}

@media (max-width: 1199.98px) {
	.mf .mf-colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
	.mf .mf-club { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 767.98px) {
	.mf { margin-top: 40px; }
	.mf .mf-conteneur { padding: 0 16px; }
	.mf .mf-reassurance { padding: 26px 0; }
	.mf .mf-reassurance-grille { grid-template-columns: 1fr; gap: 18px; }
	.mf .mf-engagement-icone { width: 46px; height: 46px; font-size: 19px; }
	.mf .mf-principal { padding: 44px 0 28px; }
	.mf .mf-club { padding: 26px 20px; margin-bottom: 44px; border-radius: 14px; }
	.mf .mf-club h2 { font-size: 24px; }
	.mf .mf-club-champ { flex-direction: column; border-radius: 16px; gap: 6px; }
	.mf .mf-club-champ button { justify-content: center; border-radius: 12px; }
	.mf .mf-colonnes { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
	.mf .mf-marque, .mf .mf-boutiques { grid-column: 1 / -1; }
	.mf .mf-lien { font-size: 13.5px; }
	.mf .mf-infos-bas { flex-direction: column; align-items: flex-start; margin-top: 40px; }
	.mf .mf-paiements { flex-wrap: wrap; font-size: 26px; }
	.mf .mf-paiements span { width: 100%; }
	.mf .mf-bas-ligne { flex-direction: column; justify-content: center; padding-top: 16px; padding-bottom: 16px; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	.mf *, .mf.mf-anime .mf-apparition { transition: none !important; transform: none !important; opacity: 1 !important; }
}


/* =====================================================================
   PAGE D'ACCUEIL (refonte 05/10/2026) — modules/accueil_v2.php
   Règles préfixées .ma .ma-…
   ===================================================================== */

.ma,
.ma * { box-sizing: border-box; }

.ma {
	--ma-vert: #2D5947;
	--ma-vert-nuit: #16302a;
	--ma-or: #d9b26f;
	--ma-rouge: #EB423F;
	--ma-creme: #f6f5f2;
	--ma-texte: #222222;
	--ma-doux: #5f5f5f;
	--ma-bordure: #e6e3dd;
	--ma-rayon: 14px;
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	color: var(--ma-texte);
	margin-top: -24px; /* la bannière touche le header (annule la marge sous le header) */
}

.ma a { text-decoration: none; }
.ma a:hover { text-decoration: none; }
.ma img { display: block; max-width: 100%; height: auto; }
.ma h1, .ma h2, .ma p { margin: 0; }
.ma :focus-visible { outline: 2px solid var(--ma-vert); outline-offset: 3px; }

.ma .ma-conteneur {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 24px;
}

.ma .ma-section { padding-top: 80px; }

/* ---------- Titres de section ---------- */
.ma .ma-entete {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 28px;
}

.ma .ma-surtitre {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ma-vert);
}

.ma .ma-surtitre .fa { margin-right: 4px; color: var(--ma-or); }

.ma .ma-titre {
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--ma-texte);
}

.ma .ma-lien-fleche {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--ma-vert);
	white-space: nowrap;
}

.ma .ma-lien-fleche .fa-long-arrow-right { transition: transform .25s ease; }
.ma .ma-lien-fleche:hover { color: var(--ma-vert); }
.ma .ma-lien-fleche:hover .fa-long-arrow-right { transform: translateX(5px); }

/* ---------- Boutons ---------- */
.ma .ma-bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 50px;
	padding: 0 26px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	border-radius: 999px;
	border: 1px solid transparent;
	transition: background .25s ease, color .25s ease, border-color .25s ease, transform .25s ease, gap .25s ease;
}

.ma .ma-bouton:hover { transform: translateY(-2px); gap: 14px; }
.ma .ma-bouton-clair { background: #fff; color: var(--ma-vert-nuit); }
.ma .ma-bouton-clair:hover { background: var(--ma-or); color: var(--ma-vert-nuit); }
.ma .ma-bouton-contour { color: #fff; border-color: rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .08); }
.ma .ma-bouton-contour:hover { color: var(--ma-vert-nuit); background: #fff; border-color: #fff; }
.ma .ma-bouton-plein { color: #fff; background: var(--ma-vert); }
.ma .ma-bouton-plein:hover { color: #fff; background: var(--ma-vert-nuit); }
.ma .ma-bouton-contour-vert { color: var(--ma-vert); border-color: var(--ma-vert); }
.ma .ma-bouton-contour-vert:hover { color: #fff; background: var(--ma-vert); }

/* ---------- Bannière ---------- */
.ma .ma-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(520px, 78vh, 760px);
	overflow: hidden;
	background: var(--ma-vert-nuit) url(../images/home/cat-femme-mob.jpg) center / cover no-repeat;
	isolation: isolate;
}

.ma .ma-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2;
}

.ma .ma-hero-voile {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(90deg, rgba(14, 33, 28, .82) 0%, rgba(14, 33, 28, .45) 45%, rgba(14, 33, 28, 0) 75%),
		linear-gradient(0deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, 0) 40%);
}

.ma .ma-hero-contenu { padding-top: 60px; padding-bottom: 60px; color: #fff; }

.ma .ma-hero-pastille {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 26px;
	padding: 7px 16px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	background: var(--ma-rouge);
	border-radius: 999px;
	box-shadow: 0 8px 20px rgba(235, 66, 63, .35);
	transition: transform .25s ease;
}

.ma .ma-hero-pastille:hover { color: #fff; transform: translateY(-2px); }

.ma .ma-hero-sur {
	margin-bottom: 14px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--ma-or);
}

.ma .ma-hero-titre {
	max-width: 680px;
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 900;
	line-height: 1.04;
	letter-spacing: -.02em;
	color: #fff;
	text-shadow: 0 2px 30px rgba(0, 0, 0, .25);
}

.ma .ma-hero-texte {
	max-width: 520px;
	margin-top: 20px;
	font-size: 18px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .88);
}

.ma .ma-hero-boutons { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }

/* Fiches produits de la vidéo (carte « Dans la vidéo », redessinée le 05/10/2026) */
.ma .ma-hero-produit {
	position: absolute;
	right: 40px;
	bottom: 40px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 340px;
	padding: 16px 16px 18px;
	color: var(--ma-texte);
	background: rgba(255, 255, 255, .97);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24px;
	box-shadow: 0 30px 70px rgba(0, 0, 0, .35);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(24px) scale(.97);
	transition: opacity .5s ease, transform .5s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .5s;
}
.ma .ma-hero-produit.ma-actif { opacity: 1; visibility: visible; transform: none; transition: opacity .5s ease, transform .5s cubic-bezier(.2, .8, .2, 1), visibility 0s; }
.ma .ma-hero-produit:hover { color: var(--ma-texte); }

.ma .ma-hero-produit-etiquette { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; padding: 5px 12px 5px 10px; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #fff; background: var(--ma-vert-nuit); border-radius: 999px; }
.ma .ma-hero-produit-etiquette i { width: 8px; height: 8px; background: var(--ma-rouge); border-radius: 50%; box-shadow: 0 0 0 0 rgba(235, 66, 63, .7); animation: ma-hero-direct 1.6s infinite; }
@keyframes ma-hero-direct { 70% { box-shadow: 0 0 0 7px rgba(235, 66, 63, 0); } 100% { box-shadow: 0 0 0 0 rgba(235, 66, 63, 0); } }

.ma .ma-hero-produit-corps { display: flex; align-items: center; gap: 16px; }
.ma .ma-hero-produit-visuel { position: relative; flex: 0 0 128px; width: 128px; height: 128px; padding: 10px; background: var(--ma-creme); border-radius: 18px; overflow: hidden; }
.ma .ma-hero-produit-visuel img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.ma .ma-hero-produit:hover .ma-hero-produit-visuel img { transform: scale(1.08) rotate(-3deg); }
.ma .ma-hero-produit-visuel .ma-badge { top: 8px; left: 8px; padding: 3px 9px; font-size: 10px; }
.ma .ma-hero-produit-infos { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ma .ma-hero-produit-famille { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--ma-doux); }
.ma .ma-hero-produit-infos strong { font-size: 19px; font-weight: 900; line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; color: var(--ma-texte); overflow-wrap: anywhere; }
.ma .ma-hero-produit-infos .ma-prix { margin-top: 4px; font-size: 18px; }

.ma .ma-hero-produit-lien { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--ma-vert); border-radius: 999px; transition: background .25s ease; }
.ma .ma-hero-produit-lien .fa { transition: transform .25s ease; }
.ma .ma-hero-produit:hover .ma-hero-produit-lien { background: var(--ma-vert-nuit); }
.ma .ma-hero-produit:hover .ma-hero-produit-lien .fa { transform: translateX(4px); }
@media (prefers-reduced-motion: reduce) { .ma .ma-hero-produit-etiquette i { animation: none; } }

/* ---------- Message d'accueil / compte à rebours ---------- */
.ma .ma-message { padding-top: 40px; }
.ma .ma-compteur { padding-top: 40px; }
.ma .ma-compteur-texte { padding: 20px; margin-bottom: 16px; text-align: center; background: var(--ma-creme); border-radius: var(--ma-rayon); }

/* ---------- Univers ---------- */
.ma .ma-univers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.ma .ma-univers-tuile {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: var(--ma-rayon);
	aspect-ratio: 4 / 5;
	background: var(--ma-creme);
}

.ma .ma-univers-tuile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.ma .ma-univers-tuile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(0deg, rgba(14, 33, 28, .75) 0%, rgba(14, 33, 28, 0) 50%);
	transition: opacity .4s ease;
}

.ma .ma-univers-tuile:hover img { transform: scale(1.06); }

.ma .ma-univers-texte {
	position: absolute;
	left: 28px;
	right: 28px;
	bottom: 26px;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	color: #fff;
}

.ma .ma-univers-texte strong { font-size: clamp(26px, 2.6vw, 36px); font-weight: 900; letter-spacing: -.01em; }

.ma .ma-univers-texte span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--ma-vert-nuit);
	background: #fff;
	border-radius: 999px;
	transform: translateY(6px);
	opacity: .92;
	transition: transform .3s ease, opacity .3s ease, background .3s ease;
}

.ma .ma-univers-tuile:hover .ma-univers-texte span { transform: none; opacity: 1; background: var(--ma-or); }

/* ---------- Rangées de produits ---------- */
.ma .ma-rangee { position: relative; }

.ma .ma-rangee-piste {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 20px) / 4);
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 4px 2px 18px;
	scrollbar-width: thin;
	scrollbar-color: var(--ma-vert) transparent;
}

.ma .ma-rangee-piste::-webkit-scrollbar { height: 4px; }
.ma .ma-rangee-piste::-webkit-scrollbar-thumb { background: var(--ma-vert); border-radius: 4px; }

.ma .ma-rangee-fleche {
	position: absolute;
	top: 38%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	font-size: 24px;
	color: var(--ma-texte);
	background: #fff;
	border: 1px solid var(--ma-bordure);
	border-radius: 50%;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
	cursor: pointer;
	transition: background .2s ease, color .2s ease, opacity .2s ease;
}

.ma .ma-rangee-fleche:hover { background: var(--ma-vert); color: #fff; border-color: var(--ma-vert); }
.ma .ma-rangee-fleche:disabled { opacity: 0; pointer-events: none; }
.ma .ma-rangee-prec { left: -18px; }
.ma .ma-rangee-suiv { right: -18px; }

/* Carte produit */
.ma .ma-carte { scroll-snap-align: start; display: flex; flex-direction: column; }

.ma .ma-carte-visuel {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	padding: 18px;
	background: var(--ma-creme);
	border-radius: var(--ma-rayon);
}

.ma .ma-carte-visuel img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.ma .ma-carte:hover .ma-carte-visuel img { transform: scale(1.07) rotate(-2deg); }

.ma .ma-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 5px 11px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--ma-vert);
	border-radius: 999px;
}

.ma .ma-badge-promo { background: var(--ma-rouge); }
.ma .ma-badge-vert { background: var(--ma-vert); }

.ma .ma-carte-cta {
	position: absolute;
	left: 50%;
	bottom: 14px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	color: #fff;
	background: var(--ma-vert-nuit);
	border-radius: 999px;
	opacity: 0;
	transform: translate(-50%, 10px);
	transition: opacity .3s ease, transform .3s ease;
}

.ma .ma-carte:hover .ma-carte-cta { opacity: 1; transform: translate(-50%, 0); }

.ma .ma-carte-infos { display: flex; flex-direction: column; gap: 3px; padding: 14px 4px 0; }
.ma .ma-carte-titre { font-size: 16px; font-weight: 700; color: var(--ma-texte); text-transform: uppercase; letter-spacing: .02em; }
.ma .ma-carte-titre:hover { color: var(--ma-vert); }
.ma .ma-carte-famille { font-size: 13px; color: var(--ma-doux); }

/* Prix (HTML produit par affichage_prix_actif_tva) */
.ma .ma-prix { margin-top: 6px; font-size: 16px; }
.ma .ma-prix .actif { font-weight: 700 !important; color: var(--ma-texte); }
.ma .ma-prix .promotion { font-weight: 700 !important; color: var(--ma-rouge) !important; }
.ma .ma-prix .ancien { font-size: 14px; color: var(--ma-doux); text-decoration: line-through; }
.ma .ma-prix .ancien s { text-decoration: none; }

/* ---------- Marques ---------- */
.ma .ma-marques { margin-top: 80px; padding: 26px 0; background: var(--ma-creme); border-top: 1px solid var(--ma-bordure); border-bottom: 1px solid var(--ma-bordure); }
.ma .ma-marques-ligne { display: flex; align-items: center; justify-content: space-around; gap: 24px; flex-wrap: wrap; }
.ma .ma-marques-ligne img { width: 170px; mix-blend-mode: multiply; filter: grayscale(1); opacity: .65; transition: filter .3s ease, opacity .3s ease, transform .3s ease; }
.ma .ma-marques-ligne a:hover img { filter: none; opacity: 1; transform: scale(1.05); }

/* ---------- Carte cadeau ---------- */
.ma .ma-cadeau {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 56px;
	align-items: center;
	padding: 48px;
	overflow: hidden;
	color: rgba(255, 255, 255, .85);
	background:
		radial-gradient(600px 300px at 100% 0%, rgba(217, 178, 111, .25), transparent 60%),
		linear-gradient(135deg, var(--ma-vert) 0%, var(--ma-vert-nuit) 100%);
	border-radius: 24px;
}

.ma .ma-cadeau-visuel img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center 25%;
	border-radius: 16px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .35);
	transform: rotate(-4deg);
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}

.ma .ma-cadeau:hover .ma-cadeau-visuel img { transform: rotate(0deg) scale(1.02); }
.ma .ma-cadeau .ma-surtitre { color: var(--ma-or); }
.ma .ma-cadeau .ma-titre { color: #fff; margin-bottom: 16px; }
.ma .ma-cadeau-texte p:not(.ma-surtitre) { font-size: 16px; line-height: 1.65; margin-bottom: 28px; }
.ma .ma-cadeau .ma-bouton-plein { background: #fff; color: var(--ma-vert-nuit); }
.ma .ma-cadeau .ma-bouton-plein:hover { background: var(--ma-or); }

/* ---------- Services ---------- */
.ma .ma-services { display: flex; flex-direction: column; gap: 64px; }

.ma .ma-service {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 64px;
	align-items: center;
}

.ma .ma-service-inverse { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ma .ma-service-inverse .ma-service-visuel { order: 2; }

.ma .ma-service-visuel { position: relative; overflow: hidden; border-radius: 24px; }
.ma .ma-service-visuel img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 30%; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
.ma .ma-service:hover .ma-service-visuel img { transform: scale(1.04); }
.ma .ma-service-visuel .ma-badge { top: 20px; left: 20px; padding: 7px 14px; font-size: 12px; }

.ma .ma-service-texte .ma-titre { margin-bottom: 18px; }
.ma .ma-service-texte > p:not(.ma-surtitre) { font-size: 17px; line-height: 1.65; color: #3d3d3d; margin-bottom: 18px; }

.ma .ma-liste { list-style: none; margin: 0 0 28px; padding: 0; }
.ma .ma-liste li { position: relative; padding: 0 0 14px 34px; font-size: 15px; line-height: 1.55; color: #3d3d3d; }
.ma .ma-liste li::before {
	content: "\f00c";
	position: absolute;
	left: 0;
	top: 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	font-family: FontAwesome;
	font-size: 11px;
	color: #fff;
	background: var(--ma-vert);
	border-radius: 50%;
}

.ma .ma-liste a, .ma .ma-details a, .ma .ma-presentation a:not(.ma-lien-fleche) { color: var(--ma-vert); text-decoration: underline; text-underline-offset: 3px; }

/* « En savoir plus » / « Lire la suite » */
.ma .ma-details { margin-bottom: 26px; }
.ma .ma-details summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ma-vert);
	cursor: pointer;
	list-style: none;
}

.ma .ma-details summary::-webkit-details-marker { display: none; }
.ma .ma-details summary::after { content: "\f107"; font-family: FontAwesome; font-size: 16px; transition: transform .25s ease; }
.ma .ma-details[open] summary::after { transform: rotate(180deg); }
.ma .ma-details p { margin-top: 14px; font-size: 15px; line-height: 1.65; color: #3d3d3d; }

/* ---------- Avis ---------- */
.ma .ma-avis .skeepers_carousel_container { min-height: 120px; }

/* ---------- Commande par téléphone ---------- */
.ma .ma-telephone {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px 28px;
	margin-top: 80px;
	padding: 28px 36px;
	background: var(--ma-creme);
	border: 1px solid var(--ma-bordure);
	border-radius: 20px;
}

.ma .ma-telephone-icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	font-size: 26px;
	color: #fff;
	background: var(--ma-vert);
	border-radius: 50%;
	animation: ma-sonnerie 3s ease-in-out infinite;
}

@keyframes ma-sonnerie {
	0%, 80%, 100% { transform: rotate(0); }
	84% { transform: rotate(-12deg); }
	88% { transform: rotate(12deg); }
	92% { transform: rotate(-8deg); }
	96% { transform: rotate(6deg); }
}

.ma .ma-telephone-titre { font-size: 20px; font-weight: 700; color: var(--ma-texte); }
.ma .ma-telephone p:not(.ma-telephone-titre) { font-size: 14px; color: var(--ma-doux); }
.ma .ma-telephone-numero { margin-left: auto; font-size: 30px; font-weight: 900; letter-spacing: .02em; color: var(--ma-vert); }
.ma .ma-telephone-numero:hover { color: var(--ma-vert-nuit); }
.ma .ma-telephone-mail { font-size: 15px; font-weight: 500; color: var(--ma-texte); }
.ma .ma-telephone-mail:hover { color: var(--ma-vert); }

/* ---------- Présentation (SEO) ---------- */
.ma .ma-presentation { max-width: 920px; padding-bottom: 20px; text-align: center; }
.ma .ma-presentation h2 { margin-bottom: 16px; font-size: 26px; font-weight: 700; }
.ma .ma-presentation > p { font-size: 16px; line-height: 1.7; color: #3d3d3d; margin-bottom: 14px; }
.ma .ma-presentation .ma-details { text-align: left; }
.ma .ma-presentation .ma-details summary { display: flex; justify-content: center; }

/* ---------- Apparition au défilement ---------- */
.ma.ma-anime .ma-apparition { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.ma.ma-anime .ma-apparition.ma-visible { opacity: 1; transform: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1199.98px) {
	.ma .ma-rangee-piste { grid-auto-columns: calc((100% - 2 * 20px) / 3); }
	.ma .ma-cadeau { gap: 36px; padding: 36px; }
	.ma .ma-service, .ma .ma-service-inverse { gap: 40px; }
}

@media (max-width: 991.98px) {
	.ma .ma-hero-produit { display: none; }
	.ma .ma-rangee-piste { grid-auto-columns: calc((100% - 20px) / 2.3); }
	.ma .ma-rangee-fleche { display: none; }
	.ma .ma-cadeau { grid-template-columns: 1fr; }
	.ma .ma-cadeau-visuel { max-width: 420px; }
	.ma .ma-service, .ma .ma-service-inverse { grid-template-columns: 1fr; gap: 28px; }
	.ma .ma-service-inverse .ma-service-visuel { order: 0; }
	.ma .ma-service-visuel img { aspect-ratio: 16 / 10; }
}

@media (max-width: 767.98px) {
	.ma { margin-top: -16px; }
	.ma .ma-conteneur { padding: 0 16px; }
	.ma .ma-section { padding-top: 56px; }
	.ma .ma-message, .ma .ma-compteur { padding-top: 28px; } /* le padding des conteneurs (0 16px) écrasait l'espace du haut */
	.ma .ma-hero { min-height: 560px; align-items: flex-end; }
	.ma .ma-hero-video { display: none; } /* image plus légère sur mobile */
	.ma .ma-hero-voile { background: linear-gradient(0deg, rgba(14, 33, 28, .9) 0%, rgba(14, 33, 28, .55) 55%, rgba(14, 33, 28, .1) 100%); }
	.ma .ma-hero-contenu { padding-bottom: 36px; }
	.ma .ma-hero-texte { font-size: 16px; }
	.ma .ma-hero-boutons .ma-bouton { flex: 1 1 auto; }
	.ma .ma-entete { flex-direction: column; align-items: flex-start; gap: 10px; }
	.ma .ma-univers { grid-template-columns: 1fr; gap: 14px; }
	.ma .ma-univers-tuile { aspect-ratio: 16 / 10; }
	.ma .ma-rangee-piste { grid-auto-columns: 68%; gap: 14px; }
	.ma .ma-marques { margin-top: 56px; }
	.ma .ma-marques-ligne { justify-content: center; }
	.ma .ma-marques-ligne img { width: 120px; }
	.ma .ma-cadeau { padding: 28px 22px; border-radius: 18px; }
	.ma .ma-telephone { margin-top: 56px; padding: 24px; }
	.ma .ma-telephone-numero { margin-left: 0; font-size: 26px; }
}

@media (prefers-reduced-motion: reduce) {
	.ma *, .ma.ma-anime .ma-apparition { animation: none !important; transition: none !important; opacity: 1 !important; transform: none !important; }
}


/* ---------- Message d'accueil (bloc ms-annonce de modules/accueil_bloc.php) accordé au nouveau design ---------- */
.ma .ms-annonce {
	padding: 36px 32px 28px;
	margin: 0;
	background: #F3F6F4;
	border: 1px solid #dfe7e2;
	border-top: 4px solid var(--ma-vert);
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(45, 89, 71, .08);
}

.ma .ms-annonce-titre { font-weight: 700; margin: 0 0 26px; } /* .ma h2 { margin:0 } supprimait la marge du bloc */
.ma .ms-annonce-mention { margin: 14px 0 0; }

.ma .ms-annonce-bouton,
.ma .ms-annonce-bouton:visited {
	min-height: 50px;
	font-weight: 700;
	letter-spacing: .05em;
	border-radius: 999px;
	transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.ma .ms-annonce-bouton:hover,
.ma .ms-annonce-bouton:focus {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(235, 66, 63, .25);
}

@media (max-width: 767.98px) {
	.ma .ms-annonce { padding: 24px 18px 20px; border-radius: 16px; }
}

/* =====================================================================
   LISTES DE PRODUITS (refonte 05/10/2026) — modules/filtre.php + modules/ajax/filtre_femme.php / filtre_homme.php
   Restyle du HTML existant SANS toucher au fonctionnement (filtres AJAX, iCheck, mémorisation des filtres).
   Portée : <div id="page" class="page-filtre"> (classe ajoutée par template.php selon ?page=).
   ===================================================================== */

.page-filtre {
	--ml-vert: #2D5947;
	--ml-vert-nuit: #16302a;
	--ml-rouge: #EB423F;
	--ml-creme: #f6f5f2;
	--ml-texte: #222222;
	--ml-doux: #5f5f5f;
	--ml-bordure: #e6e3dd;
	--ml-rayon: 14px;
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
}

/* Toutes les pages de la refonte (#page reçoit une classe page-… quand $refonte) : contenu aligné sur le header et le pied de page
   (styleXav.css met .container à 1500 px avec 15 px de marge intérieure, le header / pied de page sont à 1440 px avec 24 px) */
#page[class*="page-"] .container { max-width: 1440px; padding-left: 24px; padding-right: 24px; }
@media (max-width: 767.98px) {
	#page[class*="page-"] .container { padding-left: 14px; padding-right: 14px; }
}

/* ---------- Fil d'Ariane ---------- */
.page-filtre .breadcrumb {
	margin: 0 0 18px;
	padding: 0;
	background: none;
	font-size: 13px;
	color: var(--ml-doux);
}

.page-filtre .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #b5b1a8; }
.page-filtre .breadcrumb a { color: var(--ml-doux); }
.page-filtre .breadcrumb a:hover { color: var(--ml-vert); }

/* ---------- Titre + introduction ---------- */
.page-filtre h1 {
	margin: 0 0 12px;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--ml-texte);
}

.page-filtre h1 + p {
	max-width: 980px;
	margin-bottom: 26px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--ml-doux);
}

/* ---------- Bloc pointures (en haut) ---------- */
.page-filtre > .container > .row > .filtre,
.page-filtre .row > .filtre {
	width: 100%;
	margin: 0 15px 8px;
	padding: 20px 24px 14px;
	background: var(--ml-creme);
	border: 1px solid var(--ml-bordure);
	border-radius: 18px;
}

.page-filtre .filtre h4,
.page-filtre .div_filtre h4 {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--ml-vert);
}

/* Pointures en capsules : la grille col-6 / col-md-3 devient une rangée qui passe à la ligne,
   la case iCheck est masquée (le clic sur le label la coche toujours : ifClicked inchangé) */
.page-filtre .row > .filtre .col-md-9 > .row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
}

.page-filtre .row > .filtre .col-md-9 > .row > div {
	flex: 0 0 auto;
	width: auto;
	max-width: none;
	padding: 0;
}

.page-filtre .row > .filtre label {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 8px 16px;
	font-size: 13.5px;
	line-height: 1.2;
	white-space: nowrap;
	background: #fff;
	border: 1px solid var(--ml-bordure);
	border-radius: 999px;
	cursor: pointer;
	user-select: none;
	transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}

.page-filtre .row > .filtre .element_filtre1 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	opacity: 0;
}

.page-filtre .row > .filtre label:hover { border-color: var(--ml-vert); box-shadow: 0 2px 8px rgba(0, 0, 0, .06); }
.page-filtre .row > .filtre label:has(.focus) { outline: 2px solid var(--ml-vert); outline-offset: 2px; }
.page-filtre .row > .filtre label:has(.checked) { background: var(--ml-vert); border-color: var(--ml-vert); color: #fff; }
.page-filtre .row > .filtre label:has(.checked) small { color: rgba(255, 255, 255, .8); }
.page-filtre .row > .filtre label:has(.checked) .element_filtre::before { content: "\2713"; margin-right: 6px; font-weight: 700; }
.page-filtre .element_filtre,
.page-filtre .element_filtre1 { width: auto; margin: 0; }
.page-filtre .element_filtre small { color: var(--ml-doux); }

/* Cases iCheck (thème rouge) recolorées dans le vert de la marque */
.page-filtre .icheckbox_minimal-red,
.page-filtre .iradio_minimal-red { filter: hue-rotate(150deg) saturate(.55) brightness(.8); }

/* ---------- Colonne des filtres ---------- */
.page-filtre .div_filtre {
	padding: 22px 20px;
	background: #fff;
	border: 1px solid var(--ml-bordure);
	border-radius: 18px;
	box-shadow: 0 8px 26px rgba(0, 0, 0, .05);
}

.page-filtre .div_filtre h4 { margin-top: 18px; }
.page-filtre .div_filtre h4:first-of-type,
.page-filtre #filtre_responsive > h4:first-of-type { margin-top: 0; }

.page-filtre .div_filtre .filtre {
	margin: 0 0 6px;
	padding: 0 0 14px;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--ml-bordure);
	border-radius: 0;
}

.page-filtre .div_filtre .filtre > div { padding: 4px 0; }
.page-filtre .div_filtre label { display: flex; align-items: center; gap: 4px; font-size: 14px; color: var(--ml-texte); cursor: pointer; }
.page-filtre .div_filtre label:hover { color: var(--ml-vert); }
.page-filtre .div_filtre a { color: var(--ml-texte); font-weight: 500; }
.page-filtre .div_filtre a:hover { color: var(--ml-vert); }

/* Bouton d'effacement des filtres et curseur de prix (Bootstrap) */
.page-filtre #deleteFilter .btn,
.page-filtre .div_filtre .btn {
	border-radius: 999px;
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.page-filtre .div_filtre input[type=range] { width: 100%; accent-color: var(--ml-vert); }

/* Curseur de prix (09/10/2026) — filtre_prix() dans modules/filtre.php. Sélecteurs appuyés pour passer devant
   l'ancien .slideRange (piste grise carrée) ; partie remplie = --fp-pct, mise à jour en JS. */
.page-filtre .fp { padding: 2px 0 4px; }
.page-filtre .fp-tete { display: flex; align-items: center; justify-content: space-between; min-height: 32px; margin-bottom: 12px; }
.page-filtre .fp-libelle { font-size: 13px; color: var(--ml-doux); }
.page-filtre .fp-valeur {
	display: inline-flex;
	align-items: baseline;
	padding: 4px 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--ml-vert);
	background: var(--ml-creme);
	border: 1px solid var(--ml-bordure);
	border-radius: 999px;
	font-variant-numeric: tabular-nums;
}
.page-filtre .fp-valeur #prixResult { margin: 0; font: inherit; color: inherit; letter-spacing: 0; }
/* curseur au maximum = sans limite : « Tous les prix » remplace « Jusqu'à … € » */
.page-filtre .fp-tous { display: none; font-size: 14px; font-weight: 700; color: var(--ml-vert); }
.page-filtre .fp.fp-max .fp-libelle,
.page-filtre .fp.fp-max .fp-valeur { display: none; }
.page-filtre .fp.fp-max .fp-tous { display: inline; }

.page-filtre .div_filtre input[type=range].fp-curseur {
	-webkit-appearance: none;
	appearance: none;
	display: block;
	width: 100%;
	height: 22px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	opacity: 1;
	cursor: pointer;
}
.page-filtre .div_filtre input[type=range].fp-curseur:focus { outline: none; }

/* piste */
.page-filtre .div_filtre input[type=range].fp-curseur::-webkit-slider-runnable-track {
	height: 6px;
	border-radius: 999px;
	background: linear-gradient(to right, var(--ml-vert) 0, var(--ml-vert) var(--fp-pct, 0%), var(--ml-bordure) var(--fp-pct, 0%), var(--ml-bordure) 100%);
}
.page-filtre .div_filtre input[type=range].fp-curseur::-moz-range-track { height: 6px; border-radius: 999px; background: var(--ml-bordure); }
.page-filtre .div_filtre input[type=range].fp-curseur::-moz-range-progress { height: 6px; border-radius: 999px; background: var(--ml-vert); }

/* poignée */
.page-filtre .div_filtre input[type=range].fp-curseur::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 22px;
	height: 22px;
	margin-top: -8px;
	background: #fff;
	border: 2px solid var(--ml-vert);
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
	transition: transform .15s ease, box-shadow .15s ease;
}
.page-filtre .div_filtre input[type=range].fp-curseur::-moz-range-thumb {
	width: 18px;
	height: 18px;
	background: #fff;
	border: 2px solid var(--ml-vert);
	border-radius: 50%;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
	transition: transform .15s ease, box-shadow .15s ease;
}
.page-filtre .div_filtre input[type=range].fp-curseur:hover::-webkit-slider-thumb,
.page-filtre .div_filtre input[type=range].fp-curseur:active::-webkit-slider-thumb { transform: scale(1.12); }
.page-filtre .div_filtre input[type=range].fp-curseur:hover::-moz-range-thumb,
.page-filtre .div_filtre input[type=range].fp-curseur:active::-moz-range-thumb { transform: scale(1.12); }
.page-filtre .div_filtre input[type=range].fp-curseur:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(45, 89, 71, .22), 0 2px 6px rgba(0, 0, 0, .18); }
.page-filtre .div_filtre input[type=range].fp-curseur:focus-visible::-moz-range-thumb { box-shadow: 0 0 0 4px rgba(45, 89, 71, .22), 0 2px 6px rgba(0, 0, 0, .18); }

.page-filtre .fp-bornes { display: flex; justify-content: space-between; margin-top: 6px; font-size: 12px; color: var(--ml-doux); }

.page-filtre .fp-appliquer {
	display: block;
	width: 100%;
	margin-top: 14px;
	padding: 9px 16px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--ml-vert);
	border: 1px solid var(--ml-vert);
	border-radius: 999px;
	cursor: pointer;
	transition: background .2s ease, box-shadow .2s ease;
}
.page-filtre .fp-appliquer:hover { background: #224537; box-shadow: 0 4px 12px rgba(45, 89, 71, .25); }
.page-filtre .fp-appliquer:focus-visible { outline: 2px solid var(--ml-vert); outline-offset: 2px; }

/* ---------- Résultats ---------- */
#loadingProduct > .col-12.mb-3 { font-size: 14px; color: var(--ml-doux); }
#loadingProduct > .col-12.mb-3 b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 24px;
	padding: 0 8px;
	margin-right: 4px;
	font-size: 13px;
	color: #fff;
	background: var(--ml-vert);
	border-radius: 999px;
}

/* Carte produit (div.image_block renvoyé par l'AJAX) */
.page-filtre .image_block { padding: 0 10px 28px !important; }

.page-filtre .image_block > div {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.page-filtre .image_block > div > div:first-child {
	position: relative;
	overflow: hidden;
	padding: 16px;
	background: var(--ml-creme);
	border-radius: var(--ml-rayon);
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-filtre .image_block img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}

.page-filtre .image_block:hover img { transform: scale(1.07) rotate(-2deg); }

/* Pastilles NOUVEAU / promotion */
.page-filtre .image_block .rubanRightNew,
.page-filtre .image_block .rubanRight {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	z-index: 2;
	padding: 5px 11px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #fff;
	border-radius: 999px;
}

.page-filtre .image_block .rubanRightNew { background: var(--ml-vert); }
.page-filtre .image_block .rubanRight { background: var(--ml-rouge); }
.page-filtre .image_block .rubanRightNew:not(.hide) ~ .rubanRight:not(.hide) { top: 42px; }

/* Textes de la carte */
.page-filtre .image_block .text-center { text-align: left !important; }

.page-filtre .image_block > div > .text-center:first-of-type,
.page-filtre .image_block > div > div:nth-child(2) { margin-top: 14px; }

.page-filtre .image_block b {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	color: var(--ml-texte);
}

.page-filtre .image_block a:hover b { color: var(--ml-vert); }
.page-filtre .image_block > div > div:nth-child(3) .text-center { font-size: 13px; color: var(--ml-doux); text-transform: capitalize; }

.page-filtre .image_block .pricing { margin-top: 6px; font-size: 16px; }
.page-filtre .pricing .actif { font-weight: 700 !important; color: var(--ml-texte); }
.page-filtre .pricing .promotion { font-weight: 700 !important; color: var(--ml-rouge) !important; }
.page-filtre .pricing span.ancien { font-size: 14px; color: var(--ml-doux); text-decoration: line-through; }

/* ---------- Pagination ---------- */
.page-filtre .pagination { justify-content: center; gap: 6px; flex-wrap: wrap; }

.page-filtre .page-link {
	min-width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	font-weight: 500;
	color: var(--ml-texte);
	background: #fff;
	border: 1px solid var(--ml-bordure) !important;
	border-radius: 999px !important;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}

.page-filtre .page-link:hover { color: #fff; background: var(--ml-vert); border-color: var(--ml-vert) !important; }
.page-filtre .page-item.active .page-link { color: #fff; background: var(--ml-vert); border-color: var(--ml-vert) !important; }
.page-filtre .page-item.disabled .page-link { color: #b5b1a8; background: transparent; }

/* ---------- Mobile ---------- */
@media (max-width: 991.98px) {
	/* bouton d'ouverture des filtres : pastille verte au lieu de l'image */
	#toggle_filtre {
		top: auto !important;
		bottom: 22px;
		left: 50% !important;
		transform: translateX(-50%);
		padding: 0;
		border-radius: 999px;
		box-shadow: 0 10px 28px rgba(0, 0, 0, .28);
		overflow: hidden;
	}

	#toggle_filtre img { display: none; }

	#toggle_filtre::before {
		content: "\f0b0  Filtrer";
		display: block;
		padding: 13px 24px;
		font-family: FontAwesome, "Roboto", Arial, sans-serif;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: .05em;
		text-transform: uppercase;
		color: #fff;
		background: var(--ml-vert, #2D5947);
	}

	html[lang="en"] #toggle_filtre::before { content: "\f0b0  Filter"; }

	.page-filtre .div_filtre { border-radius: 0; box-shadow: none; border: 0; }
	#toggleFiltre { border-radius: 999px; background: #2D5947 !important; padding: 6px 14px !important; font-weight: 700; }
}

@media (max-width: 767.98px) {
	.page-filtre .row > .filtre { margin: 0 15px 8px; padding: 16px 14px 14px; }
	.page-filtre .row > .filtre .col-md-9 > .row { gap: 6px; }
	.page-filtre .row > .filtre label { gap: 4px; padding: 7px 12px; font-size: 12.5px; }
	.page-filtre .image_block { padding: 0 6px 22px !important; }
	.page-filtre .image_block b { font-size: 14px; }
}


/* ---------- Listes : blocs de filtres repliables (theme/mephisto/js/mephisto.js) ---------- */
.page-filtre .ml-titre-repliable {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 6px 0;
	cursor: pointer;
	user-select: none;
}

.page-filtre .ml-titre-repliable::after {
	content: "\f107";
	font-family: FontAwesome;
	font-size: 18px;
	line-height: 1;
	color: var(--ml-vert);
	transition: transform .25s ease;
}

.page-filtre .ml-titre-repliable[aria-expanded="true"]::after { transform: rotate(180deg); }
.page-filtre .ml-titre-repliable:hover { color: var(--ml-vert-nuit); }
.page-filtre .ml-titre-repliable:focus-visible { outline: 2px solid var(--ml-vert); outline-offset: 3px; border-radius: 4px; }
.page-filtre .ml-corps-repliable.ml-ferme { display: none; }
.page-filtre .div_filtre .filtre.ml-ferme + div h4,
.page-filtre .div_filtre .filtre.ml-ferme + h4 { margin-top: 10px; }

/* ---------- Réassurance affichée sous la bannière de la page d'accueil (theme/mephisto/reassurance_v2.php) ---------- */
.mf.mf-sous-banniere { margin-top: 0; }
.mf.mf-sous-banniere .mf-reassurance { border-top: 0; border-bottom: 1px solid #e6e3dd; padding: 28px 0; }

/* ---------- Accueil : encart « Achetez en toute sérénité » ---------- */
.ma .ma-serenite-grille {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 20px;
}

/* Carte vedette : paiement en 3 fois */
.ma .ma-serenite-vedette {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	padding: 40px 36px 34px;
	color: rgba(255, 255, 255, .85);
	background:
		radial-gradient(420px 260px at 100% 0%, rgba(217, 178, 111, .28), transparent 60%),
		linear-gradient(150deg, var(--ma-vert) 0%, var(--ma-vert-nuit) 100%);
	border-radius: 22px;
}

.ma .ma-serenite-vedette::after {
	content: "3x";
	position: absolute;
	right: -10px;
	bottom: -48px;
	font-size: 220px;
	font-weight: 900;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, .10);
	pointer-events: none;
}

.ma .ma-serenite-sur {
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ma-or);
}

.ma .ma-serenite-vedette h3 {
	margin: 0 0 12px;
	font-size: clamp(26px, 2.6vw, 36px);
	font-weight: 900;
	line-height: 1.1;
	color: #fff;
}

.ma .ma-serenite-vedette > p:not(.ma-serenite-sur):not(.ma-mention-4x) { font-size: 15.5px; line-height: 1.6; }

/* Échéancier 1/3 - 1/3 - 1/3 */
.ma .ma-echeances {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 28px 0 26px;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.ma .ma-echeances li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 8px 14px;
	font-size: 13px;
	font-weight: 500;
	text-align: center;
	color: #fff;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 14px;
}

.ma .ma-echeances li span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	font-size: 17px;
	font-weight: 900;
	color: var(--ma-vert-nuit);
	background: #fff;
	border-radius: 50%;
}

.ma .ma-echeances li:first-child span { background: var(--ma-or); }

/* petite flèche entre les échéances */
.ma .ma-echeances li + li::before {
	content: "\f105";
	position: absolute;
	left: -10px;
	top: 34px;
	font-family: FontAwesome;
	font-size: 16px;
	color: rgba(255, 255, 255, .45);
	transform: translateX(-50%);
}

.ma .ma-serenite-moyens { position: relative; z-index: 1; margin-top: auto; display: flex; gap: 12px; font-size: 32px; color: #fff; opacity: .9; }

/* Cartes d'engagements */
.ma .ma-serenite-cartes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.ma .ma-serenite-carte {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px 26px;
	color: var(--ma-doux);
	background: var(--ma-creme);
	border: 1px solid var(--ma-bordure);
	border-radius: 22px;
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.ma .ma-serenite-carte:hover { color: var(--ma-doux); background: #fff; transform: translateY(-4px); box-shadow: 0 16px 34px rgba(0, 0, 0, .08); }

.ma .ma-serenite-icone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 4px;
	font-size: 21px;
	color: #fff;
	background: var(--ma-vert);
	border-radius: 16px;
	transition: transform .3s ease, background .3s ease;
}

.ma .ma-serenite-carte:hover .ma-serenite-icone { transform: rotate(-8deg) scale(1.05); background: var(--ma-vert-nuit); }
.ma .ma-serenite-carte strong { font-size: 18px; font-weight: 700; color: var(--ma-texte); }
.ma .ma-serenite-carte > span:last-child { font-size: 14px; line-height: 1.6; }

@media (max-width: 1199.98px) {
	.ma .ma-serenite-grille { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
	.ma .ma-serenite-vedette { padding: 30px 22px 26px; border-radius: 18px; }
	.ma .ma-echeances li { padding: 12px 4px 10px; font-size: 12px; }
	.ma .ma-echeances li span { width: 44px; height: 44px; font-size: 15px; }
	.ma .ma-serenite-cartes { grid-template-columns: 1fr; gap: 12px; }
	.ma .ma-serenite-carte { padding: 22px 20px; border-radius: 18px; }
}

/* ---------- Téléphone flottant (header_v2.php, bas gauche de l'écran) ---------- */
.mh .mh-appel {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 1035;
	font-family: var(--mh-police);
}

.mh .mh-appel-carte {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 22px 12px 12px;
	color: var(--mh-texte);
	background: var(--mh-blanc);
	border: 1px solid var(--mh-bordure);
	border-radius: 20px;
	box-shadow: 0 14px 40px rgba(0, 0, 0, .18);
	transition: transform .25s ease, box-shadow .25s ease;
}

.mh .mh-appel-carte:hover { color: var(--mh-texte); transform: translateY(-3px); box-shadow: 0 18px 46px rgba(0, 0, 0, .22); }

.mh .mh-appel-icone {
	position: relative;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	font-size: 25px;
	color: var(--mh-blanc);
	background: var(--mh-vert);
	border-radius: 50%;
}

/* onde qui pulse autour de l'icône (donne envie d'appeler) */
.mh .mh-appel-icone::before,
.mh .mh-appel-icone::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 2px solid var(--mh-vert);
	animation: mh-onde 2.4s ease-out infinite;
}

.mh .mh-appel-icone::after { animation-delay: 1.2s; }

@keyframes mh-onde {
	0% { transform: scale(1); opacity: .6; }
	100% { transform: scale(1.7); opacity: 0; }
}

.mh .mh-appel-icone .fa { animation: mh-sonne 4s ease-in-out infinite; }

@keyframes mh-sonne {
	0%, 82%, 100% { transform: rotate(0); }
	85% { transform: rotate(-14deg); }
	88% { transform: rotate(12deg); }
	91% { transform: rotate(-10deg); }
	94% { transform: rotate(6deg); }
}

.mh .mh-appel-texte { display: flex; flex-direction: column; line-height: 1.2; }
.mh .mh-appel-texte small { font-size: 13px; color: var(--mh-texte-doux); }
.mh .mh-appel-texte strong { margin: 2px 0 3px; font-size: 26px; font-weight: 900; letter-spacing: .02em; color: var(--mh-vert); white-space: nowrap; }
.mh .mh-appel-etat { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--mh-texte-doux); }
.mh .mh-appel-point { width: 8px; height: 8px; border-radius: 50%; background: #b5b1a8; }
.mh .mh-appel-ouvert .mh-appel-point { background: #22a55b; box-shadow: 0 0 0 3px rgba(34, 165, 91, .2); }
.mh .mh-appel-ouvert .mh-appel-etat { color: #1d7f47; font-weight: 500; }

.mh .mh-appel-reduire {
	position: absolute;
	top: -9px;
	right: -9px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0 !important;
	font-size: 12px !important;
	color: var(--mh-texte-doux) !important;
	background: var(--mh-blanc) !important;
	border: 1px solid var(--mh-bordure) !important;
	border-radius: 50%;
	box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
}

.mh .mh-appel-reduire:hover { color: var(--mh-texte) !important; }

/* état réduit : bouton rond */
.mh .mh-appel-reduit .mh-appel-carte { padding: 8px; border-radius: 50%; }
.mh .mh-appel-reduit .mh-appel-texte,
.mh .mh-appel-reduit .mh-appel-reduire { display: none; }

/* Mobile : barre fixe pleine largeur en bas de l'écran (clients âgés : impossible à rater, facile à toucher) */
@media (max-width: 767.98px) {
	.mh .mh-appel { left: 0; right: 0; bottom: 0; }
	.mh .mh-appel-carte,
	.mh .mh-appel-reduit .mh-appel-carte {
		gap: 12px;
		width: 100%;
		padding: 9px 14px calc(9px + env(safe-area-inset-bottom, 0px));
		background: var(--mh-blanc);
		border: 0;
		border-top: 1px solid var(--mh-bordure);
		border-radius: 0;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, .12);
	}
	.mh .mh-appel-carte:hover { transform: none; }
	.mh .mh-appel-icone { width: 44px; height: 44px; font-size: 21px; }
	.mh .mh-appel-reduit .mh-appel-texte { display: flex; }   /* la réduction ne s'applique pas sur mobile */
	.mh .mh-appel-reduire, .mh .mh-appel-etat { display: none !important; }
	.mh .mh-appel-texte { flex: 1 1 auto; }
	.mh .mh-appel-texte small { font-size: 12px; }
	.mh .mh-appel-texte strong { margin: 1px 0 0; font-size: 21px; }
	.mh .mh-appel-carte::after {
		content: "Appeler";
		flex: 0 0 auto;
		padding: 11px 18px;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: .04em;
		text-transform: uppercase;
		color: var(--mh-blanc);
		background: var(--mh-vert);
		border-radius: 999px;
	}
	html[lang="en"] .mh .mh-appel-carte::after { content: "Call"; }
	/* le bas des pages n'est pas masqué par la barre */
	body:has(#mhAppel) { padding-bottom: 72px; }
	/* listes : le bouton « Filtrer » passe au-dessus de la barre */
	#toggle_filtre { bottom: 84px !important; }
}

@media print { .mh .mh-appel { display: none; } }

/* ---------- Listes : pastilles des autres coloris (mephisto.js + theme/mephisto/coloris.php) ---------- */
.page-filtre .ml-coloris { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 2px; }

.page-filtre .ml-pastille {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, .18);
	box-shadow: inset 0 0 0 2px #fff;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}

.page-filtre a.ml-pastille:hover { transform: scale(1.2); box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--ml-vert); }
.page-filtre .ml-pastille-actuelle { cursor: default; box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--ml-texte); }
.page-filtre .ml-pastille-plus { font-size: 12px; font-weight: 500; color: var(--ml-doux); }

/* ---------- Accueil : pastilles des autres coloris dans les fiches (mêmes pastilles que les listes) ---------- */
.ma .ml-coloris { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 0; }
.ma .ml-pastille {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, .18);
	box-shadow: inset 0 0 0 2px #fff;
	transition: transform .2s ease, box-shadow .2s ease;
}
.ma a.ml-pastille:hover { transform: scale(1.2); box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--ma-vert); }
.ma .ml-pastille-actuelle { box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px var(--ma-texte); }
.ma .ml-pastille-plus { font-size: 12px; font-weight: 500; color: var(--ma-doux); }

/* ---------- Fiche produit : produits récemment consultés (produit.php wishlist_v2, cartes de l'accueil) ---------- */
.ma.ma-recents { margin: 48px 0 24px; }

/* ---------- Fiche produit : détails, caractéristiques, engagements, produits associés (produit.php produit_details_v2) ---------- */
.ma.ma-produit { margin: 0; }

.ma .ma-details-produit {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.ma .ma-details-texte {
	padding: 34px 36px;
	background: #fff;
	border: 1px solid var(--ma-bordure);
	border-radius: 22px;
}

.ma .ma-details-texte .ma-titre { margin: 6px 0 18px; }
.ma .ma-details-description { font-size: 16px; line-height: 1.7; color: #3d3d3d; }
.ma .ma-details-description p { margin: 0 0 12px; }

.ma .ma-technique {
	margin-top: 22px;
	padding: 18px 20px;
	font-size: 15px;
	line-height: 1.65;
	color: #3d3d3d;
	background: var(--ma-creme);
	border-left: 4px solid var(--ma-vert);
	border-radius: 0 14px 14px 0;
}
.ma .ma-technique h3 { margin: 0 0 6px; font-size: 16px; font-weight: 700; color: var(--ma-texte); text-transform: uppercase; letter-spacing: .03em; }
.ma .ma-technique h3 .fa { margin-right: 4px; color: var(--ma-vert); }
.ma .ma-technique p { margin: 0 0 8px; }
.ma .ma-technique p:last-child { margin-bottom: 0; }

.ma .ma-entretien { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid var(--ma-bordure); }
.ma .ma-entretien > div { margin-top: 12px; font-size: 15px; line-height: 1.65; color: #3d3d3d; }

.ma .ma-caracteristiques {
	padding: 30px 28px;
	color: #fff;
	background:
		radial-gradient(circle at 100% 0, rgba(217, 178, 111, .22) 0, transparent 55%),
		linear-gradient(150deg, var(--ma-vert) 0%, var(--ma-vert-nuit) 100%);
	border-radius: 22px;
}
.ma .ma-caracteristiques h3 { margin: 0 0 18px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ma-or); }
.ma .ma-caracteristiques dl { margin: 0; }
.ma .ma-caracteristiques dl > div { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.ma .ma-caracteristiques dl > div:first-child { padding-top: 0; }
.ma .ma-caracteristiques dt { font-size: 14px; font-weight: 400; color: rgba(255, 255, 255, .72); }
.ma .ma-caracteristiques dd { margin: 0; font-size: 15px; font-weight: 700; text-align: right; }
.ma .ma-semelles { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.ma .ma-semelles img { height: 74px; width: auto; padding: 6px; background: #fff; border-radius: 12px; }
.ma .ma-badge-catalogue { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 7px 14px; font-size: 13px; font-weight: 700; color: var(--ma-vert-nuit); background: var(--ma-or); border-radius: 999px; }

.ma .ma-engagements-produit {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 28px;
}
.ma .ma-engagements-produit a {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 22px;
	color: var(--ma-doux);
	background: var(--ma-creme);
	border: 1px solid var(--ma-bordure);
	border-radius: 18px;
	transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}
.ma .ma-engagements-produit a:hover { color: var(--ma-doux); background: #fff; transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .07); }
.ma .ma-engagements-produit .ma-serenite-icone { flex: 0 0 48px; width: 48px; height: 48px; margin: 0; font-size: 19px; border-radius: 14px; }
.ma .ma-engagements-produit a:hover .ma-serenite-icone { transform: rotate(-8deg) scale(1.05); background: var(--ma-vert-nuit); }
.ma .ma-engagements-produit strong { display: block; font-size: 16px; font-weight: 700; color: var(--ma-texte); }
.ma .ma-engagements-produit small { display: block; margin-top: 2px; font-size: 13px; line-height: 1.45; }

.ma .ma-associes { margin-top: 56px; }

@media (max-width: 991.98px) {
	.ma .ma-details-produit { grid-template-columns: 1fr; gap: 20px; }
	.ma .ma-engagements-produit { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 767.98px) {
	.ma .ma-details-texte { padding: 24px 20px; border-radius: 18px; }
	.ma .ma-caracteristiques { padding: 24px 20px; border-radius: 18px; }
	.ma .ma-engagements-produit a { padding: 16px 18px; }
	.ma .ma-associes { margin-top: 40px; }
}

/* ---------- Paiement en 4X PayPal (05/10/2026) : pied de page, encart sérénité de l'accueil ---------- */
.mf .mf-paiements .mf-paiement-fois { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 26px; padding: 0 8px; font-size: 13px; font-weight: 900; letter-spacing: .04em; color: #fff; border: 2px solid rgba(255, 255, 255, .85); border-radius: 6px; }
.mf .mf-bas-ligne { flex-wrap: wrap; align-content: center; row-gap: 12px; min-height: 0; padding-top: 18px; padding-bottom: 16px; }
.mf .mf-bas-ligne > p { margin: 0; }
.mf .mf-bas .mf-mention-4x { order: 3; flex: 0 0 100%; padding-top: 12px; font-size: 11px; line-height: 1.5; color: rgba(255, 255, 255, .45); border-top: 1px solid rgba(255, 255, 255, .07); }

.ma .ma-4x {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 16px;
	padding: 14px 16px;
	font-size: 13px;
	line-height: 1.45;
	color: rgba(255, 255, 255, .85);
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 14px;
}
.ma .ma-4x strong { display: block; font-size: 15px; color: #fff; }
.ma .ma-4x-badge { flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; font-size: 16px; font-weight: 900; color: var(--ma-vert-nuit); background: var(--ma-or); border-radius: 50%; }
.ma .ma-serenite-vedette .ma-mention-4x { position: relative; z-index: 1; margin: 10px 0 16px; font-size: 11px; line-height: 1.5; color: rgba(255, 255, 255, .6); }

/* ---------- Accueil : commande par téléphone (au-dessus de « Achetez en toute sérénité ») ---------- */
.ma .ma-appel {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 40px;
	align-items: center;
	padding: 44px 48px;
	color: rgba(255, 255, 255, .82);
	background:
		radial-gradient(circle at 100% 0, rgba(217, 178, 111, .25) 0, transparent 50%),
		linear-gradient(135deg, var(--ma-vert) 0%, var(--ma-vert-nuit) 100%);
	border-radius: 24px;
}
.ma .ma-appel::after {
	content: "\f095";
	position: absolute;
	right: -30px;
	bottom: -70px;
	font-family: FontAwesome;
	font-size: 260px;
	line-height: 1;
	color: rgba(255, 255, 255, .04);
	transform: rotate(-12deg);
	pointer-events: none;
}
.ma .ma-appel-texte, .ma .ma-appel-actions { position: relative; z-index: 1; }
.ma .ma-appel .ma-surtitre { color: var(--ma-or); }
.ma .ma-appel h2 { margin: 6px 0 12px; font-size: 34px; font-weight: 900; line-height: 1.15; color: #fff; }
.ma .ma-appel-texte > p:not(.ma-surtitre):not(.ma-appel-etat) { max-width: 520px; font-size: 16px; line-height: 1.6; }
.ma .ma-appel-etat { display: inline-flex; align-items: center; gap: 9px; margin-top: 18px !important; padding: 7px 14px; font-size: 13px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .1); border-radius: 999px; }
.ma .ma-appel-etat i { width: 9px; height: 9px; border-radius: 50%; background: #9aa5a1; }
.ma .ma-appel-ouvert i { background: #4ade80; box-shadow: 0 0 0 0 rgba(74, 222, 128, .6); animation: ma-appel-pouls 2s infinite; }

.ma .ma-appel-numero {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 26px 18px 18px;
	color: var(--ma-vert-nuit);
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
	transition: transform .25s ease, box-shadow .25s ease;
}
.ma .ma-appel-numero:hover { color: var(--ma-vert-nuit); transform: translateY(-3px); box-shadow: 0 24px 48px rgba(0, 0, 0, .28); }
.ma .ma-appel-icone { flex: 0 0 64px; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; font-size: 28px; color: var(--ma-vert-nuit); background: var(--ma-or); border-radius: 18px; animation: ma-appel-sonne 4s ease-in-out infinite; }
.ma .ma-appel-numero small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ma-vert); }
.ma .ma-appel-numero strong { display: block; font-size: 36px; font-weight: 900; line-height: 1.1; letter-spacing: .02em; white-space: nowrap; }

.ma .ma-appel-infos { list-style: none; margin: 18px 0 0; padding: 0; font-size: 14px; }
.ma .ma-appel-infos li { display: flex; align-items: center; gap: 10px; padding: 5px 0; }
.ma .ma-appel-infos .fa { width: 16px; color: var(--ma-or); text-align: center; }
.ma .ma-appel-infos a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ma .ma-appel-infos a:hover { color: var(--ma-or); }

.ma .ma-appel-section + .ma-serenite { padding-top: 56px; }

@keyframes ma-appel-pouls { 70% { box-shadow: 0 0 0 9px rgba(74, 222, 128, 0); } 100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); } }
@keyframes ma-appel-sonne { 0%, 86%, 100% { transform: rotate(0); } 88% { transform: rotate(-12deg); } 91% { transform: rotate(10deg); } 94% { transform: rotate(-8deg); } 97% { transform: rotate(5deg); } }

@media (max-width: 991.98px) {
	.ma .ma-appel { grid-template-columns: 1fr; gap: 26px; padding: 36px 32px; }
}
@media (max-width: 767.98px) {
	.ma .ma-appel { padding: 28px 20px; border-radius: 18px; }
	.ma .ma-appel h2 { font-size: 26px; }
	.ma .ma-appel-numero { gap: 14px; padding: 14px 18px 14px 14px; border-radius: 16px; }
	.ma .ma-appel-icone { flex-basis: 52px; width: 52px; height: 52px; font-size: 22px; border-radius: 14px; }
	.ma .ma-appel-numero strong { font-size: 27px; }
	.ma .ma-appel-section + .ma-serenite { padding-top: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.ma .ma-appel-icone, .ma .ma-appel-ouvert i { animation: none; }
}

/* ---------- Fiche produit : matière / couleur sous la photo principale (produit.php produit_matiere_bulle) ---------- */
.ma-matiere { display: flex; justify-content: center; margin: 14px 0 6px; }
.ma-matiere-bulle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	max-width: 100%;
	padding: 6px 18px 6px 6px;
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	font-size: 14px;
	line-height: 1.3;
	color: #5f5f5f;
	background: #f6f5f2;
	border: 1px solid #e6e3dd;
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .05);
}
.ma-matiere-icone { flex: 0 0 30px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: 13px; color: #fff; background: #2D5947; border-radius: 50%; }
.ma-matiere-nom { display: inline-block; }
.ma-matiere-nom::first-letter, .ma-matiere-bulle strong::first-letter { text-transform: uppercase; }
.ma-matiere-bulle strong { display: inline-block; }
.ma-matiere-sep { width: 4px; height: 4px; background: #d9b26f; border-radius: 50%; }
.ma-matiere-bulle strong { font-weight: 700; color: #222; }
@media (max-width: 767.98px) {
	.ma-matiere-bulle { font-size: 13px; padding-right: 14px; }
}

/* ---------- Accueil : « Mephisto-Shop, spécialiste des chaussures Mephisto » (texte SEO redessiné) ---------- */
.ma .ma-presentation-v2 {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	padding: 56px;
	background: var(--ma-creme);
	border: 1px solid var(--ma-bordure);
	border-radius: 28px;
}
.ma .ma-presentation-v2::before {
	/* logo M Mephisto en filigrane (images/logo-m-mephisto.png) */
	content: "";
	position: absolute;
	left: -30px;
	bottom: -50px;
	width: 380px;
	height: 380px;
	background: url("../../../images/logo-m-mephisto.png") no-repeat left bottom / contain;
	opacity: .06;
	pointer-events: none;
}
.ma .ma-presentation-texte, .ma .ma-chiffres { position: relative; z-index: 1; }
.ma .ma-presentation-texte h2 { margin: 8px 0 18px; font-size: 36px; font-weight: 900; line-height: 1.15; color: var(--ma-texte); }
.ma .ma-presentation-intro { font-size: 17px; line-height: 1.75; color: #3d3d3d; }
.ma .ma-presentation-intro strong { color: var(--ma-vert); }
.ma .ma-presentation-texte .ma-details { margin: 18px 0 0; }
.ma .ma-presentation-texte .ma-details a { color: var(--ma-vert); }
.ma .ma-presentation-liens { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-top: 28px; }
.ma .ma-presentation-liens .ma-lien-fleche { margin-left: 8px; }

.ma .ma-chiffres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.ma .ma-chiffres li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 26px 22px;
	color: rgba(255, 255, 255, .8);
	background: linear-gradient(150deg, var(--ma-vert) 0%, var(--ma-vert-nuit) 100%);
	border-radius: 20px;
	transition: transform .3s ease, box-shadow .3s ease;
}
.ma .ma-chiffres li:nth-child(2), .ma .ma-chiffres li:nth-child(3) { color: var(--ma-doux); background: #fff; border: 1px solid var(--ma-bordure); }
.ma .ma-chiffres li:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(0, 0, 0, .1); }
.ma .ma-chiffres strong { font-size: 40px; font-weight: 900; line-height: 1; letter-spacing: -.01em; color: #fff; }
.ma .ma-chiffres li:nth-child(2) strong, .ma .ma-chiffres li:nth-child(3) strong { color: var(--ma-vert); }
.ma .ma-chiffres small { font-size: 18px; font-weight: 700; opacity: .7; }
.ma .ma-chiffres span { font-size: 14px; line-height: 1.5; }
.ma .ma-chiffres li:first-child strong, .ma .ma-chiffres li:last-child strong { color: var(--ma-or); }

@media (max-width: 1199.98px) {
	.ma .ma-presentation-v2 { grid-template-columns: 1fr; gap: 36px; padding: 44px 40px; }
}
@media (max-width: 767.98px) {
	.ma .ma-presentation-v2 { padding: 30px 20px; border-radius: 20px; }
	.ma .ma-presentation-v2::before { font-size: 280px; bottom: -80px; }
	.ma .ma-presentation-texte h2 { font-size: 27px; }
	.ma .ma-presentation-intro { font-size: 15.5px; }
	.ma .ma-presentation-liens .ma-bouton { width: 100%; }
	.ma .ma-presentation-liens .ma-lien-fleche { margin: 6px auto 0; }
	.ma .ma-chiffres { gap: 10px; }
	.ma .ma-chiffres li { padding: 18px 16px; border-radius: 16px; }
	.ma .ma-chiffres strong { font-size: 30px; }
	.ma .ma-chiffres small { font-size: 14px; }
	.ma .ma-chiffres span { font-size: 12.5px; }
}

/* ---------- Page de résultats de recherche (produit.php recherche_v2) ---------- */
.ma.ma-recherche { margin: 0 0 40px; }
.ma .ma-recherche-entete {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 480px);
	gap: 32px;
	align-items: end;
	margin-bottom: 36px;
	padding: 40px 44px;
	background: var(--ma-creme);
	border: 1px solid var(--ma-bordure);
	border-radius: 24px;
}
.ma .ma-recherche-entete h1 { margin: 6px 0 0; font-size: 34px; font-weight: 900; line-height: 1.15; color: var(--ma-texte); overflow-wrap: anywhere; }
.ma .ma-recherche-entete h1 span { color: var(--ma-vert); }
.ma .ma-recherche-compte { margin-top: 10px !important; font-size: 15px; color: var(--ma-doux); }
.ma .ma-recherche-compte strong { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 26px; margin-right: 4px; padding: 0 9px; font-size: 13px; color: #fff; background: var(--ma-vert); border-radius: 999px; }

.ma .ma-recherche-form { position: relative; display: flex; min-width: 0; width: 100%; align-items: center; padding: 6px; background: #fff; border: 1px solid var(--ma-bordure); border-radius: 999px; box-shadow: 0 10px 28px rgba(0, 0, 0, .06); }
.ma .ma-recherche-form:focus-within { border-color: var(--ma-vert); }
.ma .ma-recherche-form > .fa { position: absolute; left: 22px; color: var(--ma-doux); }
.ma .ma-recherche-form input { flex: 1; min-width: 0; height: 44px; padding: 0 12px 0 44px; font-size: 15px; color: var(--ma-texte); background: transparent; border: 0; outline: 0; }
.ma .ma-recherche-form button { height: 44px; padding: 0 24px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--ma-vert); border: 0; border-radius: 999px; cursor: pointer; transition: background .2s ease; }
.ma .ma-recherche-form button:hover { background: var(--ma-vert-nuit); }

.ma .ma-recherche-groupe + .ma-recherche-groupe { margin-top: 48px; }
.ma .ma-recherche-titre { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; font-size: 22px; font-weight: 700; color: var(--ma-texte); }
.ma .ma-recherche-titre span { padding: 2px 10px; font-size: 13px; color: var(--ma-vert); background: var(--ma-creme); border: 1px solid var(--ma-bordure); border-radius: 999px; }

.ma .ma-grille { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px 20px; }

.ma .ma-recherche-vide { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; }
.ma .ma-recherche-vide-texte { padding: 40px; background: #fff; border: 1px solid var(--ma-bordure); border-radius: 24px; }
.ma .ma-recherche-vide-icone { display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 18px; font-size: 24px; color: var(--ma-vert-nuit); background: var(--ma-or); border-radius: 18px; }
.ma .ma-recherche-vide-texte h2 { margin-bottom: 12px; font-size: 26px; font-weight: 900; color: var(--ma-texte); }
.ma .ma-recherche-vide-texte p { max-width: 560px; font-size: 16px; line-height: 1.65; color: #3d3d3d; }
.ma .ma-recherche-vide-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.ma .ma-recherche-pistes { display: flex; flex-direction: column; gap: 10px; padding: 34px 30px; background: linear-gradient(150deg, var(--ma-vert) 0%, var(--ma-vert-nuit) 100%); border-radius: 24px; }
.ma .ma-recherche-pistes p { margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ma-or); }
.ma .ma-recherche-pistes a { display: flex; align-items: center; gap: 12px; padding: 16px 18px; font-size: 16px; font-weight: 700; color: #fff; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 14px; transition: background .2s ease, transform .2s ease; }
.ma .ma-recherche-pistes a .fa-long-arrow-right { margin-left: auto; color: var(--ma-or); }
.ma .ma-recherche-pistes a:hover { color: #fff; background: rgba(255, 255, 255, .16); transform: translateX(3px); }

@media (max-width: 1199.98px) {
	.ma .ma-grille { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ma .ma-recherche-entete { grid-template-columns: minmax(0, 1fr); align-items: start; }
}
@media (max-width: 991.98px) {
	.ma .ma-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ma .ma-recherche-vide { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
	.ma .ma-recherche-entete { padding: 26px 20px; border-radius: 18px; gap: 20px; margin-bottom: 26px; }
	.ma .ma-recherche-entete h1 { font-size: 26px; }
	.ma .ma-recherche-form button { padding: 0 16px; }
	.ma .ma-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 12px; }
	.ma .ma-grille .ma-carte-visuel { padding: 10px; }
	.ma .ma-grille .ma-carte-titre { font-size: 14px; }
	.ma .ma-recherche-vide-texte { padding: 28px 20px; border-radius: 18px; }
	.ma .ma-recherche-vide-texte h2 { font-size: 22px; }
	.ma .ma-recherche-vide-actions .ma-bouton { width: 100%; }
	.ma .ma-recherche-pistes { padding: 26px 20px; border-radius: 18px; }
}

/* =====================================================================
   FENÊTRE « AJOUTÉ AU PANIER » (template.php mhAjoutPanier / mhAlertePanier, <dialog id="mcPanier">) — refonte 06/10/2026
   ===================================================================== */
dialog.mc { width: min(480px, calc(100vw - 28px)); max-height: calc(100vh - 40px); padding: 30px 28px 24px; color: #222; background: #fff; border: 0; border-radius: 24px; box-shadow: 0 30px 80px rgba(0, 0, 0, .25); font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; overflow: auto; }
dialog.mc[open] { animation: mc-entree .25s ease-out; }
dialog.mc::backdrop { background: rgba(22, 48, 42, .45); backdrop-filter: blur(2px); }
@keyframes mc-entree { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.mc .mc-fermer { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; font-size: 16px; color: #5f5f5f; background: #f6f5f2; border: 0; border-radius: 50%; cursor: pointer; transition: background .2s ease, color .2s ease; }
.mc .mc-fermer:hover { color: #fff; background: #2D5947; }
.mc .mc-fermer:focus:not(:focus-visible) { outline: none; }
.mc .mc-tete { display: flex; align-items: center; gap: 14px; margin: 0 40px 20px 0; }
.mc .mc-coche { flex: 0 0 48px; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; font-size: 20px; color: #fff; background: #2D5947; border-radius: 50%; box-shadow: 0 0 0 6px #eaf2ee; }
.mc .mc-tete-alerte .mc-coche { color: #16302a; background: #d9b26f; box-shadow: 0 0 0 6px #fbf3e3; }
.mc .mc-surtitre { margin: 0 0 2px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #2D5947; }
.mc h2 { margin: 0; font-size: 22px; font-weight: 900; line-height: 1.2; color: #222; }
.mc .mc-produit { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; padding: 14px; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 16px; }
.mc .mc-visuel { flex: 0 0 84px; display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; padding: 6px; background: #fff; border-radius: 12px; overflow: hidden; }
.mc .mc-visuel img { max-width: 100%; max-height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.mc .mc-infos { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.mc .mc-infos strong { font-size: 15px; line-height: 1.3; color: #222; }
.mc .mc-infos span { font-size: 13px; color: #5f5f5f; }
.mc .mc-infos b { font-size: 17px; font-weight: 900; color: #2D5947; }
.mc .mc-question { margin: 0 0 14px; font-size: 14px; color: #5f5f5f; }
.mc .mc-actions { display: flex; flex-direction: column; gap: 10px; }
.mc .mc-bouton { display: flex; align-items: center; justify-content: center; gap: 10px; height: 52px; padding: 0 22px; font-size: 14px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #2D5947 !important; background: #fff; border: 2px solid #e6e3dd; border-radius: 999px; cursor: pointer; text-decoration: none !important; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.mc .mc-bouton:hover { border-color: #2D5947; }
.mc .mc-bouton-plein { color: #fff !important; background: #2D5947; border-color: #2D5947; box-shadow: 0 12px 26px rgba(45, 89, 71, .28); }
.mc .mc-bouton-plein:hover { background: #16302a; border-color: #16302a; transform: translateY(-2px); }
.mc .mc-rassurance { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; margin: 18px 0 0; padding: 14px 0 0; list-style: none; border-top: 1px solid #e6e3dd; font-size: 12.5px; color: #5f5f5f; }
.mc .mc-rassurance .fa { color: #d9b26f; margin-right: 4px; }
@media (max-width: 480px) {
	dialog.mc { padding: 26px 18px 20px; border-radius: 20px; }
	.mc h2 { font-size: 19px; }
	.mc .mc-visuel { flex-basis: 68px; width: 68px; height: 68px; }
}

/* ---------- Fiche accessoire (produit.php view_produit_new_accessoire, .pp-haut.pp-acc) — refonte 06/10/2026 ---------- */
.pp-fil { margin: 0 0 18px; padding: 0; background: none; font-size: 13px; color: #5f5f5f; }
.pp-fil .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #b5b1a8; }
.pp-fil a { color: #5f5f5f; }
.pp-fil a:hover { color: #2D5947; }
.pp-acc #duplication_matiere { display: none; } /* copie du choix des couleurs sous la photo (script d'origine) : déjà à droite */
.pp-acc #contenu_photo { position: relative; }
.pp-acc #contenu_photo a[data-src] { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 28px; background: var(--pp-creme); border-radius: 22px; overflow: hidden; cursor: zoom-in; }
.pp-acc #contenu_photo a[data-src] img { width: 100% !important; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s ease; }
.pp-acc #contenu_photo a[data-src]:hover img { transform: scale(1.04); }
.pp-acc #contenu_photo .hide { display: none !important; }
.pp-acc #contenu_photo .solde, .pp-acc #contenu_photo .new { position: absolute; top: 18px !important; z-index: 2; padding: 6px 14px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; border-radius: 999px; }
.pp-acc #contenu_photo .solde { right: 18px; background: #EB423F; }
.pp-acc #contenu_photo .new { left: 18px; background: var(--pp-vert); }
.pp-acc #contenu_photo .new img { display: none; }
.pp-acc #contenu_photo .new::after { content: "Nouveau"; }
html[lang="en"] .pp-acc #contenu_photo .new::after { content: "New"; }
.pp-acc #contenu_photo .texte_info:empty { display: none; }
.pp-acc #contenu_photo .texte_info { display: none; }
/* couleurs / matières : pastilles cliquables (div.all, script d'origine) */
.pp-acc #duplication_matiere_original > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-acc .all { display: inline-flex !important; flex-direction: row-reverse; align-items: center; gap: 8px; padding: 9px 14px; font-size: 14px; color: #222; background: #fff; border: 1px solid var(--pp-bordure); border-radius: 999px; cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.pp-acc .all:hover { border-color: var(--pp-vert); }
.pp-acc .all.pp-acc-actif { border-color: var(--pp-vert); background: #eaf2ee; font-weight: 700; }
.pp-acc .all > span { margin: 0 !important; }
.pp-acc .all > div { float: none !important; margin: 0 !important; width: 14px !important; height: 14px !important; border-radius: 50%; overflow: hidden; border: 1px solid rgba(0, 0, 0, .15) !important; }
/* tailles / modèles */
.pp-acc #pointure { height: 54px; padding: 0 44px 0 18px; font-size: 15px; font-weight: 500; color: #222; background-color: #fff; border: 1px solid var(--pp-bordure); border-radius: 14px; cursor: pointer; }
.pp-acc #pointure:focus { border-color: var(--pp-vert); box-shadow: 0 0 0 3px rgba(45, 89, 71, .12); }
/* bouton panier (visiteur non connecté) : même style que #panier */
.pp-haut #panier_nolog_accessoire { display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 28px !important; font-size: 14px; font-weight: 700; letter-spacing: .08em; color: #fff !important; background: var(--pp-vert); border: 0; border-radius: 999px !important; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.pp-haut #panier_nolog_accessoire:hover { background: var(--pp-nuit); transform: translateY(-2px); }
/* caractéristiques */
.pp-acc-coloris { display: inline-flex; align-items: center; gap: 6px; margin: 0 10px 4px 0; }
.pp-acc-coloris i { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .15); }
.ma .pp-acc-conseil { margin: 18px 0 0; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .18); font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, .8); }
.ma .pp-acc-conseil .fa { color: var(--ma-or); margin-right: 4px; }
.ma .pp-acc-conseil a, .ma .ma-caracteristiques dd a { color: var(--ma-or); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ma .pp-acc-conseil a:hover, .ma .ma-caracteristiques dd a:hover { color: #fff; }
.ma .ma-caracteristiques .pp-acc-coloris { margin: 0 0 4px 10px; }
.pp-acc .infosPrdView .d-flex:not(.icoWish) { flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.pp-acc .icoWish { align-items: center; margin: 0 !important; }
.pp-acc .infosPrdView .d-flex:not(.icoWish) { align-items: center; }
.pp-acc #panier { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; min-height: 0; padding: 0 28px !important; line-height: 1; }

/* ---------- Page des accessoires (filtre.php accessoires_v2) ---------- */
.ma.ma-acc { margin: 0 0 48px; }
.ma .ma-acc-fil { margin: 0 0 18px; padding: 0; background: none; font-size: 13px; color: var(--ma-doux); }
.ma .ma-acc-fil .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #b5b1a8; }
.ma .ma-acc-fil a { color: var(--ma-doux); }
.ma .ma-acc-fil a:hover { color: var(--ma-vert); }
.ma .ma-acc-entete { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 32px; align-items: center; margin-bottom: 36px; padding: 40px 44px; background: var(--ma-creme); border: 1px solid var(--ma-bordure); border-radius: 24px; }
.ma .ma-acc-entete h1 { margin: 6px 0 12px; font-size: clamp(26px, 3vw, 36px); font-weight: 900; line-height: 1.15; color: var(--ma-texte); }
.ma .ma-acc-intro, .ma .ma-acc-intro p { margin: 0; max-width: 760px; font-size: 15px; line-height: 1.65; color: #3d3d3d; }
.ma .ma-acc-semelles { padding: 24px; background: #fff; border: 1px solid var(--ma-bordure); border-radius: 18px; box-shadow: 0 10px 28px rgba(0, 0, 0, .05); }
.ma .ma-acc-semelles p { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: var(--ma-doux); }
.ma .ma-acc-semelles a { color: var(--ma-vert); font-weight: 600; }
.ma .ma-acc-semelles-titre { font-size: 16px !important; font-weight: 700; color: var(--ma-texte) !important; margin-bottom: 8px !important; }
.ma .ma-acc-semelles-titre .fa { color: var(--ma-vert); }
.ma .ma-acc-pdf { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ma .ma-acc-pdf a { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 12px; font-size: 13px; font-weight: 700; color: #fff; background: var(--ma-vert); border-radius: 999px; transition: background .2s ease; }
.ma .ma-acc-pdf a:hover { color: #fff; background: var(--ma-vert-nuit); }
.ma .ma-acc-corps { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
.ma .ma-acc-nav { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 4px; padding: 20px 16px; background: #fff; border: 1px solid var(--ma-bordure); border-radius: 18px; box-shadow: 0 8px 26px rgba(0, 0, 0, .05); }
.ma .ma-acc-groupe { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--ma-bordure); display: flex; flex-direction: column; gap: 2px; }
.ma .ma-acc-groupe-titre { margin: 0 0 6px 10px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ma-vert); }
.ma .ma-acc-lien { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; font-size: 14px; font-weight: 500; color: var(--ma-texte); border-radius: 10px; transition: background .2s ease, color .2s ease; }
.ma .ma-acc-lien small { min-width: 26px; padding: 1px 8px; font-size: 12px; text-align: center; color: var(--ma-doux); background: var(--ma-creme); border-radius: 999px; }
.ma .ma-acc-lien:hover { color: var(--ma-vert); background: var(--ma-creme); }
.ma .ma-acc-lien.ma-acc-actif { color: #fff; background: var(--ma-vert); font-weight: 700; }
.ma .ma-acc-lien.ma-acc-actif small { color: var(--ma-vert); background: #fff; }
.ma .ma-acc-lien.ma-acc-vide { opacity: .55; }
.ma .ma-acc-tout { font-weight: 700; }
.ma .ma-acc-resultats .ma-recherche-compte { margin: 0 0 18px !important; }
.ma .ma-acc-resultats .ma-grille { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ma .ma-acc-pastilles { display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0 4px; }
.ma .ma-acc-pastille { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(0, 0, 0, .15); }
.ma .ma-acc-aucun { padding: 40px; text-align: center; background: #fff; border: 1px solid var(--ma-bordure); border-radius: 20px; color: var(--ma-doux); }
.ma .ma-acc-aucun .fa { font-size: 26px; color: var(--ma-vert); margin-bottom: 10px; }
@media (max-width: 1199.98px) {
	.ma .ma-acc-resultats .ma-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
	.ma .ma-acc-entete { grid-template-columns: 1fr; }
	.ma .ma-acc-corps { grid-template-columns: 1fr; }
	.ma .ma-acc-nav { position: static; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 12px; }
	.ma .ma-acc-groupe { margin: 0; padding: 0; border: 0; flex-direction: row; gap: 8px; }
	.ma .ma-acc-groupe-titre { display: none; }
	.ma .ma-acc-lien { flex: none; white-space: nowrap; border: 1px solid var(--ma-bordure); border-radius: 999px; }
}
@media (max-width: 767.98px) {
	.ma .ma-acc-entete { padding: 26px 20px; border-radius: 18px; gap: 20px; margin-bottom: 24px; }
	.ma .ma-acc-resultats .ma-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ma .ma-acc-pdf { grid-template-columns: 1fr; }
}

/* =====================================================================
   FICHE PRODUIT — HAUT DE FICHE (.pp-haut, modules/produit.php) : photos en colonne à gauche, informations à droite.
   HTML d'origine conservé ; JS associé : ficheProduit() dans js/mephisto.js (ajoute body.pp-refonte).
   ===================================================================== */
.page-produit .breadcrumb { margin: 4px 0 18px; font-size: 13px; color: #8a8a8a; background: none; }
.page-produit .breadcrumb li a { color: #5f5f5f; }
.page-produit .breadcrumb-item + .breadcrumb-item::before { content: "›"; color: #b5b0a6; }

.pp-haut { --pp-vert: #2D5947; --pp-nuit: #16302a; --pp-or: #d9b26f; --pp-creme: #f6f5f2; --pp-bordure: #e6e3dd; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; color: #222; margin-bottom: 24px; }

/* ---------- Photos : vignettes en colonne + grand visuel ---------- */
.pp-haut #contenu_photo > .row { margin: 0; flex-wrap: nowrap; gap: 16px; }
.pp-haut #contenu_photo .col-2 { flex: 0 0 96px; max-width: 96px; padding: 0; }
.pp-haut #contenu_photo .col-10 { position: relative; flex: 1 1 auto; max-width: none; padding: 0 !important; }
.pp-haut #contenu_photo .col-10 > a[data-src] {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	padding: 6%;
	background: var(--pp-creme);
	border-radius: 24px;
	cursor: zoom-in;
	overflow: hidden;
}
.pp-haut #contenu_photo .col-10 > a[data-src] img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.pp-haut #contenu_photo .col-10 > a[data-src]:hover img { transform: scale(1.04); }

.pp-haut .ImgMinPrd {
	margin-bottom: 12px !important;
	padding: 6px;
	background: var(--pp-creme);
	border: 2px solid transparent;
	border-radius: 14px;
	cursor: pointer;
	transition: border-color .2s ease, transform .2s ease;
}
.pp-haut .ImgMinPrd:hover { border-color: var(--pp-bordure); transform: translateY(-2px); }
.pp-haut .ImgMinPrd.pp-vignette-active { border-color: var(--pp-vert); }
.pp-haut .ImgMinPrd img { display: block; aspect-ratio: 1 / 1; object-fit: contain; mix-blend-mode: multiply; }
.pp-haut #produit_360 img { width: 100%; border-radius: 14px; }

.pp-haut .rubanRight, .pp-haut .rubanRightNew {
	top: 18px !important;
	z-index: 2;
	padding: 6px 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	border-radius: 999px;
}
.pp-haut .rubanRight { right: 18px; background: #EB423F; }
.pp-haut .rubanRightNew { left: 18px; background: var(--pp-vert); }
.pp-haut .rubanRight.hide, .pp-haut .rubanRightNew.hide { display: none; }

/* ---------- Informations ---------- */
.pp-haut .infosPrdView { display: flex; flex-direction: column; padding-left: 40px; }
.pp-haut .infosPrdView > * { max-width: 100%; }
.pp-haut .pp-surtitre { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--pp-vert); }
.pp-haut .pp-surtitre span { color: var(--pp-or); }
.pp-haut .infosPrdView h1 { margin: 0 0 14px !important; font-size: 30px; font-weight: 900; line-height: 1.15; color: #222 !important; }
.pp-haut .infosPrdView > .fs9:first-of-type { font-size: 15px; line-height: 1.65; color: #5f5f5f; }
.pp-haut .scrollToDesc { font-weight: 700; color: var(--pp-vert) !important; text-decoration: underline; text-underline-offset: 3px; }

/* Prix (affichage_prix_actif_tva_fiche_produit : styles inline neutralisés) */
.pp-haut .infosPrdView > span { display: inline-block; margin-top: 18px; }
.pp-haut .infosPrdView > .fs17, .pp-haut .infosPrdView > span[style*="27px"] { font-size: 34px !important; font-weight: 900 !important; color: var(--pp-vert) !important; line-height: 1; }
.pp-haut .infosPrdView > span[style*="18px"] { margin-right: 12px; font-size: 20px !important; font-weight: 500 !important; color: #8a8a8a !important; }
.pp-haut .infosPrdView > span[style*="27px"] { color: #EB423F !important; }
.pp-haut .infosPrdView > hr { width: 100%; margin: 24px 0; border-top: 1px solid var(--pp-bordure); }

/* Pointure */
.pp-haut .infosPrdView .mb-3 > b { font-size: 13px; letter-spacing: .12em; color: #222; }
.pp-haut .infosPrdView .my-3 > a.cGrey { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 500; color: var(--pp-vert) !important; }
.pp-haut .infosPrdView .my-3 > a.cGrey img { max-height: 20px !important; }
.pp-haut #choosePointure {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 60px);
	min-height: 54px;
	padding: 0 22px;
	font-size: 15px;
	font-weight: 700;
	color: #222 !important;
	background: #fff;
	border: 2px solid var(--pp-bordure);
	border-radius: 14px;
	box-shadow: none;
	transition: border-color .2s ease;
}
.pp-haut #choosePointure:hover, .pp-haut #choosePointure:focus { border-color: var(--pp-vert); color: #222 !important; background: #fff; }
.pp-haut #addCheck { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 54px; margin-left: 8px; border: 0; background: #e8f3ec; border-radius: 14px; vertical-align: top; }
.pp-haut #addCheck.d-none { display: none !important; }
.pp-haut #messageStock > div { margin: 14px 0 0 !important; padding: 14px 16px !important; font-size: 14px; background: var(--pp-creme) !important; border: 1px solid var(--pp-bordure) !important; border-radius: 14px; }
.pp-haut #messageStock .btn { margin-top: 8px; border-radius: 999px; }

/* Avantages */
.pp-haut .pp-avantages { order: 5; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.pp-haut .pp-avantages a { display: flex; align-items: center; gap: 12px; height: 100%; padding: 12px 14px; font-size: 12.5px; line-height: 1.35; color: #5f5f5f; background: var(--pp-creme); border: 1px solid var(--pp-bordure); border-radius: 14px; transition: background .2s ease; }
.pp-haut .pp-avantages a:hover { color: #5f5f5f; background: #fff; text-decoration: none; }
.pp-haut .pp-avantages .fa { flex: 0 0 34px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-size: 15px; color: #fff; background: var(--pp-vert); border-radius: 10px; }
.pp-haut .pp-avantages strong { display: block; font-size: 13.5px; color: #222; }

/* Message promotion */
.pp-haut #message_promo:not(:empty) { margin: 16px 0 0 !important; font-size: 13.5px; }

/* Boutons : panier, favori, réservation */
.pp-haut .infosPrdView > .d-flex { flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.pp-haut #panier, .pp-haut #panier_nolog {
	flex: 1 1 auto;
	justify-content: center;
	min-height: 56px;
	margin: 0 !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: .06em;
	color: #fff;
	background: var(--pp-vert);
	border: 0;
	border-radius: 999px !important;
	box-shadow: 0 12px 26px rgba(45, 89, 71, .28);
	transition: background .2s ease, transform .2s ease;
}
.pp-haut #panier:hover, .pp-haut #panier_nolog:hover { background: var(--pp-nuit); transform: translateY(-2px); }
.pp-haut .icoWish { flex: 0 0 56px; justify-content: center; width: 56px; height: 56px; padding: 0 !important; font-size: 20px; color: #5f5f5f; background: #fff; border: 2px solid var(--pp-bordure); border-radius: 50%; }
.pp-haut .icoWish:hover { color: #EB423F; border-color: #EB423F; }
.pp-haut #reserver {
	flex: 1 0 100%;
	flex-direction: row !important;
	gap: 10px;
	min-height: 52px;
	margin: 0 !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--pp-vert) !important;
	background: #fff;
	border: 2px solid var(--pp-vert);
	border-radius: 999px !important;
}
.pp-haut #reserver:hover { color: #fff !important; background: var(--pp-vert); }
.pp-haut #reserver small { font-size: 12px !important; font-weight: 500; letter-spacing: 0; text-transform: none; opacity: .8; }

/* PayPal express (div.mt-3 qui suit les boutons) */
.pp-haut #paypal-express-bouton { margin-top: 4px; }
.pp-haut .infosPrdView > div[style*="max-width:420px"] { max-width: none !important; }

/* Autres coloris du modèle */
.pp-haut .infosPrdView > .cGreen.my-3 { order: 6; margin: 28px 0 10px !important; font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: #222; }
.pp-haut .infosPrdView > .cGreen.my-3 .fa { color: var(--pp-or); }
.pp-haut .infosPrdView > .owl-colorShop { order: 7; }
.pp-haut .owl-colorShop .p-2 { padding: 4px !important; }
.pp-haut .owl-colorShop img { padding: 6px; background: var(--pp-creme); border: 2px solid transparent; border-radius: 12px; mix-blend-mode: normal; transition: border-color .2s ease; }
.pp-haut .owl-colorShop a:hover img { border-color: var(--pp-vert); }
.pp-haut .owl-colorShop .pricing { margin-top: 4px; font-size: 13px; font-weight: 700; text-align: center; }

/* Partage */
.pp-haut .infosPrdView > .text-right.mt-2 { order: 8; display: flex; gap: 8px; justify-content: flex-start; margin-top: 22px !important; }
.pp-haut .infosPrdView > .text-right.mt-2 img { width: 30px; height: 30px; border-radius: 50%; opacity: .75; transition: opacity .2s ease; }
.pp-haut .infosPrdView > .text-right.mt-2 a:hover img { opacity: 1; }

/* ---------- Panneau des pointures (déplacé dans <body> par le site) ---------- */
.pp-refonte #list_pointure {
	width: 380px;
	max-width: 92vw;
	padding: 28px 24px;
	overflow-y: auto;
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	background: #fff;
	box-shadow: 0 0 0 100vmax rgba(15, 34, 29, .45), -20px 0 40px rgba(0, 0, 0, .15) !important;
}
.pp-refonte #list_pointure > .mb-3 b { font-size: 14px; letter-spacing: .12em; }
.pp-refonte .pp-panneau-fermer { position: absolute; top: 18px; right: 18px; width: 40px; height: 40px; font-size: 18px; color: #222; background: #f6f5f2; border: 0; border-radius: 50%; cursor: pointer; }
.pp-refonte .pp-panneau-fermer:hover { background: #e6e3dd; }
.pp-refonte #list_pointure .pointureclass {
	margin: 0 0 8px;
	padding: 13px 16px;
	font-size: 14px;
	color: #3d3d3d !important;
	background: #fff !important;
	border: 2px solid #e6e3dd;
	border-radius: 12px;
	transition: border-color .15s ease;
}
.pp-refonte #list_pointure .pointureclass b { color: #222; }
.pp-refonte #list_pointure .pointureclass:hover { color: #222 !important; background: #f6f5f2 !important; border-color: #2D5947; }
.pp-refonte #list_pointure .pointureclass.pp-choisie { color: #fff !important; background: #2D5947 !important; border-color: #2D5947; }
.pp-refonte #list_pointure .pointureclass.pp-choisie b { color: #fff; }
.pp-refonte #list_pointure .bgGrey { margin-top: 18px !important; padding: 18px !important; font-size: 13.5px; background: #f6f5f2; border-radius: 14px; }
.pp-refonte #list_pointure .bgGrey .btn { padding: 8px 16px; font-size: 13px; font-weight: 700; border-radius: 999px; }

@media (max-width: 1199.98px) {
	.pp-haut .infosPrdView { padding-left: 24px; }
	.pp-haut #contenu_photo .col-2 { flex-basis: 76px; max-width: 76px; }
}
@media (max-width: 767.98px) {
	.pp-haut .infosPrdView { padding-left: 15px; }
	.pp-haut #contenu_photo > .row { gap: 10px; }
	.pp-haut #contenu_photo .col-2 { flex-basis: 60px; max-width: 60px; }
	.pp-haut .ImgMinPrd { margin-bottom: 8px !important; padding: 3px; border-radius: 10px; }
	.pp-haut #contenu_photo .col-10 > a[data-src] { border-radius: 18px; }
	.pp-haut .pp-surtitre { margin-top: 28px; }
	.pp-haut .infosPrdView h1 { font-size: 24px; margin-top: 0 !important; }
	.pp-haut .infosPrdView > .fs17, .pp-haut .infosPrdView > span[style*="27px"] { font-size: 28px !important; }
	.pp-haut .pp-avantages { grid-template-columns: 1fr; }
	.pp-haut #reserver { flex-direction: column !important; gap: 0; padding: 8px 16px; }
}

/* ---------- Panneau des pointures : disponibilité de chaque taille (mephisto.js ficheProduit) ---------- */
.pp-refonte #list_pointure .pointureclass[rel] { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pp-refonte .pp-dispo { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; font-size: 11.5px; font-weight: 700; line-height: 1.4; white-space: nowrap; border-radius: 999px; }
.pp-refonte .pp-dispo i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pp-refonte .pp-dispo-stock { color: #1f7a45; background: #e5f3ea; }
.pp-refonte .pp-dispo-commande { color: #b25e09; background: #fdf0e1; }
.pp-refonte .pp-dispo-contact { color: #6b6b6b; background: #efede9; }
.pp-refonte #list_pointure .pointureclass.pp-taille-contact { color: #8a8a8a !important; }
.pp-refonte #list_pointure .pointureclass.pp-choisie .pp-dispo { color: #fff; background: rgba(255, 255, 255, .18); }
/* texte de la pointure recopié dans le bouton « Choisissez votre taille » après le choix */
.pp-haut #choosePointure .pp-dispo { margin-left: auto; margin-right: 12px; }

/* ---------- Panier : étapes 1-2-3-4 (.bs-stepper de modules/panier.php, classes pp-… ajoutées par mephisto.js etapesPanier) ---------- */
#page[class*="page-"] .bs-stepper { margin: 8px 0 32px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; }
#page[class*="page-"] .bs-stepper-header {
	display: flex;
	align-items: flex-start;
	padding: 22px 28px 18px;
	background: #f6f5f2;
	border: 1px solid #e6e3dd;
	border-radius: 22px;
}
#page[class*="page-"] .bs-stepper .step { flex: 0 0 auto; }
#page[class*="page-"] .bs-stepper .step-trigger {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 0;
	background: none;
	border: 0;
	cursor: default;
	opacity: 1;
}
#page[class*="page-"] .bs-stepper .step-trigger:hover, #page[class*="page-"] .bs-stepper .step-trigger:focus { background: none; box-shadow: none; outline: none; }
#page[class*="page-"] .bs-stepper-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	color: #8a8a8a;
	background: #fff;
	border: 2px solid #e6e3dd;
	border-radius: 50%;
	transition: background .3s ease, border-color .3s ease, color .3s ease;
}
#page[class*="page-"] .bs-stepper-label { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8a8a8a; white-space: nowrap; }
#page[class*="page-"] .bs-stepper .line {
	flex: 1 1 auto;
	min-width: 24px;
	height: 3px;
	margin: 20px 14px 0;
	background: #e6e3dd;
	border-radius: 3px;
}

/* étape en cours */
#page[class*="page-"] .bs-stepper div.step.active, #page[class*="page-"] .bs-stepper .step .step-trigger { background: none !important; }
#page[class*="page-"] .bs-stepper .step.active .bs-stepper-circle { color: #fff; background: #2D5947; border-color: #2D5947; box-shadow: 0 0 0 6px rgba(45, 89, 71, .15); }
#page[class*="page-"] .bs-stepper .step.active .bs-stepper-label { color: #2D5947; }

/* étapes passées : coche verte (:has = dès l'affichage ; pp-etape-faite / pp-ligne-faite ajoutées aussi par mephisto.js pour les anciens navigateurs) */
#page[class*="page-"] .bs-stepper .pp-etape-faite .bs-stepper-circle, #page[class*="page-"] .bs-stepper .step:has(~ .step.active) .bs-stepper-circle { font-size: 0; color: #2D5947; background: #e5f3ea; border-color: #2D5947; }
#page[class*="page-"] .bs-stepper .pp-etape-faite .bs-stepper-circle::before, #page[class*="page-"] .bs-stepper .step:has(~ .step.active) .bs-stepper-circle::before { content: "\f00c"; font-family: FontAwesome; font-size: 16px; }
#page[class*="page-"] .bs-stepper .pp-etape-faite .bs-stepper-label, #page[class*="page-"] .bs-stepper .step:has(~ .step.active) .bs-stepper-label { color: #222; }
#page[class*="page-"] .bs-stepper .line.pp-ligne-faite, #page[class*="page-"] .bs-stepper .line:has(~ .step.active) { background: linear-gradient(90deg, #2D5947, #3f7a62); }

@media (max-width: 767.98px) {
	#page[class*="page-"] .bs-stepper-header { padding: 16px 14px 12px; border-radius: 16px; }
	#page[class*="page-"] .bs-stepper .step { flex: 0 0 64px; }
	#page[class*="page-"] .bs-stepper-circle { width: 34px; height: 34px; font-size: 14px; }
	#page[class*="page-"] .bs-stepper .pp-etape-faite .bs-stepper-circle::before, #page[class*="page-"] .bs-stepper .step:has(~ .step.active) .bs-stepper-circle::before { font-size: 13px; }
	#page[class*="page-"] .bs-stepper-label { font-size: 10.5px; letter-spacing: 0; white-space: normal; text-align: center; }
	#page[class*="page-"] .bs-stepper .line { min-width: 8px; margin: 16px 2px 0; }
}

/* ---------- Panier : « Acheter en toute simplicité et sécurité » (panier.php panier_confiance_v2) ---------- */
.pc-confiance { margin: 40px 0 24px; padding: 36px 40px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; color: #5f5f5f; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 24px; }
.pc-confiance-entete { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-bottom: 26px; }
.pc-surtitre { display: flex; align-items: center; gap: 8px; margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #2D5947; }
.pc-surtitre .fa { color: #d9b26f; }
.pc-confiance h2 { margin: 0 0 8px; font-size: 28px; font-weight: 900; line-height: 1.2; color: #222; }
.pc-confiance-entete p:not(.pc-surtitre) { margin: 0; font-size: 15px; line-height: 1.6; }
.pc-avis { flex: 0 0 auto; display: flex; align-items: center; gap: 14px; padding: 12px 20px 12px 12px; color: #5f5f5f; background: #fff; border: 1px solid #e6e3dd; border-radius: 999px; box-shadow: 0 8px 22px rgba(0, 0, 0, .05); transition: transform .2s ease; }
.pc-avis:hover { color: #5f5f5f; text-decoration: none; transform: translateY(-2px); }
.pc-avis-note { display: flex; align-items: baseline; justify-content: center; width: 64px; height: 64px; padding-top: 18px; font-size: 22px; font-weight: 900; color: #fff; background: #2D5947; border-radius: 50%; }
.pc-avis-note small { font-size: 11px; font-weight: 700; opacity: .75; }
.pc-avis > span:last-child { display: flex; flex-direction: column; gap: 2px; font-size: 13px; font-weight: 500; }
.pc-etoiles { color: #d9b26f; font-size: 14px; letter-spacing: 1px; }

.pc-engagements { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.pc-engagements li { display: flex; align-items: center; gap: 14px; padding: 16px 18px; font-size: 13px; line-height: 1.45; background: #fff; border: 1px solid #e6e3dd; border-radius: 16px; }
.pc-engagements strong { display: block; font-size: 14.5px; color: #222; }
.pc-icone { flex: 0 0 42px; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; font-size: 17px; color: #fff; background: #2D5947; border-radius: 12px; }

.pc-conseil { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 22px; padding-top: 22px; border-top: 1px solid #e6e3dd; }
.pc-conseil p { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 15px; color: #3d3d3d; }
.pc-conseil p .fa { font-size: 20px; color: #2D5947; }
.pc-conseil > div { display: flex; flex-wrap: wrap; gap: 10px; }
.pc-bouton { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 22px; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #2D5947 !important; background: #fff; border: 2px solid #2D5947; border-radius: 999px; transition: background .2s ease, color .2s ease; }
.pc-bouton:hover, .pc-bouton-plein { color: #fff !important; background: #2D5947; text-decoration: none; }
.pc-bouton-plein:hover { background: #16302a; border-color: #16302a; }

@media (max-width: 1199.98px) {
	.pc-engagements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
	.pc-confiance { padding: 26px 18px; border-radius: 18px; }
	.pc-confiance-entete { flex-direction: column; align-items: flex-start; gap: 18px; }
	.pc-confiance h2 { font-size: 23px; }
	.pc-engagements { grid-template-columns: 1fr; gap: 8px; }
	.pc-engagements li { padding: 12px 14px; }
	.pc-conseil > div, .pc-bouton { width: 100%; justify-content: center; }
}

/* ---------- Panier : cartes « Choisissez votre mode de livraison » (classes ajoutées par mephisto.js modesLivraison) ---------- */
.pl-modes { row-gap: 20px; margin-bottom: 24px; }
.pl-colonne { display: flex; }
.pl-carte {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	overflow: hidden;
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	background: #fff;
	border: 2px solid #e6e3dd !important;
	border-radius: 22px !important;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.pl-carte:hover { border-color: #c9c3b8 !important; box-shadow: 0 16px 34px rgba(0, 0, 0, .07); transform: translateY(-2px); }
.pl-carte.pl-choisie { border-color: #2D5947 !important; box-shadow: 0 0 0 4px rgba(45, 89, 71, .12), 0 16px 34px rgba(0, 0, 0, .07); }
.pl-carte.pl-choisie::after { content: "\f00c"; position: absolute; top: 16px; right: 16px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-family: FontAwesome; font-size: 14px; color: #fff; background: #2D5947; border-radius: 50%; }

.pl-carte .card-body { position: relative; min-height: 140px; padding: 24px 24px 12px 134px; font-size: 14px; line-height: 1.55; color: #5f5f5f; text-align: left !important; }
.pl-carte .card-title { margin: 2px 36px 6px 0; font-size: 17px; font-weight: 700; line-height: 1.3; color: #222; }
.pl-carte .card-text { margin: 0; }
.pl-carte .card-text > img { position: absolute; top: 24px; left: 24px; width: 92px; max-width: 92px !important; height: 92px; margin: 0 !important; padding: 10px; object-fit: contain; background: #f6f5f2; border: 0; border-radius: 16px; }
.pl-carte .card-text > img + br { display: none; }
.pl-carte .card-text a { color: #2D5947; font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }

.pl-carte .card-footer { margin-top: auto; padding: 0 24px 22px; text-align: left !important; background: none; border: 0; }
.pl-carte .pl-bouton {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 0 20px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff !important;
	background: #2D5947 !important;
	border: 2px solid #2D5947 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	transition: none;
}
.pl-carte .pl-bouton br { display: none; }
.pl-carte .pl-bouton:hover, .pl-carte .pl-bouton:focus, .pl-carte .pl-bouton:active, .pl-carte.pl-choisie .pl-bouton { color: #fff !important; background: #EB423F !important; border-color: #EB423F !important; box-shadow: none !important; text-decoration: none; }
.pl-carte .rubanRight { position: static; display: inline-flex; margin: 0 0 12px; padding: 5px 14px; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #2D5947 !important; background: #e5f3ea; border-radius: 999px; }

@media (max-width: 767.98px) {
	.pl-carte .card-body { min-height: 100px; padding: 18px 18px 10px 96px; }
	.pl-carte .card-text > img { top: 18px; left: 18px; width: 64px; max-width: 64px !important; height: 64px; padding: 6px; border-radius: 12px; }
	.pl-carte .card-title { font-size: 15.5px; }
	.pl-carte .card-footer { padding: 0 18px 18px; }
}

/* ---------- Panier : « Choisissez votre mode de paiement » (panier.php panier_paiements_v2) ---------- */
.py-paiement { margin: 10px 0 30px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; }
.py-entete h2 { margin: 0 0 14px; font-size: 28px; font-weight: 900; color: #222; }
.py-cgv { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 20px; padding: 10px 16px; font-size: 14px; color: #3d3d3d; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 999px; cursor: pointer; }
.py-cgv input { width: 18px; height: 18px; accent-color: #2D5947; }
.py-cgv a { color: #2D5947; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.py-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.py-mode {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 20px;
	color: #5f5f5f !important;
	background: #fff;
	border: 2px solid #e6e3dd;
	border-radius: 18px;
	text-decoration: none !important;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.py-mode:hover { border-color: #2D5947; box-shadow: 0 14px 30px rgba(0, 0, 0, .07); transform: translateY(-2px); }
.py-mode-vedette { border-color: #2D5947; background: linear-gradient(135deg, #fff 0%, #f2f7f4 100%); }
.py-icone { flex: 0 0 52px; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; font-size: 22px; color: #fff; background: #2D5947; border-radius: 16px; }
.py-mode .fa-paypal { color: #fff; }
.py-texte { flex: 1 1 auto; display: flex; flex-direction: column; gap: 3px; min-width: 0; font-size: 13.5px; line-height: 1.45; }
.py-texte strong { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 16px; color: #222; }
.py-texte em { padding: 2px 9px; font-size: 11px; font-style: normal; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #2D5947; background: #e5f3ea; border-radius: 999px; }
.py-cartes { display: flex; gap: 8px; margin-top: 4px; font-size: 24px; color: #6b6b6b; }
.py-fleche { flex: 0 0 36px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; font-size: 20px; color: #2D5947; background: #f6f5f2; border-radius: 50%; transition: background .2s ease, color .2s ease; }
.py-mode:hover .py-fleche { color: #fff; background: #2D5947; }
.py-securite { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; font-size: 13px; color: #6b6b6b; }
.py-securite .fa { font-size: 18px; color: #2D5947; }

@media (max-width: 767.98px) {
	.py-entete h2 { font-size: 23px; }
	.py-cgv { border-radius: 14px; }
	.py-modes { grid-template-columns: 1fr; gap: 10px; }
	.py-mode { gap: 12px; padding: 14px; border-radius: 16px; }
	.py-icone { flex-basis: 44px; width: 44px; height: 44px; font-size: 19px; border-radius: 13px; }
	.py-fleche { display: none; }
}

/* ---------- Panier : tableaux des produits (.pa-panier = panier, .pa-recap = récapitulatif ; classes ajoutées par panier.php si $refonte) ---------- */
.pa-panier, .pa-recap { width: 100%; margin: 6px 0 22px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; color: #3d3d3d; border-collapse: separate; border-spacing: 0 12px; }
.pa-panier td, .pa-panier th, .pa-recap td, .pa-recap th { border: 0 !important; }
/* ligne d'en-tête (1re ligne) */
.pa-panier tr:first-child td { padding: 0 16px 2px; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: #8a8a8a; background: none !important; }
.pa-panier tr:first-child td b { font-weight: 700; }
/* lignes produit */
.pa-panier tr[id^="prod_qte-"] td { padding: 16px; vertical-align: middle !important; background: #fff !important; border-top: 1px solid #e6e3dd !important; border-bottom: 1px solid #e6e3dd !important; }
.pa-panier tr[id^="prod_qte-"] td:first-child { width: 150px; padding-left: 16px; border-left: 1px solid #e6e3dd !important; border-radius: 18px 0 0 18px; }
.pa-panier tr[id^="prod_qte-"] td:last-child { border-right: 1px solid #e6e3dd !important; border-radius: 0 18px 18px 0; }
.pa-panier tr[id^="prod_qte-"] td:first-child a { float: none !important; display: block; }
.pa-panier tr[id^="prod_qte-"] td:first-child img { display: block; width: 118px !important; height: 118px; margin: 0 !important; padding: 8px; object-fit: contain; background: #f6f5f2; border-radius: 14px; mix-blend-mode: multiply; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(2) { font-size: 14px; line-height: 1.6; color: #5f5f5f; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(2) > b:first-child { display: block; margin-bottom: 4px; font-size: 16px; color: #222; text-transform: uppercase; letter-spacing: .02em; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(2) span[style*="ff0000"] { color: #2D5947 !important; font-weight: 700; }
.pa-panier input[name="cadeau"] { width: 17px; height: 17px; margin-top: 10px; vertical-align: middle; accent-color: #2D5947; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(3), .pa-panier tr[id^="prod_qte-"] td:nth-child(4) { font-size: 15px; color: #5f5f5f; text-align: center; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(3) i, .pa-panier tr[id^="prod_qte-"] td:nth-child(5) i { font-style: normal; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(5) { font-size: 18px; font-weight: 900; color: #2D5947; text-align: center; }
.pa-panier .del_pan { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; font-size: 15px; color: #8a8a8a !important; background: #f6f5f2 !important; border: 0 !important; border-radius: 50%; box-shadow: none !important; transition: background .2s ease, color .2s ease; }
.pa-panier .del_pan:hover { color: #fff !important; background: #EB423F !important; }

/* récapitulatif (étape paiement) */
.pa-recap { border-spacing: 0; overflow: hidden; background: #fff; border: 1px solid #e6e3dd !important; border-radius: 18px; }
.pa-recap thead th { padding: 14px 16px; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: #8a8a8a; background: #f6f5f2; }
.pa-recap td, .pa-recap tbody th, .pa-recap > tr > th { padding: 14px 16px; font-size: 14px; vertical-align: middle; border-top: 1px solid #efede9 !important; }
.pa-recap tr > td:first-child { font-weight: 700; color: #222; }
.pa-recap tr > td:last-child { font-weight: 700; color: #2D5947; }

/* total du panier (.prix .texte_prix du site) */
#page[class*="page-"] .prix { margin: 8px 0 4px; text-align: right !important; }
#page[class*="page-"] .prix .texte_prix { display: inline-flex; align-items: baseline; gap: 8px; padding: 14px 24px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; font-size: 22px; font-weight: 900; color: #2D5947; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 999px; }

@media (max-width: 767.98px) {
	.pa-panier, .pa-panier tbody { display: block; }
	.pa-panier tr:first-child { display: none; }
	.pa-panier tr[id^="prod_qte-"] { position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); column-gap: 14px; margin-bottom: 12px; padding: 14px; background: #fff; border: 1px solid #e6e3dd; border-radius: 18px; }
	.pa-panier tr[id^="prod_qte-"] td { display: block; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; text-align: left !important; }
	.pa-panier tr[id^="prod_qte-"] td:first-child { grid-row: 1 / span 4; width: auto; }
	.pa-panier tr[id^="prod_qte-"] td:first-child img { width: 92px !important; height: 92px; }
	.pa-panier tr[id^="prod_qte-"] td:nth-child(2) { padding-right: 40px !important; font-size: 13px; }
	.pa-panier tr[id^="prod_qte-"] td:nth-child(2) > b:first-child { font-size: 14.5px; }
	.pa-panier tr[id^="prod_qte-"] td:nth-child(3), .pa-panier tr[id^="prod_qte-"] td:nth-child(4) { display: none; }
	.pa-panier tr[id^="prod_qte-"] td:nth-child(5) { margin-top: 8px; font-size: 17px; }
	.pa-panier tr[id^="prod_qte-"] td:last-child { position: absolute; top: 10px; right: 10px; }
	.pa-panier .del_pan { width: 34px; height: 34px; font-size: 13px; }
	.pa-recap { display: block; overflow-x: auto; }
	.pa-recap td, .pa-recap thead th { padding: 10px 12px; font-size: 13px; white-space: nowrap; }
	#page[class*="page-"] .prix { text-align: center !important; }
	#page[class*="page-"] .prix .texte_prix { font-size: 19px; padding: 12px 20px; }
}
/* ajustements : fonds gris des anciennes classes (bgcolor1 / bgcolor2 / bg-light), bande du total, interligne */
.pa-panier tr, .pa-recap tr { background: none !important; }
.pa-panier tr[id^="prod_qte-"] td:nth-child(2) > b:first-child + br { display: none; }
#page[class*="page-"] .prix { padding: 0 !important; background: none !important; border: 0 !important; }
@media (max-width: 767.98px) {
	.pa-panier tr[id^="prod_qte-"] td:first-child, .pa-panier tr[id^="prod_qte-"] td:last-child { border: 0 !important; }
}

/* ---------- Panier : cadres d'adresse (facturation / livraison / point relais ; classes .pa-adresse ajoutées par panier.php si $refonte) ---------- */
.pa-adresse {
	position: relative;
	display: inline-block;
	float: none !important;
	width: calc(50% - 12px) !important;
	margin: 0 20px 20px 0 !important;
	padding: 22px 24px;
	vertical-align: top;
	font-family: "Roboto", "Helvetica Neue", Arial, sans-serif;
	background: #fff;
	border: 1px solid #e6e3dd;
	border-radius: 20px;
	cursor: default !important;
}
.pa-adresse:nth-of-type(2n), .pa-adresse + .pa-adresse { margin-right: 0 !important; }
.pa-adresse > b { display: flex; align-items: center; gap: 10px; padding-right: 48px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #2D5947; }
.pa-adresse > b::before { flex: 0 0 38px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; font-family: FontAwesome; font-size: 16px; font-weight: normal; letter-spacing: 0; color: #fff; background: #2D5947; border-radius: 12px; }
.pa-adresse-fac > b::before { content: "\f0f6"; }
.pa-adresse-liv > b::before { content: "\f0d1"; }
.pa-adresse-relais > b::before { content: "\f041"; }
.pa-adresse-compte > b::before, .pa-adresse-compte::before { content: none; }
/* lien de modification : bouton rond crayon */
.pa-adresse > a:not(.button) { position: absolute; top: 20px; right: 20px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #2D5947; background: #f6f5f2; border-radius: 50%; transition: background .2s ease, color .2s ease; }
.pa-adresse > a:not(.button)::before { content: "\f040"; font-family: FontAwesome; font-size: 16px; }
.pa-adresse > a:not(.button):hover { color: #fff; background: #2D5947; text-decoration: none; }
.pa-adresse > a:not(.button) img { display: none; }
/* adresse */
.pa-adresse .adress { margin-top: 14px !important; padding: 0 !important; font-size: 15px !important; line-height: 1.75; color: #3d3d3d; background: none !important; border-radius: 0 !important; }
/* cadre de facturation de l'étape compte (bouton « Changer votre adresse de facturation ») */
.pa-adresse-compte { width: 100% !important; max-width: 420px; margin-bottom: 10px !important; }
.pa-adresse-compte .adress { margin-top: 0 !important; }
.pa-adresse-compte > br { display: none; }
.pa-adresse-compte .button { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; padding: 0 20px; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #2D5947 !important; background: #fff; border: 2px solid #2D5947; border-radius: 999px; }
.pa-adresse-compte .button:hover { color: #fff !important; background: #2D5947; text-decoration: none; }

@media (max-width: 767.98px) {
	.pa-adresse { display: block; width: 100% !important; margin: 0 0 14px !important; padding: 18px; border-radius: 16px; }
}
/* espace insécable laissé entre le titre et le lien de modification : pas de ligne vide */
.pa-adresse { font-size: 0; }

/* ---------- Panier : en-tête « Bonjour Mr Frachot, voici le récapitulatif… » + information TVA (panier.php panier_intro_v2) ---------- */
.pi-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin: 6px 0 22px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; }
.pi-intro h1 { margin: 0 0 6px; font-size: 30px; font-weight: 900; line-height: 1.2; color: #222; }
.pi-texte { margin: 0; font-size: 16px; color: #5f5f5f; }
.pi-tva { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 10px 16px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; font-size: 13.5px; line-height: 1.4; color: #3d3d3d; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 14px; }
.pi-tva .fa { font-size: 17px; color: #2D5947; }
.pi-tva strong { color: #2D5947; }
.pi-intro .pi-tva { flex: 0 0 auto; margin: 0; }
@media (max-width: 767.98px) {
	.pi-intro { flex-direction: column; align-items: flex-start; gap: 14px; }
	.pi-intro h1 { font-size: 24px; }
	.pi-texte { font-size: 15px; }
}

/* ---------- Panier : bon cadeau / code de réduction + « Je commande » (panier.php, refonte) ---------- */
.pb-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); gap: 20px; align-items: stretch; margin: 22px 0 40px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; }
.pb-bon { padding: 22px 24px; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 20px; }
.pb-titre { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 15px; font-weight: 700; color: #222; }
.pb-titre .fa { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-size: 16px; color: #fff; background: #2D5947; border-radius: 10px; }
.pb-bon-form { display: flex; max-width: 480px; padding: 5px; background: #fff; border: 1px solid #e6e3dd; border-radius: 999px; }
.pb-bon-form:focus-within { border-color: #2D5947; }
.pb-bon-form .form-control { flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 16px; font-size: 15px; text-transform: uppercase; letter-spacing: .06em; background: transparent; border: 0 !important; box-shadow: none !important; }
.pb-bon-form .form-control::placeholder { text-transform: none; letter-spacing: 0; color: #9a9a9a; }
.pb-bon-form .btn { height: 44px; padding: 0 22px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff !important; background: #2D5947 !important; border: 0 !important; border-radius: 999px; box-shadow: none !important; }
.pb-bon-form .btn:hover { background: #16302a !important; }

.pb-commande { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 22px 24px; background: #fff; border: 2px solid #2D5947; border-radius: 20px; box-shadow: 0 16px 34px rgba(45, 89, 71, .12); }
.pb-commande form { margin: 0; }
.pb-bouton { display: flex !important; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 58px; font-size: 17px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; color: #fff !important; background: #2D5947 !important; border: 0 !important; border-radius: 999px !important; box-shadow: 0 12px 26px rgba(45, 89, 71, .3) !important; transition: transform .2s ease, background .2s ease; }
.pb-bouton:hover, .pb-bouton:focus { background: #16302a !important; transform: translateY(-2px); }
.pb-bouton .fa-long-arrow-right { transition: transform .2s ease; }
.pb-bouton:hover .fa-long-arrow-right { transform: translateX(4px); }
.pb-securite { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0; font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5f5f5f; }
.pb-securite > .fa { color: #2D5947; font-size: 15px; }
.pb-cartes { display: inline-flex; gap: 6px; margin-left: 4px; font-size: 22px; color: #8a8a8a; }

@media (max-width: 991.98px) {
	.pb-actions { grid-template-columns: 1fr; }
	.pb-commande { order: -1; }
}
@media (max-width: 767.98px) {
	.pb-bon, .pb-commande { padding: 18px; border-radius: 16px; }
	.pb-bon-form .btn { padding: 0 16px; }
}

/* Modes de livraison : titre + bouton vert par défaut, rouge au survol / mode choisi (05/10/2026) */
.pl-entete { margin: 10px 0 22px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; }
.pl-entete h2 { margin: 0 0 6px; font-size: 28px; font-weight: 900; line-height: 1.2; color: #222; }
.pl-entete > p:not(.pc-surtitre) { margin: 0; font-size: 15.5px; color: #5f5f5f; }
.pl-carte.pl-choisie { border-color: #EB423F !important; box-shadow: 0 0 0 4px rgba(235, 66, 63, .12), 0 16px 34px rgba(0, 0, 0, .07); }
.pl-carte.pl-choisie::after { background: #EB423F; }
@media (max-width: 767.98px) { .pl-entete h2 { font-size: 23px; } }
/* ---------- Panier : bloc « Choisissez votre point relais » (widget Colissimo, panier.php + colissimo.php &v2=1) ---------- */
.pr-relais { margin: 0 0 24px; padding: 26px 28px 20px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 24px; }
.pr-entete { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.pr-entete h3 { margin: 0 0 6px; font-size: 24px; font-weight: 900; color: #222; }
.pr-entete > div > p:not(.pc-surtitre) { margin: 0; font-size: 15px; color: #5f5f5f; }
.pr-entete img { flex: 0 0 auto; width: 120px; height: auto; padding: 10px 14px; background: #fff; border-radius: 14px; }
.pr-relais #collissimo_widget { font-size: 14px; color: #5f5f5f; }
/* hauteur : widget ordinateur 574 px (+ marges) ; il passe lui-même en version mobile sous 769 px de large (fenêtre < 992 px) : hauteur d'origine 800 px conservée */
.pr-relais .pr-iframe { display: block; width: 100%; height: 800px !important; border-radius: 18px; background: #fff; }
@media (min-width: 992px) { .pr-relais .pr-iframe { height: 600px !important; } }
@media (max-width: 767.98px) {
	.pr-relais { padding: 18px 12px 12px; border-radius: 18px; }
	.pr-entete { padding: 0 6px; }
	.pr-entete h3 { font-size: 20px; }
}

/* ---------- Panier : « Choisissez votre adresse de livraison » (livraison à domicile ; .pa-adresses ajoutée par panier.php, carte choisie par mephisto.js) ---------- */
.pa-livraison-entete { margin-top: 26px; }
.pa-ajout-adresse { display: inline-flex !important; align-items: center; gap: 8px; min-height: 44px; margin-bottom: 6px; padding: 0 20px; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #2D5947 !important; background: #fff !important; border: 2px solid #2D5947 !important; border-radius: 999px !important; box-shadow: none !important; }
.pa-ajout-adresse:hover { color: #fff !important; background: #2D5947 !important; }

.pa-adresses { row-gap: 18px; }
.pa-adresses > [class*="col-"] { display: flex; }
.pa-adresses .card { flex: 1 1 auto; margin: 0 !important; overflow: hidden; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; background: #fff; border: 2px solid #e6e3dd !important; border-radius: 20px !important; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.pa-adresses .card:hover { border-color: #c9c3b8 !important; box-shadow: 0 14px 30px rgba(0, 0, 0, .07); transform: translateY(-2px); }
.pa-adresses .card.pa-adresse-choisie { border-color: #EB423F !important; box-shadow: 0 0 0 4px rgba(235, 66, 63, .12); }
.pa-adresses .card-body { position: relative; display: flex; flex-direction: column; padding: 20px 20px 14px; }
.pa-adresses .card-title { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #2D5947; }
.pa-adresses .card-title::before { content: "\f015"; flex: 0 0 34px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-family: FontAwesome; font-size: 15px; letter-spacing: 0; color: #fff; background: #2D5947; border-radius: 10px; }
.pa-adresses .card-title label { color: #2D5947; }
.pa-adresses .card-text { flex: 1 1 auto; margin-bottom: 12px; font-size: 14.5px; line-height: 1.65; color: #3d3d3d; }
.pa-adresses .card-text .alert { margin: 10px 0 0; padding: 8px 12px; font-size: 13px; border-radius: 10px; }
/* « Modifier cette adresse ? » */
.pa-adresses .card-body > div.w-75 { width: auto !important; margin: 0 !important; padding: 0 !important; background: none !important; }
.pa-adresses .card-body > div.w-75 small { font-size: 13px; }
.pa-adresses .card-body > div.w-75 .fa { display: none; }
.pa-adresses .card-body > div.w-75 a { display: inline-flex; align-items: center; gap: 6px; color: #2D5947 !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pa-adresses .card-body > div.w-75 a::before { content: "\f040"; font-family: FontAwesome; text-decoration: none; }
/* pied de carte « Choisir cette adresse » : bouton (couleurs inline du site neutralisées) */
.pa-adresses .card-footer { padding: 0 20px 20px; background: #fff !important; border: 0; }
.pa-adresses .card-footer label { display: flex !important; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 46px; margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff !important; background: #2D5947; border-radius: 999px; transition: background .2s ease; }
.pa-adresses .card-footer label:hover, .pa-adresses .card.pa-adresse-choisie .card-footer label { background: #EB423F; }
.pa-adresses .card.pa-adresse-choisie .card-footer label::before { content: "\f00c"; font-family: FontAwesome; }
.pa-adresses .card-footer:empty { display: none; }

/* bouton « Je souhaite être livré à l'adresse ci-dessus » */
#page[class*="page-"] #liv_adresse { display: inline-flex; align-items: center; gap: 10px; min-height: 54px; margin: 22px 0 10px; padding: 0 30px; font-size: 15px; font-weight: 700; letter-spacing: .04em; color: #fff !important; background: #2D5947 !important; border: 0 !important; border-radius: 999px; box-shadow: 0 12px 26px rgba(45, 89, 71, .28) !important; }
#page[class*="page-"] #liv_adresse:hover { background: #EB423F !important; }

/* formulaire « Ajouter une adresse de livraison » */
#page[class*="page-"] #new_adress .table { overflow: hidden; background: #fff; border: 1px solid #e6e3dd; border-radius: 18px; border-collapse: separate; }
#page[class*="page-"] #new_adress .table td { padding: 12px 18px; vertical-align: middle; border: 0 !important; border-top: 1px solid #efede9 !important; }
#page[class*="page-"] #new_adress .table tr:first-child td { border-top: 0 !important; background: #f6f5f2; }
#page[class*="page-"] #new_adress .form-control { min-height: 44px; border: 1px solid #e6e3dd; border-radius: 12px; }
#page[class*="page-"] #new_adress .form-control:focus { border-color: #2D5947; box-shadow: 0 0 0 3px rgba(45, 89, 71, .12); }
#page[class*="page-"] #new_adress .sendFormAddress { min-height: 46px; padding: 0 28px; font-weight: 700; border-radius: 999px; }

@media (max-width: 767.98px) {
	.pa-adresses .card-body { padding: 16px 16px 12px; }
	.pa-adresses .card-footer { padding: 0 16px 16px; }
	#page[class*="page-"] #liv_adresse { width: 100%; justify-content: center; padding: 0 18px; font-size: 14px; }
	#page[class*="page-"] #new_adress .table td { display: block; width: 100% !important; padding: 8px 14px; }
}

/* ---------- Fiche produit : semelles avec leur nom (pictogramme + texte, carte « Caractéristiques ») ---------- */
.ma .ma-semelles { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; margin: 20px 0 0; padding: 0; list-style: none; }
.ma .ma-semelles li { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 8px; padding: 10px 8px 12px; text-align: center; background: #fff; border-radius: 14px; }
.ma .ma-semelles img { height: 60px; width: auto; max-width: 100%; padding: 0; background: none; border-radius: 0; }
.ma .ma-semelles span { font-size: 12.5px; font-weight: 700; line-height: 1.25; color: var(--ma-vert-nuit); }

/* ---------- Fiche produit : avantages + autres coloris sur toute la largeur, sous le haut de fiche ---------- */
/* le bloc est en dehors du row .pp-haut : règles autonomes (mêmes couleurs que les tuiles du haut de fiche) */
.ma.pp-plus { margin-top: 40px; }
.ma.pp-plus .pp-avantages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.ma.pp-plus .pp-avantages li { margin: 0; padding: 0; list-style: none; }
.ma.pp-plus .pp-avantages a { display: flex; align-items: center; gap: 14px; height: 100%; padding: 16px 18px; font-size: 13px; line-height: 1.35; color: #5f5f5f; background: #f6f5f2; border: 1px solid #e6e3dd; border-radius: 16px; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.ma.pp-plus .pp-avantages a:hover { color: #5f5f5f; background: #fff; border-color: #2D5947; text-decoration: none; transform: translateY(-2px); }
.ma.pp-plus .pp-avantages .fa { flex: 0 0 42px; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; font-size: 17px; color: #fff; background: #2D5947; border-radius: 12px; }
.ma.pp-plus .pp-avantages span { display: block; min-width: 0; }
.ma.pp-plus .pp-avantages strong { display: block; margin-bottom: 2px; font-size: 14.5px; font-weight: 700; color: #222; }
.ma .ma-coloris-modele { margin-top: 44px; }

@media (max-width: 1199.98px) {
	.ma.pp-plus .pp-avantages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
	.ma.pp-plus { margin-top: 28px; }
	.ma.pp-plus .pp-avantages { grid-template-columns: 1fr; gap: 10px; }
	.ma.pp-plus .pp-avantages a { padding: 12px 14px; }
	.ma .ma-coloris-modele { margin-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
	.ma.pp-plus .pp-avantages a:hover { transform: none; }
}

/* ==========================================================================
   ESPACE CLIENT — tableau de bord (membre.php espace_client_v2, 06/10/2026)
   ========================================================================== */
.ec { --ec-vert: #2D5947; --ec-nuit: #16302a; --ec-or: #d9b26f; --ec-rouge: #EB423F; --ec-creme: #f6f5f2; --ec-bordure: #e6e3dd; margin: 8px 0 56px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; color: #222; }
.ec, .ec *, .ec *::before, .ec *::after { box-sizing: border-box; }
.ec a, .ec a:hover, .ec a:focus, .ec a:visited { text-decoration: none; }
.ec :focus-visible { outline: 2px solid var(--ec-vert); outline-offset: 3px; }

/* boutons */
.ec .ec-bouton { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; font-size: 14px; font-weight: 700; color: var(--ec-vert); background: #fff; border: 2px solid var(--ec-vert); border-radius: 999px; white-space: nowrap; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.ec .ec-bouton:hover { color: #fff; background: var(--ec-vert); }
.ec .ec-bouton-plein, .ec .ec-bouton-plein:visited { color: #fff; background: var(--ec-vert); }
.ec .ec-bouton-plein:hover { color: #fff; background: var(--ec-rouge); border-color: var(--ec-rouge); }
.ec .ec-bouton-blanc, .ec .ec-bouton-blanc:visited { color: var(--ec-vert); background: #fff; border-color: #fff; }
.ec .ec-bouton-blanc:hover { color: var(--ec-nuit); background: var(--ec-or); border-color: var(--ec-or); }
.ec .ec-bouton-contour, .ec .ec-bouton-contour:visited { color: #fff; background: transparent; border-color: rgba(255, 255, 255, .55); }
.ec .ec-bouton-contour:hover { color: var(--ec-vert); background: #fff; border-color: #fff; }

/* en-tête */
.ec .ec-entete { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 36px 40px; background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 24px; }
.ec .ec-entete::after { content: ""; position: absolute; right: 26%; bottom: -36px; width: 230px; height: 230px; background: url("../../../images/logo-m-mephisto.png") no-repeat center bottom / contain; opacity: .07; pointer-events: none; } /* logo M Mephisto en filigrane */
.ec .ec-entete-texte { position: relative; z-index: 1; max-width: 640px; }
.ec .ec-surtitre { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ec-vert); }
.ec .ec-surtitre .fa { margin-right: 4px; color: var(--ec-or); }
.ec .ec-titre { margin: 0 0 10px; font-size: 34px; font-weight: 700; line-height: 1.15; color: #222; text-transform: none; }
.ec .ec-intro { margin: 0; font-size: 15px; line-height: 1.55; color: #5f5f5f; }
.ec .ec-entete-actions { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; flex: 0 0 auto; }

/* avoirs / bons disponibles */
.ec .ec-avantage { display: flex; align-items: center; gap: 16px; margin-top: 18px; padding: 16px 22px; color: var(--ec-nuit); background: linear-gradient(120deg, #fbf3e3 0%, #f6e7c9 100%); border: 1px solid #ecd9b0; border-radius: 18px; transition: transform .2s ease, box-shadow .2s ease; }
.ec .ec-avantage:hover { color: var(--ec-nuit); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 0, 0, .07); }
.ec .ec-avantage-icone { flex: 0 0 44px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; font-size: 19px; color: var(--ec-nuit); background: var(--ec-or); border-radius: 12px; }
.ec .ec-avantage-texte { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; color: #6b5a36; }
.ec .ec-avantage-texte strong { font-size: 16px; color: var(--ec-nuit); }
.ec .ec-remises { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.ec .ec-remise { display: inline-flex; align-items: center; padding: 4px 12px; font-size: 13px; font-weight: 700; color: var(--ec-nuit); background: #fff; border: 1px dashed #d9b26f; border-radius: 999px; white-space: nowrap; }
.ec .ec-avantage-lien { flex: 0 0 auto; font-size: 14px; font-weight: 700; color: var(--ec-vert); }

/* rubriques */
.ec .ec-grille { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
.ec .ec-carte { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; padding: 24px 22px 52px; color: #222; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 20px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.ec .ec-carte:hover { color: #222; border-color: var(--ec-vert); transform: translateY(-3px); box-shadow: 0 14px 30px rgba(22, 48, 42, .10); }
.ec .ec-carte-icone { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; font-size: 22px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 16px; transition: background .2s ease, color .2s ease; }
.ec .ec-carte:hover .ec-carte-icone { color: #fff; background: var(--ec-vert); }
.ec .ec-carte-texte { display: flex; flex-direction: column; gap: 6px; padding-right: 18px; }
.ec .ec-carte-texte strong { font-size: 16px; font-weight: 700; line-height: 1.3; color: #222; }
.ec .ec-carte-texte small { font-size: 13.5px; line-height: 1.45; color: #6f6f6f; }
.ec .ec-carte-nb { position: absolute; top: 22px; right: 22px; min-width: 28px; height: 28px; padding: 0 9px; font-size: 13px; font-weight: 700; line-height: 28px; text-align: center; color: #fff; background: var(--ec-vert); border-radius: 999px; }
.ec .ec-carte-fleche { position: absolute; right: 20px; bottom: 18px; font-size: 22px; color: #c9c5bd; transition: color .2s ease, transform .2s ease; }
.ec .ec-carte:hover .ec-carte-fleche { color: var(--ec-vert); transform: translateX(3px); }

/* aide */
.ec .ec-aide { display: flex; align-items: center; gap: 20px; margin-top: 28px; padding: 26px 32px; color: #fff; background: radial-gradient(circle at 100% 0, rgba(217, 178, 111, .22) 0, transparent 55%), linear-gradient(150deg, var(--ec-vert) 0%, var(--ec-nuit) 100%); border-radius: 22px; }
.ec .ec-aide-icone { flex: 0 0 52px; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; font-size: 22px; color: var(--ec-nuit); background: var(--ec-or); border-radius: 50%; }
.ec .ec-aide-texte { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .8); }
.ec .ec-aide-texte strong { font-size: 18px; color: #fff; }
.ec .ec-aide-actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }

@media (max-width: 1199.98px) {
	.ec .ec-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ec .ec-aide { flex-wrap: wrap; }
	.ec .ec-aide-actions { width: 100%; padding-left: 72px; }
}
@media (max-width: 767.98px) {
	.ec { margin-bottom: 36px; }
	.ec .ec-entete { flex-direction: column; align-items: stretch; padding: 26px 20px; border-radius: 20px; }
	.ec .ec-entete::after { right: -24px; bottom: -28px; width: 170px; height: 170px; }
	.ec .ec-titre { font-size: 26px; }
	.ec .ec-intro { font-size: 14px; }
	.ec .ec-entete-actions { flex-direction: row; flex-wrap: wrap; }
	.ec .ec-entete-actions .ec-bouton { flex: 1 1 auto; }
	.ec .ec-avantage { padding: 14px 16px; }
	.ec .ec-avantage-lien { display: none; }
	.ec .ec-grille { grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
	.ec .ec-carte { flex-direction: row; align-items: center; gap: 14px; padding: 16px 48px 16px 16px; border-radius: 16px; }
	.ec .ec-carte-icone { flex: 0 0 46px; width: 46px; height: 46px; font-size: 19px; border-radius: 14px; }
	.ec .ec-carte-texte { padding-right: 0; gap: 3px; }
	.ec .ec-carte-texte strong { font-size: 15px; }
	.ec .ec-carte-texte small { font-size: 12.5px; }
	.ec .ec-carte-nb { position: static; flex: 0 0 auto; margin-left: auto; }
	.ec .ec-carte-fleche { top: 50%; bottom: auto; right: 16px; transform: translateY(-50%); }
	.ec .ec-carte:hover .ec-carte-fleche { transform: translateY(-50%); }
	.ec .ec-aide { padding: 22px 20px; }
	.ec .ec-aide-actions { padding-left: 0; }
	.ec .ec-aide-actions .ec-bouton { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
	.ec .ec-carte, .ec .ec-avantage, .ec .ec-carte-fleche { transition: none; }
	.ec .ec-carte:hover, .ec .ec-avantage:hover { transform: none; }
}

/* ==========================================================================
   ESPACE CLIENT — pages internes (lien retour, en-tête) + MES COMMANDES (membre.php index_commande2_v2, 06/10/2026)
   ========================================================================== */
.ec .ec-retour { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; font-weight: 700; color: var(--ec-vert); }
.ec .ec-retour:hover { color: var(--ec-rouge); }
.ec .ec-entete-page { padding: 30px 36px; }
.ec .ec-entete-page::after { right: 4%; }

.eo .eo-bloc { margin-top: 32px; }
.eo .eo-titre { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 22px; font-weight: 700; color: #222; text-transform: none; }
.eo .eo-titre .fa { color: var(--ec-or); }
.eo .eo-compte { min-width: 30px; height: 30px; padding: 0 10px; font-size: 14px; line-height: 30px; text-align: center; color: #fff; background: var(--ec-vert); border-radius: 999px; }
.eo .eo-vide { margin: 0; padding: 18px 22px; font-size: 14.5px; color: #6f6f6f; background: var(--ec-creme); border: 1px dashed var(--ec-bordure); border-radius: 16px; }
.eo .eo-vide-commandes { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.eo .eo-vide-commandes p { margin: 0; }
.eo .eo-aide-texte { margin: 10px 2px 0; font-size: 13px; color: #8a8a8a; }
.eo .eo-lien { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--ec-vert); }
.eo .eo-lien:hover { color: var(--ec-rouge); }

/* avoirs / bons */
.eo .eo-remises { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; }
.eo .eo-remise { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px 20px; background: linear-gradient(120deg, #fbf3e3 0%, #f6e7c9 100%); border: 1px solid #ecd9b0; border-radius: 18px; }
.eo .eo-remise-bon { background: #fff; border: 1px dashed var(--ec-or); }
.eo .eo-remise-type { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #8b7340; }
.eo .eo-remise-valeur { font-size: 28px; font-weight: 900; line-height: 1.1; color: var(--ec-nuit); }
.eo .eo-remise-code { font-size: 13.5px; color: #5f5f5f; }
.eo .eo-remise-code b { padding: 2px 8px; font-family: Consolas, Menlo, monospace; font-size: 13.5px; letter-spacing: .04em; color: var(--ec-nuit); background: rgba(255, 255, 255, .8); border: 1px solid #ecd9b0; border-radius: 6px; user-select: all; }
.eo .eo-remise-validite { font-size: 12.5px; color: #8a8a8a; }
.eo .eo-remise { position: relative; }
.eo .eo-remise-expiree { background: #f7f6f4; border: 1px dashed #d6d2cb; }
.eo .eo-remise-expiree .eo-remise-type, .eo .eo-remise-expiree .eo-remise-valeur { color: #a8a39b; }
.eo .eo-remise-expiree .eo-remise-valeur { text-decoration: line-through; text-decoration-thickness: 2px; }
.eo .eo-remise-expiree .eo-remise-code b { color: #9a958d; border-color: #e3dfd8; user-select: text; }
.eo .eo-remise-expiree .eo-remise-validite { color: var(--ec-rouge); font-weight: 700; }
.eo .eo-remise-expire { position: absolute; top: 14px; right: 14px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--ec-rouge); border-radius: 999px; }

/* commandes */
.eo .eo-commande { margin-bottom: 14px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 20px; transition: border-color .2s ease, box-shadow .2s ease; }
.eo .eo-commande[open] { border-color: #cfd9d3; box-shadow: 0 12px 30px rgba(22, 48, 42, .07); }
.eo .eo-commande-entete { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .8fr) minmax(0, 1fr) 220px 28px; align-items: center; gap: 16px; padding: 18px 22px; cursor: pointer; list-style: none; border-radius: 20px; }
.eo .eo-commande-entete::-webkit-details-marker { display: none; }
.eo .eo-commande-entete:hover { background: #fbfaf8; }
.eo .eo-commande-entete > span { display: flex; flex-direction: column; gap: 2px; font-size: 14.5px; color: #333; }
.eo .eo-commande-entete small { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9a968e; }
.eo .eo-commande-num strong { font-size: 17px; color: #222; }
.eo .eo-commande-info b { font-size: 16px; color: var(--ec-vert); }
.eo .eo-etat { flex-direction: row !important; align-items: center; gap: 7px !important; justify-self: end; padding: 7px 14px; font-size: 13px !important; font-weight: 700; white-space: nowrap; border-radius: 999px; }
.eo .eo-etat-ok { color: var(--ec-vert) !important; background: #e5efe9; }
.eo .eo-etat-partiel { color: #8b5e00 !important; background: #fbefd5; }
.eo .eo-etat-attente { color: #6b6b6b !important; background: #efedea; }
.eo .eo-chevron { align-items: center; font-size: 22px; color: #b9b4ab !important; transition: transform .2s ease; }
.eo .eo-commande[open] .eo-chevron { transform: rotate(180deg); color: var(--ec-vert) !important; }

.eo .eo-commande-corps { padding: 0 22px 22px; }
.eo .eo-articles { margin: 0; padding: 0; list-style: none; border-top: 1px solid #efede9; }
.eo .eo-article { display: grid; grid-template-columns: 84px 1fr auto; align-items: center; gap: 18px; padding: 14px 0; border-bottom: 1px solid #efede9; }
.eo .eo-article-visuel { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; overflow: hidden; font-size: 24px; color: #c9c5bd; background: var(--ec-creme); border-radius: 14px; }
.eo .eo-article-visuel img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.eo .eo-article-infos { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.eo .eo-article-infos strong { font-size: 15px; font-weight: 700; text-transform: uppercase; color: #222; }
.eo .eo-article-details { display: flex; flex-wrap: wrap; gap: 6px; }
.eo .eo-article-details span { padding: 2px 10px; font-size: 12.5px; color: #5f5f5f; background: var(--ec-creme); border-radius: 999px; }
.eo .eo-article-etat { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; }
.eo .eo-statut { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; }
.eo .eo-statut-ok { color: var(--ec-vert); }
.eo .eo-statut-attente { color: #8a8a8a; }
.eo .eo-prevu { font-size: 12.5px; color: #8a8a8a; }

.eo .eo-commande-bas { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 18px; }
.eo .eo-adresses { display: flex; flex-wrap: wrap; gap: 14px; }
.eo .eo-adresse { min-width: 200px; padding: 14px 18px; font-size: 13.5px; line-height: 1.55; color: #444; background: var(--ec-creme); border-radius: 14px; }
.eo .eo-adresse-titre { display: flex; align-items: center; gap: 7px; margin-bottom: 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ec-vert); }
.eo .eo-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.eo .eo-actions .ec-bouton { min-height: 42px; padding: 0 18px; font-size: 13.5px; }

@media (max-width: 991.98px) {
	.eo .eo-commande-entete { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr) 200px 24px; }
	.eo .eo-masque-mobile { display: none !important; }
}
@media (max-width: 767.98px) {
	.ec .ec-entete-page { padding: 24px 20px; }
	.eo .eo-titre { font-size: 19px; }
	.eo .eo-commande { border-radius: 16px; }
	.eo .eo-commande-entete { grid-template-columns: 1fr auto; gap: 10px 12px; padding: 16px; border-radius: 16px; }
	.eo .eo-commande-entete .eo-commande-num { grid-column: 1; }
	.eo .eo-commande-entete .eo-etat { grid-column: 2; grid-row: 1; }
	.eo .eo-commande-entete .eo-commande-info { flex-direction: row; align-items: baseline; gap: 6px; font-size: 13.5px; }
	.eo .eo-commande-entete .eo-chevron { display: none; }
	.eo .eo-commande-corps { padding: 0 16px 16px; }
	.eo .eo-article { grid-template-columns: 64px 1fr; gap: 12px; }
	.eo .eo-article-visuel { width: 64px; height: 64px; }
	.eo .eo-article-etat { grid-column: 2; align-items: flex-start; text-align: left; }
	.eo .eo-adresses, .eo .eo-adresse { width: 100%; }
	.eo .eo-actions { width: 100%; }
	.eo .eo-actions .ec-bouton { flex: 1 1 auto; }
}

/* ==========================================================================
   RETOURS ET ÉCHANGES (membre.php index_commande_expedie_v2, 06/10/2026)
   ========================================================================== */
.er .er-demandes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 24px; }
.er .er-demande { display: flex; align-items: center; gap: 18px; width: 100%; padding: 22px 24px; font: inherit; text-align: left; color: #fff; cursor: pointer; background: radial-gradient(circle at 100% 0, rgba(217, 178, 111, .22) 0, transparent 55%), linear-gradient(150deg, var(--ec-vert) 0%, var(--ec-nuit) 100%); border: 0; border-radius: 20px; box-shadow: 0 10px 26px rgba(22, 48, 42, .14); transition: transform .2s ease, box-shadow .2s ease; }
.er .er-demande:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(22, 48, 42, .22); }
.er .er-demande:focus-visible { outline: 3px solid var(--ec-or); outline-offset: 3px; }
.er .er-demande-icone { flex: 0 0 56px; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; font-size: 23px; color: var(--ec-nuit); background: var(--ec-or); border-radius: 16px; }
.er .er-demande-texte { flex: 1 1 auto; display: flex; flex-direction: column; gap: 4px; }
.er .er-demande-texte strong { font-size: 18px; font-weight: 700; color: #fff; }
.er .er-demande-texte small { font-size: 13.5px; line-height: 1.45; color: rgba(255, 255, 255, .78); }
.er .er-demande-fleche { flex: 0 0 auto; font-size: 20px; color: var(--ec-or); transition: transform .2s ease; }
.er .er-demande:hover .er-demande-fleche { transform: translateX(4px); }

.er .er-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 16px; }
.er .er-etape { display: flex; align-items: flex-start; gap: 14px; padding: 16px 18px; background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 16px; }
.er .er-etape-num { flex: 0 0 32px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 15px; font-weight: 900; color: #fff; background: var(--ec-vert); border-radius: 50%; }
.er .er-etape > div { display: flex; flex-direction: column; gap: 3px; font-size: 13px; line-height: 1.45; color: #6f6f6f; }
.er .er-etape strong { font-size: 14.5px; color: #222; }

.er .er-commande-entete { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, .8fr) 220px 28px; }
.er .er-ferme .eo-article-visuel { opacity: .6; }
.er .er-ferme .eo-article-infos strong { color: #777; }
.er .er-badge { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; font-size: 12.5px; font-weight: 700; border-radius: 999px; }
.er .er-badge-echange { color: #1d5d8f; background: #e3eef8; }
.er .er-badge-rbt { color: #8b5e00; background: #fbefd5; }
.er .er-frais { max-width: 260px; font-size: 12px; line-height: 1.4; color: var(--ec-rouge); }

@media (max-width: 991.98px) {
	.er .er-commande-entete { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) 200px 24px; }
	.er .er-etapes { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
	.er .er-demandes { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
	.er .er-demande { padding: 18px; gap: 14px; }
	.er .er-demande-icone { flex-basis: 48px; width: 48px; height: 48px; font-size: 20px; }
	.er .er-demande-texte strong { font-size: 16px; }
	.er .er-commande-entete { grid-template-columns: 1fr auto; }
	.er .er-frais { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
	.er .er-demande, .er .er-demande-fleche { transition: none; }
	.er .er-demande:hover { transform: none; }
}

/* ---------- Fenêtres « Demande d'échange / de remboursement » (<dialog>, 06/10/2026) ---------- */
html.er-sans-defilement { overflow: hidden; }
.er .er-dialog { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; color: #222; background: #fff; border: 0; border-radius: 24px; box-shadow: 0 30px 80px rgba(0, 0, 0, .28); }
.er .er-dialog::backdrop { background: rgba(22, 48, 42, .55); backdrop-filter: blur(3px); }
.er .er-dialog[open] { animation: er-apparition .25s ease-out; }
@keyframes er-apparition { from { opacity: 0; transform: translateY(14px) scale(.98); } to { opacity: 1; transform: none; } }
.er .er-dialog-repli { position: fixed; top: 24px; left: 50%; z-index: 20000; transform: translateX(-50%); }
.er .er-dialog-cadre { display: flex; flex-direction: column; max-height: calc(100vh - 48px); margin: 0; }

.er .er-dialog-entete { position: relative; display: flex; align-items: flex-start; gap: 16px; padding: 24px 64px 20px 26px; color: #fff; background: radial-gradient(circle at 100% 0, rgba(217, 178, 111, .25) 0, transparent 55%), linear-gradient(150deg, var(--ec-vert) 0%, var(--ec-nuit) 100%); }
.er .er-dialog-entete h2 { margin: 2px 0 6px; font-size: 22px; font-weight: 700; color: #fff; text-transform: none; }
.er .er-dialog-entete p { margin: 0; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .8); }
.er .er-dialog-fermer { position: absolute; top: 16px; right: 16px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; font-size: 17px; color: #fff; cursor: pointer; background: rgba(255, 255, 255, .14); border: 0; border-radius: 50%; transition: background .2s ease; }
.er .er-dialog-fermer:hover { background: rgba(255, 255, 255, .28); }

.er .er-dialog-corps { flex: 1 1 auto; overflow-y: auto; padding: 20px 26px; overscroll-behavior: contain; }
.er .er-choix-liste { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.er .er-choix { position: relative; display: flex; align-items: center; gap: 16px; margin: 0; padding: 14px 16px; cursor: pointer; background: #fff; border: 2px solid var(--ec-bordure); border-radius: 18px; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.er .er-choix:hover { border-color: #b9cbc1; }
.er .er-choix input { position: absolute; opacity: 0; pointer-events: none; }
.er .er-choix-coche { flex: 0 0 26px; display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; font-size: 13px; color: transparent; background: #fff; border: 2px solid #cfcac1; border-radius: 8px; transition: all .2s ease; }
.er .er-choix input:focus-visible + .er-choix-coche { outline: 2px solid var(--ec-vert); outline-offset: 3px; }
.er .er-choix-actif, .er .er-choix:has(input:checked) { background: #f3f8f5; border-color: var(--ec-vert); box-shadow: 0 6px 18px rgba(45, 89, 71, .10); }
.er .er-choix-actif .er-choix-coche, .er .er-choix input:checked + .er-choix-coche { color: #fff; background: var(--ec-vert); border-color: var(--ec-vert); }
.er .er-choix .eo-article-visuel { flex: 0 0 72px; width: 72px; height: 72px; }
.er .er-choix-infos { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.er .er-choix-infos strong { font-size: 15px; font-weight: 700; text-transform: uppercase; color: #222; }
.er .er-choix-infos small { font-size: 12.5px; color: #8a8a8a; }
.er .er-choix-frais { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 700; color: var(--ec-vert); }
.er .er-choix-payant { color: var(--ec-rouge); }
.er .er-dialog-note { display: flex; gap: 8px; margin: 16px 0 0; padding: 12px 14px; font-size: 13px; line-height: 1.45; color: #6b5a36; background: #fbf3e3; border-radius: 12px; }
.er .er-dialog-note .fa { margin-top: 2px; color: var(--ec-or); }
.er .er-dialog-vide { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 26px 10px; text-align: center; font-size: 14px; color: #6f6f6f; }
.er .er-dialog-vide .fa-inbox { font-size: 40px; color: #c9c5bd; }
.er .er-dialog-vide strong { font-size: 17px; color: #222; }
.er .er-dialog-vide .ec-bouton { margin-top: 8px; }

.er .er-dialog-pied { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; padding: 16px 26px 20px; background: var(--ec-creme); border-top: 1px solid var(--ec-bordure); }
.er .er-dialog-pied .ec-bouton { font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.er .er-envoyer:disabled { color: #fff; background: #b9c4be; border-color: #b9c4be; cursor: not-allowed; }
.er .er-envoyer:disabled:hover { background: #b9c4be; border-color: #b9c4be; }

@media (max-width: 767.98px) {
	.er .er-dialog { width: 100vw; max-width: 100vw; max-height: 92vh; margin: auto 0 0; border-radius: 22px 22px 0 0; }
	.er .er-dialog-cadre { max-height: 92vh; }
	.er .er-dialog[open] { animation-name: er-montee; }
	@keyframes er-montee { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
	.er .er-dialog-entete { padding: 20px 58px 16px 18px; gap: 12px; }
	.er .er-dialog-entete .er-demande-icone { display: none; }
	.er .er-dialog-entete h2 { font-size: 19px; }
	.er .er-dialog-corps { padding: 16px 14px; }
	.er .er-choix { gap: 12px; padding: 12px; }
	.er .er-choix .eo-article-visuel { flex-basis: 56px; width: 56px; height: 56px; }
	.er .er-dialog-pied { padding: 12px 14px calc(14px + env(safe-area-inset-bottom, 0px)); }
	.er .er-dialog-pied .ec-bouton { flex: 1 1 auto; }
	.er .er-envoyer { order: -1; flex-basis: 100% !important; }
}
@media (prefers-reduced-motion: reduce) {
	.er .er-dialog[open] { animation: none; }
}

/* ==========================================================================
   MES INFORMATIONS PERSONNELLES (membre.php infos_perso_v2, 06/10/2026)
   ========================================================================== */
.ep .ep-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; gap: 20px; margin-top: 24px; }
.ep .ep-colonne { display: flex; flex-direction: column; gap: 20px; }
.ep .ep-carte { padding: 26px 28px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 22px; }
.ep .ep-facturation { margin-top: 20px; }
.ep .ep-titre { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-size: 19px; font-weight: 700; color: #222; text-transform: none; }
.ep .ep-titre-icone { flex: 0 0 40px; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 17px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 12px; }
.ep .ep-texte { margin: 0 0 14px; font-size: 14px; line-height: 1.55; color: #6f6f6f; }
.ep .ep-texte a { font-weight: 700; color: var(--ec-vert); }
.ep .ep-texte a:hover { color: var(--ec-rouge); }
.ep form { margin: 0; }

/* champs */
.ep .ep-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.ep .ep-champ { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; }
.ep .ep-champ-large { grid-column: 1 / -1; }
.ep .ep-label { font-size: 12.5px; font-weight: 700; color: #555; }
.ep .ep-input,
.ep .ep-facturation .form-control { width: 100%; min-height: 46px; padding: 10px 14px; font-size: 15px; color: #222; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 12px; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease; }
.ep .ep-input:focus,
.ep .ep-facturation .form-control:focus { border-color: var(--ec-vert); outline: 0; box-shadow: 0 0 0 3px rgba(45, 89, 71, .14); }
.ep .ep-civilites { display: flex; flex-wrap: wrap; gap: 10px; }
.ep .ep-radio { position: relative; margin: 0; cursor: pointer; }
.ep .ep-radio input { position: absolute; opacity: 0; pointer-events: none; }
.ep .ep-radio span { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; font-size: 14px; font-weight: 700; color: #555; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 999px; transition: all .2s ease; }
.ep .ep-radio input:checked + span { color: #fff; background: var(--ec-vert); border-color: var(--ec-vert); }
.ep .ep-radio input:focus-visible + span { outline: 2px solid var(--ec-vert); outline-offset: 2px; }
.ep .ep-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.ep button.ec-bouton { font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.ep .ep-etat-nl { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 8px; font-size: 14px; color: var(--ec-vert); }
.ep .ep-etat-nl b { color: #222; }
.ep .ep-lien { font-size: 13.5px; color: #8a8a8a; text-decoration: underline !important; }
.ep .ep-lien:hover { color: var(--ec-rouge); }

/* adresse de facturation : tableau d'add_facturation() mis en grille (HTML et scripts inchangés) */
.ep .ep-facturation .table-responsive { overflow: visible; }
.ep .ep-facturation table.table { display: block; width: 100%; margin: 0; border: 0; background: none; }
.ep .ep-facturation table.table > tbody { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.ep .ep-facturation table.table tr { display: flex; flex-direction: column; gap: 6px; background: none !important; }
.ep .ep-facturation table.table tr.bg-light,
.ep .ep-facturation table.table tr.d-none { display: none !important; }
.ep .ep-facturation table.table td { display: block; width: auto !important; padding: 0 !important; vertical-align: top !important; background: none !important; border: 0 !important; }
.ep .ep-facturation table.table td > b { font-size: 12.5px; font-weight: 700; color: #555; }
.ep .ep-facturation table.table td > b[style*="ff0000"] { color: var(--ec-rouge) !important; }
.ep .ep-facturation table.table tr:has(input[type="radio"]),
.ep .ep-facturation table.table tr:last-child { grid-column: 1 / -1; }
.ep .ep-facturation table.table tr:has(input[type="radio"]) td:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; font-size: 14px; }
.ep .ep-facturation input[type="radio"],
.ep .ep-facturation input[type="checkbox"] { width: 18px; height: 18px; margin: 0 4px 0 0; vertical-align: middle; accent-color: var(--ec-vert); }
.ep .ep-facturation table.table tr:last-child td:first-child { display: none; }
.ep .ep-facturation .sendFormAddress { min-height: 46px; padding: 0 28px; font-size: 14px; font-weight: 700; color: #fff; background: var(--ec-vert); border: 2px solid var(--ec-vert); border-radius: 999px; transition: background .2s ease, border-color .2s ease; }
.ep .ep-facturation .sendFormAddress:hover { background: var(--ec-rouge); border-color: var(--ec-rouge); }
.ep .ep-facturation .villeJquery { border-radius: 10px; }
/* formulaire « Ajouter une adresse de livraison » (add_livraison, même habillage) : * après les champs obligatoires */
.ep .ep-adresse-form table.table tr:has([required]) td:first-child > b::after { content: " *"; color: var(--ec-rouge); }
.ep .ep-note-tel { margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: #8a8a8a; }
.ep .ep-note-tel .fa { margin-right: 4px; color: var(--ec-or); }

@media (max-width: 991.98px) {
	.ep .ep-grille { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
	.ep .ep-carte { padding: 20px 18px; border-radius: 18px; }
	.ep .ep-champs,
	.ep .ep-facturation table.table > tbody { grid-template-columns: 1fr; }
	.ep .ep-actions .ec-bouton,
	.ep .ep-facturation .sendFormAddress { width: 100%; }
}

/* ==========================================================================
   MES ADRESSES DE LIVRAISON (membre.php adresses_v2, 06/10/2026)
   ========================================================================== */
.ea .ea-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-top: 24px; }
.ea .ea-carte { display: flex; flex-direction: column; padding: 22px 22px 16px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 20px; transition: border-color .2s ease, box-shadow .2s ease; }
.ea .ea-carte:hover { border-color: #cfd9d3; box-shadow: 0 12px 28px rgba(22, 48, 42, .07); }
.ea .ea-principale { border: 2px solid var(--ec-vert); box-shadow: 0 12px 28px rgba(22, 48, 42, .09); }
.ea .ea-carte-entete { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; }
.ea .ea-carte-entete strong { font-size: 16px; font-weight: 700; color: #222; }
.ea .ea-carte-icone { flex: 0 0 38px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; font-size: 16px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 12px; }
.ea .ea-principale .ea-carte-icone { color: var(--ec-nuit); background: var(--ec-or); }
.ea .ea-badge { margin-left: auto; padding: 4px 11px; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; color: #fff; background: var(--ec-vert); border-radius: 999px; }
.ea .ea-adresse { flex: 1 1 auto; margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: #444; }
.ea .ea-adresse b { color: #222; }
.ea .ea-tels { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
.ea .ea-tels span { display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; font-size: 12.5px; color: #5f5f5f; background: var(--ec-creme); border-radius: 999px; }
.ea .ea-tels .fa { color: var(--ec-vert); }
.ea .ea-actions { display: flex; flex-wrap: wrap; gap: 4px 14px; padding-top: 12px; border-top: 1px solid #efede9; }
.ea .ea-action { display: inline-flex; align-items: center; gap: 6px; padding: 4px 0; font-size: 13.5px; font-weight: 700; color: var(--ec-vert); }
.ea .ea-action:hover { color: var(--ec-nuit); }
.ea .ea-action-suppr { margin-left: auto; color: #9a958d; }
.ea .ea-action-suppr:hover { color: var(--ec-rouge); }

.ea .ea-ajouter { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 220px; padding: 22px; text-align: center; color: var(--ec-vert); background: var(--ec-creme); border: 2px dashed #cfcac1; border-radius: 20px; transition: border-color .2s ease, background .2s ease; }
.ea .ea-ajouter:hover { color: var(--ec-vert); background: #f1efea; border-color: var(--ec-vert); }
.ea .ea-ajouter-icone { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; font-size: 22px; color: #fff; background: var(--ec-vert); border-radius: 50%; transition: transform .2s ease; }
.ea .ea-ajouter:hover .ea-ajouter-icone { transform: scale(1.08); }
.ea .ea-ajouter strong { font-size: 15.5px; }
.ea .ea-ajouter small { font-size: 13px; color: #8a8a8a; }
.ea .ea-vide { margin-top: 16px; }
.ea .ea-note { margin: 22px 2px 0; font-size: 13.5px; color: #8a8a8a; }
.ea .ea-note .fa { margin-right: 4px; }
.ea .ea-note a { font-weight: 700; color: var(--ec-vert); }
.ea .ea-note .fa { color: var(--ec-or); }

@media (max-width: 767.98px) {
	.ea .ea-grille { grid-template-columns: 1fr; gap: 12px; margin-top: 18px; }
	.ea .ea-carte { padding: 18px 16px 12px; border-radius: 16px; }
	.ea .ea-ajouter { min-height: 0; flex-direction: row; justify-content: flex-start; gap: 14px; text-align: left; }
	.ea .ea-ajouter-icone { flex: 0 0 44px; width: 44px; height: 44px; font-size: 19px; }
	.ea .ea-ajouter small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.ea .ea-ajouter-icone { transition: none; }
	.ea .ea-ajouter:hover .ea-ajouter-icone { transform: none; }
}

/* ==========================================================================
   MES RÉSERVATIONS EN MAGASIN (membre.php mes_reservations_v2, 06/10/2026)
   ========================================================================== */
.ers .ers-entete { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) minmax(0, .6fr) 220px 28px; }
.ers .ers-magasin { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; color: #222; }
.ers .ers-magasin .fa { color: var(--ec-or); }
.ers .ers-etat-attente { color: #8b5e00 !important; background: #fbefd5; }
.ers .ers-etat-ok { color: #fff !important; background: var(--ec-vert); }
.ers .ers-etat-fini { color: var(--ec-vert) !important; background: #e5efe9; }
.ers .ers-etat-annule { color: #9a958d !important; background: #efedea; }
.ers .ers-passee { background: #fcfbf9; }
.ers .ers-passee .eo-article-visuel { opacity: .7; }
.ers .ers-message { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 6px; padding: 14px 16px; font-size: 14px; line-height: 1.5; color: #6b5a36; background: #fbf3e3; border-radius: 14px; }
.ers .ers-message .fa { margin-top: 2px; font-size: 18px; color: var(--ec-or); }
.ers .ers-message strong { display: block; color: #222; }
.ers .ers-message-ok { color: #2f4a3e; background: #e9f2ed; }
.ers .ers-message-ok .fa { color: var(--ec-vert); }
.ers .eo-commande-corps .ers-message + .eo-articles { margin-top: 10px; }
.ers .ers-prix { font-size: 16px; color: var(--ec-vert); }

@media (max-width: 991.98px) {
	.ers .ers-entete { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) 200px 24px; }
}
@media (max-width: 767.98px) {
	.ers .ers-entete { grid-template-columns: 1fr auto; }
	.ers .ers-entete .eo-commande-info { grid-column: 1 / -1; }
}

/* ==========================================================================
   MA LISTE DE SOUHAITS (membre.php listedesouhait_v2, 06/10/2026) — cartes .ma-carte de l'accueil
   ========================================================================== */
.ew .ma { margin-top: 0; } /* .ma remonte de 24 px pour la bannière de l'accueil : annulé ici */
.ew .ew-grille { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ew .ew-carte { position: relative; }
.ew .ew-retirer { position: absolute; top: 12px; right: 12px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; font-size: 17px; color: var(--ec-rouge); cursor: pointer; background: #fff; border: 0; border-radius: 50%; box-shadow: 0 4px 14px rgba(0, 0, 0, .12); transition: transform .2s ease, background .2s ease, color .2s ease; }
.ew .ew-retirer .fa-times { display: none; }
.ew .ew-retirer:hover, .ew .ew-retirer:focus-visible { color: #fff; background: var(--ec-rouge); transform: scale(1.06); }
.ew .ew-retirer:hover .fa-heart, .ew .ew-retirer:focus-visible .fa-heart { display: none; }
.ew .ew-retirer:hover .fa-times, .ew .ew-retirer:focus-visible .fa-times { display: inline-block; }
.ew .ew-retirer:focus-visible { outline: 2px solid var(--ec-rouge); outline-offset: 2px; }

.ew .ew-vide { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 46px 24px; text-align: center; background: var(--ec-creme); border: 1px dashed #d6d2cb; border-radius: 22px; }
.ew .ew-vide-icone { display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; font-size: 32px; color: var(--ec-rouge); background: #fff; border-radius: 50%; box-shadow: 0 8px 22px rgba(0, 0, 0, .06); }
.ew .ew-vide strong { font-size: 20px; color: #222; }
.ew .ew-vide p { max-width: 520px; margin: 0; font-size: 14.5px; line-height: 1.55; color: #6f6f6f; }
.ew .ew-vide p .fa { color: var(--ec-rouge); }
.ew .ew-vide-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 8px; }

@media (max-width: 1199.98px) {
	.ew .ew-grille { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
	.ew .ew-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ew .ew-retirer { top: 8px; right: 8px; width: 34px; height: 34px; font-size: 15px; }
	.ew .ew-vide-actions .ec-bouton { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.ew .ew-retirer { transition: none; }
	.ew .ew-retirer:hover { transform: none; }
}

/* ==========================================================================
   MES CARTES CADEAU (membre.php cartes_cadeau_v2, 06/10/2026)
   ========================================================================== */
.eg .eg-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 18px; }
.eg .eg-carte { display: flex; flex-direction: column; overflow: hidden; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 22px; }
.eg .eg-visuel { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 150px; padding: 20px 22px; overflow: hidden; color: #fff; background: radial-gradient(circle at 100% 0, rgba(217, 178, 111, .35) 0, transparent 55%), linear-gradient(150deg, var(--ec-vert) 0%, var(--ec-nuit) 100%); }
.eg .eg-visuel::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 170px; height: 170px; background: url("../../../images/logo-m-mephisto.png") no-repeat center / contain; opacity: .08; filter: brightness(0) invert(1); pointer-events: none; }
.eg .eg-logo { position: absolute; top: 18px; left: 22px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ec-or); }
.eg .eg-montant { font-size: 40px; font-weight: 900; line-height: 1; }
.eg .eg-libelle { margin-top: 4px; font-size: 13px; color: rgba(255, 255, 255, .75); }
.eg .eg-ruban { position: absolute; top: 16px; right: 20px; font-size: 26px; color: var(--ec-or); }
.eg .eg-infos { display: flex; flex-direction: column; gap: 12px; padding: 18px 22px 20px; }
.eg .eg-etat { display: inline-flex; align-self: flex-start; align-items: center; gap: 7px; padding: 6px 12px; font-size: 13px; font-weight: 700; border-radius: 999px; }
.eg .eg-active .eg-etat { color: var(--ec-vert); background: #e5efe9; }
.eg .eg-attente .eg-etat { color: #8b5e00; background: #fbefd5; }
.eg .eg-utilisee .eg-etat { color: #7a766f; background: #efedea; }
.eg dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 0; }
.eg dl > div { min-width: 0; }
.eg dt { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #9a968e; }
.eg dd { margin: 2px 0 0; font-size: 14.5px; color: #222; overflow-wrap: anywhere; }
.eg .eg-code { padding: 2px 8px; font-family: Consolas, Menlo, monospace; font-size: 14px; letter-spacing: .04em; color: var(--ec-nuit); background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 6px; user-select: all; }
.eg .eg-utilisee .eg-visuel { filter: grayscale(.85); opacity: .7; }
.eg .eg-utilisee .eg-code { user-select: text; }

/* ==========================================================================
   MES DEMANDES (membre.php demande_v2, 06/10/2026)
   ========================================================================== */
.ed .ec-intro a { font-weight: 700; color: var(--ec-vert); }
.ed .ed-entete { grid-template-columns: minmax(0, 1.8fr) minmax(0, .9fr) minmax(0, .9fr) 200px 28px; }
.ed .ed-entete .eo-commande-num strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ed .ed-etat-cours { color: #1d5d8f !important; background: #e3eef8; }
.ed .ed-close { background: #fcfbf9; }
.ed .ed-fil { display: flex; flex-direction: column; gap: 14px; padding: 18px 0; border-top: 1px solid #efede9; }
.ed .ed-message { display: flex; flex-direction: column; gap: 4px; max-width: 78%; }
.ed .ed-moi { align-self: flex-end; align-items: flex-end; }
.ed .ed-equipe { align-self: flex-start; }
.ed .ed-auteur { font-size: 12px; font-weight: 700; color: #9a968e; }
.ed .ed-bulle { padding: 12px 16px; font-size: 14.5px; line-height: 1.55; color: #222; background: var(--ec-creme); border-radius: 16px 16px 16px 4px; overflow-wrap: anywhere; }
.ed .ed-moi .ed-bulle { color: #fff; background: var(--ec-vert); border-radius: 16px 16px 4px 16px; }
.ed .ed-repondre { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding-top: 16px; border-top: 1px solid #efede9; }
.ed .ed-repondre .ep-champ { flex: 1 1 320px; }
.ed .ed-texte { min-height: 0; resize: vertical; font-family: inherit; line-height: 1.5; }
.ep .ep-input { font-family: inherit; }
.ed .ed-repondre .ec-bouton,
.ed .ed-nouvelle button.ec-bouton { font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.ed .ed-nouvelle { margin-top: 28px; scroll-margin-top: 140px; }
.ed .ed-nouvelle .ep-carte { padding: 26px 28px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 22px; }
.ed .ed-nouvelle select.ep-input { appearance: auto; }

@media (max-width: 991.98px) {
	.ed .ed-entete { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) 190px 24px; }
}
@media (max-width: 767.98px) {
	.eg .eg-grille { grid-template-columns: 1fr; }
	.eg .eg-montant { font-size: 34px; }
	.ed .ed-entete { grid-template-columns: 1fr auto; }
	.ed .ed-entete .eo-commande-num strong { white-space: normal; }
	.ed .ed-message { max-width: 92%; }
	.ed .ed-repondre .ec-bouton { width: 100%; }
	.ed .ed-nouvelle .ep-carte { padding: 20px 18px; border-radius: 18px; }
}

/* ==========================================================================
   CONNEXION / CRÉATION DE COMPTE (membre.php connexion_v2, 06/10/2026)
   ========================================================================== */
.ecx { margin-top: 8px; }
.ecx .ecx-grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); align-items: start; gap: 20px; margin-top: 24px; }
.ecx .ecx-champs-1 { grid-template-columns: 1fr; }
.ecx .ecx-mdp { position: relative; display: block; }
.ecx .ecx-mdp .ep-input { padding-right: 50px; }
.ecx .ecx-voir { position: absolute; top: 50%; right: 6px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; padding: 0; font-size: 16px; color: #8a8a8a; cursor: pointer; background: none; border: 0; border-radius: 10px; transform: translateY(-50%); }
.ecx .ecx-voir:hover { color: var(--ec-vert); background: var(--ec-creme); }
.ecx .ecx-actions { align-items: center; gap: 16px; }
.ecx .ecx-avantages { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 24px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid #efede9; }
.ecx .ecx-avantages li { display: flex; align-items: center; gap: 10px; font-size: 13.5px; line-height: 1.35; color: #555; }
.ecx .ecx-avantages .fa { flex: 0 0 32px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 14px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 10px; }
.ecx .ecx-creation { background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%); }
.ecx .ecx-case { flex-direction: row; align-items: flex-start; gap: 10px; font-size: 14px; color: #444; cursor: pointer; }
.ecx .ecx-case input { flex: 0 0 18px; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--ec-vert); }
.ecx .ecx-captcha { min-height: 78px; }
.ecx .ecx-erreur { margin: 14px 0 0; padding: 10px 14px; font-size: 14px; font-weight: 700; color: #b0302d; background: #fdecec; border-radius: 12px; }

@media (max-width: 991.98px) {
	.ecx .ecx-grille { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
	.ecx .ecx-avantages { grid-template-columns: 1fr; }
	.ecx .ecx-captcha { transform: scale(.92); transform-origin: left top; }
}

/* Bon de commande papier (sous la connexion) */
.ecx .ecx-commande { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); overflow: hidden; margin: 28px 0 48px; background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 24px; }
.ecx .ecx-commande-visuel { min-height: 100%; background: #e9e5de; }
.ecx .ecx-commande-visuel img { display: block; width: 100%; height: 100%; max-height: 520px; object-fit: cover; }
.ecx .ecx-commande-texte { display: flex; flex-direction: column; justify-content: center; padding: 36px 40px; }
.ecx .ecx-commande-titre { margin: 0 0 10px; font-size: 28px; font-weight: 700; line-height: 1.2; color: #222; text-transform: none; }
.ecx .ecx-commande-intro { margin: 0 0 20px; font-size: 15px; line-height: 1.55; color: #5f5f5f; }
.ecx .ecx-etapes { display: flex; flex-direction: column; gap: 12px; margin: 0 0 24px; padding: 0; list-style: none; }
.ecx .ecx-etapes li { display: flex; align-items: flex-start; gap: 14px; padding: 14px 16px; font-size: 14px; line-height: 1.45; color: #555; background: #fff; border-radius: 14px; }
.ecx .ecx-etapes li > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.ecx .ecx-etapes strong { font-size: 14.5px; color: #222; }
.ecx .ecx-etapes a { font-weight: 700; color: var(--ec-vert); }
.ecx .ecx-etape-num { flex: 0 0 30px; display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; font-size: 14px; font-weight: 900; color: #fff; background: var(--ec-vert); border-radius: 50%; }
.ecx .ecx-commande-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ecx .ecx-aide-commande { margin: 0 0 48px; } /* page formulaire-de-commande (modules/commande.php) */

@media (max-width: 991.98px) {
	.ecx .ecx-commande { grid-template-columns: 1fr; }
	.ecx .ecx-commande-visuel img { max-height: 260px; }
}
@media (max-width: 575.98px) {
	.ecx .ecx-commande-texte { padding: 24px 18px; }
	.ecx .ecx-commande-titre { font-size: 22px; }
	.ecx .ecx-commande-actions .ec-bouton { flex: 1 1 100%; }
}

/* ==========================================================================
   POPUP « BIENVENUE » visiteurs (template.php, 06/10/2026) — <dialog id="mpBienvenue">
   ========================================================================== */
.mp { width: min(680px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: visible; color: #222; background: transparent; border: 0; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; }
.mp::backdrop { background: rgba(22, 48, 42, .55); backdrop-filter: blur(3px); }
.mp[open] { animation: mp-apparition .3s ease-out; }
@keyframes mp-apparition { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: none; } }
.mp *, .mp *::before, .mp *::after { box-sizing: border-box; }
.mp .mp-cadre { display: grid; grid-template-columns: 220px minmax(0, 1fr); overflow: hidden; background: #fff; border-radius: 26px; box-shadow: 0 30px 80px rgba(0, 0, 0, .3); }
.mp .mp-offre { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 30px 18px; overflow: hidden; text-align: center; color: #fff; background: radial-gradient(circle at 100% 0, rgba(217, 178, 111, .35) 0, transparent 60%), linear-gradient(160deg, #2D5947 0%, #16302a 100%); }
.mp .mp-offre::after { content: ""; position: absolute; left: -30px; bottom: -40px; width: 180px; height: 180px; background: url("../../../images/logo-m-mephisto.png") no-repeat center / contain; opacity: .08; filter: brightness(0) invert(1); pointer-events: none; }
.mp .mp-offre-moins { position: relative; font-size: 64px; font-weight: 900; line-height: 1; color: #d9b26f; }
.mp .mp-offre-texte { position: relative; max-width: 150px; font-size: 14px; line-height: 1.35; color: rgba(255, 255, 255, .85); }
.mp .mp-contenu { position: relative; padding: 30px 32px 24px; }
.mp .mp-fermer { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; font-size: 16px; color: #8a8a8a; cursor: pointer; background: #f6f5f2; border: 0; border-radius: 50%; transition: background .2s ease, color .2s ease; }
.mp .mp-fermer:hover { color: #fff; background: #2D5947; }
.mp .mp-surtitre { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #2D5947; }
.mp .mp-surtitre .fa { margin-right: 4px; color: #d9b26f; }
.mp .mp-titre { margin: 0 0 10px; padding-right: 30px; font-size: 26px; font-weight: 700; line-height: 1.2; color: #222; text-transform: none; }
.mp .mp-texte { margin: 0 0 14px; font-size: 15px; line-height: 1.55; color: #555; }
.mp .mp-texte b { color: #222; }
.mp .mp-code { position: relative; display: inline-flex; align-items: center; gap: 12px; margin: 0 0 20px; padding: 10px 18px; font: inherit; font-size: 20px; font-weight: 900; letter-spacing: .14em; color: #16302a; cursor: pointer; background: #fbf3e3; border: 2px dashed #d9b26f; border-radius: 14px; transition: background .2s ease; }
.mp .mp-code:hover { background: #f6e7c9; }
.mp .mp-code .fa { font-size: 15px; color: #8b7340; }
.mp .mp-copie { position: absolute; left: 50%; top: -30px; padding: 3px 10px; font-size: 12px; font-style: normal; font-weight: 700; letter-spacing: 0; color: #fff; white-space: nowrap; background: #2D5947; border-radius: 8px; opacity: 0; transform: translateX(-50%); transition: opacity .2s ease; pointer-events: none; }
.mp .mp-copie-ok .mp-copie { opacity: 1; }
.mp .mp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.mp .mp-bouton, .mp .mp-bouton:visited { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 24px; font-size: 15px; font-weight: 700; color: #fff; text-decoration: none; background: #2D5947; border-radius: 999px; transition: background .2s ease; }
.mp .mp-bouton:hover { color: #fff; text-decoration: none; background: #EB423F; }
.mp .mp-plus-tard { padding: 6px 4px; font: inherit; font-size: 14px; color: #8a8a8a; cursor: pointer; background: none; border: 0; text-decoration: underline; }
.mp .mp-plus-tard:hover { color: #222; }
.mp .mp-mention { margin: 16px 0 0; font-size: 12px; color: #9a968e; }

@media (max-width: 575.98px) {
	.mp .mp-cadre { grid-template-columns: 1fr; border-radius: 22px; }
	.mp .mp-offre { flex-direction: row; gap: 12px; padding: 18px 20px; }
	.mp .mp-offre-moins { font-size: 44px; }
	.mp .mp-offre-texte { max-width: none; text-align: left; }
	.mp .mp-contenu { padding: 22px 20px 20px; }
	.mp .mp-fermer { top: -54px; right: 10px; color: #fff; background: rgba(255, 255, 255, .18); }
	.mp .mp-titre { font-size: 22px; padding-right: 0; }
	.mp .mp-bouton { flex: 1 1 100%; justify-content: center; }
	.mp .mp-plus-tard { margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
	.mp[open] { animation: none; }
}

/* ==========================================================================
   CATALOGUE PAR MARQUE (filtre.php plan_v2, 06/10/2026)
   ========================================================================== */
.ecm { margin: 8px 0 56px; }
.ecm .ecm-onglets { position: relative; z-index: 1; display: flex; gap: 10px; flex: 0 0 auto; }
.ecm .ecm-onglet { display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 0 22px; font-size: 15px; font-weight: 700; color: var(--ec-vert); background: #fff; border: 2px solid var(--ec-vert); border-radius: 999px; transition: background .2s ease, color .2s ease; }
.ecm .ecm-onglet:hover { color: #fff; background: var(--ec-vert); }
.ecm .ecm-genre { margin-top: 36px; scroll-margin-top: 140px; }
.ecm .ecm-genre-entete { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding-bottom: 14px; border-bottom: 2px solid var(--ec-creme); }
.ecm .ecm-genre-titre { margin: 0; font-size: 28px; font-weight: 700; color: #222; text-transform: none; }
.ecm .ecm-grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ecm .ecm-marque { display: flex; flex-direction: column; padding: 20px 22px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 20px; transition: border-color .2s ease, box-shadow .2s ease; }
.ecm .ecm-marque:hover { border-color: #cfd9d3; box-shadow: 0 12px 28px rgba(22, 48, 42, .07); }
.ecm .ecm-multi { background: var(--ec-creme); }
.ecm .ecm-marque-entete { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.ecm .ecm-logo { flex: 0 0 96px; display: flex; align-items: center; justify-content: center; width: 96px; height: 64px; padding: 6px; overflow: hidden; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 12px; }
.ecm .ecm-logo img { display: block; max-width: 100%; max-height: 100%; object-fit: contain; }
.ecm .ecm-marque-titre h3 { margin: 0; font-size: 18px; font-weight: 700; color: #222; text-transform: none; }
.ecm .ecm-marque-titre small { font-size: 12.5px; color: #9a968e; }
.ecm .ecm-familles { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.ecm .ecm-familles a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 14px; font-size: 13.5px; font-weight: 500 !important; color: #333; background: var(--ec-creme); border: 1px solid transparent; border-radius: 999px; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.ecm .ecm-multi .ecm-familles a { background: #fff; }
.ecm .ecm-familles a:hover { color: #fff; background: var(--ec-vert); border-color: var(--ec-vert); }
.ecm .ecm-tout { margin-top: auto; padding-top: 12px; font-size: 13.5px; font-weight: 700 !important; color: var(--ec-vert); border-top: 1px solid #efede9; }
.ecm .ecm-tout:hover { color: var(--ec-rouge); }

@media (max-width: 1199.98px) {
	.ecm .ecm-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
	.ecm .ec-entete { flex-direction: column; align-items: stretch; }
	.ecm .ecm-onglets .ecm-onglet { flex: 1 1 0; justify-content: center; }
	.ecm .ecm-genre-titre { font-size: 22px; }
	.ecm .ecm-grille { grid-template-columns: 1fr; gap: 12px; }
	.ecm .ecm-marque { padding: 16px; border-radius: 16px; }
}

/* ==========================================================================
   RESSEMELAGE (reparation.php reparation_formulaire_v2, 06/10/2026) — ids / Dropzone inchangés
   ========================================================================== */
.ers2 { margin: 8px 0 56px; }
.ers2 .ers2-visuel { margin-top: 20px; overflow: hidden; border-radius: 22px; }
.ers2 .ers2-visuel img { display: block; width: 100%; max-height: 360px; object-fit: cover; }
.ers2 .ers2-infos { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 18px; margin: 20px 0; }
.ers2 .ers2-etapes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.ers2 .ers2-etapes li { display: flex; align-items: flex-start; gap: 12px; padding: 16px; font-size: 13.5px; line-height: 1.45; color: #6f6f6f; background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 16px; }
.ers2 .ers2-etapes li > span:last-child { display: flex; flex-direction: column; gap: 3px; }
.ers2 .ers2-etapes strong { font-size: 14.5px; color: #222; }
.ers2 .ers2-num { flex: 0 0 32px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; font-size: 15px; font-weight: 900; color: #fff; background: var(--ec-vert); border-radius: 50%; }
.ers2 .ers2-attention { padding: 16px 20px; font-size: 14px; line-height: 1.5; color: #6b4a1f; background: #fbf3e3; border: 1px solid #ecd9b0; border-radius: 16px; }
.ers2 .ers2-attention-titre { margin: 0 0 6px; font-weight: 700; color: #8b5e00; }
.ers2 .ers2-attention ul { margin: 0 0 8px; padding-left: 18px; }
.ers2 .ers2-attention b { color: #222; }
.ers2 .ers2-sav { margin: 0; font-size: 13.5px; }
.ers2 .ers2-sav a { font-weight: 700; color: var(--ec-vert); }

.ers2 .ers2-form { display: flex; flex-direction: column; gap: 18px; }
.ers2 .ers2-form .ep-carte { padding: 24px 26px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 22px; }
.ers2 .ers2-champs-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ers2 .ers2-champs-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ers2 .ers2-champ-2 { grid-column: span 2; }
.ers2 .ers2-champ-3 { grid-column: span 3; }
.ers2 .ers2-aide { font-size: 12px; color: #9a968e; }
.ers2 .ep-input.form-control { height: auto; }
.ers2 .ep-input.is-invalid { border-color: var(--ec-rouge); box-shadow: 0 0 0 3px rgba(235, 66, 63, .14); }
.ers2 textarea.ep-input { resize: vertical; line-height: 1.5; }
.ers2 .ers2-obligatoire { margin-left: auto; padding: 4px 10px; font-size: 12px; font-weight: 700; color: #b0302d; background: #fdecec; border-radius: 999px; }

/* zones de dépôt des photos (Dropzone) */
.ers2 .ers2-photos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.ers2 .ers2-photo { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ers2 .ers2-photo-titre { margin: 0; font-size: 13px; font-weight: 700; color: #555; }
.ers2 .dropzone-area { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; min-height: 150px; padding: 12px; font-size: 13px; line-height: 1.4; text-align: center; color: #8a8a8a; cursor: pointer; background: var(--ec-creme); border: 2px dashed #cfcac1; border-radius: 16px; transition: border-color .2s ease, background .2s ease; }
.ers2 .dropzone-area::before { content: "\f030"; display: block; width: 100%; margin-bottom: 6px; font-family: FontAwesome; font-size: 26px; color: #b9b4ab; }
.ers2 .dropzone-area:hover, .ers2 .dropzone-area.dz-drag-hover { border-color: var(--ec-vert); background: #f1efea; }
.ers2 .dropzone-area.dz-started { border-style: solid; border-color: var(--ec-vert); background: #fff; }
.ers2 .dropzone-area.dz-started::before, .ers2 .dropzone-area.dz-started .dz-message { display: none; }
.ers2 .dropzone-area .dz-preview { margin: 0; }
.ers2 .dropzone-area .dz-preview .dz-image { border-radius: 12px; }
.ers2 .dropzone-area .dz-remove { font-size: 12.5px; font-weight: 700; color: var(--ec-rouge); }

.ers2 .ers2-envoi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; background: var(--ec-creme); border-radius: 18px; }
.ers2 .ers2-envoi p { flex: 1 1 420px; margin: 0; font-size: 13.5px; line-height: 1.5; color: #6f6f6f; }
.ers2 .ers2-envoi p .fa { margin-right: 4px; color: var(--ec-or); }
.ers2 .ers2-envoi .ec-bouton { min-height: 50px; padding: 0 28px; font: inherit; font-size: 15px; font-weight: 700; cursor: pointer; }

@media (max-width: 1199.98px) {
	.ers2 .ers2-infos { grid-template-columns: 1fr; }
	.ers2 .ers2-champs-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ers2 .ers2-champ-3 { grid-column: span 1; }
	.ers2 .ers2-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
	.ers2 .ers2-etapes { grid-template-columns: 1fr; }
	.ers2 .ers2-champs-4, .ers2 .ers2-champs-3 { grid-template-columns: 1fr; }
	.ers2 .ers2-champ-2, .ers2 .ers2-champ-3 { grid-column: auto; }
	.ers2 .ers2-form .ep-carte { padding: 18px 16px; border-radius: 18px; }
	.ers2 .dropzone-area { min-height: 120px; }
	.ers2 .ers2-envoi .ec-bouton { width: 100%; }
	.ers2 .ers2-visuel img { max-height: 200px; }
}

/* ==========================================================================
   CARTE CADEAU (carte_cadeau.php carte_cadeau_v2, 06/10/2026) — ids d'origine conservés
   ========================================================================== */
.ecc { margin: 8px 0 56px; }
.ecc .ec-intro a { font-weight: 700; color: var(--ec-vert); }
.ecc .ecc-grille { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; gap: 22px; margin-top: 24px; }
.ecc .ecc-formulaire { display: flex; flex-direction: column; gap: 16px; }
.ecc .ep-carte { padding: 24px 26px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 22px; }
.ecc .ecc-num { flex: 0 0 34px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-size: 15px; font-weight: 900; color: #fff; background: var(--ec-vert); border-radius: 50%; }

/* montants (l'ancien script pose une bordure en style inline : neutralisée) */
.ecc .ecc-montants { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
.ecc .ecc-montant { min-height: 56px; padding: 0 6px; font: inherit; font-size: 18px; font-weight: 900; color: var(--ec-nuit); cursor: pointer; background: var(--ec-creme); border: 2px solid transparent !important; border-radius: 14px; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.ecc .ecc-montant:hover { border-color: var(--ec-vert) !important; }
.ecc .ecc-montant-actif { color: #fff; background: var(--ec-vert); border-color: var(--ec-vert) !important; }
.ecc .ecc-autre { max-width: 360px; }
.ecc .ecc-euro { position: relative; display: block; }
.ecc .ecc-euro .ep-input { padding-right: 40px; font-size: 18px; font-weight: 700; }
.ecc .ecc-euro > span { position: absolute; top: 50%; right: 16px; font-weight: 700; color: #8a8a8a; transform: translateY(-50%); }

/* choix e-mail / courrier, maintenant / plus tard */
.ecc .ecc-choix { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ecc .ecc-option { position: relative; margin: 0; cursor: pointer; }
.ecc .ecc-option input { position: absolute; opacity: 0; pointer-events: none; }
.ecc .ecc-option > span { display: grid; grid-template-columns: 40px 1fr; grid-template-rows: auto auto; column-gap: 12px; align-items: center; height: 100%; padding: 14px 16px; background: #fff; border: 2px solid var(--ec-bordure); border-radius: 16px; transition: border-color .2s ease, background .2s ease; }
.ecc .ecc-option .fa { grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 18px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 12px; }
.ecc .ecc-option strong { font-size: 15px; color: #222; }
.ecc .ecc-option small { font-size: 12.5px; color: #8a8a8a; }
.ecc .ecc-option:hover > span { border-color: #b9cbc1; }
.ecc .ecc-option input:checked + span { background: #f3f8f5; border-color: var(--ec-vert); }
.ecc .ecc-option input:checked + span .fa { color: #fff; background: var(--ec-vert); }
.ecc .ecc-option input:focus-visible + span { outline: 2px solid var(--ec-vert); outline-offset: 2px; }
.ecc .ecc-bloc { margin-top: 14px; padding: 16px; background: var(--ec-creme); border-radius: 16px; }
.ecc .ecc-bloc.d-none { display: none !important; }

.ecc .ecc-erreur { margin: 0; padding: 12px 16px; font-size: 14px; font-weight: 700; color: #b0302d; background: #fdecec; border-radius: 12px; }
.ecc .ecc-ajouter { align-self: flex-start; min-height: 54px; padding: 0 30px; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }

/* aperçu */
.ecc .ecc-apercu-colonne { position: sticky; top: 130px; display: flex; flex-direction: column; gap: 16px; }
.ecc .ecc-apercu { padding: 22px; background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 22px; }
.ecc .ecc-apercu-titre { margin: 0 0 12px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ec-vert); }
.ecc .ecc-carte { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 1.6 / 1; padding: 22px 24px; overflow: hidden; color: #fff; background: radial-gradient(circle at 100% 0, rgba(217, 178, 111, .35) 0, transparent 55%), linear-gradient(150deg, var(--ec-vert) 0%, var(--ec-nuit) 100%); border-radius: 20px; box-shadow: 0 18px 40px rgba(22, 48, 42, .25); }
.ecc .ecc-carte::after { content: ""; position: absolute; right: -40px; bottom: -40px; width: 200px; height: 200px; background: url("../../../images/logo-m-mephisto.png") no-repeat center / contain; opacity: .08; filter: brightness(0) invert(1); pointer-events: none; }
.ecc .ecc-carte-logo { position: absolute; top: 20px; left: 24px; font-size: 13px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ec-or); }
.ecc .ecc-carte-montant { position: relative; font-size: 46px; font-weight: 900; line-height: 1; }
.ecc .ecc-carte-libelle { position: relative; margin-top: 4px; font-size: 14px; color: rgba(255, 255, 255, .75); }
.ecc .ecc-carte-ruban { position: absolute; top: 16px; right: 22px; font-size: 30px; color: var(--ec-or); }
.ecc .ecc-carte-texte { margin-top: 16px; font-size: 14.5px; color: #444; }
.ecc .ecc-carte-texte p { margin: 0 0 4px; }
.ecc .ecc-carte-texte span { display: inline-block; min-width: 100px; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9a968e; }
.ecc .ecc-carte-message { margin-top: 10px !important; padding: 12px 14px; font-style: italic; color: #555; white-space: pre-line; background: #fff; border-radius: 12px; }
.ecc .ecc-carte-message:empty { display: none; }
.ecc .ecc-illustration { display: block; width: 100%; border-radius: 20px; }

@media (max-width: 1199.98px) {
	.ecc .ecc-montants { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
	.ecc .ecc-grille { grid-template-columns: 1fr; }
	.ecc .ecc-apercu-colonne { position: static; order: -1; }
	.ecc .ecc-carte { width: 100%; max-width: 440px; margin: 0 auto; }
	.ecc .ecc-grille-visiteur .ecc-apercu-colonne { order: 0; }
	.ecc .ecc-grille-visiteur .ecc-illustration { display: none; }
}
@media (max-width: 575.98px) {
	.ecc .ep-carte { padding: 18px 16px; border-radius: 18px; }
	.ecc .ecc-choix { grid-template-columns: 1fr; }
	.ecc .ecc-carte-montant { font-size: 38px; }
	.ecc .ecc-ajouter { width: 100%; justify-content: center; }
}

/* =====================================================================
   BACK OFFICE — préfixe .bo / .bo-* (démarré le 06/10/2026)
   Première page : import de produits en masse (modules/Admin/index.php, op=add_product_mass).
   Base du futur design du back office : variables --bo-*, fil d'Ariane, étapes,
   cartes, zone de dépôt, pastilles, boutons, tuiles, filtres, tableau, barre
   d'action collante, fenêtre <dialog>, écran de résultat.
   ===================================================================== */
.bo{--bo-vert:#2D5947;--bo-vert-fonce:#224537;--bo-vert-nuit:#16302a;--bo-vert-pale:#eaf2ee;--bo-or:#d9b26f;--bo-or-pale:#fbf3e3;--bo-rouge:#c0392b;--bo-rouge-pale:#fdecea;--bo-orange:#9a5b00;--bo-orange-pale:#fff4dc;--bo-creme:#f6f5f2;--bo-texte:#222;--bo-doux:#5f5f5f;--bo-bordure:#e6e3dd;--bo-rayon:12px;--bo-ombre:0 6px 24px rgba(0,0,0,.06);font-family:"Roboto","Helvetica Neue",Arial,sans-serif;color:var(--bo-texte);font-size:14px;line-height:1.5;margin:24px 0 48px}
.bo *{box-sizing:border-box}
.bo a{color:var(--bo-vert)}
.bo-fil{font-size:13px;color:var(--bo-doux);margin-bottom:6px}
.bo-fil a{color:var(--bo-doux);text-decoration:none}
.bo-fil a:hover{color:var(--bo-vert)}
.bo-entete{margin-bottom:22px}
.bo-titre{font-size:28px;font-weight:700;margin:0;color:var(--bo-vert-nuit);letter-spacing:-.01em}
.bo-sous-titre{margin:4px 0 0;color:var(--bo-doux)}
.bo-etapes{display:flex;list-style:none;padding:0;margin:0 0 24px;counter-reset:e;background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);overflow:hidden}
.bo-etapes li{flex:1;display:flex;align-items:center;gap:10px;padding:14px 18px;color:var(--bo-doux);font-weight:500;border-right:1px solid var(--bo-bordure)}
.bo-etapes li:last-child{border-right:0}
.bo-etapes li::before{counter-increment:e;content:counter(e);width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--bo-creme);border:1px solid var(--bo-bordure);font-weight:700;font-size:13px;flex:none}
.bo-etapes li.bo-fait{color:var(--bo-vert)}
.bo-etapes li.bo-fait::before{content:"\2713";background:var(--bo-vert-pale);border-color:var(--bo-vert-pale);color:var(--bo-vert)}
.bo-etapes li.bo-actif{color:var(--bo-vert-nuit);background:var(--bo-creme);font-weight:700}
.bo-etapes li.bo-actif::before{background:var(--bo-vert);border-color:var(--bo-vert);color:#fff}
.bo-grille{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:24px;align-items:start}
.bo-carte{background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);box-shadow:var(--bo-ombre);padding:24px}
.bo-carte-titre{font-size:16px;font-weight:700;margin:0 0 4px;color:var(--bo-vert-nuit);display:flex;align-items:center;gap:8px}
.bo-carte-titre .fa{color:var(--bo-vert)}
.bo-aide{color:var(--bo-doux);font-size:13px;margin:0 0 16px}
.bo-champ{margin-bottom:24px}
.bo-label{display:block;font-weight:700;margin:0 0 8px}
.bo-label small{font-weight:400;color:var(--bo-doux)}
.bo-depot{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;padding:30px 16px;border:2px dashed #d6d1c7;border-radius:var(--bo-rayon);background:var(--bo-creme);cursor:pointer;transition:.2s;margin:0}
.bo-depot:hover,.bo-depot.bo-survol{border-color:var(--bo-vert);background:var(--bo-vert-pale)}
.bo-depot input[type=file]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}
.bo-depot .fa{font-size:30px;color:var(--bo-vert);margin-bottom:4px}
.bo-depot-texte{font-weight:700}
.bo-depot-nom{font-size:13px;color:var(--bo-doux)}
.bo-depot.bo-rempli{border-style:solid;border-color:var(--bo-vert);background:var(--bo-vert-pale)}
.bo-depot.bo-rempli .bo-depot-nom{color:var(--bo-vert);font-weight:700}
.bo-pastilles{display:flex;flex-wrap:wrap;gap:10px}
.bo-pastille{position:relative;margin:0}
.bo-pastille input{position:absolute;opacity:0;pointer-events:none}
.bo-pastille span{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border:1px solid var(--bo-bordure);border-radius:999px;background:#fff;cursor:pointer;font-weight:500;transition:.2s;user-select:none}
.bo-pastille span:hover{border-color:var(--bo-vert)}
.bo-pastille input:checked+span{background:var(--bo-vert);border-color:var(--bo-vert);color:#fff}
.bo-pastille input:focus-visible+span{outline:2px solid var(--bo-or);outline-offset:2px}
.bo-input{display:block;width:100%;max-width:240px;height:44px;padding:0 12px;border:1px solid var(--bo-bordure);border-radius:8px;font:inherit;background:#fff;color:var(--bo-texte)}
.bo-input:focus{outline:none;border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.bo-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:8px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;text-decoration:none!important;transition:.2s;line-height:1;white-space:nowrap}
.bo-btn-principal{background:var(--bo-vert);color:#fff!important}
.bo-btn-principal:hover{background:var(--bo-vert-fonce)}
.bo-btn-principal:disabled{opacity:.45;cursor:not-allowed}
.bo-btn-second{background:#fff;color:var(--bo-texte)!important;border-color:var(--bo-bordure)}
.bo-btn-second:hover{border-color:var(--bo-vert);color:var(--bo-vert)!important}
.bo-btn-rouge{background:var(--bo-rouge);color:#fff!important;border-color:var(--bo-rouge)}
.bo-btn-rouge:hover{background:#a5301f;border-color:#a5301f}
.bo-lien{background:none;border:0;padding:0;font:inherit;color:var(--bo-vert);text-decoration:underline;cursor:pointer}
.bo-btn-petit{height:34px;padding:0 12px;font-size:13px}
.bo-colonnes{list-style:none;margin:0 0 16px;padding:0;counter-reset:c}
.bo-colonnes li{display:flex;align-items:baseline;gap:10px;padding:6px 0;border-bottom:1px solid var(--bo-bordure);font-size:13px}
.bo-colonnes li:last-child{border-bottom:0}
.bo-colonnes li::before{counter-increment:c;content:counter(c);flex:none;width:22px;height:22px;border-radius:6px;background:var(--bo-creme);color:var(--bo-doux);font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.bo-colonnes small{color:var(--bo-doux);margin-left:auto;text-align:right}
.bo-note{display:flex;gap:10px;padding:12px 14px;border-radius:8px;background:var(--bo-or-pale);color:#6b5016;font-size:13px;margin-bottom:16px}
.bo-alerte{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--bo-rayon);margin-bottom:20px;border:1px solid}
.bo-alerte .fa{font-size:18px;margin-top:1px}
.bo-alerte-erreur{background:var(--bo-rouge-pale);border-color:#f5c6c0;color:var(--bo-rouge)}
.bo-alerte-info{background:var(--bo-creme);border-color:var(--bo-bordure)}
.bo-tuiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}
.bo-tuile{background:#fff;border:1px solid var(--bo-bordure);border-top:4px solid var(--bo-bordure);border-radius:var(--bo-rayon);padding:14px 18px}
.bo-tuile b{display:block;font-size:30px;line-height:1.1;color:var(--bo-vert-nuit)}
.bo-tuile span{color:var(--bo-doux);font-size:13px}
.bo-tuile-ok{border-top-color:var(--bo-vert)}
.bo-tuile-verif{border-top-color:var(--bo-or)}
.bo-tuile-ko{border-top-color:var(--bo-rouge)}
.bo-recap{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;margin-bottom:16px;color:var(--bo-doux)}
.bo-recap .fa{color:var(--bo-vert);margin-right:4px}
.bo-recap b{color:var(--bo-texte)}
.bo-filtres{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.bo-filtre{border:1px solid var(--bo-bordure);background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-size:13px;cursor:pointer;color:var(--bo-texte)}
.bo-filtre:hover{border-color:var(--bo-vert)}
.bo-filtre.bo-actif{background:var(--bo-vert-nuit);border-color:var(--bo-vert-nuit);color:#fff}
.bo-tableau-cadre{background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);overflow:auto;max-height:65vh}
.bo-tableau{width:100%;border-collapse:separate;border-spacing:0;font-size:13px;margin:0}
.bo-tableau th{position:sticky;top:0;z-index:1;background:var(--bo-creme);text-align:left;font-weight:700;padding:10px;border-bottom:1px solid var(--bo-bordure);white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux)}
.bo-tableau td{padding:10px;border-bottom:1px solid var(--bo-bordure);vertical-align:top;background:#fff}
.bo-tableau tr:last-child td{border-bottom:0}
.bo-tableau tbody tr:hover td{background:#fbfaf7}
.bo-tableau tr.bo-ligne-ko td{background:#fdf7f6;color:#999}
.bo-tableau tr.bo-ligne-ok td:first-child{box-shadow:inset 3px 0 0 var(--bo-vert)}
.bo-tableau tr.bo-ligne-verif td:first-child{box-shadow:inset 3px 0 0 var(--bo-or)}
.bo-tableau tr.bo-ligne-ko td:first-child{box-shadow:inset 3px 0 0 var(--bo-rouge)}
.bo-tableau tr.bo-decoche td{opacity:.55}
.bo-tableau .bo-vide{color:#c8c4bc}
.bo-tableau .bo-num{color:var(--bo-doux)}
.bo-tableau input[type=checkbox]{width:16px;height:16px;accent-color:var(--bo-vert);cursor:pointer;margin:0}
.bo-etat{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.bo-etat-ok{background:var(--bo-vert-pale);color:var(--bo-vert)}
.bo-etat-verif{background:var(--bo-orange-pale);color:var(--bo-orange)}
.bo-etat-ko{background:var(--bo-rouge-pale);color:var(--bo-rouge)}
.bo-motifs{margin:6px 0 0;padding-left:16px;font-size:12px;color:var(--bo-doux)}
.bo-barre{position:sticky;bottom:12px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:16px;padding:14px 18px;background:var(--bo-vert-nuit);color:#fff;border-radius:var(--bo-rayon);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.bo-barre-texte b{font-size:20px}
.bo-barre-texte span{color:rgba(255,255,255,.7)}
.bo-barre .bo-btn-principal{background:var(--bo-or);color:var(--bo-vert-nuit)!important}
.bo-barre .bo-btn-principal:hover{background:#e6c58c}
.bo-barre .bo-btn-second{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.3)}
.bo-barre .bo-btn-second:hover{border-color:#fff}
.bo-dialog{border:0;border-radius:16px;padding:0;max-width:460px;width:calc(100% - 32px);box-shadow:0 24px 64px rgba(0,0,0,.25);color:var(--bo-texte)}
.bo-dialog::backdrop{background:rgba(22,48,42,.55)}
.bo-dialog-corps{padding:28px 28px 22px}
.bo-dialog-icone{width:52px;height:52px;border-radius:50%;background:var(--bo-vert-pale);color:var(--bo-vert);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}
.bo-dialog h3{margin:0 0 8px;font-size:20px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-dialog p{margin:0 0 6px;color:var(--bo-doux)}
.bo-dialog-pied{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;background:var(--bo-creme)}
.bo-resultat{text-align:center;padding:12px 0 20px}
.bo-resultat-icone{width:64px;height:64px;border-radius:50%;background:var(--bo-vert-pale);color:var(--bo-vert);display:inline-flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:12px}
.bo-resultat h2{font-size:24px;font-weight:700;margin:0 0 6px;color:var(--bo-vert-nuit)}
.bo-resultat p{color:var(--bo-doux);margin:0}
.bo-liste{list-style:none;margin:0;padding:0}
.bo-liste li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--bo-bordure)}
.bo-liste li:last-child{border-bottom:0}
.bo-liste small{display:block;color:var(--bo-doux)}
@media (max-width:1100px){.bo-grille{grid-template-columns:1fr}.bo-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.bo-etapes{flex-direction:column}.bo-etapes li{border-right:0;border-bottom:1px solid var(--bo-bordure)}.bo-titre{font-size:22px}.bo-carte{padding:18px}}
/* --- Tableau de bord admin (index.php?page=admin, fonction index_v2) --- */
.bo-tdb-entete{display:flex;align-items:flex-end;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin-bottom:22px}
.bo-tdb-entete .bo-entete{margin:0}
.bo-recherche{position:relative;flex:0 1 420px;margin:0}
.bo-recherche .fa{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--bo-doux)}
.bo-recherche input{width:100%;height:48px;padding:0 16px 0 44px;border:1px solid var(--bo-bordure);border-radius:999px;font:inherit;background:#fff;color:var(--bo-texte);box-shadow:var(--bo-ombre)}
.bo-recherche input:focus{outline:none;border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-raccourcis{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin-bottom:28px}
.bo-raccourci{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bo-vert-nuit);color:#fff!important;border-radius:var(--bo-rayon);font-weight:700;text-decoration:none!important;transition:.2s}
.bo-raccourci:hover{background:var(--bo-vert);transform:translateY(-2px)}
.bo-raccourci-icone{flex:none;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.12);color:var(--bo-or);display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.bo-sections{columns:3 320px;column-gap:20px}
.bo-section{break-inside:avoid;display:inline-block;width:100%;margin:0 0 20px;background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);box-shadow:var(--bo-ombre);overflow:hidden}
.bo-section[hidden]{display:none}
.bo-section-tete{display:flex;align-items:center;gap:10px;margin:0;padding:14px 18px;font-size:15px;font-weight:700;color:var(--bo-vert-nuit);background:var(--bo-creme);border-bottom:1px solid var(--bo-bordure)}
.bo-section-tete small{margin-left:auto;font-size:12px;font-weight:500;color:var(--bo-doux);background:#fff;border:1px solid var(--bo-bordure);border-radius:999px;padding:1px 9px}
.bo-section-icone{width:30px;height:30px;border-radius:8px;background:var(--bo-vert);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px}
.bo-section-liens{list-style:none;margin:0;padding:6px 0}
.bo-section-liens a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 18px;color:var(--bo-texte)!important;text-decoration:none!important;transition:.15s}
.bo-section-liens a .fa{color:#c8c4bc;transition:.15s}
.bo-section-liens a:hover{background:var(--bo-vert-pale);color:var(--bo-vert)!important}
.bo-section-liens a:hover .fa{color:var(--bo-vert);transform:translateX(3px)}
.bo-aucun{padding:24px;text-align:center;color:var(--bo-doux);background:#fff;border:1px dashed var(--bo-bordure);border-radius:var(--bo-rayon)}
.bo-tdb-pied{margin-top:12px;font-size:13px;text-align:right}
.bo-tdb-pied a{color:var(--bo-doux)}
/* --- Module Expéditions (pro_commande.php, op=expedition_commande) : .bo-exp + fenêtres .bo-modal --- */
.bo-exp{margin-top:16px}
.bo-exp-titre{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.bo-exp-titre .fa{color:var(--bo-vert);font-size:24px}
.bo-exp-magasins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:16px;background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);overflow:hidden}
.bo-exp-magasin{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;font-weight:700;color:var(--bo-texte)!important;text-decoration:none!important;border-right:1px solid var(--bo-bordure);transition:.15s}
.bo-exp-magasin:last-child{border-right:0}
.bo-exp-magasin .fa{color:var(--bo-doux)}
.bo-exp-magasin:hover{background:var(--bo-creme)}
.bo-exp-magasin.bo-actif{background:var(--bo-vert-nuit);color:#fff!important}
.bo-exp-magasin.bo-actif .fa{color:var(--bo-or)}
.bo-exp-barre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.bo-exp-vues{display:flex;flex-wrap:wrap;gap:6px}
.bo-exp-vue{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid var(--bo-bordure);border-radius:999px;background:#fff;color:var(--bo-texte)!important;font-weight:500;text-decoration:none!important;transition:.15s}
.bo-exp-vue .fa{color:var(--bo-vert)}
.bo-exp-vue:hover{border-color:var(--bo-vert)}
.bo-exp-vue.bo-actif{background:var(--bo-vert);border-color:var(--bo-vert);color:#fff!important;font-weight:700}
.bo-exp-vue.bo-actif .fa{color:#fff}
.bo-exp-globaux{display:flex;flex-wrap:wrap;gap:8px}
.bo-exp-globaux .bo-btn,.bo-exp-outils .bo-btn{height:40px;font-size:13px}
.bo-exp-outils{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:10px 14px;margin-bottom:16px;background:var(--bo-creme);border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon)}
.bo-exp-legende{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0;font-size:12px;color:var(--bo-doux)}
.bo-exp-legende .fa{width:16px;text-align:center;margin-right:4px;color:var(--bo-texte)}
.bo-exp-legende .fa.text-danger{color:var(--bo-rouge)!important}
.bo-exp-legende .fa.text-success{color:var(--bo-vert)!important}
.bo-exp-tri{display:flex;gap:6px}
.bo-btn-icone{width:40px;padding:0!important}
.bo-exp-date{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--bo-doux);margin:0 0 6px}
.bo-exp-date .fa{color:var(--bo-vert)}
.bo-exp-alerte{margin:4px 0 16px}
.bo-exp-sousmag{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.bo-exp-sousmag span{font-size:13px;color:var(--bo-doux);margin-right:4px}
.bo-exp-sousmag a{padding:6px 14px;border-radius:999px;border:1px solid var(--bo-bordure);background:#fff;font-size:13px;font-weight:500;color:var(--bo-texte)!important;text-decoration:none!important}
.bo-exp-sousmag a:hover{border-color:var(--bo-vert)}
.bo-exp-sousmag a.bo-actif{background:var(--bo-vert-nuit);border-color:var(--bo-vert-nuit);color:#fff!important}
.bo-exp-pastille-borne{display:inline-block;margin:0 0 14px;padding:5px 12px;border:2px dashed var(--bo-rouge);border-radius:8px;color:var(--bo-rouge);font-size:13px;font-weight:700}
.bo-exp h4{display:flex;align-items:center;gap:10px;margin:26px 0 10px;font-size:18px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-exp h4::before{content:"";width:4px;height:20px;border-radius:2px;background:var(--bo-or)}
.bo-exp .float-right .form-control{height:40px;border-radius:999px;border:1px solid var(--bo-bordure);padding:0 16px}
/* tableaux */
.bo-exp .table{border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--bo-bordure)!important;border-radius:var(--bo-rayon);overflow:hidden;font-size:13px;margin-bottom:8px}
.bo-exp .table td,.bo-exp .table th{border:0!important;border-bottom:1px solid var(--bo-bordure)!important;padding:10px 12px;vertical-align:middle}
.bo-exp .table tr:last-child td{border-bottom:0!important}
.bo-exp .table tr.active td{background:var(--bo-creme)!important;border-top:2px solid var(--bo-bordure)!important;color:var(--bo-vert-nuit);font-size:13px}
.bo-exp .table tr.active:first-child td{border-top:0!important}
.bo-exp .table tr.active a{color:var(--bo-vert);font-weight:700}
.bo-exp .table tr.bg-white:hover td{background:#fbfaf7}
.bo-exp .table .badge{font-weight:700;border-radius:999px;padding:3px 8px}
.bo-exp .table .badge-success,.bo-exp .table .badge[style*="28a745"]{background:var(--bo-vert-pale)!important;color:var(--bo-vert)!important}
.bo-exp .table .badge-danger{background:var(--bo-rouge-pale);color:var(--bo-rouge)}
.bo-exp .table .badge-primary{background:var(--bo-or-pale);color:#6b5016}
.bo-exp .table .fa-2x{font-size:20px}
.bo-exp .table .fa.text-danger{color:var(--bo-rouge)!important}
.bo-exp .table .fa.text-success{color:var(--bo-vert)!important}
.bo-exp .table .addNote,.bo-exp .table .viewHis,.bo-exp .table .whoSearch{cursor:pointer}
.bo-exp .table .well{margin:0;padding:14px;background:var(--bo-creme);border:1px dashed var(--bo-bordure);border-radius:8px;color:var(--bo-doux);text-align:center;box-shadow:none}
/* cellule « préparé / facture imprimée » : même repère corail qu'avant, adouci (la couleur est posée en ligne, y compris par le JS après impression) */
.bo-exp td[style*="D2675F"],.bo-exp td[style*="d2675f"],.bo-exp td[style*="210, 103, 95"]{background:#f8d9d6!important;box-shadow:inset 4px 0 0 #D2675F}
.bo-exp td[style*="D2675F"] div[style*="color:#fff"],.bo-exp td[style*="210, 103, 95"] div[style*="color:#fff"]{color:#9b3b33!important;top:-2px!important;font-weight:700}
/* boutons des tableaux : mêmes couleurs de sens qu'avant, harmonisées */
.bo-exp .table .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;border-radius:8px;border:1px solid transparent;font-weight:700;font-size:13px;line-height:1.2;box-shadow:none!important;transition:.15s}
.bo-exp .table .btn-success{background:var(--bo-vert);border-color:var(--bo-vert);color:#fff}
.bo-exp .table .btn-success:hover{background:var(--bo-vert-fonce)}
.bo-exp .table .btn-primary{background:#2f5d7c;border-color:#2f5d7c;color:#fff}
.bo-exp .table .btn-primary:hover{background:#244a63}
.bo-exp .table .btn-info{background:#e6f0f5;border-color:#c9dde8;color:#2f5d7c}
.bo-exp .table .btn-info:hover{background:#d6e7f0}
.bo-exp .table .btn-danger{background:var(--bo-rouge);border-color:var(--bo-rouge);color:#fff}
.bo-exp .table .btn-danger:hover{background:#a5311f}
.bo-exp .table .btn.disabled,.bo-exp .table .btn:disabled{background:#eceae5!important;border-color:#eceae5!important;color:#9a968e!important;opacity:1}
/* fenêtres $.confirm du module (dialogClass ... bo-modal) */
.bo-modal .modal-content{border:0;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(0,0,0,.25);font-family:"Roboto","Helvetica Neue",Arial,sans-serif;color:#222}
.bo-modal .modal-header{background:#f6f5f2;border-bottom:1px solid #e6e3dd;padding:16px 24px;align-items:center}
.bo-modal .modal-title{font-size:18px;font-weight:700;color:#16302a}
.bo-modal .modal-header .close{opacity:.5;font-size:26px}
.bo-modal .modal-body{padding:22px 24px;font-size:14px;line-height:1.55}
.bo-modal .modal-footer{background:#f6f5f2;border-top:1px solid #e6e3dd;padding:14px 24px;gap:8px}
.bo-modal .modal-footer .btn{height:42px;padding:0 20px;border-radius:8px;font-weight:700;box-shadow:none!important}
.bo-modal .modal-footer .confirm{background:#2D5947!important;border:1px solid #2D5947!important;color:#fff!important}
.bo-modal .modal-footer .confirm:hover{background:#224537!important}
.bo-modal .modal-footer .cancel{background:#fff!important;border:1px solid #d6d1c7!important;color:#222!important}
.bo-modal .modal-footer .cancel:hover{border-color:#2D5947!important;color:#2D5947!important}
.bo-modal .form-control{height:44px;border:1px solid #e6e3dd;border-radius:8px;font-size:14px}
.bo-modal textarea.form-control{height:auto;min-height:110px;padding:10px 12px}
.bo-modal .form-control:focus{border-color:#2D5947;box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-modal input[type=checkbox]{accent-color:#2D5947}
.bo-modal .table{font-size:13px;border-collapse:separate;border-spacing:0;border:1px solid #e6e3dd!important;border-radius:10px;overflow:hidden}
.bo-modal .table td,.bo-modal .table th{border:0!important;border-bottom:1px solid #e6e3dd!important;padding:8px 12px}
.bo-modal .table tr:last-child td{border-bottom:0!important}
.bo-modal .table th{background:#f6f5f2;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#5f5f5f}
/* contenu des fenêtres (modules/ajax/*.php) : préfixe .bo-pop */
.bo-pop{display:flex;flex-direction:column;gap:16px}
.bo-pop-intro{margin:0;padding:12px 14px;border-radius:10px;background:#f6f5f2;color:#5f5f5f;font-size:13px}
.bo-pop-intro.bo-pop-attention{background:#fdecea;color:#c0392b}
.bo-pop-champ{display:flex;flex-direction:column;gap:6px}
.bo-pop-label{font-weight:700;color:#16302a;margin:0}
.bo-pop-aide{font-size:12px;color:#5f5f5f;margin:0}
.bo-pop-titre{margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5f5f5f}
.bo-pop-liste{display:flex;flex-direction:column;gap:8px}
.bo-pop-produit{display:flex;align-items:center;gap:12px;margin:0;padding:12px 14px;border:1px solid #e6e3dd;border-radius:10px;background:#fff;cursor:pointer;transition:.15s;font-weight:400}
.bo-pop-produit:hover{border-color:#2D5947}
.bo-pop-produit:has(input:checked){border-color:#2D5947;background:#eaf2ee}
.bo-pop-produit input{width:18px!important;height:18px!important;flex:none;margin:0}
.bo-pop-produit b{display:block;color:#222}
.bo-pop-produit small{display:block;color:#5f5f5f}
.bo-pop-commande{margin:4px 0 0;font-weight:700;color:#16302a}
.bo-pop-option{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border-radius:10px;background:#f6f5f2;font-weight:500;cursor:pointer}
.bo-pop-option input{width:18px!important;height:18px!important;flex:none;margin:2px 0 0}
.bo-pop-info{display:flex;gap:10px;margin:0;padding:12px 14px;border-radius:10px;background:#fbf3e3;color:#6b5016;font-size:13px}
.bo-pop-info .fa{margin-top:2px}
.bo-pop-deja{margin:0;padding:10px 14px;border-radius:10px;background:#fdecea;color:#c0392b;font-weight:700;font-size:13px}
.bo-pop-tel{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:#eaf2ee;color:#16302a;font-size:15px}
.bo-pop-tel a{font-weight:700;color:#2D5947}
.bo-pop-zone{padding-top:14px;border-top:1px solid #e6e3dd}
.bo-pop .btn-sm{border-radius:8px;font-weight:700}
.bo-modal .modal-body .btn-primary{background:#2D5947!important;border-color:#2D5947!important;color:#fff!important;border-radius:8px;font-weight:700;padding:8px 16px}
.bo-modal .modal-body .btn-primary:hover{background:#224537}
.bo-modal .modal-body .btn-danger{background:#fff!important;border:1px solid #f5c6c0!important;color:#c0392b!important;border-radius:8px;font-weight:700;padding:8px 16px}
.bo-modal .modal-body .btn-danger:hover{background:#fdecea}
.bo-modal .text-success{color:#2D5947!important}
.bo-modal .text-danger{color:#c0392b!important}
@media (max-width:900px){.bo-exp-magasins{grid-template-columns:repeat(2,minmax(0,1fr))}.bo-exp-magasin:nth-child(2){border-right:0}.bo-exp-magasin:nth-child(-n+2){border-bottom:1px solid var(--bo-bordure)}}
/* --- Liste des commandes (pro_commande.php, liste_commande) : .bo-cmd --- */
.bo-cmd{margin-top:16px}
.bo-cmd-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.bo-cmd-tete .bo-titre{display:flex;align-items:center;gap:12px}
.bo-cmd-tete .bo-titre .fa{color:var(--bo-vert);font-size:24px}
.bo-cmd-filtres{margin-bottom:18px}
.bo-cmd-outils{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px;margin-bottom:20px}
.bo-cmd-outils .bo-carte{padding:20px}
.bo-cmd-outils .bo-carte-titre{margin-bottom:14px}
.bo-cmd-ligne{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 10px}
.bo-cmd-ligne:last-child{margin-bottom:0}
.bo-cmd-lib{margin:0;font-size:13px;font-weight:700;color:var(--bo-doux)}
.bo-cmd-champ{min-width:0}
.bo-cmd .form-control{height:42px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:14px;box-shadow:none}
.bo-cmd .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-cmd-ligne .bo-btn,.bo-cmd-export .bo-btn{height:42px}
.bo-cmd-dates{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}
.bo-cmd-export-pied{margin-top:16px;padding-top:14px;border-top:1px solid var(--bo-bordure)}
.bo-cmd-legende{margin-bottom:12px}
.bo-cmd-l-borne,.bo-cmd-l-mail{display:inline-block;width:22px;height:14px;border-radius:4px;vertical-align:-2px;margin-right:4px}
.bo-cmd-l-borne{border:2px dashed var(--bo-rouge)}
.bo-cmd-l-mail{background:#d5e6ec;border:1px solid #A5C3CD}
.bo-cmd-total{font-size:13px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-cmd-cadre{background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);overflow:auto}
.bo-cmd .bo-cmd-table{width:100%;margin:0;border-collapse:separate;border-spacing:0;font-size:13px}
.bo-cmd .bo-cmd-table th{position:sticky;top:0;z-index:1;background:var(--bo-creme);border:0;border-bottom:1px solid var(--bo-bordure);padding:10px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux);white-space:nowrap}
.bo-cmd .bo-cmd-table td{border:0;border-bottom:1px solid var(--bo-bordure);padding:10px 12px;vertical-align:middle;background:#fff}
.bo-cmd .bo-cmd-table tbody tr:last-child td{border-bottom:0}
.bo-cmd .bo-cmd-table tbody tr:hover td{background:#fbfaf7}
.bo-cmd .bo-cmd-table tr.bo-cmd-borne td{border-top:2px dashed var(--bo-rouge);border-bottom:2px dashed var(--bo-rouge)}
.bo-cmd .bo-cmd-table tr.bo-cmd-borne td:first-child{border-left:2px dashed var(--bo-rouge)}
.bo-cmd .bo-cmd-table tr.bo-cmd-borne td:last-child{border-right:2px dashed var(--bo-rouge)}
.bo-cmd-num{white-space:nowrap}
.bo-cmd-num a{color:var(--bo-vert)!important;font-size:14px}
.bo-cmd-num small,.bo-cmd-client small{display:block;color:var(--bo-doux);font-size:12px}
.bo-cmd .bo-cmd-table td.bo-cmd-mail{background:#e3eef2;box-shadow:inset 4px 0 0 #A5C3CD}
.bo-cmd-client a{color:var(--bo-texte)!important;text-decoration:none!important}
.bo-cmd-client a:hover b{color:var(--bo-vert)}
.bo-cmd-lignes span{display:block;line-height:1.5}
.bo-cmd-lignes span+span{margin-top:4px;padding-top:4px;border-top:1px dashed #eeebe5}
.bo-cmd-code{font-family:Consolas,"Courier New",monospace;font-size:12px;color:var(--bo-doux)}
.bo-cmd-montant{font-weight:700;white-space:nowrap}
.bo-cmd-paiement{display:inline-block;padding:2px 8px;border-radius:6px;background:var(--bo-creme);border:1px solid var(--bo-bordure);font-size:12px;font-weight:700;color:var(--bo-doux)}
.bo-cmd-etat{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#eceae5;color:var(--bo-texte)}
.bo-cmd-etat-p{background:#429E6F;color:#fff}
.bo-cmd-etat-violet{background:#be52bf;color:#fff}
.bo-cmd-etat-bleu{background:#A5C3CD;color:#fff}
.bo-cmd-actions{text-align:right;white-space:nowrap}
.bo-cmd-actions a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:2px;border-radius:8px;border:1px solid var(--bo-bordure);background:#fff;color:var(--bo-doux)!important;text-decoration:none!important;transition:.15s}
.bo-cmd-actions a:hover{border-color:var(--bo-vert);color:var(--bo-vert)!important;background:var(--bo-vert-pale)}
.bo-cmd-actions a.bo-cmd-archivee{background:var(--bo-or-pale);border-color:#ecd9b0;color:#9a6b12!important}
.bo-cmd-actions a.bo-cmd-expedier:hover{background:var(--bo-vert);color:#fff!important}
.bo-cmd-vide{text-align:center;color:var(--bo-doux);padding:28px!important}
.bo-cmd-pagination{margin-top:16px;display:flex;justify-content:center}
.bo-cmd-pagination .pagination{margin:0;gap:4px;flex-wrap:wrap}
.bo-cmd-pagination .page-link{border:1px solid var(--bo-bordure);border-radius:8px!important;color:var(--bo-texte);min-width:38px;text-align:center;margin:0}
.bo-cmd-pagination .page-link:hover{background:var(--bo-vert-pale);color:var(--bo-vert);border-color:var(--bo-vert)}
.bo-cmd-pagination .page-item.active .page-link{background:var(--bo-vert);border-color:var(--bo-vert);color:#fff}
.bo-cmd-pagination .page-item.disabled .page-link{color:#bbb}
@media (max-width:1000px){.bo-cmd-outils{grid-template-columns:1fr}.bo-cmd-ligne{grid-template-columns:90px minmax(0,1fr) auto}}
/* --- Fiche commande (pro_commande.php, voir_commande) : .bo-vc --- */
.bo-vc{margin-top:16px}
.bo-vc-tete{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.bo-vc-boutons{display:flex;flex-wrap:wrap;gap:8px}
.bo-vc-resume{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}
.bo-vc-resume .bo-tuile{border-top-width:1px;padding:14px 16px}
.bo-vc-resume .bo-tuile>span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux);margin-bottom:4px}
.bo-vc-resume .bo-tuile b{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:16px;color:var(--bo-vert-nuit)}
.bo-vc-resume .bo-tuile b a{color:var(--bo-vert)!important}
.bo-vc-resume .bo-cmd-etat{display:inline-flex;font-size:11px;margin:0;color:#fff}
.bo-vc-resume .bo-cmd-etat:not(.bo-cmd-etat-p):not(.bo-cmd-etat-violet):not(.bo-cmd-etat-bleu){color:var(--bo-texte)}
.bo-vc-paiement{margin:0 0 18px}
.bo-vc-paiement .lauchPaiement{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:var(--bo-rayon);background:var(--bo-rouge);color:#fff;cursor:pointer;box-shadow:0 8px 24px rgba(192,57,43,.25);transition:.15s}
.bo-vc-paiement .lauchPaiement:hover{background:#a5311f}
.bo-vc-paiement .lauchPaiement>.fa:first-child{font-size:24px}
.bo-vc-paiement .lauchPaiement>.fa:last-child{margin-left:auto;font-size:18px}
.bo-vc-paiement b{display:block;font-size:17px}
.bo-vc-paiement small{display:block;opacity:.85}
.bo-vc .bo-exp-pastille-borne{display:block;width:max-content;max-width:100%}
.bo-vc-carte{margin-bottom:8px}
.bo-vc-titre{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:17px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-vc-titre .fa,.bo-vc-section .fa{color:var(--bo-vert)}
.bo-vc-section{display:flex;align-items:center;gap:10px;margin:30px 0 12px;font-size:18px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-vc-carte>.table{margin:0 0 14px}
.bo-vc-carte>.table td{border:0;border-bottom:1px solid var(--bo-bordure);padding:10px 8px;vertical-align:middle}
.bo-vc-carte>.table td:first-child{font-weight:700;color:var(--bo-doux);font-size:13px}
.bo-vc-carte>.table tr:last-child td{border-bottom:0}
.bo-vc-carte form{margin:0}
.bo-vc-carte form .form-control{margin-right:4px;vertical-align:middle}
.bo-vc-carte form .btn{vertical-align:middle}
.bo-vc .form-control{height:38px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:14px;box-shadow:none}
.bo-vc textarea.form-control{height:auto}
.bo-vc .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-vc .btn{border-radius:8px;font-weight:700;box-shadow:none!important}
.bo-vc .btn-primary,.bo-vc .btn-success{background:var(--bo-vert)!important;border-color:var(--bo-vert)!important;color:#fff!important}
.bo-vc .btn-primary:hover,.bo-vc .btn-success:hover{background:var(--bo-vert-fonce)!important}
.bo-vc .btn-danger{background:#fff!important;border:1px solid #f0b8b0!important;color:var(--bo-rouge)!important}
.bo-vc .btn-danger:hover{background:var(--bo-rouge-pale)!important}
.bo-vc .btn-warning,.bo-vc .btn-secondary{background:var(--bo-or-pale)!important;border:1px solid #ecd9b0!important;color:#6b5016!important}
.bo-vc .submit,.bo-vc input[type=submit].submit{height:30px;min-width:34px;padding:0 8px;border:0;border-radius:6px;background:var(--bo-vert);color:#fff;font-size:12px;font-weight:700;cursor:pointer;vertical-align:middle}
.bo-vc .submit:hover{background:var(--bo-vert-fonce)}
.bo-vc input[type=text]:not(.form-control),.bo-vc select:not(.form-control),.bo-vc textarea:not(.form-control){height:30px;padding:0 6px;border:1px solid var(--bo-bordure);border-radius:6px;background:#fff;font-size:13px;vertical-align:middle;max-width:100%}
.bo-vc textarea:not(.form-control){padding:4px 6px}
.bo-vc input[type=checkbox]{accent-color:var(--bo-vert)}
.bo-vc-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.bo-vc-action{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon)}
.bo-vc-action h3{margin:0 0 4px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux)}
.bo-vc-action .bo-btn{height:auto;min-height:40px;padding:8px 14px;font-size:13px;white-space:normal;text-align:left;justify-content:flex-start}
.bo-vc-ok{font-size:12px;font-weight:700;color:var(--bo-vert)}
.bo-vc .bo-vc-table,.bo-vc-cadre,.bo-vc table[style*="E9E9E9"]{background:#fff;border:1px solid var(--bo-bordure)!important;border-radius:var(--bo-rayon);border-collapse:separate;border-spacing:0;overflow:hidden}
.bo-vc-cadre{overflow:auto;margin-bottom:12px}
.bo-vc-cadre>.table{margin:0}
.bo-vc .bo-vc-table td,.bo-vc .bo-vc-lignes>thead>tr>td,.bo-vc .bo-vc-lignes>tbody>tr>td,.bo-vc .bo-vc-lignes>tr>td{border-top:0;border-bottom:1px solid var(--bo-bordure);padding:9px 10px;vertical-align:middle;font-size:13px}
.bo-vc tr[style*="EEEEEE"]>td,.bo-vc tr[style*="eeeeee"]>td{background:var(--bo-creme)!important;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux);border-bottom:1px solid var(--bo-bordure)}
.bo-vc tr[style*="EEEEEE"],.bo-vc tr[style*="eeeeee"]{background:var(--bo-creme)!important}
.bo-vc-lignes tr.bgcolor1>td{background:#fff}
.bo-vc-lignes tr[style*="height:25px"]>td{background:var(--bo-creme);border-bottom:0;padding:4px!important}
.bo-vc-lignes tr.bg-success>td{background:var(--bo-vert-pale)!important;border-bottom:0}
.bo-vc-lignes tr.bg-success .text-white{color:var(--bo-vert)!important;font-weight:700}
.bo-vc-lignes table{background:transparent}
.bo-vc-lignes table td{border:0!important;padding:3px 4px!important}
.bo-vc img.del{cursor:pointer;opacity:.75}
.bo-vc img.del:hover{opacity:1}
.bo-vc .alert-info{background:var(--bo-creme);border:1px solid var(--bo-bordure);color:var(--bo-texte);border-radius:10px}
.bo-vc .alert-info a{color:var(--bo-vert);font-weight:700}
.bo-vc .table s{color:#9a968e}
@media (max-width:1000px){.bo-vc-resume{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* --- Fiche client (pro_client.php, view_client) : .bo-fc (réutilise .bo-vc-*, .bo-cmd-*) --- */
.bo-fc{margin-top:16px}
.bo-fc-identite{display:flex;align-items:center;gap:14px}
.bo-fc-avatar{flex:none;width:56px;height:56px;border-radius:50%;background:var(--bo-vert-nuit);color:var(--bo-or);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;letter-spacing:.02em}
.bo-fc .bo-vc-resume .bo-tuile small{display:block;margin-top:2px;font-size:12px;color:var(--bo-doux)}
.bo-fc .bo-vc-resume .bo-tuile small a{color:var(--bo-doux)}
.bo-fc-contact{font-size:14px!important;word-break:break-all}
.bo-fc-grille{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;align-items:start}
.bo-fc-cote{display:flex;flex-direction:column;gap:20px}
.bo-fc-cote .bo-carte,.bo-fc-compte{padding:22px}
.bo-fc-soustitre{margin:20px 0 10px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux)}
.bo-fc-cote .bo-fc-soustitre{margin-top:4px}
.bo-fc-champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.bo-fc-champs-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bo-fc-champ{display:flex;flex-direction:column;gap:5px;min-width:0}
.bo-fc-champ>label{margin:0;font-size:13px;font-weight:700;color:var(--bo-vert-nuit);display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.bo-fc-champ>label small{font-weight:400;color:var(--bo-doux)}
.bo-fc-champ>label a{font-weight:500;font-size:12px;color:var(--bo-vert)}
.bo-fc-large{grid-column:1/-1}
.bo-fc-bas{justify-content:flex-end}
.bo-fc-trio{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px}
.bo-fc-valeur{margin:0;height:40px;display:flex;align-items:center;padding:0 12px;background:var(--bo-creme);border-radius:8px;font-weight:700;color:var(--bo-texte)}
.bo-fc .form-control{height:40px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:14px;box-shadow:none}
.bo-fc textarea.form-control{height:auto}
.bo-fc .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-fc input[type=checkbox]{accent-color:var(--bo-vert)}
.bo-fc-bloc{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:10px;background:var(--bo-creme)}
.bo-fc-bloque{background:var(--bo-rouge-pale);box-shadow:inset 4px 0 0 var(--bo-rouge)}
.bo-fc-lib{margin:0;font-size:13px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-fc-case{display:flex;align-items:flex-start;gap:10px;margin:0;font-weight:700;cursor:pointer}
.bo-fc-case input{width:18px;height:18px;flex:none;margin:2px 0 0}
.bo-fc-case small{display:block;font-weight:400;color:var(--bo-doux)}
.bo-fc-champ>label.bo-fc-case{justify-content:flex-start;align-items:flex-start;font-size:14px}
.bo-fc-dates{margin:16px 0 0;font-size:12px;color:var(--bo-doux)}
.bo-fc-envoi{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--bo-bordure)}
.bo-fc-attention{margin:0 0 12px;font-size:13px;color:var(--bo-rouge);font-weight:700}
.bo-fc-connexion{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:0 0 10px}
.bo-fc-connexion .bo-btn{height:40px}
.bo-fc-lien{font-size:13px;color:var(--bo-vert)!important}
.bo-fc-fidelite{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.bo-fc-fidelite div{padding:12px;border-radius:10px;background:var(--bo-or-pale);text-align:center}
.bo-fc-fidelite b{display:block;font-size:26px;color:var(--bo-vert-nuit);line-height:1.1}
.bo-fc-fidelite span{font-size:12px;color:#6b5016}
.bo-fc-cote form .bo-fc-champs{margin-bottom:12px}
.bo-fc-liste,.bo-fc-adresses{list-style:none;margin:0 0 12px;padding:0}
.bo-fc-liste li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--bo-bordure)}
.bo-fc-liste li:last-child{border-bottom:0}
.bo-fc-liste small{grid-column:2;font-size:12px;color:var(--bo-doux)}
.bo-fc-type{grid-row:1/3;padding:4px 8px;border-radius:6px;background:var(--bo-vert-pale);color:var(--bo-vert);font-size:11px;font-weight:700;text-transform:uppercase}
.bo-fc-type-avoir{background:var(--bo-or-pale);color:#6b5016}
.bo-fc-vide{color:var(--bo-doux);font-size:13px;display:block!important;padding:8px 0}
.bo-fc-adresses li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-bottom:6px;border:1px solid var(--bo-bordure);border-radius:10px}
.bo-fc-adresses li span:first-child{min-width:0}
.bo-fc-adresses b{display:block}
.bo-fc-adresses small{display:block;font-size:12px;color:var(--bo-doux)}
.bo-fc-adresses em{display:inline-flex;gap:4px;margin-top:2px;font-style:normal;font-size:12px;font-weight:700;color:var(--bo-vert)}
.bo-fc-adresses a{font-size:12px;color:var(--bo-vert)}
.bo-fc-adresses li.bo-fc-principale{border-color:var(--bo-vert);background:var(--bo-vert-pale)}
.bo-fc-adr-actions{display:flex;gap:4px;flex:none}
.bo-fc-icone{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--bo-bordure);background:#fff;color:var(--bo-doux)!important;text-decoration:none!important;transition:.15s}
.bo-fc-icone:hover{border-color:var(--bo-vert);color:var(--bo-vert)!important;background:var(--bo-vert-pale)}
.bo-fc-icone.bo-fc-suppr:hover{border-color:var(--bo-rouge);color:var(--bo-rouge)!important;background:var(--bo-rouge-pale)}
.bo-fc-icone.bo-cmd-archivee{background:var(--bo-or-pale);border-color:#ecd9b0;color:#9a6b12!important}
.bo-fc-icone.bo-fc-important{background:var(--bo-rouge-pale);border-color:#f5c6c0;color:var(--bo-rouge)!important}
.bo-fc-tableau{background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);padding:12px;overflow:auto}
.bo-fc-tableau .table{margin:0;font-size:13px;border-collapse:separate;border-spacing:0}
.bo-fc-tableau .table th{background:var(--bo-creme);border:0;border-bottom:1px solid var(--bo-bordure);padding:10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux);white-space:nowrap}
.bo-fc-tableau .table td{border:0;border-bottom:1px solid var(--bo-bordure);padding:10px;vertical-align:middle}
.bo-fc-tableau .dataTables_wrapper .dataTables_filter input,.bo-fc-tableau .dataTables_wrapper .dataTables_length select{height:34px;border:1px solid var(--bo-bordure);border-radius:8px;padding:0 8px;margin-left:6px}
.bo-fc-tableau .dataTables_wrapper .dataTables_info,.bo-fc-tableau .dataTables_wrapper .dataTables_length,.bo-fc-tableau .dataTables_wrapper .dataTables_filter{font-size:13px;color:var(--bo-doux);margin:6px 0}
.bo-fc-tableau .dataTables_wrapper .paginate_button,.bo-fc-tableau .dataTables_wrapper .paginate_enabled_next,.bo-fc-tableau .dataTables_wrapper .paginate_enabled_previous,.bo-fc-tableau .dataTables_wrapper .paginate_disabled_next,.bo-fc-tableau .dataTables_wrapper .paginate_disabled_previous{border-radius:8px;font-size:13px}
.bo-fc-fil>td{background:var(--bo-creme)!important}
.bo-fc-message{margin:0 0 8px;padding:10px 14px;border-radius:10px;background:#fff;border:1px solid var(--bo-bordure);font-size:13px}
.bo-fc-message b{display:block;margin-bottom:4px;font-size:12px;color:var(--bo-doux)}
.bo-fc-reponse{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px}
.bo-fc-reponse .bo-fc-soustitre{margin:0}
.bo-fc-prochaine{display:block;font-size:12px;font-style:italic;color:var(--bo-rouge)}
.bo-fc-notes{margin-top:20px}
.bo-fc-ajout-histo{margin-top:14px;padding:20px}
.bo-fc-ajout-histo .bo-fc-soustitre{margin-top:0}
@media (max-width:1100px){.bo-fc-grille{grid-template-columns:1fr}}
@media (max-width:700px){.bo-fc-champs,.bo-fc-champs-3{grid-template-columns:1fr}.bo-fc-trio,.bo-fc-connexion{grid-template-columns:1fr}}
/* --- Liste des clients (pro_client.php, liste_client) : .bo-lc (réutilise .bo-cmd-*) --- */
.bo-lc{margin-top:16px}
.bo-lc .bo-cmd-tete .bo-titre{display:flex;align-items:center;gap:12px}
.bo-lc .bo-cmd-tete .bo-titre .fa{color:var(--bo-vert);font-size:24px}
.bo-lc-compteur{padding:3px 12px;border-radius:999px;background:var(--bo-vert-pale);color:var(--bo-vert);font-size:14px;font-weight:700}
.bo-lc-aide{margin-left:auto;font-size:12px;font-weight:400;color:var(--bo-doux)}
.bo-lc-reset{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--bo-rouge)!important}
.bo-lc .bo-cmd-recherche form .bo-cmd-ligne{margin-bottom:10px}
.bo-lc-table th a{color:var(--bo-doux)!important;text-decoration:none!important;white-space:nowrap}
.bo-lc-table th a .fa{margin-left:4px;opacity:.5}
.bo-lc-table th.bo-lc-trie a{color:var(--bo-vert)!important}
.bo-lc-table th.bo-lc-trie a .fa{opacity:1}
.bo-lc-nom{display:inline-flex;align-items:center;gap:10px;color:var(--bo-texte)!important;text-decoration:none!important}
.bo-lc-nom:hover b{color:var(--bo-vert)}
.bo-lc-avatar{flex:none;width:32px;height:32px;border-radius:50%;background:var(--bo-vert-pale);color:var(--bo-vert);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.bo-lc-table td a{color:var(--bo-texte)}
.bo-lc-mail{color:var(--bo-doux);word-break:break-all}
.bo-lc-table tr.bo-lc-archive td{color:#9a968e}
.bo-lc-table tr.bo-lc-archive .bo-lc-avatar{background:#eceae5;color:#9a968e}
.bo-cmd-actions a.bo-lc-suppr:hover{border-color:var(--bo-rouge);color:var(--bo-rouge)!important;background:var(--bo-rouge-pale)}
.bo-lc .dataTables_wrapper{padding:12px}
.bo-lc .dataTables_wrapper .dataTables_filter input,.bo-lc .dataTables_wrapper .dataTables_length select{height:34px;border:1px solid var(--bo-bordure);border-radius:8px;padding:0 8px;margin-left:6px}
/* --- Commande par téléphone (admin index.php, creation_compte_admin) : .bo-cca --- */
.bo-cca{margin-top:16px}
.bo-cca-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.bo-cca .bo-carte{padding:22px}
.bo-cca-champ{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;min-width:0}
.bo-cca-lib{margin:0;font-size:13px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-cca-lib small{font-weight:400;color:var(--bo-doux);margin-left:4px}
.bo-cca-req{color:var(--bo-rouge)}
.bo-cca-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.bo-cca .form-control{height:42px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:14px;box-shadow:none}
.bo-cca .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-cca .form-control:user-invalid{border-color:var(--bo-rouge)}
.bo-cca-erreur{color:var(--bo-rouge);font-size:12px;font-weight:700}
.bo-cca-villes{display:flex;flex-direction:column;gap:4px}
.bo-cca .villeJquery{background:#fff!important;border:1px solid var(--bo-bordure);border-radius:8px;padding:8px 12px!important;margin:0!important;cursor:pointer}
.bo-cca .villeJquery span{color:var(--bo-texte)!important;font-weight:500}
.bo-cca .villeJquery:hover{border-color:var(--bo-vert);background:var(--bo-vert-pale)!important}
.bo-cca .bo-pastille span{padding:8px 14px}
.bo-cca-anglais{display:flex;align-items:center;gap:10px;margin:0;color:#fff;font-weight:500;cursor:pointer}
.bo-cca-anglais input{width:18px;height:18px;accent-color:var(--bo-or)}
.bo-cca .bo-barre .bo-btn-second{background:transparent;color:#fff!important;border-color:rgba(255,255,255,.3)}
.bo-cca-ok{max-width:720px;margin:0 auto;text-align:center;padding:30px!important}
.bo-cca-ok h2{font-size:22px;font-weight:700;color:var(--bo-vert-nuit);margin:0 0 10px}
.bo-cca-info{margin:0 0 18px;color:var(--bo-doux);font-size:14px}
.bo-cca-login{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:0 0 10px}
.bo-cca-login .bo-btn{height:42px}
.bo-cca-note{margin:0;font-size:13px;color:var(--bo-rouge);font-weight:700}
@media (max-width:1000px){.bo-cca-grille{grid-template-columns:1fr}}
@media (max-width:600px){.bo-cca-duo,.bo-cca-login{grid-template-columns:1fr}}
/* --- Gestion des SEO par URL (pro_seo.php) : .bo-seo --- */
.bo-alerte-succes{background:var(--bo-vert-pale);border-color:#cfe2d8;color:var(--bo-vert-nuit)}
.bo-alerte-succes a{font-weight:700}
.bo-seo{margin-top:16px}
.bo-seo .bo-titre{display:flex;align-items:center;gap:12px}
.bo-seo .bo-titre .fa{color:var(--bo-vert);font-size:22px}
.bo-seo .bo-vide{color:#c8c4bc}
.bo-seo .form-control{height:42px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:14px;box-shadow:none}
.bo-seo textarea.form-control{height:auto}
.bo-seo .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-seo-barre{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.bo-seo-stats{display:flex;gap:8px;flex-wrap:wrap}
.bo-seo-stats span{padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--bo-bordure);font-size:13px;color:var(--bo-doux)}
.bo-seo-stats b{color:var(--bo-vert-nuit)}
.bo-seo-cadre{padding:12px}
.bo-seo-lien a{color:var(--bo-vert)!important;font-family:Consolas,"Courier New",monospace;font-size:12px;word-break:break-all}
.bo-seo-lien .fa{font-size:11px;opacity:.6}
.bo-seo-titre small{margin-left:4px;font-size:11px;color:var(--bo-doux)}
.bo-seo-titre small.bo-seo-trop{color:var(--bo-rouge);font-weight:700}
.bo-seo .dataTables_wrapper .dataTables_filter input,.bo-seo .dataTables_wrapper .dataTables_length select{height:34px;border:1px solid var(--bo-bordure);border-radius:8px;padding:0 8px;margin-left:6px}
.bo-seo .dataTables_wrapper .dataTables_info,.bo-seo .dataTables_wrapper .dataTables_length,.bo-seo .dataTables_wrapper .dataTables_filter{font-size:13px;color:var(--bo-doux);margin:6px 0}
.bo-seo-grille{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}
.bo-seo-grille .bo-carte{padding:22px}
.bo-seo-url{display:flex;align-items:stretch;border:1px solid var(--bo-bordure);border-radius:8px;overflow:hidden;background:#fff}
.bo-seo-url span{display:flex;align-items:center;padding:0 10px;background:var(--bo-creme);border-right:1px solid var(--bo-bordure);font-size:13px;color:var(--bo-doux);white-space:nowrap}
.bo-seo-url .form-control{border:0!important;border-radius:0!important}
.bo-seo-compteur{margin-left:auto;padding:1px 8px;border-radius:999px;background:var(--bo-creme);font-size:11px;font-weight:700;color:var(--bo-doux)}
.bo-seo .bo-cca-lib{display:flex;align-items:center;gap:6px}
.bo-seo-compteur.bo-seo-court{background:var(--bo-or-pale);color:#6b5016}
.bo-seo-compteur.bo-seo-bien{background:var(--bo-vert-pale);color:var(--bo-vert)}
.bo-seo-compteur.bo-seo-trop{background:var(--bo-rouge-pale);color:var(--bo-rouge)}
.bo-seo-apercu{position:sticky;top:90px}
.bo-seo-google{display:flex;flex-direction:column;gap:3px;padding:16px;border:1px solid var(--bo-bordure);border-radius:10px;background:#fff;font-family:Arial,sans-serif;margin-bottom:14px}
.bo-seo-g-url{font-size:12px;color:#202124;word-break:break-all}
.bo-seo-g-titre{font-size:19px;line-height:1.3;color:#1a0dab;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.bo-seo-g-desc{font-size:13px;line-height:1.5;color:#4d5156;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bo-seo-conseils{margin:0;padding-left:18px;font-size:13px;color:var(--bo-doux)}
.bo-seo-conseils li{margin-bottom:4px}
@media (max-width:1000px){.bo-seo-grille{grid-template-columns:1fr}.bo-seo-apercu{position:static}}
/* --- Liste des produits (pro_produit.php, liste_produit) : .bo-pp (réutilise .bo-cmd-*, .bo-lc-*) --- */
.bo-pp{margin-top:16px}
.bo-pp .bo-cmd-tete .bo-titre{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bo-pp .bo-cmd-tete .bo-titre .fa{color:var(--bo-vert);font-size:24px}
.bo-pp-barre{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.bo-pp-recherche{position:relative;display:flex;gap:8px;max-width:560px;margin:0}
.bo-pp-recherche>.fa{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--bo-doux)}
.bo-pp-recherche .form-control{height:42px;padding-left:38px;border:1px solid var(--bo-bordure);border-radius:999px;box-shadow:none}
.bo-pp-recherche .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-pp-recherche .bo-btn{height:42px;border-radius:999px}
.bo-pp-nom a{font-weight:700;color:var(--bo-texte)!important}
.bo-pp-nom a:hover{color:var(--bo-vert)!important}
.bo-pp-nom small{display:block;font-size:11px;color:var(--bo-doux)}
.bo-pp-fp{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:6px;background:var(--bo-or-pale);color:#6b5016;font-size:10px;font-weight:700;vertical-align:1px}
.bo-pp-puces{white-space:normal;min-width:150px}
.bo-pp-puce{display:inline-flex;align-items:center;gap:4px;margin:2px 2px 2px 0;padding:3px 9px;border-radius:999px;border:1px solid var(--bo-bordure);background:#fff;color:#a19d95!important;font-size:11px;font-weight:700;text-decoration:none!important;cursor:pointer;user-select:none;transition:.15s;white-space:nowrap}
.bo-pp-puce::before{content:"";width:7px;height:7px;border-radius:50%;background:#d6d1c7}
.bo-pp-puce:hover{border-color:var(--bo-vert);color:var(--bo-vert)!important}
.bo-pp-puce.bo-on{background:var(--bo-vert-pale);border-color:#cfe2d8;color:var(--bo-vert)!important}
.bo-pp-puce.bo-on::before{background:var(--bo-vert)}
.bo-pp-puce.bo-pp-out.bo-on{background:var(--bo-rouge-pale);border-color:#f5c6c0;color:var(--bo-rouge)!important}
.bo-pp-puce.bo-pp-out.bo-on::before{background:var(--bo-rouge)}
.bo-pp-puce:focus-visible{outline:2px solid var(--bo-or);outline-offset:1px}
.bo-pp-table tr.bo-pp-inactif td{background:#fbfaf7}
.bo-pp-table tr.bo-pp-inactif .bo-pp-nom a{color:#9a968e!important}
.bo-pp-masse{margin-top:24px;padding:20px}
.bo-pp-masse .bo-carte-titre .fa{color:var(--bo-or)}
.bo-pp-masse-liens{display:flex;flex-wrap:wrap;gap:8px}
/* --- Ajout de produit (pro_produit.php, ajout_produit) : .bo-ap --- */
.bo-ap{margin-top:16px}
.bo-ap-grille{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.bo-ap-sommaire{position:sticky;top:90px;display:flex;flex-direction:column;gap:2px;padding:10px;background:#fff;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon)}
.bo-ap-sommaire a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--bo-texte)!important;font-size:13px;font-weight:500;text-decoration:none!important}
.bo-ap-sommaire a .fa{width:16px;text-align:center;color:var(--bo-vert)}
.bo-ap-sommaire a:hover{background:var(--bo-vert-pale);color:var(--bo-vert)!important}
.bo-ap-sommaire a[hidden]{display:none}
.bo-ap-contenu{display:flex;flex-direction:column;gap:20px;min-width:0}
.bo-ap #div_option{display:flex;flex-direction:column;gap:20px}
.bo-ap #div_option[style*="none"]{display:none!important}
.bo-ap-carte{padding:22px;scroll-margin-top:90px}
.bo-ap .form-control{height:42px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:14px;box-shadow:none}
.bo-ap textarea.form-control{height:auto}
.bo-ap .form-control:focus{border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-ap input[type=checkbox],.bo-ap input[type=radio]{accent-color:var(--bo-vert);width:16px;height:16px}
.bo-ap .bo-cca-lib{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bo-ap-ligne{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px}
.bo-ap-photo{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;border:2px dashed #d6d1c7;border-radius:var(--bo-rayon);background:var(--bo-creme);text-align:center}
.bo-ap-photo img{width:100%;max-width:200px;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:8px}
.bo-ap-photo small{font-size:12px;color:var(--bo-vert);font-weight:700;word-break:break-all}
.bo-ap-futur{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:14px;align-items:center;padding:14px;border-radius:10px;background:var(--bo-or-pale)}
.bo-ap-futur .bo-cca-champ{margin:0}
.bo-ap-prix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.bo-ap-large{grid-column:span 1}
.bo-ap-euro{position:relative}
.bo-ap-euro::after{content:"€";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--bo-doux);font-weight:700}
.bo-ap-euro .form-control{padding-right:28px}
.bo-ap-cases{display:flex;flex-wrap:wrap;gap:8px}
.bo-ap-cases>label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 12px;border:1px solid var(--bo-bordure);border-radius:999px;background:#fff;font-size:13px;font-weight:500;cursor:pointer}
.bo-ap-cases>label:hover{border-color:var(--bo-vert)}
.bo-ap-cases-col{flex-direction:column}
.bo-ap-cases-col>label{border-radius:10px;padding:12px 14px;align-items:flex-start}
.bo-ap-bloc{margin-bottom:16px}
.bo-ap-bloc .bo-fc-soustitre{margin:0 0 8px}
.bo-ap-bloc .bo-fc-soustitre small{text-transform:none;letter-spacing:0;font-weight:400}
.bo-ap-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bo-ap-ajax:empty,.bo-ap-ajax>div:empty{display:none}
.bo-ap-ajax{display:flex;flex-direction:column;gap:12px;font-size:14px}
.bo-ap-ajax select{height:42px;border:1px solid var(--bo-bordure);border-radius:8px;padding:0 10px;max-width:360px;width:100%}
.bo-ap-ajax h3,.bo-ap-ajax h2{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux);margin:8px 0}
.bo-ap-ajax br+br{display:none}
/* contenu AJAX marque / famille (modules/Admin/ajax/pro_cat_produit.php, pro_famille_produit.php — HTML d'origine inchangé) */
.bo-ap #div_marque table{width:100%;max-width:520px;margin:0}
.bo-ap #div_marque td{padding:0!important;border:0!important;vertical-align:middle}
.bo-ap #div_marque td[width]{width:auto!important;padding-right:14px!important;font-size:13px;font-weight:700;color:var(--bo-vert-nuit);white-space:nowrap}
.bo-ap #div_marque select{max-width:320px}
.bo-ap #div_famille{display:flex;flex-wrap:wrap;gap:8px}
.bo-ap #div_famille:empty{display:none}
.bo-ap #div_famille>br{display:none}
.bo-ap #div_famille>h1{flex-basis:100%;margin:12px 0 2px!important;padding:0;font-size:12px!important;line-height:1.4;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux)!important;font-family:inherit}
.bo-ap #div_famille>.clear{flex-basis:100%;height:0;margin:0}
.bo-ap #div_famille>div[style*="float"]{float:none!important;width:auto!important;margin:0!important;display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border:1px solid var(--bo-bordure);border-radius:999px;background:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:.15s}
.bo-ap #div_famille>div[style*="float"]:hover{border-color:var(--bo-vert)}
.bo-ap #div_famille>div[style*="float"]:has(input:checked),.bo-ap #div_famille>div[style*="float"]:has(.checked){background:var(--bo-vert-pale);border-color:var(--bo-vert);color:var(--bo-vert);font-weight:700}
.bo-ap [class*="icheckbox_minimal"],.bo-ap [class*="iradio_minimal"]{filter:hue-rotate(140deg) saturate(.75)}
.bo-ap-marque{max-width:360px;margin:0}
.bo-ap-groupe{margin-top:6px;flex-basis:100%}
.bo-ap-groupe-titre{margin:0 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux)}
.bo-ap-puces{display:flex;flex-wrap:wrap;gap:8px}
.bo-ap-puce{position:relative;display:inline-flex;align-items:center;margin:0;cursor:pointer}
.bo-ap-puce input{position:absolute;opacity:0;pointer-events:none}
.bo-ap-puce span{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 10px;border:1px solid var(--bo-bordure);border-radius:999px;background:#fff;font-size:13px;font-weight:500;transition:.15s;user-select:none}
.bo-ap-puce span::before{content:"";width:16px;height:16px;border:1.5px solid #c8c4bc;border-radius:4px;background:#fff;flex:none;transition:.15s}
.bo-ap-puce:hover span{border-color:var(--bo-vert)}
.bo-ap-puce input:checked+span,.bo-ap-puce:has(.checked) span{background:var(--bo-vert-pale);border-color:var(--bo-vert);color:var(--bo-vert);font-weight:700}
.bo-ap-puce input:checked+span::before,.bo-ap-puce:has(.checked) span::before{background:var(--bo-vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--bo-vert)}
.bo-ap-puce input:focus-visible+span{outline:2px solid var(--bo-or);outline-offset:2px}
.bo-ap-puce [class*="icheckbox_"]{position:absolute!important;opacity:0}
.bo-ap-aucun{font-size:13px;color:var(--bo-doux)}
.bo-ap-tailles{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.bo-ap-choix{display:flex;align-items:center;gap:12px;padding:8px 14px;border:1px solid var(--bo-bordure);border-radius:10px;background:var(--bo-creme);font-size:13px}
.bo-ap-choix span{font-weight:700;color:var(--bo-doux);text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.bo-ap-choix label{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:700}
table.bo-ap-matiere{width:100%;margin:0 0 12px;border:1px solid var(--bo-bordure);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff}
table.bo-ap-matiere th{padding:8px 10px;background:var(--bo-creme);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux);border-bottom:1px solid var(--bo-bordure)}
table.bo-ap-matiere td{padding:8px 10px;vertical-align:middle}
table.bo-ap-matiere .form-control{min-width:110px}
.bo-ap-upload{border-top:1px dashed var(--bo-bordure)}
.bo-ap-vignettes img{max-height:70px;margin:6px 6px 0 0;border-radius:6px;border:1px solid var(--bo-bordure)}
.bo-ap .uploadifive-button{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;width:auto!important;padding:0 14px!important;height:34px!important;line-height:34px!important;border:1px solid var(--bo-bordure)!important;border-radius:8px!important;background:#fff!important;color:var(--bo-texte)!important;font:700 13px "Roboto",Arial,sans-serif!important;text-shadow:none!important;box-shadow:none!important}
.bo-ap .uploadifive-button:hover{border-color:var(--bo-vert)!important;color:var(--bo-vert)!important}
.bo-ap-suppr{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--bo-bordure);color:var(--bo-doux);cursor:pointer}
.bo-ap-suppr:hover{border-color:var(--bo-rouge);color:var(--bo-rouge);background:var(--bo-rouge-pale)}
.bo-ap-acc{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;align-items:center;margin-bottom:10px;padding:12px;border:1px solid var(--bo-bordure);border-radius:10px;background:var(--bo-creme)}
.bo-ap-acc>div:empty{display:none}
.bo-ap-filtre{max-width:360px;margin-bottom:12px}
.bo-ap-associes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;max-height:360px;overflow:auto;padding:4px}
.bo-ap-associes label{display:flex;align-items:center;gap:8px;margin:0;padding:7px 10px;border:1px solid var(--bo-bordure);border-radius:8px;font-size:12px;font-weight:500;text-transform:uppercase;cursor:pointer;background:#fff}
.bo-ap-associes label:hover{border-color:var(--bo-vert)}
.bo-ap-associes label[hidden]{display:none}
.bo-ap-onglets{display:flex;gap:6px;margin-bottom:14px;border-bottom:1px solid var(--bo-bordure)}
.bo-ap-onglets button{padding:10px 14px;border:0;border-bottom:3px solid transparent;background:none;font:inherit;font-weight:700;color:var(--bo-doux);cursor:pointer;margin-bottom:-1px}
.bo-ap-onglets button.bo-actif{color:var(--bo-vert-nuit);border-bottom-color:var(--bo-vert)}
#ap-textes{position:relative;overflow:hidden}
.bo-ap-panneau.bo-ap-cache{position:absolute!important;left:-10000px;top:0;width:100%;visibility:hidden}
.bo-ap-panneau .bo-fc-soustitre{margin:6px 0 8px}
.bo-ap .bo-barre{margin-top:20px}
@media (max-width:1100px){.bo-ap-grille{grid-template-columns:1fr}.bo-ap-sommaire{position:static;flex-direction:row;flex-wrap:wrap}}
@media (max-width:800px){.bo-ap-ligne,.bo-ap-prix,.bo-ap-duo,.bo-ap-futur,.bo-ap-acc{grid-template-columns:1fr}}
/* --- Modification de produit (pro_produit.php, edit_produit) : .bo-ed (réutilise .bo-ap-*) --- */
.bo-ed-titre-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.bo-ed-titre-ligne .bo-vc-titre{margin:0}
.bo-ed-out{margin-top:6px}
.bo-ed .bo-ap-champs{display:flex;flex-direction:column;gap:0}
/* matières existantes (.well générées par le serveur et par .add_matiere) */
.bo-ed #ap-matieres .well{position:relative;margin:0 0 14px;padding:16px;border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon);background:var(--bo-creme);box-shadow:none}
.bo-ed #ap-matieres .well h3{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux)}
.bo-ed #ap-matieres .well>br{display:none}
.bo-ed #ap-matieres .well>div[style*="float:left"]{float:none!important;display:inline-block;vertical-align:top;width:auto!important;margin:0 8px 8px 0!important}
.bo-ed #ap-matieres .well .form-control{width:180px!important;background:#fff}
.bo-ed #ap-matieres .well input[name^="couleur_"]{width:240px!important}
.bo-ed #ap-matieres .well .clear{clear:both}
.bo-ed #ap-matieres .well label{display:inline-flex;align-items:center;gap:8px;margin:0;font-weight:500}
.bo-ed #ap-matieres .well .table{margin:10px 0 0;background:#fff;border:1px solid var(--bo-bordure);border-radius:10px;border-collapse:separate;border-spacing:0;overflow:hidden}
.bo-ed #ap-matieres .well .table td{border:0;border-bottom:1px solid var(--bo-bordure);padding:6px 10px;vertical-align:middle}
.bo-ed #ap-matieres .well .table tr:last-child td{border-bottom:0}
.bo-ed #ap-matieres .well .table img[src*="produit_img"]{width:56px!important;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--bo-bordure)}
.bo-ed #ap-matieres .well .table .fa-arrows-alt{color:var(--bo-doux)}
.bo-ed #ap-matieres .well .table tbody tr:hover td{background:var(--bo-vert-pale)}
.bo-ed .del_image{cursor:pointer;opacity:.7}
.bo-ed .del_image:hover{opacity:1}
.bo-ed .btn-danger{background:#fff!important;border:1px solid #f0b8b0!important;color:var(--bo-rouge)!important;border-radius:8px;font-weight:700;font-size:13px;box-shadow:none!important}
.bo-ed .btn-danger:hover{background:var(--bo-rouge-pale)!important}
.bo-ed .btn-primary{background:var(--bo-vert)!important;border-color:var(--bo-vert)!important;border-radius:8px}
/* lignes accessoires existantes */
.bo-ed #matiere_accessoire .img,.bo-ed #champ_accessoire .well{margin:0 0 10px;padding:12px!important;border:1px solid var(--bo-bordure);border-radius:10px!important;background:var(--bo-creme)}
.bo-ed #matiere_accessoire .img>div[style*="float:left"],.bo-ed #champ_accessoire div[style*="float:left"]{float:none!important;display:inline-block;vertical-align:middle;width:auto!important;margin:0 8px 8px 0!important}
.bo-ed #matiere_accessoire input[type=text],.bo-ed #matiere_accessoire select{height:38px;width:160px!important;padding:0 10px;border:1px solid var(--bo-bordure);border-radius:8px;background:#fff;margin:0!important}
.bo-ed #matiere_accessoire .img img{width:56px!important;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--bo-bordure)}
.bo-ed #matiere_accessoire .delete_ligne{margin:4px 0 0!important}
/* --- Tailles et stocks d'un produit (pro_produit.php, edit_taille_matiere_produit) : .bo-tm --- */
.bo-tm{margin-top:16px}
.bo-tm .bo-titre{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.bo-tm .bo-titre .fa{color:var(--bo-vert);font-size:22px}
.bo-tm-legende{margin:0 0 18px}
.bo-tm-l{display:inline-block;width:14px;height:14px;border-radius:4px;background:#eceae5;border:1px solid #d6d1c7;vertical-align:-2px;margin-right:4px}
.bo-tm-l-on{background:var(--bo-vert);border-color:var(--bo-vert)}
.bo-tm-l-stock{background:var(--bo-vert-pale);border-color:#cfe2d8}
.bo-tm-matiere{margin-bottom:20px;padding:20px}
.bo-tm-tete{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.bo-tm-tete h2{margin:0;font-size:17px;font-weight:700;color:var(--bo-vert-nuit)}
.bo-tm-tete small{font-size:12px;color:var(--bo-doux)}
.bo-tm-pastille{flex:none;width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--bo-bordure)}
.bo-tm-total{margin-left:auto;padding:6px 12px;border-radius:999px;background:var(--bo-creme);font-size:13px;color:var(--bo-doux)}
.bo-tm-total b{color:var(--bo-vert-nuit);font-size:15px}
.bo-tm-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bo-tm-taille{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--bo-bordure);border-radius:10px;background:#fff;transition:.15s}
.bo-tm-taille.bo-tm-stock{border-color:#cfe2d8;background:var(--bo-vert-pale)}
.bo-tm-taille.bo-tm-inactive{background:#f4f3f0;opacity:.7}
.bo-tm-haut{display:flex;align-items:center;justify-content:space-between;gap:6px}
.bo-tm-pointure{font-size:20px;font-weight:700;color:var(--bo-vert-nuit);line-height:1}
.bo-tm-actif{padding:3px 8px;border-radius:999px;background:#eceae5;color:#8a867e;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;user-select:none}
.bo-tm-actif.bo-on{background:var(--bo-vert);color:#fff}
.bo-tm-actif:focus-visible,.bo-tm-cmd:focus-visible{outline:2px solid var(--bo-or);outline-offset:1px}
.bo-tm-lib{display:flex;flex-direction:column;gap:2px;margin:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-doux)}
.bo-tm-lib input{height:32px;width:100%;padding:0 8px;border:1px solid var(--bo-bordure);border-radius:6px;background:#fff;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--bo-texte)}
.bo-tm-lib input:focus{outline:none;border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-tm-qte{font-weight:700!important;font-size:15px!important}
.bo-tm-ean{font-family:Consolas,"Courier New",monospace;font-size:12px!important}
.bo-tm-cmd{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--bo-doux);cursor:pointer;user-select:none}
.bo-tm-cmd .fa-chevron-down{margin-left:auto;transition:.15s}
.bo-tm-cmd.bo-ouvert .fa-chevron-down{transform:rotate(180deg)}
.bo-tm-cmd-on{color:#9a6b12}
.bo-tm-detail{flex-direction:column;gap:2px;font-size:12px;color:var(--bo-texte);padding:6px 8px;border-radius:6px;background:var(--bo-creme)}
.bo-tm-detail[style*="block"]{display:flex!important}
.bo-tm-pied{display:flex;justify-content:flex-end;margin-top:16px;padding-top:14px;border-top:1px solid var(--bo-bordure)}
.bo-tm-reglages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px}
.bo-tm-reglages .bo-carte{padding:20px}
.bo-tm-attention{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:var(--bo-rouge-pale);color:var(--bo-rouge);font-size:13px;font-weight:700}
.bo-tm input[type=radio],.bo-tm input[type=checkbox]{accent-color:var(--bo-vert)}
@media (max-width:900px){.bo-tm-reglages{grid-template-columns:1fr}.bo-tm-tete{flex-wrap:wrap}.bo-tm-total{margin-left:0}}
/* --- Accessoires : photos existantes d'une matière (edit_produit_accessoire) --- */
.bo-pa-images{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.bo-pa-images:empty{display:none}
.bo-pa-image{position:relative;width:64px;height:64px}
.bo-pa-image img{width:64px;height:64px;object-fit:cover;border-radius:8px;border:1px solid var(--bo-bordure)}
.bo-pa-image .del_image{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #f0b8b0;color:var(--bo-rouge);display:flex;align-items:center;justify-content:center;font-size:11px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.bo-pa-image .del_image:hover{background:var(--bo-rouge);color:#fff}
/* ==========================================================================
   BACK OFFICE — RÉFÉRENTIELS (06/10/2026) : pro_cat, pro_peausserie, pro_grain, pro_matiere, pro_talon, pro_taille_*
   Liste à gauche, carte d'ajout à droite (.bo-ref-grille) ; formulaire seul en modification (.bo-ref-seul).
   ========================================================================== */
.bo-ref-grille{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}
.bo-ref-grille>.bo-cmd-cadre{min-width:0}
.bo-ref-form{position:sticky;top:16px}
.bo-ref-form .bo-vc-titre{margin-top:0}
.bo-ref-form input[type=submit]{width:100%}
.bo-ref-form .bo-actions input[type=submit]{width:auto}
.bo-ref-seul{position:static;max-width:520px}
.bo-ref .bo-cmd-table td b{font-weight:600}
.bo-ref .bo-cmd-actions a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--bo-doux);text-decoration:none}
.bo-ref .bo-cmd-actions a:hover{background:var(--bo-fond,#f4f4f5);color:inherit}
.bo-ref .bo-cmd-actions a.bo-lc-suppr:hover{color:#c0392b}
@media (max-width:900px){.bo-ref-grille{grid-template-columns:1fr}.bo-ref-form{position:static}}
.bo-ref-large{max-width:980px}
.bo-ref .bo-ap-ajax select{max-width:none}
.bo-ref .bo-ap-groupe{margin-bottom:12px}
/* DataTables dans une page refaite (classe .bo-dt sur le cadre) */
.bo-dt .dataTables_wrapper{padding:12px}
.bo-dt .dataTables_wrapper .dataTables_filter input,.bo-dt .dataTables_wrapper .dataTables_length select{height:34px;border:1px solid var(--bo-bordure);border-radius:8px;padding:0 8px;margin-left:6px}
.bo-dt .dataTables_wrapper .dataTables_info,.bo-dt .dataTables_wrapper .dataTables_length,.bo-dt .dataTables_wrapper .dataTables_filter{font-size:13px;color:var(--bo-doux);margin:6px 0}
.bo-dt .dataTables_wrapper .paginate_button,.bo-dt .dataTables_wrapper .paginate_enabled_next,.bo-dt .dataTables_wrapper .paginate_enabled_previous,.bo-dt .dataTables_wrapper .paginate_disabled_next,.bo-dt .dataTables_wrapper .paginate_disabled_previous{border-radius:8px;font-size:13px}
.bo-dt table.dataTable{border-collapse:collapse!important;width:100%!important}
.bo-dt table.dataTable thead th{border-bottom:1px solid var(--bo-bordure)!important}
.bo-ref .bo-cmd-actions .fa-toggle-on{color:var(--bo-vert);font-size:17px}
.bo-ref .bo-cmd-actions .fa-toggle-off{font-size:17px}
.bo-flash-form .bo-ref-apercu{max-height:160px;margin:0 auto 14px}
/* fonds personnalisés */
.bo-bg-ligne{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}
.bo-bg-visuel{position:relative;border-radius:10px;overflow:hidden;background:var(--bo-creme);border:1px solid var(--bo-bordure);min-height:160px}
.bo-bg-visuel img{display:block;width:100%;height:auto}
.bo-bg-visuel span{position:absolute;left:8px;bottom:8px;padding:3px 9px;border-radius:999px;background:rgba(22,48,42,.85);color:#fff;font-size:11px;font-weight:700}
@media (max-width:700px){.bo-bg-ligne{grid-template-columns:1fr}}
/* bons cadeaux */
.bo-bon-reglages{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 24px;margin-bottom:20px}
.bo-bon-reglages .bo-vc-titre{flex-basis:100%;margin:0}
.bo-bon-reglages .bo-fc-case{margin:0 0 6px}
.bo-bon-reglages .bo-cca-champ{margin:0;width:220px}
.bo-bon-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-bottom:18px}
.bo-bon-montant{position:relative}
.bo-bon-montant span{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--bo-doux);font-weight:700}
.bo-bon-code{font-family:Consolas,Menlo,monospace;letter-spacing:.04em}
code.bo-bon-code{padding:3px 8px;border-radius:6px;background:var(--bo-creme);color:var(--bo-vert-nuit);font-size:13px}
.bo-bon-client{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--bo-bordure);background:var(--bo-creme);color:var(--bo-doux);font-weight:600;margin-bottom:10px}
.bo-bon-client.bo-actif{background:var(--bo-vert-pale);border-color:#cfe2d8;color:var(--bo-vert-nuit)}
.bo-bon-resultat:empty{display:none}
.bo-bon-resultat{margin:-6px 0 14px}
.bo-bon-resultat select{width:100%;border:1px solid var(--bo-bordure);border-radius:8px;padding:6px}
.bo-bon-tous{color:var(--bo-doux);font-style:italic}
.bo-ref-inactif td{color:var(--bo-doux)}
.bo-ref-inactif td b{opacity:.7}
@media (max-width:900px){.bo-bon-grille{grid-template-columns:1fr}}
/* pages et blog */
.bo-pg-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start;margin-bottom:18px}
.bo-pg-principal{display:flex;flex-direction:column;gap:18px;min-width:0}
.bo-pg-cote{display:flex;flex-direction:column;gap:18px;position:sticky;top:16px}
.bo-pg-form .bo-carte{position:relative;overflow:hidden}
.bo-pg-photo{border-radius:10px;overflow:hidden;background:var(--bo-creme);border:1px solid var(--bo-bordure);margin-bottom:10px;min-height:120px;display:flex;align-items:center;justify-content:center}
.bo-pg-photo img{display:block;width:100%;height:auto}
.bo-pg-vide{font-size:34px;color:#cfcac1}
.bo-pg-blog{background:var(--bo-or-pale)!important;border-color:#f0dfb8!important;color:#8a6a2b!important}
.bo-pg .ms-container{width:100%;max-width:720px}
.bo-pg .ms-container .ms-list{border-radius:10px;border-color:var(--bo-bordure);height:280px}
.bo-pg .ms-container .ms-selectable li.ms-hover,.bo-pg .ms-container .ms-selection li.ms-hover{background:var(--bo-vert);color:#fff}
.bo-pg-ms-tete{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux);margin-bottom:6px}
@media (max-width:900px){.bo-pg-grille{grid-template-columns:1fr}.bo-pg-cote{position:static}}
/* mails prédéfinis */
.bo-mp-recap{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:13px}
.bo-mp-recap dt{color:var(--bo-doux);font-weight:500}
.bo-mp-recap dd{margin:0;font-weight:600}
.bo-mp-pj{margin-bottom:8px}
.bo-mp-barre-info{font-size:13px;opacity:.85}
.bo-mp-apercu{max-width:760px}
.bo-mp-objet{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--bo-bordure);font-weight:700}
.bo-mp-objet span{display:inline-block;margin-right:8px;padding:2px 8px;border-radius:999px;background:var(--bo-creme);font-size:11px;color:var(--bo-doux);text-transform:uppercase;letter-spacing:.05em}
/* horaires : tableau FR / EN */
.bo-hor-tete,.bo-hor-ligne{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:center}
.bo-hor-tete{padding-bottom:10px;border-bottom:1px solid var(--bo-bordure);margin-bottom:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-doux)}
.bo-hor-tete img{height:12px;margin-right:4px;vertical-align:-1px}
.bo-hor-ligne .bo-cca-champ{margin:0 0 10px}
.bo-hor-ligne .bo-cca-lib{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.bo-hor-lib{font-weight:600;padding-bottom:10px}
@media (max-width:700px){.bo-hor-tete{display:none}.bo-hor-ligne{grid-template-columns:1fr;gap:0}.bo-hor-ligne .bo-cca-lib{position:static;width:auto;height:auto;clip:auto}.bo-hor-lib{display:none}}
/* slider de l'accueil */
.bo-sl-ajout{margin-bottom:20px}
.bo-sl-ajout .bo-sl-champs{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:14px;align-items:end}
.bo-sl-ajout .bo-cca-champ{margin:0}
.bo-sl-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:18px}
.bo-sl-carte{padding:16px;display:flex;flex-direction:column;gap:14px}
.bo-sl-visuel{position:relative;border-radius:10px;overflow:hidden;background:var(--bo-creme);aspect-ratio:1190/447}
.bo-sl-visuel img{width:100%;height:100%;object-fit:cover;display:block}
.bo-sl-pos{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;background:rgba(22,48,42,.85);color:#fff;font-size:12px;font-weight:700}
.bo-sl-carte .bo-sl-champs{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px}
.bo-sl-carte .bo-cca-champ{margin:0}
.bo-sl-carte .bo-actions{justify-content:space-between;margin:0}
.bo-sl .bo-lc-suppr:hover{color:var(--bo-rouge)!important;border-color:var(--bo-rouge)}
@media (max-width:700px){.bo-sl-grille{grid-template-columns:1fr}.bo-sl-ajout .bo-sl-champs,.bo-sl-carte .bo-sl-champs{grid-template-columns:1fr}}
.bo-ref-large .bo-actions{margin-top:18px}
.bo-ref-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px;align-items:start}
.bo-ref-groupe-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--bo-bordure);background:var(--bo-creme)}
.bo-ref-groupe-tete h2{margin:0;font-size:15px;font-weight:700;color:var(--bo-vert-nuit);display:flex;align-items:center;gap:8px}
.bo-ref-groupe-tete a{color:var(--bo-doux)}
.bo-ref-groupe .bo-cmd-table{margin:0}
.bo-ref-groupe .bo-cmd-table td{padding-top:8px;padding-bottom:8px;vertical-align:middle}
.bo-ref-groupe .bo-cmd-table tr:first-child td{border-top:0}
.bo-ref .bo-exp-vues{align-items:center;margin-bottom:14px}
.bo-ref-trier{font-size:13px;color:var(--bo-doux);margin-right:4px}
.bo-ref-trie-famille .bo-ref-col-famille,.bo-ref-trie-technique .bo-ref-col-technique,.bo-ref-trie-categorie .bo-ref-col-categorie,.bo-ref-trie-marque .bo-ref-col-marque{background:var(--bo-vert-pale);font-weight:600}
.bo-ref-tout{margin-left:8px;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
.bo-ref-vignette{display:block;width:56px;height:40px;object-fit:cover;border-radius:6px;border:1px solid var(--bo-bordure);background:var(--bo-creme)}
.bo-ref-apercu{display:block;max-width:100%;max-height:180px;border-radius:8px;border:1px solid var(--bo-bordure);margin-bottom:8px}
/* catégories d'accessoires : liste triable (jQuery UI sortable sur #sortable) */
.bo-ref-entete,.bo-ref-tri>li{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 16px}
.bo-ref-entete{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding-left:56px;background:var(--bo-creme);border-bottom:1px solid var(--bo-bordure);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--bo-doux)}
.bo-ref-tri{list-style:none;margin:0;padding:0}
.bo-ref-tri>li{background:#fff;border-bottom:1px solid var(--bo-bordure)}
.bo-ref-tri>li.bo-cmd-vide{display:block}
.bo-ref-tri>li.ui-sortable-helper{box-shadow:var(--bo-ombre);border:1px solid var(--bo-vert)}
.bo-ref-place{height:52px;background:var(--bo-vert-pale)!important;border:1px dashed var(--bo-vert)!important;visibility:visible!important}
.bo-ref-poignee{cursor:grab;color:var(--bo-doux);text-align:center}
.bo-ref-poignee:active{cursor:grabbing}
.bo-ref-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bo-creme)}
.bo-ref-pied .bo-aide{margin:0}
.bo-ref-modifie .bo-ref-pied{background:var(--bo-or-pale)}
@media (max-width:700px){.bo-ref .bo-ap-prix{grid-template-columns:1fr}.bo-ref-tri>li{grid-template-columns:28px minmax(0,1fr) auto}.bo-ref-tri>li>span:nth-of-type(2){display:none}.bo-ref-entete{display:none}}

/* =====================================================================
   BACK OFFICE — HABILLAGE AUTOMATIQUE (06/10/2026)
   Pages admin pas encore redessinées : #page.bo-admin (template.php). Les règles ne touchent
   que le HTML d'origine, jamais l'intérieur des blocs .bo déjà refaits (:not(.bo *)).
   ===================================================================== */
#page.bo-admin{--ba-vert:#2D5947;--ba-vert-fonce:#224537;--ba-nuit:#16302a;--ba-pale:#eaf2ee;--ba-or:#d9b26f;--ba-or-pale:#fbf3e3;--ba-rouge:#c0392b;--ba-rouge-pale:#fdecea;--ba-creme:#f6f5f2;--ba-bordure:#e6e3dd;--ba-doux:#5f5f5f;font-family:"Roboto","Helvetica Neue",Arial,sans-serif}
#page.bo-admin>.container,#page.bo-admin .container:not(.bo *){padding-top:20px;padding-bottom:40px}
/* titres */
.bo-admin h1:not(.bo *),.bo-admin h2:not(.bo *),.bo-admin h3:not(.bo *){font-family:inherit!important;color:var(--ba-nuit)!important;font-weight:700!important;letter-spacing:-.01em;line-height:1.25}
.bo-admin h1:not(.bo *){font-size:26px!important;margin:6px 0 14px!important}
.bo-admin h2:not(.bo *){font-size:20px!important;margin:18px 0 10px!important}
.bo-admin h3:not(.bo *){font-size:17px!important;margin:18px 0 8px!important;display:flex;align-items:center;gap:10px}
.bo-admin h3:not(.bo *)::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--ba-or);flex:none}
.bo-admin a:not(.bo *):not(.btn):not(.page-link){color:var(--ba-vert)}
/* tableaux */
.bo-admin table:not(.bo *):not(.ui-datepicker-calendar){background:#fff;border:1px solid var(--ba-bordure)!important;border-radius:12px;border-collapse:separate!important;border-spacing:0!important;overflow:hidden;margin-bottom:16px;font-size:13px;width:100%}
.bo-admin table:not(.bo *) td,.bo-admin table:not(.bo *) th{border:0!important;border-bottom:1px solid var(--ba-bordure)!important;padding:10px 12px!important;vertical-align:middle!important;background:transparent}
.bo-admin table:not(.bo *) tr:last-child>td{border-bottom:0!important}
.bo-admin table:not(.bo *) thead td,.bo-admin table:not(.bo *) thead th,.bo-admin table:not(.bo *) tr.bg-light td,.bo-admin table:not(.bo *) tr[style*="EEEEEE"] td,.bo-admin table:not(.bo *) tr[style*="eeeeee"] td,.bo-admin table:not(.bo *) td.bgcolor2:only-of-type{background:var(--ba-creme)!important;color:var(--ba-doux);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}
.bo-admin table:not(.bo *) tbody tr:hover>td{background:#fbfaf7}
.bo-admin table:not(.bo *) table{border:0!important;margin:0;background:transparent}
.bo-admin .bgcolor1:not(.bo *),.bo-admin .bgcolor2:not(.bo *){background:transparent!important}
.bo-admin table:not(.bo *) img[src*="images/"]{vertical-align:middle;transition:.15s}
.bo-admin table:not(.bo *) a:hover img[src*="images/"]{transform:scale(1.12)}
/* champs */
.bo-admin input[type=text]:not(.bo *),.bo-admin input[type=email]:not(.bo *),.bo-admin input[type=password]:not(.bo *),.bo-admin input[type=number]:not(.bo *),.bo-admin input[type=date]:not(.bo *),.bo-admin input[type=search]:not(.bo *),.bo-admin select:not(.bo *),.bo-admin textarea:not(.bo *){border:1px solid var(--ba-bordure);border-radius:8px;background:#fff;color:#222;font-size:14px;box-shadow:none;max-width:100%}
.bo-admin input[type=text]:not(.bo *),.bo-admin input[type=email]:not(.bo *),.bo-admin input[type=password]:not(.bo *),.bo-admin input[type=number]:not(.bo *),.bo-admin input[type=date]:not(.bo *),.bo-admin input[type=search]:not(.bo *),.bo-admin select:not(.bo *){min-height:38px;padding:4px 10px}
.bo-admin textarea:not(.bo *){padding:8px 10px}
.bo-admin input:not(.bo *):focus,.bo-admin select:not(.bo *):focus,.bo-admin textarea:not(.bo *):focus{outline:none;border-color:var(--ba-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-admin input[type=checkbox]:not(.bo *),.bo-admin input[type=radio]:not(.bo *){accent-color:var(--ba-vert);width:16px;height:16px;vertical-align:-3px}
/* boutons */
.bo-admin .btn:not(.bo *),.bo-admin input.submit:not(.bo *),.bo-admin .submit:not(.bo *),.bo-admin a.button:not(.bo *),.bo-admin input.button:not(.bo *),.bo-admin input[type=submit]:not(.bo *):not(.btn){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:6px 16px;border-radius:8px!important;border:1px solid transparent;font-weight:700;font-size:13px;line-height:1.2;box-shadow:none!important;text-decoration:none!important;cursor:pointer;transition:.15s}
.bo-admin .btn-primary:not(.bo *),.bo-admin .btn-success:not(.bo *),.bo-admin input.submit:not(.bo *),.bo-admin .submit:not(.bo *),.bo-admin a.button:not(.bo *),.bo-admin input.button:not(.bo *),.bo-admin input[type=submit]:not(.bo *):not(.btn){background:var(--ba-vert)!important;border-color:var(--ba-vert)!important;color:#fff!important}
.bo-admin .btn-primary:not(.bo *):hover,.bo-admin .btn-success:not(.bo *):hover,.bo-admin input.submit:not(.bo *):hover,.bo-admin input[type=submit]:not(.bo *):not(.btn):hover{background:var(--ba-vert-fonce)!important}
.bo-admin .btn-danger:not(.bo *){background:#fff!important;border-color:#f0b8b0!important;color:var(--ba-rouge)!important}
.bo-admin .btn-danger:not(.bo *):hover{background:var(--ba-rouge-pale)!important}
.bo-admin .btn-warning:not(.bo *),.bo-admin .btn-secondary:not(.bo *),.bo-admin .btn-info:not(.bo *),.bo-admin .btn-light:not(.bo *),.bo-admin .btn-default:not(.bo *){background:#fff!important;border-color:var(--ba-bordure)!important;color:#222!important}
.bo-admin .btn-warning:not(.bo *):hover,.bo-admin .btn-secondary:not(.bo *):hover,.bo-admin .btn-info:not(.bo *):hover{border-color:var(--ba-vert)!important;color:var(--ba-vert)!important}
.bo-admin .btn-sm:not(.bo *){min-height:30px;padding:4px 10px;font-size:12px}
/* encadrés */
.bo-admin .alert:not(.bo *),.bo-admin .well:not(.bo *),.bo-admin .ombrage:not(.bo *),.bo-admin .information:not(.bo *){border-radius:12px;border:1px solid var(--ba-bordure);box-shadow:none}
.bo-admin .alert-grey:not(.bo *),.bo-admin .well:not(.bo *),.bo-admin .ombrage:not(.bo *){background:var(--ba-creme)!important;color:#222}
.bo-admin .alert-info:not(.bo *){background:var(--ba-or-pale)!important;border-color:#ecd9b0;color:#6b5016}
.bo-admin .alert-success:not(.bo *),.bo-admin .information:not(.bo *){background:var(--ba-pale)!important;border-color:#cfe2d8;color:var(--ba-nuit)}
.bo-admin .alert-danger:not(.bo *){background:var(--ba-rouge-pale)!important;border-color:#f5c6c0;color:var(--ba-rouge)}
.bo-admin .card:not(.bo *){border:1px solid var(--ba-bordure);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.05)}
/* pagination */
.bo-admin .pagination:not(.bo *){gap:4px;flex-wrap:wrap}
.bo-admin .pagination:not(.bo *) .page-link{border:1px solid var(--ba-bordure);border-radius:8px!important;color:#222;min-width:38px;text-align:center;margin:0}
.bo-admin .pagination:not(.bo *) .page-item.active .page-link{background:var(--ba-vert);border-color:var(--ba-vert);color:#fff}
/* DataTables */
.bo-admin .dataTables_wrapper:not(.bo *) .dataTables_filter input,.bo-admin .dataTables_wrapper:not(.bo *) .dataTables_length select{height:34px;border:1px solid var(--ba-bordure);border-radius:8px;padding:0 8px;margin-left:6px}
.bo-admin .dataTables_wrapper:not(.bo *){font-size:13px;color:var(--ba-doux)}
/* export / import des colis (Expeditor, DPD) */
.bo-xc-etapes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;align-items:start;margin-top:30px}
.bo-xc-etape{position:relative;padding-top:28px}
.bo-xc-etape .bo-vc-titre{margin-top:0}
.bo-xc-num{position:absolute;top:-14px;left:22px;width:30px;height:30px;border-radius:50%;background:var(--bo-vert);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #fff}
.bo-xc-etape .bo-alerte{margin-bottom:14px}
.bo-xc-etape form{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.bo-xc-fichier{flex:1 1 260px;display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px dashed #cfcac1;border-radius:10px;background:var(--bo-creme);cursor:pointer;color:var(--bo-doux);font-weight:500;overflow:hidden}
.bo-xc-fichier:hover{border-color:var(--bo-vert);color:var(--bo-vert)}
.bo-xc-fichier span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bo-xc-fichier input{position:absolute;width:1px;height:1px;opacity:0}
.bo-xc-fichiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.bo-xc-dat{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--bo-bordure);border-radius:10px;background:#fff;text-decoration:none!important;color:var(--bo-texte)!important}
.bo-xc-dat:hover{border-color:var(--bo-vert);background:var(--bo-vert-pale)}
.bo-xc-dat .fa{font-size:18px;color:var(--bo-vert)}
.bo-xc-dat span{display:flex;flex-direction:column;line-height:1.3}
.bo-xc-dat small{color:var(--bo-doux);font-size:12px}
.bo-xc-liste{margin-top:28px}
.bo-xc-liste .bo-cmd-table td{vertical-align:middle}
@media (max-width:900px){.bo-xc-etapes{grid-template-columns:1fr}}
/* titres des pages pas encore redessinées (script de template.php) */
#page.bo-admin .bo-auto-tete{margin:8px 0 22px}
#page.bo-admin .bo-auto-fil{font-size:13px;color:var(--ba-doux);margin-bottom:6px}
#page.bo-admin .bo-auto-fil a{color:var(--ba-doux)!important;text-decoration:none}
#page.bo-admin .bo-auto-fil a:hover{color:var(--ba-vert)!important}
#page.bo-admin .bo-auto-titre{display:block!important;font-size:28px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:-.01em;color:var(--ba-nuit)!important;margin:0!important;padding:0!important;border:0!important;background:none!important;text-align:left!important}
#page.bo-admin .bo-auto-titre::before{content:none!important}
#page.bo-admin .bo-auto-section{display:flex!important;align-items:center;gap:10px;font-size:18px!important;font-weight:700!important;color:var(--ba-nuit)!important;margin:30px 0 14px!important;padding:0!important;border:0!important;background:none!important;text-align:left!important}
#page.bo-admin .bo-auto-section::before{content:"";width:4px;height:18px;border-radius:2px;background:var(--ba-or);flex:none}


/* ---------- BO : droits des administrateurs (admin&op=adm_right / edit_adm_right, 07/10/2026) ---------- */
.bo-dr .bo-note > div{flex:1}
.bo-dr .bo-note .fa{margin-top:2px}
.bo-dr-table td{vertical-align:middle}
.bo-dr-resume{display:block;margin-top:4px;color:var(--bo-doux);font-size:12px;line-height:1.45}
.bo-dr-outils{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.bo-dr-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.bo-dr-carte{padding:20px 20px 12px}
.bo-dr-carte .bo-carte-titre{margin-bottom:12px}
.bo-dr-liste{display:flex;flex-direction:column}
.bo-dr-droit{position:relative;display:flex;align-items:flex-start;gap:12px;margin:0;padding:10px 6px;border-top:1px solid var(--bo-bordure);cursor:pointer;font-weight:400;border-radius:8px;transition:background .15s}
.bo-dr-droit:first-child{border-top:0}
.bo-dr-droit:hover{background:var(--bo-creme)}
.bo-dr-droit input{position:absolute;opacity:0;pointer-events:none}
.bo-dr-case{flex:none;width:22px;height:22px;margin-top:1px;border:1.5px solid #cfc9be;border-radius:6px;background:#fff;display:inline-flex;align-items:center;justify-content:center;transition:.15s}
.bo-dr-droit input:checked + .bo-dr-case{background:var(--bo-vert);border-color:var(--bo-vert)}
.bo-dr-droit input:checked + .bo-dr-case::after{content:"\2713";color:#fff;font-size:14px;font-weight:700;line-height:1}
.bo-dr-droit input:focus-visible + .bo-dr-case{outline:2px solid var(--bo-or);outline-offset:2px}
.bo-dr-texte{display:flex;flex-direction:column;gap:2px;min-width:0}
.bo-dr-texte b{font-weight:600;color:var(--bo-texte)}
.bo-dr-texte small{color:var(--bo-doux);font-size:12px;line-height:1.45}
.bo-dr-texte small.bo-dr-attention{color:var(--bo-orange)}
.bo-dr-droit:has(input:not(:checked)) .bo-dr-texte b{color:var(--bo-doux);font-weight:500}
.bo-dr-anciens,.bo-dr-libres{background:var(--bo-creme);box-shadow:none}
.bo-dr-anciens .bo-dr-droit:hover{background:#fff}
.bo-dr-libres-liste{margin:0 0 8px;color:var(--bo-doux);font-size:13px;line-height:1.6}
@media (max-width:991.98px){.bo-dr-grille{grid-template-columns:minmax(0,1fr)}}

/* ==========================================================================
   NOS MAGASINS ET HORAIRES (modules/magasin.php magasins_v2, 07/10/2026) — en-tête et boutons .ec
   ========================================================================== */
.mg .mg-sommaire { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; flex: 0 0 auto; }
.mg .mg-sommaire .ec-bouton { justify-content: flex-start; }
.mg .mg-sommaire .fa { color: var(--ec-or); }
.mg .mg-sommaire .ec-bouton:hover .fa { color: #fff; }
.mg .mg-liste { display: flex; flex-direction: column; gap: 22px; margin-top: 28px; }
.mg .mg-carte { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); overflow: hidden; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 24px; scroll-margin-top: 140px; transition: box-shadow .2s ease; }
.mg .mg-carte:hover { box-shadow: 0 14px 34px rgba(22, 48, 42, .07); }
.mg .mg-infos { display: flex; flex-direction: column; padding: 30px 34px; }
.mg .mg-type { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ec-vert); }
.mg .mg-nom { margin: 0 0 10px; font-size: 28px; font-weight: 700; line-height: 1.15; color: #222; text-transform: none; }
.mg .mg-etat { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin: 0 0 20px; padding: 6px 14px; font-size: 13.5px; font-weight: 700; border-radius: 999px; }
.mg .mg-point { width: 9px; height: 9px; border-radius: 50%; background: currentColor; }
.mg .mg-etat-ouvert { color: #1f7a4d; background: #e7f4ec; }
.mg .mg-etat-ouvert .mg-point { box-shadow: 0 0 0 4px rgba(31, 122, 77, .18); animation: mg-pulse 2s ease-in-out infinite; }
.mg .mg-etat-rdv { color: #8b5e00; background: #fbf3e3; }
.mg .mg-etat-ferme { color: #8a8a8a; background: var(--ec-creme); }
@keyframes mg-pulse { 50% { box-shadow: 0 0 0 7px rgba(31, 122, 77, 0); } }
@media (prefers-reduced-motion: reduce) { .mg .mg-etat-ouvert .mg-point { animation: none; } }
.mg .mg-annonce { display: flex; gap: 12px; margin: 0 0 20px; padding: 14px 18px; font-size: 14px; line-height: 1.5; color: #6b4a1f; background: #fbf3e3; border: 1px solid #ecd9b0; border-radius: 16px; }
.mg .mg-annonce .fa { margin-top: 3px; color: #8b5e00; }
.mg .mg-colonnes { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 26px; }
.mg .mg-sous-titre { margin: 0 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9a968e; }
.mg address { margin: 0 0 10px; font-size: 15px; font-style: normal; line-height: 1.55; color: #333; }
.mg .mg-tel { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; color: var(--ec-vert); }
.mg .mg-tel:hover { color: var(--ec-rouge); }
.mg .mg-points { margin: 16px 0 0; padding: 0; list-style: none; }
.mg .mg-points li { display: flex; align-items: baseline; gap: 8px; padding: 3px 0; font-size: 13.5px; color: #5f5f5f; }
.mg .mg-points .fa { color: var(--ec-vert); }
.mg .mg-horaires table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mg .mg-horaires th, .mg .mg-horaires td { padding: 6px 10px; border-bottom: 1px solid #f0eee9; }
.mg .mg-horaires tr:last-child th, .mg .mg-horaires tr:last-child td { border-bottom: 0; }
.mg .mg-horaires th { font-weight: 500; color: #444; white-space: nowrap; }
.mg .mg-horaires td { text-align: right; color: #333; white-space: nowrap; }
.mg .mg-horaires th small { margin-left: 4px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ec-vert); }
.mg .mg-horaires .mg-ferme th, .mg .mg-horaires .mg-ferme td { color: #aaa; }
.mg .mg-horaires .mg-aujourdhui th, .mg .mg-horaires .mg-aujourdhui td { font-weight: 700; color: #222; background: var(--ec-creme); }
.mg .mg-horaires .mg-aujourdhui th { border-radius: 10px 0 0 10px; }
.mg .mg-horaires .mg-aujourdhui td { border-radius: 0 10px 10px 0; }
.mg .mg-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: auto; padding-top: 24px; }
.mg .mg-carte-plan { position: relative; min-height: 320px; background: var(--ec-creme); }
.mg .mg-carte-plan iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mg .mg-bandeau { display: flex; align-items: center; gap: 18px; margin-top: 28px; padding: 22px 28px; color: #fff; background: var(--ec-vert); border-radius: 22px; }
.mg .mg-bandeau-icone { flex: 0 0 52px; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; font-size: 22px; color: var(--ec-nuit); background: var(--ec-or); border-radius: 14px; }
.mg .mg-bandeau-texte { flex: 1 1 auto; display: flex; flex-direction: column; gap: 3px; font-size: 14px; line-height: 1.5; color: rgba(255, 255, 255, .85); }
.mg .mg-bandeau-texte strong { font-size: 17px; color: #fff; }

@media (max-width: 1199.98px) {
	.mg .mg-colonnes { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 991.98px) {
	.mg .ec-entete { flex-direction: column; align-items: stretch; }
	.mg .mg-sommaire { flex-direction: row; flex-wrap: wrap; }
	.mg .mg-carte { grid-template-columns: 1fr; }
	.mg .mg-carte-plan { min-height: 260px; }
}
@media (max-width: 767.98px) {
	.mg .ec-entete { padding: 24px 20px; border-radius: 20px; }
	.mg .ec-titre { font-size: 26px; }
	.mg .mg-sommaire .ec-bouton { flex: 1 1 100%; }
	.mg .mg-infos { padding: 22px 20px; }
	.mg .mg-nom { font-size: 24px; }
	.mg .mg-carte { border-radius: 20px; }
	.mg .mg-actions .ec-bouton { flex: 1 1 100%; }
	.mg .mg-bandeau { flex-direction: column; align-items: flex-start; padding: 20px; }
	.mg .mg-bandeau .ec-bouton { width: 100%; }
}

/* ---------- BO : notes internes de la fiche client (pro_client.php notes_client_v2, 07/10/2026) ---------- */
.bo-fn{margin-top:24px;padding:22px 24px}
.bo-fn-tete{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:14px}
.bo-fn-tete .bo-carte-titre{margin:0}
.bo-fn-tete .bo-aide{margin:0}
.bo-fn-nb{min-width:24px;height:24px;padding:0 8px;border-radius:999px;background:var(--bo-vert);color:#fff;font-size:12px;line-height:24px;text-align:center}
.bo-fn-vide{display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:14px 16px;border:1px dashed var(--bo-bordure);border-radius:10px;background:var(--bo-creme);color:var(--bo-doux)}
.bo-fn-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:420px;overflow:auto}
.bo-fn-note{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 14px 16px;border:1px solid var(--bo-bordure);border-left:3px solid var(--bo-or);border-radius:10px;background:#fffdf8}
.bo-fn-avatar{flex:none;width:34px;height:34px;border-radius:50%;background:var(--bo-vert-pale);color:var(--bo-vert);font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.bo-fn-corps{flex:1;min-width:0}
.bo-fn-meta{margin:0 0 4px;font-size:12px;color:var(--bo-doux)}
.bo-fn-meta b{color:var(--bo-texte)}
.bo-fn-texte{font-size:14px;line-height:1.55;color:var(--bo-texte);overflow-wrap:anywhere}
.bo-fn-note .bo-fc-icone{flex:none;opacity:.55;transition:.15s}
.bo-fn-note:hover .bo-fc-icone,.bo-fn-note .bo-fc-icone:focus{opacity:1}
.bo-fn-form{margin-top:18px;padding-top:16px;border-top:1px solid var(--bo-bordure)}
.bo-fn-form .bo-fc-soustitre{display:block;margin:0 0 8px}
.bo-fn-form textarea{width:100%;min-height:84px;padding:10px 12px;border:1px solid var(--bo-bordure);border-radius:8px;font:inherit;resize:vertical}
.bo-fn-form textarea:focus{outline:none;border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-fn-envoi{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:10px}
.bo-fn-envoi small{color:var(--bo-doux)}
@media (max-width:575.98px){.bo-fn-envoi small{display:none}.bo-fn-envoi .bo-btn{width:100%}}

/* ---------- BO fiche commande : interrupteur « Retour à la charge du client » (pro_commande.php, 07/10/2026) ---------- */
.bo-vc-bascule{position:relative;display:inline-flex;align-items:center;gap:8px;margin:0;cursor:pointer;vertical-align:middle;font-weight:400}
.bo-vc-bascule input{position:absolute;opacity:0;width:1px;height:1px}
.bo-vc-bascule-piste{position:relative;flex:none;width:42px;height:24px;border-radius:999px;background:#d4cfc6;transition:background .2s}
.bo-vc-bascule-piste::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.bo-vc-bascule input:checked+.bo-vc-bascule-piste{background:var(--bo-vert)}
.bo-vc-bascule input:checked+.bo-vc-bascule-piste::after{transform:translateX(18px)}
.bo-vc-bascule input:focus-visible+.bo-vc-bascule-piste{outline:2px solid var(--bo-or);outline-offset:2px}
.bo-vc-bascule.bo-encours{pointer-events:none;opacity:.6}
.bo-vc-bascule-etat{font-size:11px;font-weight:700;color:var(--bo-doux);min-width:0}
.bo-vc-bascule.bo-ok .bo-vc-bascule-etat{color:var(--bo-vert)}
.bo-vc-bascule.bo-erreur .bo-vc-bascule-etat{color:var(--bo-rouge)}

/* ---------- BO tableau de bord : interrupteur « Désactiver l'export Polaris » (index.php export_polaris_bloc, 07/10/2026) ---------- */
.bo-xp{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:14px 18px;background:#fff;border:1px solid var(--bo-bordure);border-left:4px solid var(--bo-vert);border-radius:var(--bo-rayon);box-shadow:var(--bo-ombre)}
.bo-xp .bo-vc-bascule input:checked+.bo-vc-bascule-piste{background:var(--bo-rouge)}
.bo-xp-texte{font-size:13px;line-height:1.5;color:var(--bo-doux)}
.bo-xp-texte b{color:var(--bo-texte)}
.bo-xp-texte small{display:block;font-size:12px;color:var(--bo-doux)}
.bo-xp-etat{display:inline-block;margin-left:6px;padding:1px 9px;border-radius:999px;background:var(--bo-vert-pale);color:var(--bo-vert);font-size:11px;font-weight:700;vertical-align:1px}
.bo-xp-pause{border-left-color:var(--bo-rouge);background:var(--bo-rouge-pale)}
.bo-xp-pause .bo-xp-etat{background:var(--bo-rouge);color:#fff}
.bo-xp-ko{border-left-color:var(--bo-or);background:var(--bo-or-pale);color:#6b5016;font-size:13px}

/* ==========================================================================
   CONTACT (modules/contact.php, 07/10/2026) — en-tête et boutons .ec ; ids du formulaire / reCAPTCHA d'origine
   ========================================================================== */
.ct .ct-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13px; color: #8a8a8a; }
.ct .ct-fil a { color: #5f5f5f; }
.ct .ct-fil a:hover { color: var(--ec-vert); }
.ct .ct-fil .fa-angle-right { color: #c3beb5; }
.ct .ct-fil span { color: #222; font-weight: 500; }
.ct .ct-entete .ec-entete-actions .ec-bouton { justify-content: flex-start; }
.ct .ct-grille { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 22px; align-items: start; margin-top: 26px; }
.ct .ct-carte { background: #fff; border: 1px solid var(--ec-bordure); border-radius: 22px; }
.ct .ct-form { padding: 30px 32px; }
.ct .ct-titre { margin: 0 0 6px; font-size: 24px; font-weight: 700; line-height: 1.2; color: #222; text-transform: none; }
.ct .ct-aide { margin: 0 0 22px; font-size: 14px; color: #6f6f6f; }
.ct .ct-champs-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ct .ct-champ { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.ct .ct-champ label { margin: 0; font-size: 14px; font-weight: 700; color: #333; }
.ct .ct-champ .form-control { height: auto; min-height: 50px; padding: 12px 16px; font-size: 16px; color: #222; background: #fff; border: 2px solid var(--ec-bordure); border-radius: 12px; box-shadow: none; transition: border-color .2s ease, box-shadow .2s ease; }
.ct .ct-champ textarea.form-control { min-height: 180px; line-height: 1.5; resize: vertical; }
.ct .ct-champ .form-control::placeholder { color: #9a968e; opacity: 1; }
.ct .ct-champ .form-control:hover { border-color: #cfd9d3; }
.ct .ct-champ .form-control:focus { border-color: var(--ec-vert); box-shadow: 0 0 0 4px rgba(45, 89, 71, .14); outline: none; }
.ct .ct-champ.ct-erreur .form-control { border-color: var(--ec-rouge); box-shadow: 0 0 0 4px rgba(235, 66, 63, .12); }
.ct .ct-alerte { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 12px 16px; font-size: 14px; color: #b0302d; background: #fdecec; border: 1px solid #f5c6c0; border-radius: 12px; }
.ct .ct-envoi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 4px; padding-top: 18px; border-top: 1px solid #efede9; }
.ct .ct-envoi p { margin: 0; font-size: 13px; color: #8a8a8a; }
.ct .ct-envoi p .fa { margin-right: 4px; color: var(--ec-or); }
.ct .ct-bouton { min-height: 54px; padding: 0 30px; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.ct .ct-bouton:disabled { opacity: .7; cursor: wait; }
.ct .ct-infos { display: flex; flex-direction: column; gap: 14px; }
.ct .ct-bloc { display: flex; align-items: flex-start; gap: 16px; padding: 20px 22px; color: inherit; }
.ct .ct-icone { flex: 0 0 46px; display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; font-size: 19px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 14px; }
.ct .ct-titre-petit { margin: 0 0 4px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9a968e; }
.ct .ct-gros-lien { display: inline-block; margin-bottom: 8px; font-size: 20px; font-weight: 700; color: var(--ec-vert); overflow-wrap: anywhere; }
.ct .ct-gros-lien:hover { color: var(--ec-rouge); }
.ct .ct-horaires { margin: 0 0 8px; }
.ct .ct-horaires div { display: flex; justify-content: space-between; gap: 14px; padding: 3px 0; font-size: 14px; }
.ct .ct-horaires dt { font-weight: 400; color: #5f5f5f; }
.ct .ct-horaires dd { margin: 0; font-weight: 700; color: #222; }
.ct .ct-petit { margin: 0; font-size: 13.5px; line-height: 1.55; color: #6f6f6f; }
.ct .ct-petit a { font-weight: 700; color: var(--ec-vert); }
.ct .ct-bloc-lien { transition: border-color .2s ease, box-shadow .2s ease; }
.ct .ct-bloc-lien:hover { color: inherit; border-color: #cfd9d3; box-shadow: 0 12px 28px rgba(22, 48, 42, .07); }
.ct .ct-lien { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 14px; font-weight: 700; color: var(--ec-vert); }
.ct .ct-reseaux { display: flex; align-items: center; gap: 10px; padding: 4px 6px; font-size: 13px; font-weight: 700; color: #6f6f6f; }
.ct .ct-reseaux a { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; font-size: 18px; color: var(--ec-vert); background: #fff; border: 1px solid var(--ec-bordure); border-radius: 50%; transition: background .2s ease, color .2s ease; }
.ct .ct-reseaux a:hover { color: #fff; background: var(--ec-vert); }
.ct .ct-resultat { max-width: 640px; margin: 20px auto 0; padding: 40px 36px; text-align: center; }
.ct .ct-resultat p { margin: 0 0 24px; font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.ct .ct-resultat-icone { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin-bottom: 16px; font-size: 28px; color: #fff; background: var(--ec-vert); border-radius: 50%; }
.ct .ct-resultat-ko .ct-resultat-icone { background: var(--ec-rouge); }
.ct .ct-resultat-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ct .grecaptcha-badge { z-index: 5; }

@media (max-width: 991.98px) {
	.ct .ct-entete { flex-direction: column; align-items: stretch; }
	.ct .ct-entete .ec-entete-actions { flex-direction: row; flex-wrap: wrap; }
	.ct .ct-grille { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
	.ct .ec-entete { padding: 24px 20px; border-radius: 20px; }
	.ct .ec-titre { font-size: 26px; }
	.ct .ct-entete .ec-entete-actions .ec-bouton { flex: 1 1 100%; }
	.ct .ct-form { padding: 22px 18px; border-radius: 20px; }
	.ct .ct-champs-2 { grid-template-columns: 1fr; gap: 0; }
	.ct .ct-envoi .ct-bouton { width: 100%; }
	.ct .ct-resultat { padding: 30px 20px; }
}

/* ==========================================================================
   COOKIES — bandeau de consentement (template.php cookieAsk(), 07/10/2026)
   ========================================================================== */
.mk { --mk-vert: #2D5947; --mk-nuit: #16302a; --mk-creme: #f6f5f2; --mk-bordure: #e6e3dd; position: fixed; left: 24px; bottom: 24px; z-index: 2147483000; box-sizing: border-box; width: 460px; max-width: calc(100vw - 32px); max-height: calc(100vh - 48px); overflow: auto; padding: 24px 24px 20px; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; color: #222; background: #fff; border: 1px solid var(--mk-bordure); border-radius: 22px; box-shadow: 0 24px 60px rgba(22, 48, 42, .22); opacity: 0; transform: translateY(16px); transition: opacity .25s ease, transform .25s ease; }
.mk *, .mk *::before, .mk *::after { box-sizing: border-box; }
.mk.mk-visible { opacity: 1; transform: none; }
.mk.mk-sortie { opacity: 0; transform: translateY(16px); }
.mk:focus { outline: none; }
.mk .mk-fermer { position: absolute; top: 14px; right: 14px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; font-size: 15px; color: #8a8a8a; background: var(--mk-creme); border: 0; border-radius: 50%; cursor: pointer; }
.mk .mk-fermer:hover { color: #222; }
.mk .mk-surtitre { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--mk-vert); }
.mk .mk-titre { margin: 0 0 8px; padding-right: 30px; font-size: 20px; font-weight: 700; line-height: 1.25; color: #222; text-transform: none; }
.mk .mk-texte { margin: 0 0 16px; font-size: 14px; line-height: 1.55; color: #5f5f5f; }
.mk .mk-texte a { font-weight: 700; color: var(--mk-vert); text-decoration: underline; }
.mk .mk-reglages { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; }
.mk .mk-reglages[hidden] { display: none; }
.mk .mk-option { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 0; padding: 12px 14px; font-weight: 400; background: var(--mk-creme); border: 1px solid var(--mk-bordure); border-radius: 14px; cursor: pointer; }
.mk .mk-option-fixe { cursor: default; }
.mk .mk-option-texte { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mk .mk-option-texte b { font-size: 14px; color: #222; }
.mk .mk-option-texte small { font-size: 12.5px; line-height: 1.4; color: #6f6f6f; }
.mk .mk-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.mk .mk-piste { position: relative; flex: none; width: 44px; height: 26px; border-radius: 999px; background: #d4cfc6; transition: background .2s; }
.mk .mk-piste::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s; }
.mk .mk-option input:checked + .mk-piste { background: var(--mk-vert); }
.mk .mk-option input:checked + .mk-piste::after { transform: translateX(18px); }
.mk .mk-option input:focus-visible + .mk-piste { outline: 2px solid var(--mk-vert); outline-offset: 2px; }
.mk .mk-toujours { flex: none; padding: 4px 10px; font-size: 11.5px; font-weight: 700; color: var(--mk-vert); background: #eaf2ee; border-radius: 999px; white-space: nowrap; }
.mk .mk-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mk .mk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 16px; font: inherit; font-size: 15px; font-weight: 700; border-radius: 999px; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.mk .mk-btn[hidden] { display: none; }
.mk .mk-btn-plein { color: #fff; background: var(--mk-vert); border: 2px solid var(--mk-vert); }
.mk .mk-btn-plein:hover { background: var(--mk-nuit); border-color: var(--mk-nuit); }
.mk .mk-btn-lien, .mk .mk-btn[data-mk="valider"] { grid-column: 1 / -1; }
.mk .mk-btn-lien { min-height: 40px; color: var(--mk-vert); background: transparent; border: 0; text-decoration: underline; }
.mk .mk-btn-lien:hover { color: var(--mk-nuit); }
.mk .mk-btn:focus-visible, .mk .mk-fermer:focus-visible { outline: 2px solid var(--mk-vert); outline-offset: 3px; }
@media (max-width: 575.98px) {
	.mk { left: 8px; right: 8px; bottom: 8px; width: auto; max-width: none; padding: 20px 18px 16px; border-radius: 18px; }
	.mk .mk-titre { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .mk { transition: none; } }

/* ---------- BO : gestion de la page Catalogue (modules/Admin/catalogue.php, 08/10/2026) ---------- */
.bo-cat-entete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.bo-cat-form,.bo-cat-liste{margin-bottom:20px}
.bo-cat-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:0 0 16px}
.bo-cat-champ{display:flex;flex-direction:column;gap:6px;margin:0;font-weight:400}
.bo-cat-champ>span{font-weight:700;font-size:13px}
.bo-cat-input{width:100%;height:42px;padding:0 12px;border:1px solid var(--bo-bordure);border-radius:8px;font:inherit;background:#fff}
.bo-cat-input:focus{outline:none;border-color:var(--bo-vert);box-shadow:0 0 0 3px rgba(45,89,71,.15)}
.bo-cat-langues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 18px}
.bo-cat-langue{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--bo-creme);border:1px solid var(--bo-bordure);border-radius:var(--bo-rayon)}
.bo-cat-langue-titre{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-vert)}
.bo-cat-depot{padding:16px 12px}
.bo-cat-depot .fa{font-size:22px}
.bo-cat-actuel{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;overflow-wrap:anywhere}
.bo-cat-vignette{display:block;max-width:140px;max-height:180px;border:1px solid var(--bo-bordure);border-radius:8px;object-fit:contain;background:#fff}
.bo-cat-case{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;font-weight:500;cursor:pointer}
.bo-cat-case input{width:17px;height:17px;accent-color:var(--bo-vert)}
.bo-cat-bascule{margin:4px 0 6px}
.bo-cat-bascule>span:last-child{font-size:13px}
.bo-cat-mini{display:inline-flex;align-items:center;justify-content:center;width:42px;height:56px;border-radius:6px;object-fit:cover;border:1px solid var(--bo-bordure);background:#fff}
.bo-cat-mini-vide{color:var(--bo-rouge);font-size:20px;background:var(--bo-creme)}
.bo-cat-doux{color:var(--bo-doux)}
.bo-cat-suppr:hover{border-color:var(--bo-rouge)!important;color:var(--bo-rouge)!important}
.bo-cat-liste .bo-tableau td{vertical-align:middle}
@media (max-width:991.98px){.bo-cat-langues{grid-template-columns:1fr}}

/* ==========================================================================
   PAGE CATALOGUE (modules/catalogue.php, catalogue-mephisto, 08/10/2026) — en-tête et boutons .ec
   ========================================================================== */
.cg .cg-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13px; color: #8a8a8a; }
.cg .cg-fil a { color: #5f5f5f; }
.cg .cg-fil a:hover { color: var(--ec-vert); }
.cg .cg-fil .fa-angle-right { color: #c3beb5; }
.cg .cg-fil span { color: #222; font-weight: 500; }
.cg .cg-entete { align-items: stretch; }
.cg .cg-entete .ec-entete-texte { max-width: 720px; display: flex; flex-direction: column; justify-content: center; }
.cg .cg-modifier { margin-left: 8px; font-size: 18px; color: var(--ec-vert); vertical-align: middle; }
.cg .cg-intro { font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.cg .cg-intro p { margin: 0 0 8px; }
.cg .cg-intro p:last-child { margin-bottom: 0; }
.cg .cg-intro a:not(.btn) { color: var(--ec-vert); font-weight: 700; text-decoration: underline; }
.cg .cg-entete-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.cg .cg-couverture { position: relative; z-index: 1; flex: 0 0 230px; display: flex; align-items: center; justify-content: center; }
.cg .cg-couverture img { display: block; max-width: 100%; max-height: 300px; border-radius: 10px; box-shadow: 0 18px 40px rgba(22, 48, 42, .18); transform: rotate(2deg); background: #fff; }
.cg .cg-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; margin-top: 28px; scroll-margin-top: 140px; }
.cg .cg-carte { display: flex; flex-direction: column; overflow: hidden; color: inherit; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 20px; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.cg .cg-carte:hover { color: inherit; transform: translateY(-3px); border-color: #cfd9d3; box-shadow: 0 14px 30px rgba(22, 48, 42, .1); }
.cg .cg-carte-visuel { display: flex; align-items: center; justify-content: center; aspect-ratio: 3 / 4; overflow: hidden; background: var(--ec-creme); }
.cg .cg-carte-visuel img { width: 100%; height: 100%; object-fit: cover; }
.cg .cg-carte-visuel:has(.cg-carte-pdf) { aspect-ratio: 16 / 10; }
.cg .cg-carte-pdf { display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--ec-vert); }
.cg .cg-carte-pdf .fa { font-size: 54px; color: #c9524f; }
.cg .cg-carte-pdf b { font-size: 18px; letter-spacing: .08em; text-transform: uppercase; }
.cg .cg-carte-infos { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px 18px; }
.cg .cg-carte-marque { font-size: 11.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9a968e; }
.cg .cg-carte-titre { font-size: 16.5px; font-weight: 700; line-height: 1.3; color: #222; }
.cg .cg-carte-lien { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: 14px; font-weight: 700; color: var(--ec-vert); }
.cg .cg-carte:hover .cg-carte-lien { color: var(--ec-rouge); }
.cg .cg-domicile { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); overflow: hidden; margin-top: 36px; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 24px; scroll-margin-top: 140px; }
.cg .cg-domicile-visuel { position: relative; min-height: 260px; background: var(--ec-creme); }
.cg .cg-domicile-visuel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cg .cg-badge { position: absolute; top: 18px; left: 18px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; font-size: 13px; font-weight: 700; color: #fff; background: var(--ec-vert); border-radius: 999px; }
.cg .cg-domicile-corps { padding: 30px 34px; }
.cg .cg-titre { margin: 0 0 8px; font-size: 26px; font-weight: 700; line-height: 1.2; color: #222; text-transform: none; }
.cg .cg-texte { margin: 0 0 20px; font-size: 14.5px; line-height: 1.55; color: #5f5f5f; }
.cg .cg-retour { display: flex; align-items: center; gap: 10px; margin: 0 0 18px; padding: 12px 16px; font-size: 14px; border-radius: 12px; }
.cg .cg-retour-ok { color: #1f7a4d; background: #e7f4ec; border: 1px solid #c4e3d1; }
.cg .cg-retour-ko { color: #b0302d; background: #fdecec; border: 1px solid #f5c6c0; }
.cg .cg-saisons { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; padding: 0; border: 0; }
.cg .cg-saisons legend { width: 100%; margin: 0 0 8px; font-size: 14px; font-weight: 700; color: #333; }
.cg .cg-saison { position: relative; margin: 0; cursor: pointer; }
.cg .cg-saison input { position: absolute; opacity: 0; }
.cg .cg-saison span { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; font-size: 14.5px; font-weight: 700; color: #444; background: #fff; border: 2px solid var(--ec-bordure); border-radius: 999px; transition: background .2s ease, border-color .2s ease, color .2s ease; }
.cg .cg-saison input:checked + span { color: #fff; background: var(--ec-vert); border-color: var(--ec-vert); }
.cg .cg-saison input:focus-visible + span { outline: 2px solid var(--ec-vert); outline-offset: 2px; }
.cg .cg-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.cg .cg-champ { display: flex; flex-direction: column; gap: 6px; margin: 0; font-weight: 400; }
.cg .cg-champ > span { font-size: 14px; font-weight: 700; color: #333; }
.cg .cg-champ-large { grid-column: 1 / -1; }
.cg .cg-champ .form-control { height: auto; min-height: 48px; padding: 10px 14px; font-size: 16px; color: #222; background: #fff; border: 2px solid var(--ec-bordure); border-radius: 12px; box-shadow: none; }
.cg .cg-champ .form-control:focus { border-color: var(--ec-vert); box-shadow: 0 0 0 4px rgba(45, 89, 71, .14); outline: none; }
.cg .cg-champ.cg-erreur .form-control { border-color: var(--ec-rouge); }
.cg #resultat .cg-retour { margin-top: 16px; }
.cg .cg-envoi { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #efede9; }
.cg .cg-envoi p { margin: 0; font-size: 13px; color: #8a8a8a; }
.cg .cg-envoi .ec-bouton { min-height: 52px; padding: 0 28px; font: inherit; font-size: 15.5px; font-weight: 700; cursor: pointer; }
@media (max-width: 991.98px) {
	.cg .cg-entete { flex-direction: column; }
	.cg .cg-couverture { flex-basis: auto; }
	.cg .cg-couverture img { max-height: 240px; }
	.cg .cg-domicile { grid-template-columns: 1fr; }
	.cg .cg-domicile-visuel { min-height: 200px; }
}
@media (max-width: 767.98px) {
	.cg .ec-entete { padding: 24px 20px; border-radius: 20px; }
	.cg .ec-titre { font-size: 26px; }
	.cg .cg-entete-actions .ec-bouton { flex: 1 1 100%; }
	.cg .cg-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.cg .cg-carte-infos { padding: 12px 14px 14px; }
	.cg .cg-carte-titre { font-size: 15px; }
	.cg .cg-domicile-corps { padding: 22px 18px; }
	.cg .cg-champs { grid-template-columns: 1fr; }
	.cg .cg-envoi .ec-bouton { width: 100%; }
}

/* ==========================================================================
   PAGES DE CONTENU (page&op=view_page, modules/Admin/page.php, 08/10/2026) — en-tête seulement, texte de la base inchangé
   ========================================================================== */
.pg { margin: 8px 0 0; }
.pg .pg-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13px; color: #8a8a8a; }
.pg .pg-fil a { color: #5f5f5f; }
.pg .pg-fil a:hover { color: var(--ec-vert); }
.pg .pg-fil .fa-angle-right { color: #c3beb5; }
.pg .pg-fil span { color: #222; font-weight: 500; }
.pg .pg-entete { padding: 28px 36px; }
.pg .pg-entete .ec-titre { margin: 0; }
.pg .pg-modifier { margin-left: 8px; font-size: 18px; color: var(--ec-vert); vertical-align: middle; }
.pg .pg-modifier:hover { color: var(--ec-rouge); }
.pg-texte { margin: 26px 0 40px; }
@media (max-width: 767.98px) {
	.pg .pg-entete { padding: 22px 20px; border-radius: 20px; }
	.pg .ec-titre { font-size: 26px; }
}
.pg-chapo { max-width: 860px; margin: 18px 0 26px; font-size: 15px; line-height: 1.6; color: #5f5f5f; }
.pg .pg-message .ec-intro { display: flex; align-items: center; gap: 10px; color: #5f5f5f; }
.pg .pg-message .fa { color: var(--ec-or); font-size: 18px; }
.pg .pg-message-ko .fa { color: var(--ec-rouge); }
.pg + .pg-texte, .pg + .row { margin-top: 26px; }

/* ---------- BO : page Nouveautés, titre et ordre des saisons (Admin/index.php nouveautes_reglages, 08/10/2026) ---------- */
.bo-nv-carte{margin-bottom:20px}
.bo-nv-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.bo-nv-ordre{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bo-nv-ordre li{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--bo-creme);border:1px solid var(--bo-bordure);border-radius:10px;transition:background .2s}
.bo-nv-ordre li:first-child{background:var(--bo-vert-pale);border-color:#cfe3d7}
.bo-nv-ordre li > .fa{width:18px;text-align:center;color:var(--bo-vert)}
.bo-nv-ordre li b{flex:1;font-size:14px}
.bo-nv-rang{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--bo-vert);color:#fff;font-size:12px;font-weight:700}
.bo-nv-fleches{display:flex;gap:6px}
.bo-nv-fleches .bo-fc-icone{cursor:pointer}
.bo-nv-fleches .bo-fc-icone:disabled{opacity:.3;cursor:default}
@media (max-width:991.98px){.bo-nv-grille{grid-template-columns:1fr}}
.bo-nv-zone{height:auto;min-height:80px;padding:10px 12px;resize:vertical;line-height:1.45}
.bo-nv-compte{font-weight:400;color:var(--bo-doux)}
.bo-nv-compte.bo-nv-trop{color:var(--bo-rouge);font-weight:700}


/* ---------- Listes : lien « Nos catalogues » sous les filtres (filtre.php catalogue(), 08/10/2026) — indépendant de styleXav ---------- */
.ml-catalogue { display: flex; align-items: center; gap: 12px; margin-top: 14px; padding: 12px 16px; color: #222; background: var(--ml-creme, #f6f5f2); border: 1px solid var(--ml-bordure, #e6e3dd); border-radius: 16px; text-decoration: none !important; transition: border-color .2s ease, box-shadow .2s ease; }
.ml-catalogue:hover { color: #222; border-color: var(--ml-vert, #2D5947); box-shadow: 0 8px 20px rgba(22, 48, 42, .08); }
.ml-catalogue-icone { flex: 0 0 38px; display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; font-size: 17px; color: #fff; background: var(--ml-vert, #2D5947); border-radius: 10px; }
.ml-catalogue-texte { flex: 1; display: flex; flex-direction: column; line-height: 1.3; }
.ml-catalogue-texte b { font-size: 14px; }
.ml-catalogue-texte small { font-size: 12px; color: #6f6f6f; }
.ml-catalogue > .fa { color: var(--ml-vert, #2D5947); }

/* ==========================================================================
   RETOURS DE PAIEMENT (modules/paybox.php : annulation, effectue, refuse, attente, 08/10/2026) — boutons .ec
   ========================================================================== */
.rp { margin: 24px 0 56px; }
.rp .rp-carte { max-width: 720px; margin: 0 auto; padding: 44px 40px 32px; text-align: center; background: #fff; border: 1px solid var(--ec-bordure); border-top: 5px solid var(--ec-bordure); border-radius: 24px; box-shadow: 0 14px 40px rgba(22, 48, 42, .06); }
.rp .rp-icone { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; margin-bottom: 18px; font-size: 32px; color: #fff; background: #9a968e; border-radius: 50%; }
.rp .rp-ok { border-top-color: var(--ec-vert); }
.rp .rp-ok .rp-icone { background: var(--ec-vert); }
.rp .rp-ko { border-top-color: var(--ec-rouge); }
.rp .rp-ko .rp-icone { background: var(--ec-rouge); }
.rp .rp-attente { border-top-color: var(--ec-or); }
.rp .rp-attente .rp-icone { color: var(--ec-nuit); background: var(--ec-or); }
.rp .rp-neutre { border-top-color: var(--ec-or); }
.rp .rp-neutre .rp-icone { color: var(--ec-vert); background: var(--ec-creme); border: 2px solid var(--ec-bordure); }
.rp .ec-surtitre { margin-bottom: 6px; }
.rp .rp-titre { margin: 0 0 12px; font-size: 30px; font-weight: 700; line-height: 1.2; color: #222; text-transform: none; }
.rp .rp-commande { display: inline-block; margin: 0 0 14px; padding: 6px 16px; font-size: 15px; color: var(--ec-vert); background: var(--ec-creme); border-radius: 999px; }
.rp .rp-texte { max-width: 560px; margin: 0 auto 26px; font-size: 15.5px; line-height: 1.6; color: #5f5f5f; }
.rp .rp-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.rp .rp-aide { margin: 26px 0 0; padding-top: 18px; font-size: 13.5px; color: #8a8a8a; border-top: 1px solid #efede9; }
.rp .rp-aide .fa { margin-right: 4px; color: var(--ec-or); }
.rp .rp-aide a { font-weight: 700; color: var(--ec-vert); }
@media (max-width: 767.98px) {
	.rp .rp-carte { padding: 32px 20px 24px; border-radius: 20px; }
	.rp .rp-titre { font-size: 24px; }
	.rp .rp-actions .ec-bouton { flex: 1 1 100%; }
}

/* ==========================================================================
   POLITIQUE DE CONFIDENTIALITÉ (modules/politique.php, 08/10/2026) — en-tête et boutons .ec
   ========================================================================== */
.pc .pc-fil { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 13px; color: #8a8a8a; }
.pc .pc-fil a { color: #5f5f5f; }
.pc .pc-fil a:hover { color: var(--ec-vert); }
.pc .pc-fil .fa-angle-right { color: #c3beb5; }
.pc .pc-fil span { color: #222; font-weight: 500; }
.pc .pc-maj { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 5px 14px; font-size: 13px; font-weight: 500; color: var(--ec-vert); background: #fff; border: 1px solid var(--ec-bordure); border-radius: 999px; }
.pc .pc-grille { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 26px; align-items: start; margin-top: 28px; }
.pc .pc-sommaire { position: sticky; top: 130px; padding: 20px 18px; background: var(--ec-creme); border: 1px solid var(--ec-bordure); border-radius: 20px; }
.pc .pc-sommaire-titre { margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9a968e; }
.pc .pc-sommaire ol { margin: 0 0 16px; padding: 0; list-style: none; counter-reset: pc; }
.pc .pc-sommaire li { counter-increment: pc; }
.pc .pc-sommaire a { display: flex; gap: 10px; padding: 7px 10px; font-size: 13.5px; line-height: 1.35; color: #444; border-radius: 10px; transition: background .2s ease, color .2s ease; }
.pc .pc-sommaire a::before { content: counter(pc); flex: 0 0 22px; height: 22px; font-size: 11.5px; font-weight: 700; line-height: 22px; text-align: center; color: var(--ec-vert); background: #fff; border-radius: 50%; }
.pc .pc-sommaire a:hover, .pc .pc-sommaire a.pc-actif { color: var(--ec-vert); background: #fff; }
.pc .pc-sommaire a.pc-actif { font-weight: 700; }
.pc .pc-cookies { display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 42px; font: inherit; font-size: 13.5px; font-weight: 700; color: var(--ec-vert); background: #fff; border: 2px solid var(--ec-vert); border-radius: 999px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.pc .pc-cookies:hover { color: #fff; background: var(--ec-vert); }
.pc .pc-contenu { display: flex; flex-direction: column; gap: 16px; }
.pc .pc-carte { padding: 26px 30px; font-size: 15px; line-height: 1.65; color: #444; background: #fff; border: 1px solid var(--ec-bordure); border-radius: 20px; scroll-margin-top: 140px; }
.pc .pc-carte p { margin: 0 0 12px; }
.pc .pc-carte p:last-child { margin-bottom: 0; }
.pc .pc-carte a:not(.ec-bouton) { font-weight: 700; color: var(--ec-vert); text-decoration: underline; text-underline-offset: 3px; }
.pc .pc-preambule { color: #5f5f5f; background: var(--ec-creme); }
.pc .pc-carte h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font-size: 20px; font-weight: 700; line-height: 1.3; color: #222; text-transform: none; }
.pc .pc-num { flex: 0 0 34px; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-size: 15px; color: #fff; background: var(--ec-vert); border-radius: 50%; }
.pc .pc-liste { display: flex; flex-direction: column; gap: 12px; }
.pc .pc-item { padding: 16px 18px; background: var(--ec-creme); border-radius: 14px; }
.pc .pc-item h3 { display: flex; align-items: baseline; gap: 10px; margin: 0 0 6px; font-size: 15.5px; font-weight: 700; color: #222; text-transform: none; }
.pc .pc-item h3 .fa { color: var(--ec-or); }
.pc .pc-cookies-duree { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
.pc .pc-cookies-duree div { display: flex; gap: 8px; padding: 6px 14px; background: var(--ec-creme); border-radius: 999px; }
.pc .pc-cookies-duree dt { font-family: Consolas, Menlo, monospace; font-weight: 700; color: var(--ec-vert); }
.pc .pc-cookies-duree dd { margin: 0; }
.pc .pc-adresse { display: flex; align-items: baseline; gap: 10px; margin: 0 0 12px; padding: 12px 16px; font-style: normal; font-weight: 500; color: #222; background: var(--ec-creme); border-radius: 12px; }
.pc .pc-adresse .fa { color: var(--ec-or); }
.pc .pc-droits { border: 2px solid var(--ec-vert); }
.pc .pc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.pc .pc-actions .ec-bouton { font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
@media (max-width: 991.98px) {
	.pc .pc-grille { grid-template-columns: 1fr; }
	.pc .pc-sommaire { position: static; }
}
@media (max-width: 767.98px) {
	.pc .ec-entete { padding: 24px 20px; border-radius: 20px; }
	.pc .ec-titre { font-size: 26px; }
	.pc .pc-carte { padding: 20px 18px; font-size: 14.5px; border-radius: 18px; }
	.pc .pc-carte h2 { font-size: 17.5px; }
	.pc .pc-actions .ec-bouton { flex: 1 1 100%; }
}

/* ================= LISTES : FILTRE PAR COULEUR (09/10/2026) =================
   filtre_couleurs() dans modules/filtre.php — familles de couleur, pastille colorée devant le nom (fond posé en style par famille) */
.fc-pastille {
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 7px;
	vertical-align: -2px;
	border: 1px solid #c8c2b8;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
}