/* ==========================================================================
   Miel d'Amour — direction artistique V5
   Palette espresso / ivoire / doré mat. Boutons rectangulaires (3 px).
   Aucun dégradé décoratif, aucune ombre systématique, aucun arrondi pilule.
   ========================================================================== */

@font-face {
	font-family: "Inter";
	src: url("../fonts/Inter-latin.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Playfair Display";
	src: url("../fonts/PlayfairDisplay-latin.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--espresso: #241a16;
	--noir: #17110f;
	--ivoire: #f7f0e7;
	--creme: #eee2d2;
	--surface: #fffaf2;
	--or: #c79450;
	--or-clair: #d9a75f;
	--texte: #201611;
	--muted: #6f6054;
	--ligne: rgba(78, 49, 32, .18);
	--ligne-forte: #d9c9b2;
	--ligne-claire: rgba(247, 240, 231, .18);
	--serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--conteneur: 1320px;
	--gouttiere: 104px;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	overflow-x: hidden;
	max-width: 100%;
}

body {
	margin: 0;
	overflow-x: hidden;
	max-width: 100%;
	background: var(--ivoire);
	color: var(--texte);
	font-family: var(--sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

details:not([open]) > :not(summary) {
	display: none !important;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
fieldset { border: 0; padding: 0; margin: 0; }
summary { list-style: none; }
summary::-webkit-details-marker { display: none; }

h1, h2, h3, h4, p, ul, figure { margin-top: 0; }

:focus-visible {
	outline: 2px solid #e6b46a;
	outline-offset: 4px;
}

.hors-ecran {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.lien-evitement {
	position: absolute;
	left: 16px;
	top: -80px;
	z-index: 200;
	background: var(--or);
	color: var(--noir);
	padding: 10px 16px;
	font-size: 13px;
	font-weight: 600;
	border-radius: 3px;
	transition: top .15s;
}
.lien-evitement:focus { top: 12px; }

.conteneur {
	width: min(var(--conteneur), calc(100% - var(--gouttiere)));
	margin-inline: auto;
}

/* --------------------------------------------------------------------------
   Typographie
   -------------------------------------------------------------------------- */
.titre-serif,
.nom-serif {
	font-family: var(--serif);
	font-weight: 400;
	letter-spacing: -.035em;
	line-height: 1.05;
}
.titre-serif { font-size: clamp(2rem, 3.4vw, 3.25rem); margin: 0; }
.heros h1 { font-size: clamp(3rem, 6vw, 5.9rem); line-height: .98; letter-spacing: -.045em; }
.nom-serif { font-size: 26px; margin: 0; }
.sur-titre,
.carte-type {
	display: block;
	margin: 0;
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: #9b7144;
}
.centre { text-align: center; }
.sous-titre { color: var(--muted); font-size: 15px; }

/* --------------------------------------------------------------------------
   Boutons et liens d'action
   -------------------------------------------------------------------------- */
.bouton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 20px;
	background: var(--or);
	border: 1px solid #b7813a;
	border-radius: 3px;
	color: #22160d;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.2;
	cursor: pointer;
	transition: background .18s, color .18s, border-color .18s;
}
.bouton:hover { background: var(--or-clair); border-color: #c08a45; color: #22160d; }
.bouton:active { transform: translateY(1px); }
.bouton:disabled,
.bouton[aria-disabled="true"] { opacity: .48; cursor: not-allowed; transform: none; }
.bouton-petit { min-height: 38px; padding: 0 14px; font-size: 12px; }
.bouton-secondaire {
	background: transparent;
	border-color: var(--ligne);
	color: inherit;
}
.bouton-secondaire:hover { background: rgba(199, 148, 80, .12); border-color: var(--or); }
.bouton-commander { width: 100%; min-height: 50px; font-size: 14px; }

.lien-souligne {
	display: inline-block;
	padding-bottom: 3px;
	border-bottom: 1px solid var(--or);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}
.lien-souligne:hover { color: #8a5c28; border-bottom-color: #8a5c28; }

.etat-indisponible {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #9a4c3d;
}

/* --------------------------------------------------------------------------
   Bandeau et en-tête
   -------------------------------------------------------------------------- */
.bandeau {
	background: #37271f;
	border-bottom: 1px solid rgba(215, 166, 90, .26);
	color: #ead8c4;
	font-family: var(--serif);
	font-size: 13px;
	letter-spacing: .035em;
	padding: 9px 16px;
	text-align: center;
}

.entete {
	position: relative;
	z-index: 60;
	background: var(--noir);
	border-bottom: 1px solid #3b2a21;
	color: #f3e6d7;
}
.entete-interne {
	width: min(1460px, calc(100% - 72px));
	margin-inline: auto;
	min-height: 96px;
	display: flex;
	align-items: center;
	gap: 30px;
}
.marque {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
.marque img { width: 150px; height: auto; }
.separateur {
	flex: 0 0 auto;
	width: 1px;
	height: 52px;
	background: #6b4e39;
	margin-left: 4px;
}
.navigation {
	display: flex;
	align-items: center;
	gap: 36px;
	font-family: var(--serif);
	font-size: 17px;
	white-space: nowrap;
}
.navigation a { color: #f3e6d7; transition: color .18s; }
.navigation a:hover { color: #e3b874; }

.entete-actions {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 10px;
}
.action-icone {
	position: relative;
	display: inline-grid;
	place-items: center;
	width: 42px;
	height: 42px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 2px;
	color: #f7ebdc;
	cursor: pointer;
	transition: color .18s, background .18s;
}
.action-icone:hover { color: #e3b874; background: rgba(255, 255, 255, .045); }
.compteur {
	position: absolute;
	top: 1px;
	right: 0;
	display: none;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	background: var(--or);
	border-radius: 2px;
	color: var(--noir);
	font-family: var(--sans);
	font-size: 10px;
	font-weight: 700;
	line-height: 17px;
	text-align: center;
}
.compteur.visible { display: block; }

/* Recherche : <details> fonctionne sans JavaScript. */
.recherche-panneau { position: relative; }
.recherche-panneau > summary { list-style: none; }
.recherche {
	position: absolute;
	top: calc(100% + 13px);
	right: 0;
	z-index: 90;
	display: flex;
	gap: 8px;
	width: 340px;
	padding: 12px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}
.recherche input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 38px;
	padding: 0 11px;
	background: #fff;
	border: 1px solid var(--ligne-forte);
	border-radius: 2px;
	color: var(--texte);
	font-family: var(--sans);
	font-size: 13px;
}
.recherche input::placeholder { color: #9b8b7c; }

/* Menu mobile : <details> natif avec fermeture explicite et sous-menu accordéon */
.menu-mobile { display: none; position: relative; }
.menu-mobile > summary { list-style: none; }
.menu-mobile > summary::-webkit-details-marker { display: none; }
.menu-mobile-panneau {
	position: absolute;
	top: calc(100% + 13px);
	right: 0;
	z-index: 100;
	width: 290px;
	padding: 16px 18px 20px;
	background: #241a16;
	border: 1px solid #4b352a;
	box-shadow: 0 20px 45px rgba(0, 0, 0, .45);
	border-radius: 4px;
}
.menu-mobile-entete {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 10px;
	margin-bottom: 6px;
	border-bottom: 1px solid rgba(247, 240, 231, .12);
}
.menu-mobile-titre-principal {
	color: var(--or);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.menu-mobile-fermer {
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(247, 240, 231, .15);
	border-radius: 4px;
	color: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	transition: background .2s, color .2s;
}
.menu-mobile-fermer:hover {
	background: rgba(227, 184, 116, .25);
	color: var(--or);
}
.menu-mobile-liste {
	list-style: none;
	margin: 0;
	padding: 0;
}
.menu-mobile-item {
	border-bottom: 1px solid rgba(247, 240, 231, .09);
}
.menu-mobile-item:last-child {
	border-bottom: 0;
}
.menu-mobile-ligne {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.menu-mobile-lien {
	display: block;
	flex: 1;
	padding: 13px 0;
	color: #f7f0e7;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: color .2s;
}
.menu-mobile-lien:hover {
	color: var(--or);
}
.sous-menu-toggle {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
	border: none;
	color: var(--or);
	cursor: pointer;
	transition: transform .25s ease;
}
.sous-menu-toggle.actif {
	transform: rotate(180deg);
}
.menu-mobile-sous-menu {
	list-style: none;
	margin: 0;
	padding: 2px 0 10px 14px;
	border-left: 2px solid var(--or);
}
.menu-mobile-sous-menu li a {
	display: block;
	padding: 8px 0;
	color: #ded2c4;
	font-size: 14px;
	text-decoration: none;
	transition: color .2s;
}
.menu-mobile-sous-menu li a:hover {
	color: var(--or);
}

/* --------------------------------------------------------------------------
   Notices WooCommerce
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	width: min(var(--conteneur), calc(100% - var(--gouttiere)));
	margin: 16px auto;
	padding: 14px 18px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	border-left: 3px solid var(--or);
	color: var(--texte);
	font-size: 13px;
	line-height: 1.55;
	list-style: none;
}
.woocommerce-error { border-left-color: #a94737; background: #fdf1ee; }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }
.woocommerce-message .button,
.woocommerce-info .button {
	float: right;
	margin-left: 16px;
	min-height: 32px;
	padding: 0 12px;
	background: var(--or);
	border-radius: 2px;
	color: var(--noir);
	font-size: 11px;
	font-weight: 600;
	line-height: 32px;
}
.woocommerce-error li { margin-bottom: 4px; }

/* --------------------------------------------------------------------------
   Héros photographique (image séparée, texte et CTA en HTML)
   -------------------------------------------------------------------------- */
.heros {
	position: relative;
	overflow: hidden;
	background: var(--noir);
	color: var(--ivoire);
}
.heros-fond {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.heros::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(23, 17, 15, .9) 0%, rgba(23, 17, 15, .62) 36%, rgba(23, 17, 15, .12) 68%, rgba(23, 17, 15, .04) 100%);
	pointer-events: none;
}
.heros .conteneur {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 560px;
	padding: 76px 0;
}
.heros h1 { max-width: 680px; margin: 0 0 20px; color: var(--ivoire); }
.heros p {
	max-width: 520px;
	margin: 0 0 28px;
	color: #e6d7c7;
	font-size: 17px;
	line-height: 1.6;
}
.heros-actions {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.heros-actions .lien-souligne { color: #f3e6d7; }
.heros-boutique .conteneur { min-height: 380px; padding: 54px 0; }
.heros-boutique h1 { font-size: clamp(2.8rem, 4.6vw, 4.8rem); }

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */
.section { padding: 70px 0; }
.section-ivoire { background: var(--ivoire); }
.section-creme { background: var(--creme); }
.section-sombre { background: var(--noir); color: var(--ivoire); }
.section-sombre .titre-serif { color: var(--ivoire); }
.section-sombre .sous-titre { color: #c5b1a0; }
.section-intro {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}
.section-intro p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.section-sombre .section-intro p { color: #c5b1a0; }

/* --------------------------------------------------------------------------
   Cartes packs (accueil + boutique)
   -------------------------------------------------------------------------- */
.packs-grille {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	align-items: stretch;
}
.carte-pack {
	display: grid;
	grid-template-columns: 46% 54%;
	min-height: 320px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.carte-pack:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.carte-pack-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 18px;
	background: #eee2d1;
	border-right: 1px solid #e1ceaf;
}
.carte-pack-photo img {
	width: 100%;
	height: 270px;
	object-fit: contain;
	transition: transform 0.3s ease;
}
.carte-pack:hover .carte-pack-photo img {
	transform: scale(1.03);
}
.carte-pack-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px 26px 26px;
	flex: 1;
}
.carte-pack-info h3 { margin: 8px 0 9px; font-size: 26px; }
.carte-composition {
	margin: 0 0 14px;
	color: #3d2f25;
	font-size: 13.5px;
	line-height: 1.55;
	font-weight: 500;
}
.carte-prix {
	margin: 0 0 16px;
	font-family: var(--serif);
	font-size: 30px;
	line-height: 1;
	letter-spacing: -.02em;
	color: #241a16;
}
.carte-prix s {
	margin-right: 8px;
	color: #6a5647;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
}
.carte-pack-info .bouton { margin-top: auto; }

/* --------------------------------------------------------------------------
   Cartes dosettes (accueil sombre)
   -------------------------------------------------------------------------- */
.dosettes-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 26px;
	border-top: 1px solid var(--ligne-claire);
	border-bottom: 1px solid var(--ligne-claire);
}
.carte-dosette {
	display: grid;
	grid-template-columns: 46% 54%;
	align-items: center;
	gap: 18px;
	padding: 28px 24px;
	border-right: 1px solid var(--ligne-claire);
	transition: background 0.25s ease;
}
.carte-dosette:hover {
	background: rgba(255, 255, 255, 0.03);
}
.carte-dosette:last-child { border-right: 0; }
.carte-dosette-photo {
	display: flex;
	align-items: center;
	justify-content: center;
}
.carte-dosette-photo img {
	width: 100%;
	height: 215px;
	object-fit: contain;
	transition: transform 0.3s ease;
}
.carte-dosette:hover .carte-dosette-photo img {
	transform: scale(1.04);
}
.carte-dosette-texte {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}
.carte-dosette-texte h3 { margin: 8px 0 10px; color: var(--ivoire); font-size: 25px; }
.carte-dosette-texte .carte-prix { color: #f3e4d4; font-size: 24px; font-weight: 600; margin-bottom: 12px; }
.carte-dosette-texte .lien-souligne {
	color: #e6b85c;
	border-bottom: 1.5px solid #e6b85c;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	padding-bottom: 2px;
	transition: color 0.2s, border-color 0.2s;
}
.carte-dosette-texte .lien-souligne:hover {
	color: #fff;
	border-bottom-color: #fff;
}

/* --------------------------------------------------------------------------
   Sections duo (crème / huile)
   -------------------------------------------------------------------------- */
.pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
}
.pair-texte {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 58px 54px;
}
.pair-texte h2 { margin: 10px 0 14px; }
.pair-texte .sur-titre { margin-bottom: 2px; }
.prix-grand { font-family: var(--serif); font-size: 32px; line-height: 1; margin: 0 0 22px; }
.pair-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 30px;
	position: relative;
	overflow: hidden;
}
.pair-photo img {
	max-width: 100%;
	height: auto;
	max-height: 390px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}
.section-ivoire .pair-photo { background: var(--creme); }
.section-sombre .pair-photo { background: #241a16; }
.section-sombre .pair-texte { color: var(--ivoire); }
.section-sombre .pair-texte .sur-titre { color: #caa36f; }

/* Histoire */
.histoire { padding: 58px 0; }
.histoire .conteneur { max-width: 900px; }
.histoire h2 { margin-bottom: 16px; color: #241a16; }
.histoire p { max-width: 760px; margin: 0; color: #32251c; font-size: 15px; line-height: 1.75; font-weight: 450; }

/* --------------------------------------------------------------------------
   Boutique : filtres sticky et grilles
   -------------------------------------------------------------------------- */
.filtres {
	position: sticky;
	top: 0;
	z-index: 40;
	background: var(--ivoire);
	border-bottom: 1px solid var(--ligne);
}
.filtres-barre {
	display: flex;
	align-items: center;
	gap: 28px;
	min-height: 66px;
	overflow-x: auto;
	scrollbar-width: none;
}
.filtres-barre::-webkit-scrollbar { display: none; }
.filtre {
	position: relative;
	flex: 0 0 auto;
	padding: 22px 0;
	border-bottom: 2px solid transparent;
	color: #79695c;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
	transition: color .18s, border-color .18s;
}
.filtre:hover { color: var(--texte); }
.filtre.actif { color: var(--texte); border-bottom-color: var(--or); }
.filtre-compte {
	display: inline-block;
	min-width: 18px;
	height: 18px;
	margin-left: 6px;
	border: 1px solid #cdbba2;
	border-radius: 50%;
	color: #9b8a77;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
}
.filtre.actif .filtre-compte { border-color: var(--or); color: #8a5c28; }
.resultat-compte { margin-left: auto; color: #8b796b; font-size: 12px; white-space: nowrap; }
.resultat-recherche-barre {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}
.filtre-reset-lien {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 600;
	color: #79695c;
	background: #f4eee7;
	border: 1px solid #cdbba2;
	border-radius: 20px;
	text-decoration: none;
	white-space: nowrap;
	transition: all .18s;
}
.filtre-reset-lien:hover {
	background: var(--or);
	border-color: var(--or);
	color: #12100e;
}
.recherche-vide-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 1.5rem;
}

.section-grille-miels { padding-top: 56px; }
.miels-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 26px;
}
.carte-miel {
	display: flex;
	flex-direction: column;
	padding: 16px 16px 20px;
	background: var(--surface);
	border: 1px solid #e3d4c1;
}
.carte-miel-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 310px;
	margin-bottom: 16px;
	padding: 12px;
	background: #f1e6d7;
	border: 1px solid #e6d7c5;
}
.carte-miel-photo img { width: 100%; height: 100%; object-fit: contain; }
.carte-miel-info { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; flex: 1; }
.carte-miel-info h3 { font-size: 26px; }
.carte-miel-info .carte-prix { margin: 2px 0 4px; font-size: 22px; }
.carte-miel-info .lien-souligne { margin-top: auto; }

.soins-grille {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin-top: 28px;
}
.carte-soin {
	display: flex;
	flex-direction: column;
	padding-bottom: 20px;
	background: #30221c;
	border: 1px solid #544031;
}
.carte-soin-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 280px;
	padding: 18px;
	background: #eee5d9;
	border-bottom: 1px solid #544031;
}
.carte-soin-photo img { width: 100%; height: 100%; object-fit: contain; }
.carte-soin-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	gap: 7px;
	padding: 20px 20px 0;
}
.carte-soin-info .carte-type { color: #d4a267; }
.carte-soin-info h3 { color: #fff0df; font-size: 24px; }
.carte-soin-info .carte-prix { margin: 2px 0 6px; color: #fff0df; font-size: 22px; }
.carte-soin-info .carte-prix s { color: #b9a18d; }
.carte-soin-info .bouton { margin-top: auto; }

.vide {
	padding: 40px 0;
	color: var(--muted);
	font-size: 15px;
}

/* --------------------------------------------------------------------------
   Fil d'ariane
   -------------------------------------------------------------------------- */
.fil-ariane {
	background: var(--ivoire);
	padding: 15px 0;
	color: #8b796b;
	font-size: 11px;
}
.fil-ariane a:hover { color: var(--texte); }
.fil-ariane span[aria-current] { color: #5f5045; }

/* --------------------------------------------------------------------------
   Fiche produit
   -------------------------------------------------------------------------- */
.fiche { background: var(--ivoire); padding: 38px 0 70px; }
.fiche-grille {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 62px;
	align-items: start;
}
.fiche-galerie { position: sticky; top: 86px; }
.fiche-cadre {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 520px;
	padding: 32px;
	background: #eee2d1;
	border: 1px solid #e1d2c0;
}
.fiche-cadre img { width: 100%; max-height: 560px; object-fit: contain; }
.fiche-miniatures { display: flex; gap: 10px; margin-top: 12px; }
.miniature {
	width: 74px;
	height: 74px;
	padding: 4px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	border-radius: 0;
	cursor: pointer;
}
.miniature img { width: 100%; height: 100%; object-fit: contain; }
.miniature.active { border-color: var(--or); }
.fiche-info { padding-top: 4px; }
.fiche-info h1 { margin: 9px 0 12px; font-size: clamp(2.2rem, 3.3vw, 3.4rem); }
.fiche-prix {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 12px 0 18px;
	font-family: var(--serif);
	font-size: 34px;
	line-height: 1;
	letter-spacing: -.02em;
}
.fiche-prix s { color: #9b8b7c; font-family: var(--sans); font-size: 17px; font-weight: 400; }
.fiche-extrait { max-width: 560px; margin: 0 0 8px; color: #5f5045; font-size: 14px; line-height: 1.7; }

.variations { margin: 22px 0 0; }
.variations legend.variations-titre {
	margin-bottom: 12px;
	padding: 0;
	color: #4a382c;
	font-family: var(--sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.variations-liste {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.variation {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	min-height: 64px;
	padding: 12px 14px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	border-radius: 4px;
	cursor: pointer;
	font-size: 13px;
	transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
	position: relative;
}
.variation:hover { border-color: #b99a72; background: #fffdfa; }
.variation input[type="radio"] {
	flex: 0 0 auto;
	appearance: none;
	width: 16px;
	height: 16px;
	margin-top: 3px;
	border: 1.5px solid #b79b77;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: border-color .15s;
}
.variation input[type="radio"]:checked {
	border: 5px solid var(--or);
	background: #fff;
}
.variation:has(input[type="radio"]:checked) {
	border-color: var(--or);
	background: #fff8ee;
	box-shadow: 0 2px 8px rgba(199, 148, 80, 0.12);
}
.variation-corps {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.variation-ligne-principale {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
}
.variation-libelle {
	font-weight: 700;
	font-size: 14px;
	color: var(--espresso);
}
.variation-prix {
	font-weight: 700;
	font-size: 15px;
	white-space: nowrap;
	color: var(--espresso);
}
.variation-prix s {
	margin-right: 5px;
	color: #9b8b7c;
	font-weight: 400;
	font-size: 12px;
}
.variation-prix-unitaire {
	font-size: 12px;
	color: #7d6b5c;
}
.variation-economie {
	font-size: 12px;
	font-weight: 600;
	color: #276738;
	margin-top: 2px;
}
.variation-badge {
	align-self: flex-start;
	margin-top: 4px;
	padding: 2px 7px;
	background: #276738;
	color: #ffffff;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .03em;
	border-radius: 3px;
	text-transform: uppercase;
}
.variation.indisponible { opacity: .48; cursor: not-allowed; }
.variation-etat {
	display: block;
	width: 100%;
	margin-top: 2px;
	color: #9a4c3d;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.recap-quantite-achat {
	margin-top: 14px;
	padding: 10px 14px;
	background: #fff8ef;
	border: 1px solid #e8d7c0;
	border-radius: 3px;
	font-size: 13px;
	color: #4a382c;
	line-height: 1.5;
}

.achat { margin-top: 24px; }
.achat-ligne { display: flex; align-items: flex-end; gap: 12px; flex-wrap: wrap; }
.quantite label {
	display: block;
	margin-bottom: 6px;
	color: #6f5a45;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.quantite-stepper {
	display: flex;
	align-items: center;
	height: 46px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
}
.etape {
	width: 38px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--texte);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
.etape:hover { background: #f1e6d7; }
.quantite-stepper input {
	width: 46px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--texte);
	font-family: var(--sans);
	font-size: 14px;
	text-align: center;
	-moz-appearance: textfield;
}
.quantite-stepper input::-webkit-outer-spin-button,
.quantite-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bouton-achat { flex: 1; min-width: 210px; min-height: 46px; position: relative; z-index: 96; }
.disponibilite {
	margin: 10px 0 0;
	color: #557044;
	font-size: 12px;
	font-weight: 500;
}
.disponibilite.sur-commande { color: #9a6a27; }
.disponibilite.absent { color: #9a4c3d; }
.reassurance {
	display: grid;
	gap: 5px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
	color: #6f6054;
	font-size: 12px;
}
.reassurance li::before { content: "—"; margin-right: 8px; color: var(--or); }

.fiche-details {
	margin-top: 26px;
	padding-top: 18px;
	border-top: 1px solid var(--ligne);
}
.fiche-details summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 2px 0;
	color: var(--texte);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
}
.fiche-details summary::after { content: "+"; font-size: 18px; font-weight: 400; line-height: 1; }
.fiche-details[open] summary::after { content: "−"; }
.fiche-description { padding-top: 14px; color: #5f5045; font-size: 14px; line-height: 1.75; }
.fiche-description p { margin: 0 0 12px; }
.fiche-description p:last-child { margin-bottom: 0; }
.fiche-description a { text-decoration: underline; text-underline-offset: 3px; }
.fiche-note { margin: 16px 0 0; color: #8b796b; font-size: 11px; line-height: 1.6; }
.fiche-reference { margin: 18px 0 0; color: #8b796b; font-size: 11px; }

.section-similaires { padding: 58px 0 70px; }

/* --------------------------------------------------------------------------
   Panier
   -------------------------------------------------------------------------- */
.page-panier { background: var(--ivoire); padding: 30px 0 72px; }
.page-panier .titre-serif { margin-bottom: 28px; }
.panier-grille {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
	gap: 40px;
	align-items: start;
}
.panier-form { margin: 0; }
.panier-liste { border-top: 1px solid var(--ligne); }
.panier-ligne {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto auto;
	gap: 18px;
	align-items: center;
	padding: 22px 0;
	border-bottom: 1px solid var(--ligne);
}
.panier-photo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 96px;
	height: 96px;
	padding: 6px;
	background: #eee2d1;
	border: 1px solid #e1d2c0;
}
.panier-photo img { width: 100%; height: 100%; object-fit: contain; }
.panier-details { min-width: 0; }
.panier-nom { margin: 0 0 4px; font-family: var(--serif); font-size: 21px; font-weight: 400; letter-spacing: -.02em; line-height: 1.15; }
.panier-nom a:hover { color: #8a5c28; }
.panier-attrs { margin: 0 0 3px; color: #8b796b; font-size: 11px; }
.panier-prix-unitaire { margin: 0; color: #8b796b; font-size: 11px; }
.panier-quantite input {
	width: 62px;
	height: 40px;
	padding: 0 6px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	color: var(--texte);
	font-size: 13px;
	text-align: center;
}
.panier-quantite-stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--ligne-forte);
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
}
.panier-quantite-stepper .panier-etape {
	width: 32px;
	height: 36px;
	padding: 0;
	margin: 0;
	background: #f7f2ea;
	border: none;
	color: var(--texte);
	font-size: 17px;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease;
}
.panier-quantite-stepper .panier-etape:hover:not(:disabled) {
	background: #ebdccf;
	color: var(--or);
}
.panier-quantite-stepper .panier-etape:disabled {
	opacity: 0.35;
	cursor: not-allowed;
	background: #f5f0e8;
}
.panier-quantite-stepper input {
	width: 42px;
	height: 36px;
	border: none;
	border-left: 1px solid var(--ligne-claire);
	border-right: 1px solid var(--ligne-claire);
	background: #fff;
	text-align: center;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--texte);
	-moz-appearance: textfield;
}
.panier-quantite-stepper input::-webkit-outer-spin-button,
.panier-quantite-stepper input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.panier-sous-total {
	min-width: 92px;
	color: var(--texte);
	font-family: var(--serif);
	font-size: 19px;
	text-align: right;
	white-space: nowrap;
}
.panier-supprimer {
	grid-column: 2 / -1;
	justify-self: start;
	padding: 0;
	background: transparent;
	border: 0;
	color: #8b5a4a;
	font-size: 11px;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
.panier-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 18px;
}
.panier-actions .lien-souligne { font-size: 12px; }

.panier-resume {
	position: sticky;
	top: 88px;
	padding: 24px;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
}
.panier-resume h2 { margin: 0 0 14px; font-family: var(--serif); font-size: 25px; font-weight: 400; letter-spacing: -.03em; }
.resume-ligne {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(78, 49, 32, .12);
	color: #5f5045;
	font-size: 13px;
}
.resume-ligne strong { color: var(--texte); font-weight: 500; }
.resume-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 0 4px;
	font-family: var(--serif);
	font-size: 28px;
	line-height: 1;
}
.resume-total span:first-child { font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.panier-resume .bouton-commander { margin-top: 18px; }
.resume-note { margin: 12px 0 0; color: #8b796b; font-size: 11px; line-height: 1.6; }
.coupon { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(78, 49, 32, .12); }
.coupon label { display: block; margin-bottom: 6px; color: #6f5a45; font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.coupon-ligne { display: flex; gap: 8px; }
.coupon-ligne input {
	flex: 1;
	min-width: 0;
	height: 40px;
	padding: 0 10px;
	background: #fff;
	border: 1px solid var(--ligne-forte);
	color: var(--texte);
	font-size: 12px;
}
.coupon-ligne .bouton { min-height: 40px; font-size: 11px; }
.coupons-appliques { margin: 12px 0 0; padding: 0; list-style: none; font-size: 12px; }
.coupons-appliques li { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 6px 0; }
.coupons-appliques button { padding: 0; background: none; border: 0; color: #8b5a4a; font-size: 11px; text-decoration: underline; cursor: pointer; }

.panier-vide { padding: 36px 0 50px; }
.panier-vide h1 { margin-bottom: 14px; }
.panier-vide p { max-width: 520px; margin-bottom: 22px; color: var(--muted); }

/* --------------------------------------------------------------------------
   Pages simples, contenu WordPress, checkout
   -------------------------------------------------------------------------- */
.page-simple { background: var(--ivoire); padding: 42px 0 76px; }
.page-simple .contenu { max-width: 860px; }
.page-simple h1 { margin-bottom: 18px; font-size: clamp(2.2rem, 3.5vw, 3.4rem); }
.page-simple .prose { color: #4f4137; font-size: 14px; line-height: 1.8; }
.page-simple .prose h2,
.page-simple .prose h3 { margin-top: 28px; font-family: var(--serif); font-weight: 400; letter-spacing: -.02em; color: var(--texte); }
.page-simple .prose a { text-decoration: underline; text-underline-offset: 3px; }
.page-simple .prose ul,
.page-simple .prose ol { padding-left: 20px; }

/* Encadré composition pack */
.pack-composition-encadre {
	margin: 18px 0;
	padding: 14px 18px;
	background: #f1e6d7;
	border: 1px solid var(--ligne-forte);
	border-radius: 3px;
	font-size: 13px;
	color: var(--texte);
}
.pack-composition-encadre .pack-composition-titre {
	margin: 0 0 8px;
	font-weight: 600;
	font-size: 13px;
	color: #794c25;
}
.pack-composition-encadre ul {
	margin: 0 0 8px;
	padding-left: 18px;
}
.pack-composition-encadre li {
	margin-bottom: 4px;
	line-height: 1.4;
}
.pack-composition-encadre .pack-composition-note {
	margin: 0;
	font-size: 12px;
	color: #6d5b4e;
	line-height: 1.45;
}

/* --------------------------------------------------------------------------
   Checkout / Commande V2 (Intégration WooCommerce robuste et élégante)
   -------------------------------------------------------------------------- */
.page-commande {
	background: var(--ivoire);
	padding: 36px 0 80px;
	min-height: 80vh;
}
.page-commande .contenu {
	max-width: 1220px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}
.page-commande .titre-page {
	margin-bottom: 28px;
	font-family: var(--serif);
	font-size: clamp(2rem, 3.2vw, 2.8rem);
	color: var(--noir);
	letter-spacing: -0.02em;
	border-bottom: 1px solid var(--ligne);
	padding-bottom: 16px;
}

/* Grille 2 colonnes desktop pour le checkout */
form.woocommerce-checkout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	column-gap: 36px;
	row-gap: 20px;
	align-items: start;
	width: 100%;
	box-sizing: border-box;
}

/* Éléments pleine largeur au-dessus (messages, notices, coupon, login) */
form.woocommerce-checkout > .woocommerce-NoticeGroup,
form.woocommerce-checkout > .woocommerce-error,
form.woocommerce-checkout > .woocommerce-message,
form.woocommerce-checkout > .woocommerce-info,
form.woocommerce-checkout > p.form-row:not(#billing_first_name_field):not(#billing_last_name_field),
form.woocommerce-checkout > .clear {
	grid-column: 1 / -1;
	width: 100%;
	box-sizing: border-box;
}

/* Colonne gauche : Formulaire client (Facturation + Expédition + Notes) */
form.woocommerce-checkout > #customer_details {
	grid-column: 1 / 2;
	grid-row: 2 / span 10;
	width: 100%;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	border-radius: 4px;
	padding: 32px 28px;
	box-sizing: border-box;
	margin-bottom: 0;
}

/* Dégroupage sans float des sous-colonnes de customer_details */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	clear: both;
}

.woocommerce-checkout #customer_details .col-2 {
	margin-top: 26px !important;
	border-top: 1px solid var(--ligne);
	padding-top: 22px !important;
}

/* Titres des sections du formulaire */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
form.woocommerce-checkout h3 {
	font-family: var(--serif);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--noir);
	margin: 0 0 16px 0;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--ligne);
}

/* Organisation des champs : grille flex fluide */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 0;
}

.woocommerce form .form-row {
	margin: 0 0 16px 0;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

/* Champs pleine largeur */
.woocommerce form .form-row-wide,
.woocommerce form .form-row.notes,
.woocommerce form .form-row.address-field {
	width: 100% !important;
	float: none !important;
	clear: both;
}

/* Champs demi-largeur côte à côte (prénom, nom) */
.woocommerce form .form-row-first {
	width: 48.5% !important;
	float: left !important;
	clear: none;
}
.woocommerce form .form-row-last {
	width: 48.5% !important;
	float: right !important;
	clear: none;
}

/* Libellés de formulaire */
.woocommerce form .form-row label {
	color: var(--texte);
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 6px;
	display: block;
	line-height: 1.4;
}
.woocommerce form .form-row label .required {
	color: #a83232;
	text-decoration: none;
	font-weight: bold;
	margin-left: 3px;
}
.woocommerce form .form-row label .optional {
	color: #8c7a6b;
	font-weight: 400;
	font-size: 12px;
	margin-left: 4px;
}

/* Entrées de texte, select et textarea */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select:not(.select2-hidden-accessible),
.woocommerce .select2-container .select2-selection--single {
	width: 100% !important;
	min-height: 46px;
	padding: 10px 14px;
	background: #ffffff;
	border: 1px solid var(--ligne-forte);
	border-radius: 3px;
	color: var(--texte);
	font-family: var(--sans);
	font-size: 14px;
	line-height: 1.5;
	box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce form .form-row select.select2-hidden-accessible {
	width: 1px !important;
	height: 1px !important;
	position: absolute !important;
	left: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	overflow: hidden !important;
	margin: -1px !important;
	padding: 0 !important;
}
.cmplz-cookiebanner {
	max-width: 100vw !important;
	box-sizing: border-box !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:not(.select2-hidden-accessible):focus,
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single {
	outline: none;
	border-color: var(--or);
	box-shadow: 0 0 0 2px rgba(199, 148, 80, 0.2);
}

/* Zone Notes de commande : spacieuse et sans texte coupé */
.woocommerce form .form-row textarea#order_comments {
	min-height: 120px;
	height: 120px;
	resize: vertical;
	line-height: 1.5;
	padding: 12px 14px;
}

/* Colonne droite : En-tête et Récapitulatif */
form.woocommerce-checkout > #order_review_heading {
	grid-column: 2 / 3;
	grid-row: 2;
	font-family: var(--serif);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--noir);
	margin: 0 0 12px 0;
	padding-bottom: 8px;
}

form.woocommerce-checkout > #order_review {
	grid-column: 2 / 3;
	grid-row: 2;
	margin-top: 42px;
	width: 100%;
	background: var(--surface);
	border: 1px solid var(--ligne-forte);
	border-radius: 4px;
	padding: 26px 22px;
	box-sizing: border-box;
	position: sticky;
	top: 24px;
}

/* Table récapitulative des articles */
.woocommerce table.shop_table {
	width: 100%;
	border: 1px solid var(--ligne-forte);
	border-collapse: collapse;
	border-radius: 3px;
	background: #ffffff;
	margin-bottom: 22px;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: rgba(78, 49, 32, .12);
	padding: 12px 14px;
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--texte);
}
.woocommerce table.shop_table thead th {
	background: #f1e6d7;
	color: var(--noir);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.woocommerce table.shop_table tbody td.product-name {
	font-weight: 500;
}
.woocommerce table.shop_table tbody td.product-name strong.product-quantity {
	color: #8c7a6b;
	font-weight: 600;
	margin-left: 4px;
}
.woocommerce table.shop_table tfoot th {
	font-weight: 600;
	color: var(--noir);
	border-top: 1px solid var(--ligne);
	background: #faf6f1;
}
.woocommerce table.shop_table tfoot td {
	border-top: 1px solid var(--ligne);
	background: #faf6f1;
}
.woocommerce table.shop_table tfoot tr.order-total th,
.woocommerce table.shop_table tfoot tr.order-total td {
	font-size: 15.5px;
	font-weight: 700;
	color: var(--noir);
	background: #f1e6d7;
	border-top: 2px solid var(--or);
}
.woocommerce-checkout table.shop_table .amount,
.woocommerce-checkout table.shop_table td .amount,
.woocommerce-checkout table.shop_table th .amount,
.woocommerce-checkout table.shop_table .cart-subtotal .amount,
.woocommerce-checkout table.shop_table .product-total .amount,
.woocommerce-checkout table.shop_table ul#shipping_method .amount {
	color: var(--texte) !important;
}
.woocommerce-checkout table.shop_table .order-total .amount {
	color: var(--noir) !important;
	font-weight: 800;
}
.woocommerce table.shop_table ul#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce table.shop_table ul#shipping_method li {
	margin-bottom: 8px;
	line-height: 1.4;
}

/* Bloc des méthodes de paiement */
.woocommerce #payment {
	background: transparent;
	border-radius: 0;
	padding: 0;
}
.woocommerce #payment ul.payment_methods {
	border-bottom: 1px solid var(--ligne);
	padding: 0 0 16px 0;
	margin: 0 0 16px 0;
	list-style: none;
}
.woocommerce #payment ul.payment_methods li {
	margin-bottom: 12px;
	line-height: 1.4;
}
.woocommerce #payment ul.payment_methods li label {
	font-weight: 600;
	color: var(--noir);
	font-size: 13.5px;
	cursor: pointer;
}
.woocommerce #payment div.payment_box {
	background: #f5ece1;
	border: 1px solid #dfcfbc;
	border-radius: 3px;
	color: #4a3e35;
	font-size: 12.5px;
	line-height: 1.5;
	padding: 12px 14px;
	margin: 8px 0 12px;
}
.woocommerce #payment div.payment_box::before {
	border-bottom-color: #dfcfbc;
}

/* Zone des CGV et politique de confidentialité */
.woocommerce .woocommerce-terms-and-conditions-wrapper {
	margin: 18px 0 16px 0;
	padding: 14px 16px;
	background: #faf6f1;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--texte);
}
.woocommerce .woocommerce-terms-and-conditions-wrapper a {
	color: #8c5a24;
	font-weight: 600;
	text-decoration: underline;
}
.woocommerce .woocommerce-terms-and-conditions-wrapper a:hover {
	color: #633f17;
}
.woocommerce .woocommerce-privacy-policy-text {
	margin-bottom: 12px;
	font-size: 12.5px;
	color: #5c4e43;
}

/* Bouton final de commande explicite */
.woocommerce #place_order {
	width: 100% !important;
	min-height: 52px;
	background: var(--or) !important;
	border: none !important;
	border-radius: 3px !important;
	color: var(--noir) !important;
	font-family: var(--sans) !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	padding: 14px 18px !important;
	cursor: pointer !important;
	transition: background .2s ease, transform .1s ease !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}
.woocommerce #place_order:hover {
	background: var(--or-clair) !important;
}

/* Neutralisation absolue des conteneurs parasites OceanWP / Contact form 7 */
#oceanwp-cart-sidebar-wrap,
.oceanwp-cart-sidebar,
.oceanwp-cart-sidebar-overlay,
.omw-modal,
.omw-modal-overlay,
#omw-118,
.owp-cart-title,
.oceanwp-cart-close {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	height: 0 !important;
	width: 0 !important;
	overflow: hidden !important;
}

/* Responsive tablette & mobile */
@media (max-width: 960px) {
	form.woocommerce-checkout {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	form.woocommerce-checkout > #customer_details {
		grid-column: 1 / -1;
		grid-row: auto;
		padding: 22px 18px;
	}
	form.woocommerce-checkout > #order_review_heading {
		grid-column: 1 / -1;
		grid-row: auto;
		margin-top: 14px;
	}
	form.woocommerce-checkout > #order_review {
		grid-column: 1 / -1;
		grid-row: auto;
		margin-top: 0;
		position: static;
		padding: 22px 18px;
	}
}

@media (max-width: 540px) {
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: 100% !important;
		float: none !important;
	}
	.page-commande .contenu {
		padding: 0 14px;
	}
	.woocommerce-checkout #customer_details,
	form.woocommerce-checkout > #order_review {
		padding: 18px 14px;
	}
	.woocommerce #place_order {
		font-size: 13.5px !important;
		padding: 12px 14px !important;
	}
}

/* --------------------------------------------------------------------------
   Confiance + pied de page
   -------------------------------------------------------------------------- */
.confiance {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	background: #1b1411;
	border-top: 1px solid #4b352a;
	color: #e2cbb3;
	padding: 24px 0;
	font-family: var(--serif);
	font-size: 15px;
	text-align: center;
}
.confiance span { padding: 0 18px; border-right: 1px solid #71533d; }
.confiance span:last-child { border-right: 0; }
.confiance a { border-bottom: 1px solid rgba(226, 203, 179, .35); }
.confiance a:hover { color: #e3b874; }

.pied,
.pied-minimal {
	background: #1b1411;
	border-top: 1px solid #3b2a21;
	color: #baa28a;
	padding: 38px 0 24px;
	font-size: 13px;
}
.pied-minimal-interne {
	width: min(var(--conteneur), calc(100% - var(--gouttiere)));
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: center;
	text-align: center;
}
.pied-haut {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	max-width: 600px;
}
.pied-logo img {
	width: 125px;
	height: auto;
	display: block;
}
.pied-slogan {
	margin: 0;
	color: #d8c8b8;
	font-size: 13.5px;
	line-height: 1.55;
}
.pied-contacts {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 4px;
}
.pied-contact-item {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #f7f0e7;
	font-size: 13.5px;
	font-weight: 500;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(247, 240, 231, 0.12);
	border-radius: 4px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.pied-contact-item:hover {
	background: rgba(227, 184, 116, 0.15);
	border-color: var(--or);
	color: #fff;
}
.pied-contact-item svg {
	color: var(--or);
	flex-shrink: 0;
}
.pied-legal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px 12px;
	width: 100%;
	padding: 14px 0;
	border-top: 1px solid rgba(247, 240, 231, 0.08);
	border-bottom: 1px solid rgba(247, 240, 231, 0.08);
	font-size: 12.5px;
	color: #9e8773;
}
.pied-legal a,
.pied-legal .cmplz-show-banner {
	color: #bfaea0;
	text-decoration: none;
	background: none;
	border: none;
	font-family: inherit;
	font-size: inherit;
	padding: 0;
	cursor: pointer;
	transition: color 0.2s;
}
.pied-legal a:hover,
.pied-legal .cmplz-show-banner:hover {
	color: var(--or);
}
.separateur-legal {
	color: rgba(247, 240, 231, 0.25);
	user-select: none;
}
.pied-bas {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	gap: 10px;
	font-size: 12px;
	color: #8f7a66;
}
.pied-mention {
	margin: 0;
	color: #8f7a66;
	font-size: 12px;
	line-height: 1.5;
}
.pied-credits {
	margin: 0;
	color: #a49180;
	font-size: 12px;
}
.pied-credits a {
	color: var(--or);
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 600;
	transition: color 0.2s;
}
.pied-credits a:hover {
	color: #fff;
}
@media (max-width: 600px) {
	.pied-bas {
		flex-direction: column;
		justify-content: center;
		text-align: center;
		gap: 6px;
	}
}

/* --------------------------------------------------------------------------
   Toast d'ajout au panier
   -------------------------------------------------------------------------- */
.toast {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 150;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	width: min(380px, calc(100% - 44px));
	padding: 15px 16px;
	background: var(--espresso);
	border: 1px solid #5a4434;
	color: var(--ivoire);
	box-shadow: 0 14px 36px rgba(0, 0, 0, .26);
	font-size: 13px;
	line-height: 1.5;
}
.toast[hidden] { display: none; }
.toast-texte { flex: 1; }
.toast-texte strong { display: block; margin-bottom: 3px; font-family: var(--serif); font-size: 16px; font-weight: 400; }
.toast-texte a { display: inline-block; margin-top: 7px; color: #eec78e; border-bottom: 1px solid rgba(238, 199, 142, .5); }
.toast-fermer {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	padding: 0;
	background: transparent;
	border: 1px solid rgba(247, 240, 231, .25);
	border-radius: 2px;
	color: var(--ivoire);
	font-size: 15px;
	line-height: 1;
	cursor: pointer;
}
.toast.erreur { border-left: 3px solid #b44a39; }
.toast.succes { border-left: 3px solid var(--or); }

/* --------------------------------------------------------------------------
   Page 404
   -------------------------------------------------------------------------- */
.page-404 { background: var(--ivoire); padding: 80px 0 96px; }
.page-404 h1 { margin-bottom: 14px; }
.page-404 p { max-width: 540px; margin-bottom: 24px; color: var(--muted); }

/* --------------------------------------------------------------------------
   Gestionnaire de consentement cookies (Complianz) — Protection Checkout
   Garantit que le bandeau ne masque jamais les champs, totaux ni la validation
   -------------------------------------------------------------------------- */
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	max-width: 520px !important;
	border-radius: 6px !important;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
	border: 1px solid #d5c0aa !important;
}

@media (max-width: 768px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		max-height: 220px !important;
		padding: 12px 14px !important;
		margin: 8px !important;
		width: calc(100% - 16px) !important;
		border-radius: 6px !important;
	}
	#cmplz-cookiebanner-container .cmplz-header {
		padding: 0 !important;
		margin-bottom: 6px !important;
	}
	#cmplz-cookiebanner-container .cmplz-title {
		font-size: 13px !important;
	}
	#cmplz-cookiebanner-container .cmplz-message {
		font-size: 11px !important;
		line-height: 1.35 !important;
		max-height: 48px !important;
		overflow-y: auto !important;
		margin-bottom: 8px !important;
	}
	#cmplz-cookiebanner-container .cmplz-categories {
		display: none !important;
	}
	#cmplz-cookiebanner-container .cmplz-buttons {
		gap: 6px !important;
		display: flex !important;
		flex-wrap: wrap !important;
	}
	#cmplz-cookiebanner-container .cmplz-btn {
		min-height: 36px !important;
		padding: 6px 12px !important;
		font-size: 11px !important;
		flex: 1 1 auto !important;
	}
}

/* Sur la commande et le panier, afficher le bandeau en flux naturel pour ne JAMAIS masquer les champs ni le bouton de commande */
.page-commande #cmplz-cookiebanner-container,
.page-panier #cmplz-cookiebanner-container,
body.woocommerce-checkout #cmplz-cookiebanner-container,
body.woocommerce-cart #cmplz-cookiebanner-container {
	position: static !important;
	display: block !important;
}

.page-commande #cmplz-cookiebanner-container .cmplz-cookiebanner,
.page-panier #cmplz-cookiebanner-container .cmplz-cookiebanner,
body.woocommerce-checkout #cmplz-cookiebanner-container .cmplz-cookiebanner,
body.woocommerce-cart #cmplz-cookiebanner-container .cmplz-cookiebanner {
	position: static !important;
	margin: 24px auto 30px !important;
	max-width: 720px !important;
	width: calc(100% - 32px) !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12) !important;
}

.page-commande,
body.woocommerce-checkout {
	padding-bottom: 60px !important;
}

.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment,
#place_order {
	position: relative;
	z-index: 100;
}

/* --------------------------------------------------------------------------
   Preuve Sociale & Statistiques Réassurance
   -------------------------------------------------------------------------- */
.stats-reassurance-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	background: #fffdf9;
	border: 1px solid #dccbb8;
	border-radius: 6px;
	padding: 22px 20px;
	margin: 28px auto 24px;
	max-width: 1140px;
	position: relative;
	z-index: 2;
	box-shadow: 0 10px 28px rgba(36, 26, 22, 0.07);
}
.stat-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 5px;
	padding: 4px 12px;
	border-right: 1px solid #ebdccf;
}
.stat-item:last-child {
	border-right: none;
}
.stat-item strong {
	color: #8c581a;
	font-family: var(--serif);
	font-size: 26px;
	font-weight: 700;
	letter-spacing: .2px;
	line-height: 1.2;
}
.stat-item span {
	color: #241a16;
	font-family: var(--sans);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: .15px;
	line-height: 1.35;
}

/* --------------------------------------------------------------------------
   Avis Clients / Carrousel Compact & Élégant
   -------------------------------------------------------------------------- */
.avis-section {
	padding: 56px 0;
	background: var(--brun-sombre);
	color: var(--creme);
}
.avis-carrousel-wrapper {
	position: relative;
	max-width: 740px;
	margin: 32px auto 0;
	display: flex;
	align-items: center;
	gap: 14px;
}
.avis-fenetre {
	position: relative;
	overflow: hidden;
	flex: 1;
	border-radius: 6px;
}
.avis-piste {
	display: flex;
	transition: transform 0.45s ease-in-out;
	will-change: transform;
}
.carte-avis {
	flex: 0 0 100%;
	max-width: 100%;
	background: #241a16;
	border: 1px solid rgba(197, 160, 89, 0.28);
	border-radius: 6px;
	padding: 28px 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 14px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
	box-sizing: border-box;
}
.avis-etoiles {
	color: #e6b85c;
	font-size: 19px;
	letter-spacing: 3px;
}
.avis-texte {
	color: #f1e9e0;
	font-size: 15px;
	line-height: 1.65;
	font-style: italic;
	margin: 0;
	max-width: 580px;
}
.avis-auteur {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 12px;
	width: 100%;
	max-width: 240px;
}
.avis-auteur strong {
	color: var(--or);
	font-size: 15px;
	font-weight: 600;
}
.avis-auteur span {
	color: #dcd0c4;
	font-size: 12.5px;
	font-weight: 500;
}
.avis-nav {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(227, 184, 116, 0.35);
	border-radius: 50%;
	color: var(--or);
	cursor: pointer;
	flex-shrink: 0;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.avis-nav:hover,
.avis-nav:focus-visible {
	background: rgba(227, 184, 116, 0.2);
	border-color: var(--or);
	color: #fff;
	outline: none;
}
.avis-indicateurs {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 18px;
}
.avis-point {
	width: 11px;
	height: 11px;
	padding: 0;
	background: transparent;
	border: 1.5px solid var(--or);
	border-radius: 50%;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.avis-point.actif {
	background: var(--or);
	transform: scale(1.15);
}
@media (prefers-reduced-motion: reduce) {
	.avis-piste {
		transition: none !important;
	}
}
@media (max-width: 600px) {
	.avis-carrousel-wrapper {
		gap: 8px;
	}
	.avis-nav {
		width: 36px;
		height: 36px;
	}
	.carte-avis {
		padding: 22px 18px;
	}
	.avis-texte {
		font-size: 14px;
	}
}

/* --------------------------------------------------------------------------
   Rubrique Guides & Articles SEO
   -------------------------------------------------------------------------- */
.guides-section {
	padding: 60px 0;
	background: var(--ivoire);
}
.guides-grille-accueil {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 32px;
	align-items: stretch;
}
.guides-grille-principale {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 24px;
	margin-top: 32px;
}
.carte-guide, .carte-guide-accueil {
	background: #fff;
	border: 1px solid var(--bordure);
	border-radius: 4px;
	padding: 26px 22px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.carte-guide:hover, .carte-guide-accueil:hover {
	transform: translateY(-3px);
	border-color: var(--or);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.badge-guide, .guide-badge-mini {
	display: inline-block;
	background: rgba(197, 160, 89, 0.15);
	color: #7a5015;
	padding: 4px 10px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .5px;
	width: fit-content;
}
.carte-guide-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.carte-guide-temps, .guide-temps, .guide-date {
	color: #4a3a30;
	font-size: 12px;
	font-weight: 600;
}
.carte-guide-titre, .carte-guide-accueil h3 {
	font-size: 18px;
	line-height: 1.35;
	margin: 4px 0;
	font-family: var(--serif);
	color: #241a16;
}
.carte-guide-titre a, .carte-guide-accueil h3 a {
	color: #241a16;
	text-decoration: none;
}
.carte-guide-titre a:hover, .carte-guide-accueil h3 a:hover {
	color: var(--or);
}
.carte-guide-chapeau, .carte-guide-accueil p {
	color: #3e3025;
	font-size: 13.5px;
	line-height: 1.6;
	flex: 1;
	margin: 0;
}
.carte-guide-accueil .lien-souligne {
	margin-top: auto;
	padding-top: 8px;
	color: #8b5a1f;
	border-bottom: 1.5px solid #c79450;
	font-size: 13px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
.carte-guide-accueil .lien-souligne:hover {
	color: #633c0f;
	border-bottom-color: #633c0f;
}
.carte-guide-actions {
	margin-top: 12px;
}

/* Page Article Guide */
.guide-article {
	padding: 40px 0 80px;
}
.guide-entete {
	max-width: 860px;
	margin: 0 auto 36px;
	text-align: center;
}
.guide-meta-top {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
	flex-wrap: wrap;
}
.guide-h1 {
	font-size: clamp(26px, 4vw, 40px);
	line-height: 1.25;
	margin-bottom: 18px;
	color: var(--brun-texte);
}
.guide-chapeau {
	font-size: 17px;
	line-height: 1.65;
	color: #50423a;
	max-width: 760px;
	margin: 0 auto 18px;
}
.guide-signature {
	font-size: 13px;
	color: #8c7d73;
	border-top: 1px solid var(--bordure);
	padding-top: 14px;
	display: inline-block;
}

.guide-corps-grille {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 48px;
	align-items: start;
	max-width: 1140px;
	margin: 0 auto;
}
.guide-contenu-principal {
	background: #fff;
	border: 1px solid var(--bordure);
	border-radius: 6px;
	padding: 36px 40px;
}
.guide-section {
	margin-bottom: 36px;
}
.guide-section:last-child {
	margin-bottom: 0;
}
.guide-h2 {
	font-size: 24px;
	color: var(--brun-texte);
	margin-bottom: 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid rgba(197, 160, 89, 0.3);
}
.guide-texte p {
	font-size: 15.5px;
	line-height: 1.7;
	color: #3b302a;
	margin-bottom: 16px;
}
.guide-texte ul, .guide-texte ol {
	margin: 14px 0 20px 24px;
	color: #3b302a;
	font-size: 15px;
	line-height: 1.65;
}
.guide-texte li {
	margin-bottom: 8px;
}

/* Sidebar Produit Guide */
.guide-sidebar {
	position: sticky;
	top: 100px;
}
.sidebar-produit-card {
	background: var(--ivoire);
	border: 1px solid var(--bordure);
	border-radius: 6px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
}
.sidebar-badge {
	background: var(--or);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 8px;
	border-radius: 2px;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 14px;
}
.sidebar-photo {
	width: 180px;
	height: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}
.sidebar-photo img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.sidebar-titre {
	font-size: 20px;
	margin-bottom: 4px;
}
.sidebar-titre a {
	color: var(--brun-texte);
	text-decoration: none;
}
.sidebar-soustitre {
	font-size: 12px;
	color: #7a6a60;
	margin-bottom: 12px;
}
.sidebar-prix {
	font-size: 22px;
	color: var(--brun-texte);
	margin-bottom: 16px;
}
.sidebar-reassurance {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--bordure);
	list-style: none;
	padding-left: 0;
	font-size: 12px;
	color: #63534a;
	display: flex;
	flex-direction: column;
	gap: 6px;
	text-align: left;
	width: 100%;
}
.sidebar-reassurance li::before {
	content: "✓ ";
	color: var(--or);
	font-weight: bold;
}

/* Bloc Sources Scientifiques */
.guide-sources-bloc {
	background: #fdfaf6;
	border: 1px solid rgba(197, 160, 89, 0.35);
	border-left: 4px solid var(--or);
	border-radius: 4px;
	padding: 20px 24px;
	margin-top: 36px;
}
.guide-sources-titre {
	font-size: 15px;
	color: var(--brun-texte);
	margin-bottom: 10px;
	font-weight: 600;
}
.guide-sources-bloc ul {
	list-style: none;
	padding-left: 0;
	margin: 0;
}
.guide-sources-bloc li {
	margin-bottom: 8px;
	font-size: 13.5px;
	line-height: 1.5;
}
.guide-sources-bloc a {
	color: var(--or-hover);
	text-decoration: underline;
	font-weight: 500;
}
.source-label {
	color: #7d6e64;
	font-size: 12px;
}

/* Tableau Comparatif Guides */
.table-responsive {
	overflow-x: auto;
	margin: 20px 0;
}
.table-comparatif {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	text-align: left;
}
.table-comparatif th, .table-comparatif td {
	padding: 12px 14px;
	border: 1px solid var(--bordure);
}
.table-comparatif th {
	background: var(--ivoire);
	font-weight: 600;
	color: var(--brun-texte);
}
.table-comparatif tr:nth-child(even) td {
	background: #faf6f0;
}

/* Autres guides mini footer */
.guide-footer-nav {
	margin-top: 56px;
	padding-top: 40px;
	border-top: 1px solid var(--bordure);
}
.guides-grille-mini {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin-top: 24px;
}
.carte-guide-mini {
	background: #fff;
	border: 1px solid var(--bordure);
	border-radius: 4px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.carte-guide-mini h3 {
	font-size: 16px;
	line-height: 1.35;
	flex: 1;
}
.carte-guide-mini a {
	color: var(--brun-texte);
	text-decoration: none;
}
.carte-guide-mini a:hover {
	color: var(--or);
}
.guide-mini-temps {
	font-size: 11px;
	color: var(--or-hover);
	font-weight: 600;
}

/* --------------------------------------------------------------------------
   Fiche Produit : Chiffres Clés, Sections Riches & FAQ
   -------------------------------------------------------------------------- */
.fiche-badge-confiance {
	display: inline-block;
	background: rgba(197, 160, 89, 0.12);
	border: 1px solid rgba(197, 160, 89, 0.35);
	color: #75551c;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: 3px;
	margin-bottom: 12px;
}
.fiche-chiffres-cles {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin: 24px 0;
	padding: 16px;
	background: var(--ivoire);
	border: 1px solid var(--bordure);
	border-radius: 4px;
}
.chiffre-cle-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 3px;
}
.chiffre-cle-item strong {
	color: var(--or-hover);
	font-family: var(--police-titres);
	font-size: 20px;
}
.chiffre-cle-item span {
	font-size: 11.5px;
	color: #63534a;
	line-height: 1.3;
}

/* Sections Riches Produit */
.fiche-sections-riches {
	margin-top: 40px;
	border-top: 1px solid var(--bordure);
	padding-top: 32px;
}
.fiche-accordeon {
	border: 1px solid var(--bordure);
	border-radius: 4px;
	margin-bottom: 14px;
	background: #fff;
	overflow: hidden;
}
.fiche-accordeon summary {
	padding: 16px 20px;
	font-size: 16px;
	font-weight: 600;
	color: var(--brun-texte);
	background: var(--ivoire);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: background 0.2s ease;
}
.fiche-accordeon summary::-webkit-details-marker {
	display: none;
}
.fiche-accordeon summary::after {
	content: "+";
	font-size: 18px;
	color: var(--or);
	font-weight: bold;
}
.fiche-accordeon[open] summary::after {
	content: "−";
}
.fiche-accordeon summary:hover {
	background: #eee5d9;
}
.fiche-accordeon-contenu {
	padding: 20px;
	font-size: 14.5px;
	line-height: 1.65;
	color: #3b302a;
}
.fiche-accordeon-contenu p {
	margin-bottom: 12px;
}
.fiche-accordeon-contenu p:last-child {
	margin-bottom: 0;
}
.fiche-accordeon-contenu ul, .fiche-accordeon-contenu ol {
	margin: 10px 0 14px 20px;
	padding-left: 0;
}
.fiche-accordeon-contenu li {
	margin-bottom: 6px;
}

/* FAQ Accordion Items */
.faq-liste {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.faq-item {
	border-bottom: 1px solid var(--bordure);
	padding-bottom: 12px;
}
.faq-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.faq-question {
	font-weight: 600;
	color: var(--brun-texte);
	margin-bottom: 6px;
	font-size: 15px;
}
.faq-reponse {
	color: #55453d;
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

/* Avis Produit Fiche */
.fiche-avis-box {
	background: #fdfaf6;
	border: 1px solid rgba(197, 160, 89, 0.3);
	border-radius: 4px;
	padding: 20px;
	margin-top: 14px;
}
.fiche-avis-header {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}
.fiche-avis-note {
	color: #e6b85c;
	font-size: 16px;
	letter-spacing: 2px;
}
.fiche-avis-auteur {
	font-size: 13px;
	color: var(--brun-texte);
	font-weight: 600;
}
.fiche-avis-badge {
	background: #2e7d32;
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 2px;
	text-transform: uppercase;
}
.fiche-avis-texte {
	font-size: 14px;
	font-style: italic;
	color: #443730;
	line-height: 1.55;
	margin: 0;
}

/* ==========================================================================
   Fiche Produit : Points Forts & Page de Vente Huile de Sangsue V2
   ========================================================================== */

/* Points Forts (Premier écran au-dessus du panier) */
.fiche-points-forts {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 18px 0 22px;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--ligne);
	border-left: 3px solid var(--or);
	border-radius: 3px;
}
.fiche-point-fort-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.pf-icone {
	font-size: 16px;
	line-height: 1.3;
	flex-shrink: 0;
}
.pf-corps {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--texte);
}
.pf-titre {
	color: var(--espresso);
	font-weight: 700;
}
.pf-texte {
	color: var(--muted);
}

/* Sections Riches Landing Page Huile de Sangsue */
.huile-lp-section {
	padding: 70px 0;
	position: relative;
}
.huile-section-intro {
	text-align: center;
	max-width: 820px;
	margin: 0 auto 45px;
}
.huile-section-intro .sur-titre {
	display: block;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--or);
	font-weight: 700;
	margin-bottom: 8px;
}
.huile-section-intro h2 {
	font-size: 2.1rem;
	margin-bottom: 14px;
	line-height: 1.25;
}
.huile-section-intro p {
	font-size: 15.5px;
	line-height: 1.6;
	color: var(--muted);
	margin: 0;
}
.section-sombre .huile-section-intro h2 {
	color: var(--ivoire);
}
.section-sombre .huile-section-intro p {
	color: #c5b1a0;
}

/* Section 1 : Piliers */
.huile-piliers-grille {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.carte-pilier {
	background: #fff;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	padding: 32px 26px;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.carte-pilier:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(36, 26, 22, 0.06);
}
.pilier-badge {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--or);
	margin-bottom: 14px;
}
.pilier-titre {
	font-family: var(--serif);
	font-size: 1.3rem;
	color: var(--espresso);
	margin: 0 0 12px;
	line-height: 1.3;
}
.pilier-texte {
	font-size: 14px;
	line-height: 1.6;
	color: var(--muted);
	margin-bottom: 20px;
	flex-grow: 1;
}
.pilier-points {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid rgba(78, 49, 32, 0.08);
	padding-top: 16px;
}
.pilier-points li {
	font-size: 13px;
	color: var(--texte);
	margin-bottom: 6px;
	font-weight: 500;
}
.pilier-points li:last-child {
	margin-bottom: 0;
}

/* Section 2 : Rituel Masculin & Racines */
.huile-duo-rituel {
	display: grid;
	grid-template-columns: 44% 56%;
	gap: 48px;
	align-items: center;
}
.huile-cadre-photo {
	background: #1f1612;
	border: 1px solid rgba(199, 148, 80, 0.35);
	border-radius: 3px;
	padding: 24px;
	text-align: center;
	position: relative;
}
.huile-cadre-photo img {
	width: 100%;
	max-height: 480px;
	object-fit: contain;
	display: block;
	margin: 0 auto;
}
.huile-badge-racines {
	margin-top: 14px;
	padding: 8px 14px;
	background: rgba(199, 148, 80, 0.15);
	border: 1px solid rgba(199, 148, 80, 0.4);
	border-radius: 2px;
	display: inline-block;
}
.huile-badge-racines span {
	font-size: 12.5px;
	color: var(--or-clair);
	font-weight: 600;
}
.huile-rituel-texte .sur-titre {
	display: block;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--or);
	font-weight: 700;
	margin-bottom: 8px;
}
.huile-rituel-texte h2 {
	font-size: 2.1rem;
	color: var(--ivoire);
	margin-bottom: 18px;
	line-height: 1.25;
}
.huile-rituel-texte p {
	font-size: 15px;
	line-height: 1.65;
	color: #d8c8ba;
	margin-bottom: 16px;
}
.huile-citation {
	margin: 24px 0;
	padding: 18px 24px;
	border-left: 3px solid var(--or);
	background: rgba(255, 255, 255, 0.04);
	border-radius: 0 3px 3px 0;
}
.huile-citation p {
	font-family: var(--serif);
	font-size: 16px;
	font-style: italic;
	color: var(--ivoire);
	margin-bottom: 8px;
	line-height: 1.5;
}
.huile-citation cite {
	display: block;
	font-size: 12px;
	letter-spacing: 0.08em;
	color: var(--or);
	font-style: normal;
	font-weight: 600;
}
.huile-rituel-reassurance {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.rituel-reassurance-item strong {
	display: block;
	font-size: 13.5px;
	color: var(--ivoire);
	margin-bottom: 4px;
}
.rituel-reassurance-item span {
	font-size: 12px;
	color: #b09e90;
}

/* Section 3 : Bienfaits */
.huile-bienfaits-grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin-bottom: 36px;
}
.carte-bienfait {
	background: #fff;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	padding: 24px;
	display: flex;
	flex-direction: column;
}
.bienfait-numero {
	font-family: var(--serif);
	font-size: 1.8rem;
	color: var(--or);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 12px;
}
.bienfait-titre {
	font-size: 15px;
	font-weight: 700;
	color: var(--espresso);
	margin: 0 0 10px;
	line-height: 1.35;
}
.bienfait-description {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--muted);
	margin: 0;
}
.huile-transparence-cadre {
	background: #fff;
	border: 1px solid rgba(199, 148, 80, 0.4);
	border-left: 4px solid var(--or);
	border-radius: 3px;
	padding: 22px 26px;
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
.transparence-icone {
	font-size: 22px;
	color: var(--or);
	flex-shrink: 0;
	margin-top: 2px;
}
.transparence-titre {
	font-family: var(--serif);
	font-size: 1.15rem;
	color: var(--espresso);
	margin: 0 0 8px;
}
.transparence-texte p {
	font-size: 14px;
	line-height: 1.6;
	color: var(--texte);
	margin: 0;
}

/* Section 4 : Protocole */
.huile-etapes-grille {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 32px;
}
.carte-etape {
	background: #fff;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	padding: 24px 20px;
	display: flex;
	flex-direction: column;
}
.etape-en-tete {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
}
.etape-pastille {
	background: var(--espresso);
	color: var(--ivoire);
	font-size: 11px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 2px;
	letter-spacing: 0.06em;
}
.etape-duree {
	font-size: 11.5px;
	color: var(--or);
	font-weight: 600;
}
.etape-titre {
	font-family: var(--serif);
	font-size: 1.15rem;
	color: var(--espresso);
	margin: 0 0 10px;
	line-height: 1.3;
}
.etape-texte {
	font-size: 13.5px;
	line-height: 1.55;
	color: var(--muted);
	margin: 0;
}
.etape-texte em {
	color: #9c27b0;
	font-style: normal;
	font-weight: 600;
}
.huile-posologie-barre {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	background: #fff;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	padding: 18px 24px;
}
.posologie-item {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13.5px;
	color: var(--texte);
}
.posologie-icone {
	font-size: 20px;
	flex-shrink: 0;
}
.posologie-item strong {
	color: var(--espresso);
}

/* Section 5 : Bannière CTA Intermédiaire */
.huile-cta-section {
	padding: 60px 0;
}
.huile-cta-banniere {
	background: #1f1612;
	border: 1px solid rgba(199, 148, 80, 0.4);
	border-radius: 3px;
	padding: 40px 48px;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 40px;
	align-items: center;
}
.huile-cta-contenu .sur-titre {
	display: block;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--or);
	font-weight: 700;
	margin-bottom: 8px;
}
.huile-cta-contenu h2 {
	font-size: 1.8rem;
	color: var(--ivoire);
	margin: 0 0 12px;
	line-height: 1.3;
}
.huile-cta-desc {
	font-size: 14.5px;
	line-height: 1.6;
	color: #c5b1a0;
	margin: 0 0 16px;
	max-width: 620px;
}
.huile-cta-arguments {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	font-size: 12.5px;
	color: var(--or-clair);
	font-weight: 500;
}
.huile-cta-action {
	min-width: 280px;
	text-align: center;
}
.huile-cta-prix-bloc {
	margin-bottom: 14px;
}
.huile-cta-mention {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #9d897b;
	margin-bottom: 4px;
}
.huile-cta-tarifs {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 10px;
}
.huile-cta-tarifs s {
	font-size: 18px;
	color: #8c796d;
}
.huile-cta-tarifs strong {
	font-size: 32px;
	color: var(--ivoire);
	font-family: var(--serif);
	font-weight: 700;
}
.huile-cta-economie {
	display: block;
	font-size: 11.5px;
	color: var(--or);
	font-weight: 600;
	margin-top: 2px;
}
.bouton-achat-cta {
	width: 100%;
	background: var(--or);
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	padding: 14px 24px;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	transition: background 0.2s ease;
	position: relative;
	z-index: 96;
}
.bouton-achat-cta:hover {
	background: var(--or-clair);
}
.huile-cta-stock {
	font-size: 11px;
	color: #9d897b;
	margin: 8px 0 0;
}

/* Section 6 : FAQ 2 Colonnes */
.faq-grille-deux-colonnes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
}
.faq-carte {
	background: #fff;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	overflow: hidden;
}
.faq-carte-question {
	padding: 18px 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--espresso);
	background: #fff;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}
.faq-carte-question::-webkit-details-marker {
	display: none;
}
.faq-fleche {
	font-size: 14px;
	color: var(--or);
	transition: transform 0.2s ease;
	flex-shrink: 0;
}
.faq-carte[open] .faq-fleche {
	transform: rotate(180deg);
}
.faq-carte-reponse {
	padding: 0 20px 20px;
	border-top: 1px solid rgba(78, 49, 32, 0.06);
	padding-top: 14px;
}
.faq-carte-reponse p {
	font-size: 14px;
	line-height: 1.6;
	color: var(--muted);
	margin: 0;
}

/* Section 7 : Recherches Scientifiques */
.huile-sciences-grille {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.carte-science {
	background: #fff;
	border: 1px solid var(--ligne);
	border-radius: 3px;
	padding: 26px 22px;
	display: flex;
	flex-direction: column;
}
.science-source-tag {
	font-size: 11px;
	font-weight: 700;
	color: var(--or);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.science-titre {
	font-family: var(--serif);
	font-size: 1.15rem;
	color: var(--espresso);
	margin: 0 0 8px;
	line-height: 1.35;
}
.science-journal {
	font-size: 12.5px;
	color: #63534a;
	margin-bottom: 12px;
}
.science-journal a {
	color: var(--or);
	font-weight: 600;
	text-decoration: underline;
}
.science-synthese {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--muted);
	margin: 0;
	flex-grow: 1;
}

/* Section 8 : Guides & Conseils associés */
.huile-guides-grille {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}
.carte-guide-huile {
	background: #1f1612;
	border: 1px solid rgba(199, 148, 80, 0.35);
	border-radius: 3px;
	padding: 30px 26px;
	display: flex;
	flex-direction: column;
}
.guide-tag {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--or);
	margin-bottom: 10px;
}
.carte-guide-huile .guide-titre {
	font-family: var(--serif);
	font-size: 1.35rem;
	margin: 0 0 12px;
	line-height: 1.3;
}
.carte-guide-huile .guide-titre a {
	color: var(--ivoire);
	text-decoration: none;
	transition: color 0.2s ease;
}
.carte-guide-huile .guide-titre a:hover {
	color: var(--or-clair);
}
.guide-extrait {
	font-size: 14px;
	line-height: 1.6;
	color: #c5b1a0;
	margin: 0 0 18px;
	flex-grow: 1;
}
.guide-lien {
	font-size: 13px;
	color: var(--or-clair);
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.guide-lien:hover {
	text-decoration: underline;
}

/* ==========================================================================
   PASSE FINALE : WHATSAPP, INSTAGRAM, COMPOSITION PACKS & CONFIANCE
   ========================================================================== */

/* Header icones sociales */
.lien-whatsapp-entete {
	color: #25d366 !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.lien-whatsapp-entete:hover {
	color: #128c7e !important;
	transform: scale(1.08);
}
.lien-instagram-entete {
	color: #e1306c !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.lien-instagram-entete:hover {
	color: #fd1d1d !important;
	transform: scale(1.08);
}

/* Footer réseaux */
.pied-reseaux {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 14px;
}
.lien-reseau-pied {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #dfcfbc;
	font-size: 13.5px;
	text-decoration: none;
	transition: color .2s ease;
}
.lien-reseau-pied:hover {
	color: #fff;
	text-decoration: underline;
}
.lien-reseau-pied svg {
	flex-shrink: 0;
}

/* Bouton WhatsApp sur fiche produit */
.fiche-action-whatsapp {
	margin-top: 12px;
}
.bouton-whatsapp-fiche {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 44px;
	padding: 10px 16px;
	background: #f4fdf6;
	border: 1.5px solid #25d366;
	border-radius: 3px;
	color: #128c7e;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	transition: all .2s ease;
	box-sizing: border-box;
}
.bouton-whatsapp-fiche:hover {
	background: #25d366;
	color: #fff;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(37,211,102,.25);
}
.bouton-whatsapp-fiche svg {
	flex-shrink: 0;
	fill: currentColor;
}

/* Bouton WhatsApp dans bannière Huile CTA */
.bouton-whatsapp-huile-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 8px 14px;
	background: rgba(37,211,102,.12);
	border: 1px solid rgba(37,211,102,.4);
	border-radius: 3px;
	color: #70e29b;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: all .2s ease;
}
.bouton-whatsapp-huile-cta:hover {
	background: #25d366;
	color: #1a1412;
	text-decoration: none;
}

/* Bouton WhatsApp flottant */
.bouton-whatsapp-flottant-wrapper {
	position: fixed;
	bottom: 24px;
	right: 20px;
	z-index: 95;
	pointer-events: auto;
	transition: transform .25s ease, opacity .25s ease;
}
.bouton-whatsapp-flottant-wrapper.wa-evite-collision {
	transform: translateY(calc(100% + 32px)) !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.bouton-whatsapp-flottant {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #25d366;
	color: #fff;
	padding: 10px 16px;
	border-radius: 30px;
	box-shadow: 0 4px 16px rgba(0,0,0,.35);
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 600;
	transition: all .25s ease;
}
.bouton-whatsapp-flottant:hover {
	background: #1ebe5d;
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0,0,0,.45);
}
.bouton-whatsapp-flottant svg {
	fill: #fff;
	flex-shrink: 0;
}
@media (max-width: 600px) {
	.bouton-whatsapp-flottant-wrapper {
		bottom: 18px;
		right: 14px;
	}
	.bouton-whatsapp-flottant {
		padding: 10px;
		border-radius: 50%;
	}
	.bouton-whatsapp-flottant .bulle-whatsapp {
		display: none;
	}
}

/* Visuels de composition des packs (Découverte #642 & Trio Royal #1032) */
.pack-composition-visuelle {
	margin: 22px 0;
	padding: 18px;
	background: #f7ede1;
	border: 1px solid #dfcfbc;
	border-radius: 4px;
}
.pack-composition-titre {
	margin: 0 0 12px;
	font-size: 14.5px;
	font-weight: 700;
	color: #2c221c;
	letter-spacing: .2px;
}
.pack-items-grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 10px;
	margin-bottom: 12px;
}
.pack-item-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #e5d8cb;
	border-radius: 3px;
}
.pack-item-qte {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	background: #17110f;
	color: var(--or);
	font-weight: 700;
	font-size: 13px;
	border-radius: 50%;
	flex-shrink: 0;
}
.pack-item-info {
	display: flex;
	flex-direction: column;
}
.pack-item-info strong {
	font-size: 13.5px;
	color: #2c221c;
	line-height: 1.25;
}
.pack-item-info span {
	font-size: 11.5px;
	color: #736256;
	margin-top: 2px;
}
.pack-composition-personnalisation {
	margin-top: 10px;
	font-size: 12.5px;
	color: #635348;
}
.pack-composition-personnalisation summary {
	cursor: pointer;
	color: #8c4c1a;
	font-weight: 600;
	margin-bottom: 4px;
}
.pack-composition-personnalisation summary:hover {
	text-decoration: underline;
}
.pack-composition-personnalisation p {
	margin: 6px 0 0;
	line-height: 1.45;
	padding: 8px 12px;
	background: rgba(255,255,255,.6);
	border-left: 2px solid var(--or);
	border-radius: 2px;
}
.pack-garantie-prix-net,
.pack-avantage-economique {
	margin-top: 10px;
	font-size: 13px;
	font-weight: 600;
	color: #1f6b29;
}
.carte-pack-avantage {
	font-size: 12px;
	font-weight: 600;
	color: #276738;
	margin: 2px 0 6px;
}
.encart-vente-croisee {
	margin: 18px 0;
	padding: 14px 16px;
	background: #fbf8f5;
	border: 1px solid #dfcfbc;
	border-left: 3px solid var(--or);
	border-radius: 4px;
}
.encart-croisee-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #7d4d12;
	margin-bottom: 4px;
}
.encart-croisee-texte {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.5;
	color: #4a3e35;
}
.encart-croisee-lien {
	font-size: 12px;
	font-weight: 600;
	color: var(--or);
}

/* Vente croisée More Time sur les fiches de miel */
.encart-croisee-more-time {
	margin: 22px 0 16px;
	padding: 16px 18px;
	background: #fbf8f5;
	border: 1px solid #decbb7;
	border-left: 3px solid #b38428;
	border-radius: 6px;
	display: flex;
	gap: 16px;
	align-items: center;
	box-shadow: 0 3px 12px rgba(44, 30, 24, 0.05);
}
.croisee-more-time-visuel {
	flex-shrink: 0;
	width: 80px;
	height: 80px;
	background: #fff;
	border-radius: 6px;
	border: 1px solid #ebdccf;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px;
}
.croisee-more-time-visuel img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.croisee-more-time-contenu {
	flex: 1;
	min-width: 0;
}
.croisee-more-time-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7d4d12;
	background: #ebdccf;
	padding: 2px 7px;
	border-radius: 3px;
	margin-bottom: 5px;
}
.croisee-more-time-titre {
	margin: 0 0 3px;
	font-family: var(--serif);
	font-size: 17px;
	font-weight: 600;
	color: var(--texte);
	line-height: 1.25;
}
.croisee-more-time-prix {
	margin: 0 0 5px;
	font-size: 13px;
	color: #64554a;
}
.croisee-more-time-prix strong {
	color: #8a5c28;
	font-size: 14.5px;
}
.croisee-more-time-pitch {
	margin: 0 0 10px;
	font-size: 12px;
	line-height: 1.45;
	color: #55463c;
}
.croisee-more-time-cta {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	font-size: 12px;
	font-weight: 600;
	border-radius: 4px;
	text-decoration: none;
}
@media (max-width: 540px) {
	.encart-croisee-more-time {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 14px;
	}
	.croisee-more-time-visuel {
		width: 70px;
		height: 70px;
	}
}

/* Section Instagram Accueil */
.instagram-section {
	padding: 56px 0 64px;
	background: #17110f;
	color: #f7ede1;
	border-top: 1px solid rgba(223,207,188,.15);
}
.instagram-grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin-top: 32px;
}
.carte-instagram {
	background: #231b17;
	border: 1px solid rgba(223,207,188,.18);
	border-radius: 4px;
	padding: 22px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform .2s ease, border-color .2s ease;
}
.carte-instagram:hover {
	transform: translateY(-3px);
	border-color: var(--or);
}
.carte-instagram-badge {
	display: inline-block;
	align-self: flex-start;
	padding: 3px 10px;
	background: rgba(212,175,55,.15);
	color: var(--or);
	font-size: 11px;
	font-weight: 700;
	border-radius: 2px;
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 12px;
}
.carte-instagram-texte {
	margin: 0 0 16px;
	font-size: 14px;
	line-height: 1.55;
	color: #e5d8cb;
	font-style: italic;
}
.carte-instagram-pied {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12.5px;
	color: #dcd0c4;
	border-top: 1px solid rgba(223,207,188,.15);
	padding-top: 10px;
}
.carte-instagram-tag {
	color: var(--or);
	font-weight: 600;
}
.bouton-instagram {
	background: linear-gradient(135deg, #c5a059 0%, #a87e35 100%);
	color: #1a120c !important;
	border: 1px solid #dcb570;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 28px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	border-radius: 3px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
	transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
	text-decoration: none;
}
.bouton-instagram:hover {
	background: linear-gradient(135deg, #d8b36e 0%, #b88d44 100%);
	color: #1a120c !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(197, 160, 89, 0.35);
}
.bouton-instagram svg {
	stroke: #1a120c;
	stroke-width: 2;
	flex-shrink: 0;
}

/* Responsive Huile Landing Page */
@media (max-width: 980px) {
	.huile-piliers-grille { grid-template-columns: 1fr; }
	.huile-duo-rituel { grid-template-columns: 1fr; gap: 32px; }
	.huile-etapes-grille { grid-template-columns: repeat(2, 1fr); }
	.huile-cta-banniere { grid-template-columns: 1fr; gap: 28px; padding: 30px 24px; text-align: center; }
	.huile-cta-desc { margin: 0 auto 16px; }
	.huile-cta-arguments { justify-content: center; }
	.faq-grille-deux-colonnes { grid-template-columns: 1fr; }
	.huile-sciences-grille { grid-template-columns: 1fr; }
	.huile-guides-grille { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	.huile-lp-section { padding: 50px 0; }
	.huile-section-intro h2 { font-size: 1.7rem; }
	.huile-section-intro p { font-size: 14.5px; }
	.huile-rituel-texte h2 { font-size: 1.7rem; }
	.huile-rituel-reassurance { grid-template-columns: 1fr; gap: 12px; }
	.huile-etapes-grille { grid-template-columns: 1fr; }
	.huile-posologie-barre { grid-template-columns: 1fr; gap: 12px; }
	.huile-transparence-cadre { flex-direction: column; gap: 10px; }
}

@media (max-width: 420px) {
	.carte-pilier { padding: 22px 18px; }
	.carte-bienfait { padding: 20px 16px; }
	.carte-etape { padding: 20px 16px; }
	.carte-science { padding: 20px 16px; }
	.carte-guide-huile { padding: 22px 18px; }
	.huile-cta-banniere { padding: 24px 16px; }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 1180px) {
	:root { --gouttiere: 70px; }
	.entete-interne { width: calc(100% - 56px); gap: 20px; }
	.navigation { gap: 24px; font-size: 16px; }
	.fiche-grille { gap: 40px; }
	.pair-texte { padding: 46px 38px; }
	.carte-dosette { padding: 24px 18px; gap: 14px; }
	.carte-dosette-photo img { height: 170px; }
}

@media (max-width: 980px) {
	:root { --gouttiere: 48px; }
	.stats-reassurance-bar {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px 14px;
		margin: 20px auto 20px;
		padding: 20px 16px;
	}
	.stat-item:nth-child(2) {
		border-right: none;
	}
	.stat-item:nth-child(1),
	.stat-item:nth-child(2) {
		border-bottom: 1px solid #ebdccf;
		padding-bottom: 14px;
	}
	.avis-grille { grid-template-columns: 1fr; }
	.guide-corps-grille { grid-template-columns: 1fr; }
	.guide-sidebar { position: static; margin-top: 30px; }
	.navigation { display: none; }
	.separateur { display: none; }
	.menu-mobile { display: block; }
	.entete-interne { min-height: 84px; }
	.marque img { width: 132px; }
	.heros .conteneur { min-height: 500px; }
	.packs-grille { grid-template-columns: 1fr; }
	.carte-pack { grid-template-columns: 42% 58%; }
	.carte-pack-photo img { height: 240px; }
	.dosettes-grille { grid-template-columns: 1fr; }
	.carte-dosette { grid-template-columns: 36% 64%; border-right: 0; border-bottom: 1px solid var(--ligne-claire); }
	.carte-dosette:last-child { border-bottom: 0; }
	.carte-dosette-photo img { height: 180px; }
	.pair { grid-template-columns: 1.05fr .95fr; }
	.pair-photo { min-height: 340px; order: 0; padding: 20px; }
	.pair-photo img { height: 320px; }
	.pair-texte { padding: 40px 30px 42px; }
	.miels-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.soins-grille { grid-template-columns: 1fr; }
	.carte-soin { display: grid; grid-template-columns: 38% 62%; padding-bottom: 0; }
	.carte-soin-photo { height: 190px; border-right: 1px solid #544031; border-bottom: 0; }
	.carte-soin-info { padding: 18px 20px; }
	.carte-soin-info .bouton { min-height: 38px; font-size: 11px; }
	.fiche-grille { grid-template-columns: 1fr; gap: 34px; }
	.fiche-galerie { position: static; }
	.fiche-cadre { min-height: 420px; }
	.fiche-info { max-width: 680px; }
	.panier-grille { grid-template-columns: 1fr; gap: 30px; }
	.panier-resume { position: static; }
	.pied-interne { grid-template-columns: 1fr; gap: 30px; }
}

@media (max-width: 760px) {
	:root { --gouttiere: 38px; }
	.stats-reassurance-bar {
		grid-template-columns: 1fr;
		gap: 14px;
		margin: 16px auto 18px;
		padding: 16px 14px;
	}
	.stat-item {
		border-right: none;
		border-bottom: 1px solid #ebdccf;
		padding-bottom: 12px;
	}
	.stat-item:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}
	.stat-item strong {
		font-size: 23px;
	}
	.stat-item span {
		font-size: 13px;
	}
	.fiche-chiffres-cles { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.guide-contenu-principal { padding: 22px 18px; }
	body { font-size: 15px; }
	.bandeau { font-size: 13.5px; padding: 9px 12px; font-weight: 600; letter-spacing: .04em; line-height: 1.35; text-align: center; }
	.entete-interne { width: calc(100% - 32px); min-height: 76px; gap: 6px; }
	.marque img { width: 116px; }
	.entete-actions { gap: 2px; }
	.action-icone { width: 38px; height: 38px; }
	.recherche { position: fixed; top: 74px; left: 14px; right: 14px; width: auto; }
	.menu-mobile-panneau { position: fixed; top: 74px; left: 14px; right: 14px; width: auto; max-width: 380px; margin-left: auto; max-height: calc(100vh - 92px); overflow-y: auto; }
	.heros .conteneur { min-height: 430px; padding: 38px 0 42px; }
	.heros h1 { max-width: 64%; font-size: clamp(2.5rem, 11vw, 3.7rem); margin-bottom: 14px; }
	.heros p { max-width: 62%; margin-bottom: 18px; font-size: 14px; line-height: 1.55; }
	.heros::after { background: linear-gradient(90deg, rgba(23, 17, 15, .94) 0%, rgba(23, 17, 15, .76) 42%, rgba(23, 17, 15, .2) 74%, rgba(23, 17, 15, .06) 100%); }
	.heros-fond { object-position: 66% center; }
	.heros-actions { gap: 14px; }
	.heros-actions .bouton { min-height: 44px; padding: 0 18px; font-size: 13px; }
	.heros-actions .lien-souligne { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
	.heros-boutique .conteneur { min-height: 300px; padding: 32px 0; }
	.heros-boutique h1 { font-size: clamp(2.4rem, 10vw, 3.2rem); }
	.section { padding: 46px 0; }
	.titre-serif { font-size: clamp(1.9rem, 7vw, 2.6rem); }
	.sous-titre { font-size: 13.5px; }
	.packs-grille { gap: 18px; }
	.carte-pack { grid-template-columns: 42% 58%; min-height: 240px; }
	.carte-pack-photo { padding: 10px; }
	.carte-pack-photo img { height: 215px; }
	.carte-pack-info { padding: 18px 16px; }
	.carte-pack-info h3 { margin: 5px 0 7px; font-size: 21px; }
	.carte-composition { margin-bottom: 9px; font-size: 12px; line-height: 1.45; }
	.carte-prix { margin-bottom: 11px; font-size: 24px; }
	.carte-prix s { font-size: 11.5px; margin-right: 5px; }
	.carte-pack-info .bouton { min-height: 44px; padding: 0 18px; font-size: 12px; }
	.carte-dosette { padding: 20px 0; gap: 16px; }
	.carte-dosette-photo img { height: 160px; }
	.carte-dosette-texte h3 { font-size: 22px; }
	.carte-dosette-texte .carte-prix { font-size: 22px; }
	.carte-dosette-texte .lien-souligne { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
	.pair { grid-template-columns: 1.08fr .92fr; }
	.pair-texte { padding: 34px 14px 36px 20px; }
	.pair-photo { min-height: 240px; padding: 12px; }
	.pair-photo img { max-height: 240px; }
	.pair-texte h2 { font-size: clamp(2rem, 8vw, 2.7rem); }
	.prix-grand { font-size: 27px; }
	.pair-texte .bouton { min-height: 44px; font-size: 12.5px; padding: 0 18px; }
	.guides-grille-accueil { grid-template-columns: 1fr; gap: 16px; }
	.histoire { padding: 42px 0; }
	.filtres-barre { gap: 22px; min-height: 58px; }
	.filtre { padding: 18px 0; font-size: 12px; }
	.resultat-compte { display: none; }
	.section-grille-miels { padding-top: 36px; }
	.miels-grille { gap: 14px; margin-top: 20px; }
	.carte-miel { padding: 10px 10px 14px; }
	.carte-miel-photo { height: 200px; margin-bottom: 11px; padding: 6px; }
	.carte-miel-info { gap: 5px; }
	.carte-miel-info h3 { font-size: 19px; }
	.carte-miel-info .carte-prix { font-size: 18px; }
	.carte-miel-info .lien-souligne { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; }
	.carte-miel:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: 44% 56%;
		align-items: center;
	}
	.carte-miel:last-child:nth-child(odd) .carte-miel-photo { height: 180px; margin-bottom: 0; }
	.carte-miel:last-child:nth-child(odd) .carte-miel-info { padding-left: 14px; }
	.carte-soin { grid-template-columns: 40% 60%; }
	.carte-soin-photo { height: 170px; padding: 8px; }
	.carte-soin-info { padding: 14px 14px; gap: 5px; }
	.carte-soin-info h3 { font-size: 19px; }
	.carte-soin-info .carte-prix { font-size: 18px; }
	.carte-soin-info .bouton { min-height: 44px; padding: 0 16px; font-size: 12px; }
	.fil-ariane { padding: 11px 0; font-size: 10px; }
	.fiche { padding: 24px 0 50px; }
	.fiche-cadre { min-height: 320px; padding: 18px; }
	.fiche-cadre img { max-height: 360px; }
	.fiche-info h1 { font-size: clamp(2rem, 8vw, 2.8rem); }
	.fiche-prix { font-size: 29px; }
	.variations-liste { grid-template-columns: 1fr; }
	.achat-ligne { gap: 10px; }
	.bouton-achat { min-width: 0; flex: 1 1 100%; }
	.reassurance { margin-top: 20px; }
	.page-panier { padding: 20px 0 52px; }
	.panier-ligne { grid-template-columns: 78px minmax(0, 1fr) auto; gap: 12px; padding: 18px 0; }
	.panier-photo { width: 78px; height: 78px; }
	.panier-nom { font-size: 18px; }
	.panier-sous-total { grid-column: 3; grid-row: 1; font-size: 17px; }
	.panier-quantite { grid-column: 2; grid-row: 2; }
	.panier-supprimer { grid-column: 3; grid-row: 2; justify-self: end; }
	.panier-actions { flex-direction: column-reverse; align-items: stretch; }
	.panier-actions .bouton { width: 100%; }
	.panier-actions .lien-souligne { text-align: center; }
	.confiance { grid-template-columns: 1fr; gap: 8px; padding: 18px 0; font-size: 13px; }
	.confiance span { border-right: 0; }
	.pied { padding: 30px 0 18px; }
	.pied-colonnes { grid-template-columns: repeat(2, 1fr); gap: 20px; }
	.pied-mention { margin-top: 24px; }
	.toast { right: 14px; bottom: 14px; width: calc(100% - 28px); }
	.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notice { width: calc(100% - 32px); }
	.woocommerce .woocommerce-checkout-review-order, .woocommerce-checkout #customer_details { padding: 14px; }
}

@media (max-width: 420px) {
	:root { --gouttiere: 28px; }
	.heros h1 { max-width: 70%; font-size: 2.5rem; }
	.heros p { max-width: 68%; font-size: 13px; }
	.carte-pack { grid-template-columns: 38% 62%; }
	.carte-pack-photo img { height: 180px; }
	.carte-pack-info { padding: 14px 12px; }
	.carte-pack-info h3 { font-size: 19px; }
	.carte-pack-info .bouton { min-height: 44px; padding: 0 14px; font-size: 11.5px; }
	.pair { grid-template-columns: 1fr 1fr; }
	.pair-texte { padding: 24px 8px 24px 12px; }
	.pair-photo { min-height: 210px; padding: 8px; }
	.pair-photo img { max-height: 195px; }
	.pair-texte h2 { font-size: 1.6rem; }
	.prix-grand { font-size: 22px; }
	.pair-texte .bouton { min-height: 44px; padding: 0 12px; font-size: 11.5px; }
	.carte-miel-photo { height: 165px; }
	.carte-miel-info h3 { font-size: 17px; }
	.carte-miel-info .carte-prix { font-size: 16px; }
	.carte-soin { grid-template-columns: 37% 63%; }
	.carte-soin-photo { height: 150px; }
	.carte-soin-info h3 { font-size: 17px; }
	.carte-soin-info .carte-prix { font-size: 16px; }
	.carte-miel:last-child:nth-child(odd) .carte-miel-photo { height: 150px; }
	.pied-colonnes { grid-template-columns: 1fr; }
	.confiance { font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* --- Refonte Titres Catégories, Guides & Section Agrandissement --- */
.heros-boutique.heros-categorie h1 {
	font-size: clamp(2.2rem, 3.8vw, 3.8rem);
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.18;
}
.heros-guides h1 {
	font-size: clamp(2.2rem, 3.8vw, 3.8rem);
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.18;
}
.huile-section-agrandissement {
	border-top: 1px solid rgba(197, 160, 89, 0.2);
	border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}
.huile-agrandissement-grille {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 36px;
}
.carte-agrandissement {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(197, 160, 89, 0.22);
	border-radius: 8px;
	padding: 28px 24px;
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.carte-agrandissement:hover {
	border-color: #c5a059;
	transform: translateY(-2px);
}
.agrandissement-icone {
	font-size: 2rem;
	margin-bottom: 14px;
}
.agrandissement-titre {
	font-size: 1.15rem;
	font-weight: 600;
	color: #f7f4ed;
	margin-bottom: 12px;
}
.carte-agrandissement p {
	font-size: 0.95rem;
	line-height: 1.55;
	color: #d1c7bc;
	margin: 0;
}

@media (max-width: 900px) {
	.huile-agrandissement-grille {
		grid-template-columns: 1fr;
		gap: 18px;
	}
	.heros-boutique.heros-categorie h1,
	.heros-guides h1 {
		font-size: clamp(1.8rem, 6.2vw, 2.5rem);
	}
}

/* --------------------------------------------------------------------------
   Modes de livraison V2 : Retrait à Domont & sélecteur panier
   -------------------------------------------------------------------------- */
.retrait-domont-notice {
	margin-top: 8px;
	margin-bottom: 8px;
	padding: 10px 14px;
	background: rgba(199, 148, 80, 0.08);
	border: 1px solid rgba(199, 148, 80, 0.35);
	border-radius: 4px;
	font-size: 12.5px;
	line-height: 1.45;
	color: #241a16;
}
.retrait-rdv-badge {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #8c581a;
	background: #f7ede0;
	border: 1px solid #c79450;
	border-radius: 3px;
	padding: 2px 7px;
	margin-bottom: 5px;
}
.retrait-rdv-texte {
	margin: 0;
	font-size: 12px;
	color: #55453d;
}
.retrait-tel-lien {
	color: #8c581a;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.retrait-tel-lien:hover {
	color: #17110f;
}

.resume-retrait-note {
	font-size: 11.5px;
	line-height: 1.4;
	color: #8c581a;
	background: rgba(199, 148, 80, 0.08);
	border-left: 2px solid var(--or);
	padding: 6px 10px;
	margin: 6px 0 12px;
	border-radius: 0 4px 4px 0;
}
.resume-retrait-note a {
	color: #8c581a;
	font-weight: 700;
	text-decoration: underline;
}

.panier-modes-livraison {
	margin: 14px 0 16px;
	padding: 12px;
	background: #f9f5f0;
	border: 1px solid #e2d7c8;
	border-radius: 6px;
}
.panier-modes-titre {
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: #6f6054;
	margin: 0 0 8px;
}
.mode-livraison-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 7px 8px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 13px;
	color: #241a16;
	transition: background .15s;
}
.mode-livraison-option:hover {
	background: rgba(199, 148, 80, 0.1);
}
.mode-livraison-option.option-active {
	background: rgba(199, 148, 80, 0.14);
	font-weight: 600;
}
.mode-livraison-option input[type="radio"] {
	margin-right: 8px;
	accent-color: var(--or);
}
.mode-livraison-nom {
	flex: 1;
}
.mode-livraison-prix {
	font-family: var(--serif);
	color: #241a16;
	margin-left: 8px;
}
.resume-gratuit {
	color: #1f6b29 !important;
	font-weight: 700;
}

/* =====================================================================
   VENTE CROISÉE MORE TIME (UPSELL RITUEL COMPACT & PREMIUM)
   ===================================================================== */
.upsell-more-time {
	width: 100%;
	margin: 18px 0 16px 0;
}

.upsell-more-time-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	background: #fdfaf6;
	border: 1.5px solid #d4af37;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.25s ease;
	position: relative;
	box-shadow: 0 1px 4px rgba(199, 148, 80, 0.08);
}

.upsell-more-time-card:hover {
	background: #fbf6ee;
	border-color: #b8860b;
	box-shadow: 0 3px 8px rgba(199, 148, 80, 0.16);
}

.upsell-more-time-card.is-selected {
	background: #fbf5ea;
	border-color: #a37237;
	box-shadow: 0 3px 12px rgba(163, 114, 55, 0.22);
}

.upsell-more-time-thumb {
	flex-shrink: 0;
	width: 68px;
	height: 68px;
	background: #ffffff;
	border: 1px solid #ebdccf;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 4px;
}

.upsell-more-time-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.upsell-more-time-body {
	flex: 1;
	min-width: 0;
}

.upsell-more-time-surtitre {
	display: block;
	font-family: var(--police-corps, 'Inter', sans-serif);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #a37237;
	text-transform: uppercase;
	margin-bottom: 2px;
}

.upsell-more-time-titre {
	font-family: var(--police-titres, 'Playfair Display', serif);
	font-size: 1rem;
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 4px 0;
	line-height: 1.25;
}

.upsell-more-time-texte {
	font-family: var(--police-corps, 'Inter', sans-serif);
	font-size: 0.8rem;
	line-height: 1.35;
	color: #57534e;
	margin: 0 0 10px 0;
}

.upsell-more-time-action {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--police-corps, 'Inter', sans-serif);
	cursor: pointer;
}

.upsell-more-time-checkbox {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
	pointer-events: none;
}

.upsell-checkbox-custom {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #c79450;
	border-radius: 4px;
	background: #ffffff;
	position: relative;
	transition: all 0.2s ease;
	flex-shrink: 0;
}

.upsell-more-time-card.is-selected .upsell-checkbox-custom,
.upsell-more-time-checkbox:checked + .upsell-checkbox-custom {
	background: #a37237;
	border-color: #a37237;
}

.upsell-more-time-card.is-selected .upsell-checkbox-custom::after,
.upsell-more-time-checkbox:checked + .upsell-checkbox-custom::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 1px;
	width: 6px;
	height: 11px;
	border: solid #ffffff;
	border-width: 0 2.5px 2.5px 0;
	transform: rotate(45deg);
}

.upsell-more-time-label {
	font-size: 0.88rem;
	font-weight: 700;
	color: #845722;
	letter-spacing: 0.01em;
}

.upsell-more-time-card.is-selected .upsell-more-time-label {
	color: #633e14;
}

.upsell-more-time-lien-wrap {
	margin-top: 6px;
	text-align: right;
}

.upsell-more-time-lien {
	font-family: var(--police-corps, 'Inter', sans-serif);
	font-size: 0.78rem;
	color: #78716c;
	text-decoration: underline;
	transition: color 0.2s;
}

.upsell-more-time-lien:hover {
	color: #a37237;
}

@media (max-width: 540px) {
	.upsell-more-time-card {
		padding: 12px;
		gap: 12px;
	}
	.upsell-more-time-thumb {
		width: 56px;
		height: 56px;
	}
	.upsell-more-time-titre {
		font-size: 0.94rem;
	}
	.upsell-more-time-texte {
		font-size: 0.78rem;
	}
	.upsell-more-time-label {
		font-size: 0.84rem;
	}
}

/* =====================================================================
   PAIEMENT EXPRESS (APPLE PAY, GOOGLE PAY, PAYPAL & PAY LATER)
   ===================================================================== */
.zone-paiement-express {
	width: 100%;
	margin-top: 14px;
	margin-bottom: 8px;
}

.separateur-express {
	display: flex;
	align-items: center;
	text-align: center;
	margin: 14px 0 12px 0;
	width: 100%;
}

.separateur-express::before,
.separateur-express::after {
	content: '';
	flex: 1;
	border-bottom: 1px solid rgba(235, 220, 207, 0.45);
}

.separateur-express span {
	padding: 0 12px;
	font-family: var(--police-corps, 'Inter', sans-serif);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--dore-sombre, #a37c3f);
	text-transform: uppercase;
}

.grille-boutons-express {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100%;
}

.express-col-wallets {
	width: 100%;
}

.express-col-wallets:empty {
	display: none;
}

.wcpay-express-checkout-wrapper {
	width: 100%;
	margin: 0 auto;
}

#wcpay-express-checkout-element {
	width: 100%;
	min-height: 0;
}

#wcpay-express-checkout-element iframe {
	width: 100% !important;
	border-radius: 4px;
}

.express-col-paypal {
	width: 100%;
}

.ppc-button-wrapper {
	width: 100%;
	margin: 0 auto;
}

#ppc-button-ppcp-gateway {
	width: 100%;
	min-height: 44px;
}

#ppc-button-ppcp-gateway iframe {
	max-width: 100% !important;
}

@media (max-width: 600px) {
	.express-col-paypal,
	.ppc-button-wrapper,
	#ppc-button-ppcp-gateway {
		width: 100% !important;
	}
	#ppc-button-ppcp-gateway iframe {
		width: 100% !important;
		min-width: 100% !important;
	}
}

/* Impression minimaliste */
@media print {
	.bandeau, .entete, .confiance, .pied, .toast, .filtres { display: none !important; }
	body { background: #fff; color: #000; }
}
