/*
Theme Name: Shopkeeper Child
Theme URI: https://lamalledasie.fr/
Description: Thème enfant Shopkeeper pour La Malle d'Asie. Surcharges SEO et refonte (voir strategie/07-refonte-graphique.md).
Author: Tsuki Dev.
Template: shopkeeper
Version: 1.0.0
Requires PHP: 7.4.1
Text Domain: shopkeeper-child
*/

/*
 * Chargé automatiquement par le parent : Shopkeeper enqueue get_stylesheet_uri()
 * (handle shopkeeper-default-style, priorité 99), qui pointe ici quand l'enfant est actif.
 */

/* ============================================================
   Design tokens La Malle d'Asie : source de vérité unique
   (strategie/20-harmonisation-visuelle.md §1 : interdit d'ajouter
   un hex en dur ailleurs ; tout nouveau style passe par var()).
   ============================================================ */
:root {
	--lmda-rouge: #7F1F1F;        /* rouge profond maison */
	--lmda-rouge-fonce: #5E1414;  /* hover, filets appuyés */
	--lmda-encre: #1F1F1F;        /* titres, texte fort */
	--lmda-gris-encre: #4A4A4A;   /* texte courant */
	--lmda-creme: #F7F2EA;        /* fonds doux */
	--lmda-or: #C9A227;           /* accent badges/hover : à valider Brahim */
	--lmda-blanc: #FFFFFF;
	/* Dérivés utilitaires (mêmes teintes, alpha seulement) */
	--lmda-bordure: rgba(31, 31, 31, 0.10);
	--lmda-ombre-douce: 0 2px 8px rgba(31, 31, 31, 0.06);
	--lmda-ombre-posee: 0 14px 40px rgba(31, 31, 31, 0.14);
	--lmda-transition: 180ms ease;
}

/* Descriptions de catégories (haut et bas de grille) : marges seulement, pas de refonte ici. */
.lmda-term-description--haut {
	margin: 0 0 30px;
}
.lmda-term-description--bas {
	margin: 40px 0 0;
}

/* Encadré éditorial (article -> catégorie), sobre et dans les tons du site. */
.lmda-encadre {
	background: #f7f3ee;
	border-left: 3px solid #a63d2f;
	padding: 18px 22px;
	margin: 24px 0;
}

/* Footer refondu : liens lisibles sur fond sombre + signature au cœur battant. */
.elementor-19785 a {
	color: rgba(255, 255, 255, 0.85);
}
.elementor-19785 a:hover {
	color: #ffffff;
}
.lmda-coeur {
	display: inline-block;
	color: #e25555;
	animation: lmda-battement 1.4s ease-in-out infinite;
}
@keyframes lmda-battement {
	0%, 100% { transform: scale(1); }
	12% { transform: scale(1.3); }
	24% { transform: scale(1); }
	36% { transform: scale(1.2); }
	50% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.lmda-coeur {
		animation: none;
	}
}

/* Articles : H2 de chapitres avec le filet maison. */
.single-post .entry-content h2 {
	position: relative;
	padding-bottom: 12px;
}
.single-post .entry-content h2::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42px;
	height: 2px;
	background: #7f1f1f;
}

/* Home : la liste « Parcourir les catégories » en 3 colonnes compactes. */
@media (min-width: 768px) {
	.page-id-16997 ul.elementor-nav-menu.sm-vertical {
		columns: 3;
		column-gap: 44px;
	}
	.page-id-16997 ul.elementor-nav-menu.sm-vertical li {
		break-inside: avoid;
	}
}

/* Formulaire de contact : bouton aux couleurs de la maison (vert par défaut). */
.wpcf7 input[type="submit"] {
	background: #7f1f1f !important;
	border-color: #7f1f1f !important;
	color: #ffffff !important;
}
.wpcf7 input[type="submit"]:hover {
	background: #641717 !important;
}

/* Titres Hn des catégories : H2 d'intro et H2 de grille avec le filet maison. */
.lmda-term-description--haut h2,
.lmda-titre-grille {
	font-size: 22px;
	position: relative;
	padding-bottom: 12px;
	margin: 4px 0 18px;
}
.lmda-term-description--haut h2::after,
.lmda-titre-grille::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42px;
	height: 2px;
	background: #7f1f1f;
}
.lmda-titre-grille {
	margin-top: 14px;
}

/* Descriptions longues repliées sur les catégories (bouton « Lire la suite »). */
.lmda-term-description--haut.lmda-replie {
	max-height: 340px;
	overflow: hidden;
	position: relative;
}
.lmda-term-description--haut.lmda-replie::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 90px;
	background: linear-gradient(rgba(255, 255, 255, 0), #ffffff);
}
.lmda-lire-suite {
	display: inline-block;
	margin: 10px 0 25px;
	padding: 8px 18px;
	border: 1px solid #7f1f1f;
	background: transparent;
	color: #7f1f1f;
	cursor: pointer;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.lmda-lire-suite:hover {
	background: #7f1f1f;
	color: #ffffff;
}
@media (max-width: 767px) {
	.lmda-term-description--haut.lmda-replie {
		max-height: 240px;
	}
}

/* Bannière de consentement Complianz aux couleurs de la maison (bleu par défaut). */
.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background-color: #7f1f1f !important;
	border-color: #7f1f1f !important;
	color: #ffffff !important;
}

/* Fiches produit : badge pièce unique, réassurance, barre d'achat mobile. */
.lmda-reassurance {
	list-style: none;
	margin: 22px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.lmda-reassurance li {
	position: relative;
	padding-left: 24px;
	margin-bottom: 7px;
	font-size: 14px;
}
.lmda-reassurance li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #7f1f1f;
	font-weight: 700;
}
.lmda-reassurance a {
	font-weight: 600;
}
.lmda-sticky-achat {
	position: fixed;
	inset: auto 0 0 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: #ffffff;
	box-shadow: 0 -3px 14px rgba(0, 0, 0, 0.14);
}
.lmda-sticky-achat[hidden] {
	display: none;
}
.lmda-sticky-achat__infos {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}
.lmda-sticky-achat__nom {
	font-size: 13px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.lmda-sticky-achat__prix {
	font-weight: 700;
	font-size: 15px;
}
.lmda-sticky-achat__bouton {
	background: #7f1f1f;
	color: #ffffff;
	border: 0;
	padding: 12px 18px;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
}
@media (min-width: 768px) {
	.lmda-sticky-achat {
		display: none;
	}
}

/* Bande atelier : la matière du produit (carte technique + récit) sur fond crème. */
.lmda-atelier {
	background: #f9f6f1;
	margin: 46px 0 10px;
	padding: 44px 30px;
}
.lmda-atelier__int {
	max-width: 1080px;
	margin: 0 auto;
}
.lmda-description-produit.lmda-deux-volets {
	display: grid;
	grid-template-columns: 340px 1fr;
	gap: 48px;
	align-items: start;
}
.lmda-atelier__carte {
	background: #ffffff;
	border-top: 2px solid #7f1f1f;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05);
	padding: 22px 24px 12px;
}
.lmda-atelier__carte table.lmda-fiche-technique {
	width: 100%;
	min-width: 0;
	background: transparent;
	margin: 0;
}
.lmda-atelier__prose {
	max-width: 640px;
}
.lmda-atelier a:focus-visible,
.lmda-lire-suite:focus-visible,
.lmda-sticky-achat__bouton:focus-visible {
	outline: 2px solid #7f1f1f;
	outline-offset: 2px;
}
@media (max-width: 900px) {
	.lmda-description-produit.lmda-deux-volets {
		grid-template-columns: 1fr;
		gap: 26px;
	}
	.lmda-atelier {
		padding: 30px 18px;
		margin-top: 30px;
	}
}
.lmda-description-produit p,
.lmda-description-produit li,
.woocommerce-Tabs-panel--description p,
.woocommerce-Tabs-panel--description li {
	color: #3a3a3a;
	font-size: 15px;
	line-height: 1.75;
}
.lmda-description-produit h2,
.lmda-description-produit p.lmda-titre-section,
.woocommerce-Tabs-panel--description p.lmda-titre-section {
	font-size: 20px;
	font-weight: 600;
}
.lmda-description-produit h2,
.lmda-description-produit p.lmda-titre-section,
.woocommerce-Tabs-panel--description p.lmda-titre-section {
	margin: 30px 0 14px;
	padding-bottom: 10px;
	position: relative;
	color: #1c1c1c;
	letter-spacing: 0.08em;
}
.lmda-description-produit h2::after,
.lmda-description-produit p.lmda-titre-section::after,
.woocommerce-Tabs-panel--description p.lmda-titre-section::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42px;
	height: 2px;
	background: #7f1f1f;
}
.lmda-description-produit p.lmda-titre-section:first-of-type,
.woocommerce-Tabs-panel--description p.lmda-titre-section:first-of-type {
	margin-top: 10px;
}

/* Galerie collante au scroll pendant la lecture de la colonne droite (desktop). */
@media (min-width: 992px) {
	.single-product .product-images-wrapper {
		position: sticky;
		top: 110px;
	}
}
table.lmda-fiche-technique {
	width: auto;
	min-width: 300px;
	margin: 0 0 10px;
	border-collapse: collapse;
	background: #f9f6f1;
}
table.lmda-fiche-technique th,
table.lmda-fiche-technique td {
	border: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	padding: 9px 22px 9px 16px;
	font-size: 14px;
	text-align: left;
	background: transparent;
}
table.lmda-fiche-technique tr:last-child th,
table.lmda-fiche-technique tr:last-child td {
	border-bottom: 0;
}
table.lmda-fiche-technique th {
	color: #6d6d6d;
	font-weight: 400;
	width: 130px;
}
table.lmda-fiche-technique td {
	color: #1c1c1c;
	font-weight: 600;
}

/* Bannière et boxes des archives : profondeur et lisibilité. */
.elementor-element-c881484 .elementor-heading-title {
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.45);
}
.elementor-element-c20fa2e > .e-con-inner > .e-con,
.elementor-element-c20fa2e > .e-con {
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.14);
}

/* Page À propos : filet rouge sous les H2, boutons maison. */
.lmda-h2-filet .elementor-heading-title {
	position: relative;
	padding-bottom: 12px;
}
.lmda-h2-filet .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 42px;
	height: 2px;
	background: #7f1f1f;
}
/* (a.lmda-bouton et a.lmda-bouton--contour : règles déplacées dans la section Refonte 2026 ci-dessous) */

/* Galerie produit mobile : vignettes en bande horizontale scrollable. */
@media (max-width: 767px) {
	.single-product div.product .images .thumbnails,
	.single-product div.product .product_thumbnails {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 8px;
	}
	.single-product div.product .images .thumbnails a,
	.single-product div.product .images .thumbnails img,
	.single-product div.product .product_thumbnails img {
		flex: 0 0 auto;
		width: 84px;
		height: auto;
	}
}

/* ============================================================
   Blog : grille de cartes 3 colonnes pleine largeur
   (index-layout-1.php enfant ; remplace le masonry salvattore)
   ============================================================ */
.lmda-blog-conteneur {
	max-width: 1360px;
	margin: 0 auto;
	padding: 8px 24px 80px;
}
.lmda-blog-grille {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
@media (max-width: 1024px) {
	.lmda-blog-grille {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
}
@media (max-width: 640px) {
	.lmda-blog-grille {
		grid-template-columns: 1fr;
	}
}

/* Carte article */
.lmda-carte-article {
	display: flex;
	flex-direction: column;
	background: var(--lmda-blanc);
	border: 1px solid var(--lmda-bordure);
	border-radius: 10px;
	overflow: hidden;
	box-shadow: var(--lmda-ombre-douce);
	transition: box-shadow var(--lmda-transition), transform var(--lmda-transition);
}
.lmda-carte-article:hover,
.lmda-carte-article:focus-within {
	box-shadow: var(--lmda-ombre-posee);
	transform: translateY(-3px);
}
.lmda-carte-article__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 620 / 500;
}
.lmda-carte-article__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}
@media (hover: hover) {
	.lmda-carte-article:hover .lmda-carte-article__media img {
		transform: scale(1.04);
	}
}
.lmda-carte-article__corps {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 24px 26px 28px;
}
.lmda-carte-article__badge {
	align-self: flex-start;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lmda-rouge);
	background: var(--lmda-creme);
	padding: 5px 14px;
	border-radius: 999px;
	transition: color var(--lmda-transition), background var(--lmda-transition);
}
.lmda-carte-article__badge:hover,
.lmda-carte-article__badge:focus {
	color: var(--lmda-blanc);
	background: var(--lmda-rouge);
}
.lmda-carte-article__titre {
	font-size: 22px;
	line-height: 1.32;
	margin: 14px 0 6px;
}
.lmda-carte-article__titre a {
	color: var(--lmda-encre);
	transition: color var(--lmda-transition);
}
.lmda-carte-article__titre a:hover,
.lmda-carte-article__titre a:focus {
	color: var(--lmda-rouge-fonce);
}
.lmda-carte-article__meta {
	font-size: 13px;
	letter-spacing: 0.03em;
	color: var(--lmda-gris-encre);
	margin-bottom: 12px;
}
.lmda-carte-article__extrait {
	font-size: 15px;
	line-height: 1.65;
	color: var(--lmda-gris-encre);
	margin-bottom: 18px;
}
.lmda-carte-article__lire {
	margin-top: auto;
	align-self: flex-start;
	font-weight: 600;
	color: var(--lmda-rouge);
	transition: color var(--lmda-transition);
}
.lmda-carte-article__lire:hover,
.lmda-carte-article__lire:focus {
	color: var(--lmda-rouge-fonce);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Header du listing : filet canonique sous le H1 + pills de catégories */
.site-content.blog .page-title.blog-listing {
	position: relative;
	padding-bottom: 16px;
}
.site-content.blog .page-title.blog-listing::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 42px;
	height: 2px;
	background: var(--lmda-rouge);
}
.site-content.blog .list_categories {
	margin: 26px 0 10px;
}
.site-content.blog .list_categories li.cat-item {
	margin: 0 5px 10px;
}
.site-content.blog .list_categories li.cat-item a {
	display: inline-block;
	padding: 7px 18px;
	border: 1px solid var(--lmda-bordure);
	border-radius: 999px;
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--lmda-gris-encre);
	transition: color var(--lmda-transition), background var(--lmda-transition), border-color var(--lmda-transition);
}
.site-content.blog .list_categories li.cat-item a:hover,
.site-content.blog .list_categories li.cat-item a:focus {
	color: var(--lmda-rouge-fonce);
	border-color: var(--lmda-rouge);
	background: var(--lmda-creme);
}
.site-content.blog .list_categories li.cat-item.current-cat a,
.site-content.blog .list_categories li.cat-item.current-cat-parent a {
	color: var(--lmda-blanc);
	background: var(--lmda-rouge);
	border-color: var(--lmda-rouge);
}


/* ============================================================
   Mini-panier du header - fond clair elegant
   Markup reel : module Menu Cart d'Elementor Pro (remplace le
   template Woo via son filtre mini-cart), NON style ici car le CSS
   du widget Elementor ne charge pas dans le dropdown Shopkeeper.
   Le parent force fond main_color + boutons via !important.
   ============================================================ */
.shopkeeper-mini-cart {
	background: var(--lmda-blanc) !important;
	border: 1px solid var(--lmda-bordure);
	border-radius: 12px;
	box-shadow: var(--lmda-ombre-posee);
}
.shopkeeper-mini-cart .widgettitle {
	display: none;
}
/* Ligne produit (grille : vignette / infos / suppression) */
.shopkeeper-mini-cart .elementor-menu-cart__product {
	display: grid;
	grid-template-columns: 64px 1fr 28px;
	grid-template-areas:
		"img name remove"
		"img price remove";
	gap: 2px 14px;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid var(--lmda-bordure);
}
.shopkeeper-mini-cart .elementor-menu-cart__product-image {
	grid-area: img;
}
.shopkeeper-mini-cart .elementor-menu-cart__product-image img {
	width: 64px !important;
	height: 64px !important;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}
.shopkeeper-mini-cart .elementor-menu-cart__product-name {
	grid-area: name;
	font-size: 15px;
	line-height: 1.35;
}
.shopkeeper-mini-cart .elementor-menu-cart__product-name a {
	color: var(--lmda-encre) !important;
	font-weight: 600;
	transition: color var(--lmda-transition);
}
.shopkeeper-mini-cart .elementor-menu-cart__product-name a:hover,
.shopkeeper-mini-cart .elementor-menu-cart__product-name a:focus {
	color: var(--lmda-rouge-fonce) !important;
}
.shopkeeper-mini-cart .elementor-menu-cart__product-price {
	grid-area: price;
	color: var(--lmda-gris-encre) !important;
	font-size: 14px;
}
.shopkeeper-mini-cart .elementor-menu-cart__product-price .amount {
	color: var(--lmda-gris-encre) !important;
}
.shopkeeper-mini-cart .elementor-menu-cart__product-remove {
	grid-area: remove;
	justify-self: end;
}
/* Deux ancres jumelles dans le markup : on n'affiche que la croix Woo */
.shopkeeper-mini-cart .elementor_remove_from_cart_button {
	display: none;
}
.shopkeeper-mini-cart .remove_from_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	color: var(--lmda-gris-encre) !important;
	font-size: 18px;
	line-height: 1;
	transition: color var(--lmda-transition), background var(--lmda-transition);
}
.shopkeeper-mini-cart .remove_from_cart_button::before {
	content: "\00d7";
}
.shopkeeper-mini-cart .remove_from_cart_button:hover,
.shopkeeper-mini-cart .remove_from_cart_button:focus {
	color: var(--lmda-rouge) !important;
	background: var(--lmda-creme);
}
/* Sous-total */
.shopkeeper-mini-cart .elementor-menu-cart__subtotal {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 16px 20px;
	border-bottom: 1px solid var(--lmda-bordure);
	color: var(--lmda-gris-encre) !important;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-align: left;
}
.shopkeeper-mini-cart .elementor-menu-cart__subtotal strong {
	color: var(--lmda-gris-encre) !important;
	font-weight: 600;
}
.shopkeeper-mini-cart .elementor-menu-cart__subtotal .amount {
	color: var(--lmda-encre) !important;
	font-size: 18px;
	font-weight: 700;
}
/* Boutons : Commander en premier, plein rouge ; Voir le panier en contour */
.shopkeeper-mini-cart .elementor-menu-cart__footer-buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px 22px;
}
.shopkeeper-mini-cart a.elementor-button--checkout {
	order: 1;
	background: var(--lmda-rouge) !important;
	color: var(--lmda-creme) !important;
	border: 1px solid var(--lmda-rouge) !important;
	border-radius: 6px;
	padding: 15px 1rem;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 13px;
	transition: background var(--lmda-transition);
}
.shopkeeper-mini-cart a.elementor-button--checkout:hover,
.shopkeeper-mini-cart a.elementor-button--checkout:focus {
	background: var(--lmda-rouge-fonce) !important;
}
.shopkeeper-mini-cart a.elementor-button--view-cart {
	order: 2;
	background: transparent !important;
	color: var(--lmda-rouge) !important;
	border: 1px solid var(--lmda-rouge) !important;
	border-radius: 6px;
	padding: 13px 1rem;
	text-align: center;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 13px;
	transition: background var(--lmda-transition), color var(--lmda-transition);
}
.shopkeeper-mini-cart a.elementor-button--view-cart:hover,
.shopkeeper-mini-cart a.elementor-button--view-cart:focus {
	background: var(--lmda-creme) !important;
	color: var(--lmda-rouge-fonce) !important;
}
/* Panier vide + message optionnel */
.shopkeeper-mini-cart .woocommerce-mini-cart__empty-message,
.shopkeeper-mini-cart .elementor-menu-cart__empty-message {
	padding: 56px 20px 48px !important;
	color: var(--lmda-gris-encre) !important;
	text-align: center;
}
.shopkeeper-mini-cart .woocommerce-mini-cart__empty-message:before {
	color: var(--lmda-bordure) !important;
}
.shopkeeper-mini-cart .minicart-message {
	background: var(--lmda-creme) !important;
	color: var(--lmda-encre) !important;
}
/* Secours : si le template Woo classique revenait (module Elementor coupe) */
.shopkeeper-mini-cart ul.woocommerce-mini-cart li.mini_cart_item {
	float: none !important;
	left: auto !important;
	transform: none !important;
	transition: none !important;
	width: 100% !important;
	padding: 16px 20px !important;
	border-bottom: 1px solid var(--lmda-bordure) !important;
	color: var(--lmda-encre) !important;
}
.shopkeeper-mini-cart ul.cart_list li img {
	width: 64px !important;
	height: 64px !important;
	object-fit: cover;
	border-radius: 6px;
	float: none !important;
	margin: 0 12px 0 0 !important;
}
.shopkeeper-mini-cart .buttons a.button {
	border-radius: 6px !important;
}

/* ============================================================
   Pages articles - hero, meta, contenu, navigation, commentaires
   ============================================================ */
/* Hero : moins haut, dégradé progressif au lieu du voile noir plat */
@media (min-width: 1024px) {
	.single .single-post-header.with-thumb .title {
		padding: 130px 0 120px !important;
	}
}
.single .single-post-header-overlay {
	background: linear-gradient(180deg, rgba(31, 31, 31, 0.30) 0%, rgba(31, 31, 31, 0.62) 100%) !important;
	opacity: 1 !important;
}
.single .single-post-header.with-thumb .entry-title {
	font-size: clamp(1.75rem, 1.05rem + 2.3vw, 2.75rem) !important;
	line-height: 1.22;
}
.lmda-article-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lmda-rouge);
	background: var(--lmda-creme);
	padding: 5px 14px;
	border-radius: 999px;
	margin-bottom: 16px;
	transition: color var(--lmda-transition), background var(--lmda-transition);
}
.lmda-article-badge:hover,
.lmda-article-badge:focus {
	color: var(--lmda-blanc);
	background: var(--lmda-rouge);
}
.single .lmda-article-meta {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 10px;
	font-size: 14px;
	letter-spacing: 0.03em;
}
.single .lmda-article-meta::before {
	content: none !important;
}
.single .single-post-header.with-thumb .lmda-article-meta,
.single .single-post-header.with-thumb .lmda-article-meta time {
	color: rgba(255, 255, 255, 0.9);
}
/* Contenu : rythme de lecture */
.single-post .entry-content.blog-single {
	font-size: 16px;
	line-height: 1.75;
	color: var(--lmda-gris-encre);
}
.single-post .entry-content.blog-single h2 {
	color: var(--lmda-encre);
	margin-top: 2.6rem;
}
.single-post .entry-content.blog-single img {
	border-radius: 8px;
	box-shadow: var(--lmda-ombre-douce);
	height: auto;
}
.single-post .entry-content.blog-single .wp-caption {
	max-width: 100%;
}
.single-post .entry-content.blog-single .wp-caption-text {
	font-size: 13px;
	color: var(--lmda-gris-encre);
	text-align: center;
	padding-top: 8px;
}
/* Carte auteur : respiration avant la navigation */
.single-post .lmda-auteur {
	margin-top: 48px;
}
/* Navigation article précédent / suivant : cartes avec titres visibles */
.single-post .post-navigation::before,
.single-post .post-navigation::after {
	content: none !important;
}
.single-post .post-navigation {
	margin: 40px 0 60px;
}
.single-post .nav-previous,
.single-post .nav-next {
	margin: 0 !important;
	font-size: 14px !important;
}
.single-post .nav-previous a,
.single-post .nav-next a {
	font-size: 15px !important;
	background: var(--lmda-blanc) !important;
	height: auto !important;
	border: 1px solid var(--lmda-bordure);
	border-radius: 10px;
	box-shadow: var(--lmda-ombre-douce);
	padding: 18px 20px !important;
	display: block;
	transition: border-color var(--lmda-transition), box-shadow var(--lmda-transition);
}
.single-post .nav-previous a {
	text-align: left !important;
	margin-right: 8px;
}
.single-post .nav-next a {
	text-align: right !important;
	margin-left: 8px;
}
.single-post .nav-previous a:hover,
.single-post .nav-next a:hover,
.single-post .nav-previous a:focus,
.single-post .nav-next a:focus {
	border-color: var(--lmda-rouge);
	box-shadow: var(--lmda-ombre-posee);
}
.single-post .nav-previous a::before,
.single-post .nav-next a::before {
	content: none !important;
}
.single-post .nav-previous-title,
.single-post .nav-next-title {
	display: block !important;
	font-size: 12px !important;
	letter-spacing: 0.08em;
	color: var(--lmda-gris-encre);
	padding: 0 !important;
	margin-bottom: 6px;
	line-height: 1.4 !important;
}
.single-post .nav-previous-title::before,
.single-post .nav-next-title::after {
	content: none !important;
}
.single-post .nav-previous-title::before {
	content: "\2190\00a0" !important;
	position: static !important;
	font-family: inherit !important;
	font-size: 12px !important;
}
.single-post .nav-next-title::after {
	content: "\00a0\2192" !important;
	position: static !important;
	font-family: inherit !important;
	font-size: 12px !important;
}
.single-post .nav-previous a span,
.single-post .nav-next a span {
	display: block !important;
	color: var(--lmda-encre);
	font-weight: 600;
	line-height: 1.4;
}
.single-post .nav-previous a:hover span,
.single-post .nav-next a:hover span {
	color: var(--lmda-rouge-fonce);
}
/* Commentaires : discrets et propres */
.single-post .comments_section {
	border-top: 1px solid var(--lmda-bordure);
	padding-top: 30px;
	margin-top: 10px;
}
.single-post .comments-area .comment-list img.avatar {
	border-radius: 50%;
}
.single-post #respond input[type="text"],
.single-post #respond input[type="email"],
.single-post #respond input[type="url"],
.single-post #respond textarea {
	border-radius: 6px;
}
.single-post #respond input[type="submit"] {
	background: var(--lmda-rouge) !important;
	border-color: var(--lmda-rouge) !important;
	color: var(--lmda-creme) !important;
	border-radius: 6px !important;
}
.single-post #respond input[type="submit"]:hover {
	background: var(--lmda-rouge-fonce) !important;
}

/* ============================================================
   Checkout - variables du widget Elementor Pro + finitions
   (design/UX seulement : aucun champ ni comportement modifié)
   ============================================================ */
.elementor-widget-woocommerce-checkout-page {
	--sections-background-color: var(--lmda-blanc);
	--sections-border-color: var(--lmda-bordure);
	--sections-border-radius: 0;
	--sections-padding: 28px 32px;
	--sections-title-color: var(--lmda-encre);
	--sections-title-spacing: 22px;
	--forms-fields-padding: 12px 14px;
	--purchase-button-width: 100%;
	--purchase-button-padding: 16px 1em;
	--links-normal-color: var(--lmda-rouge);
	--links-hover-color: var(--lmda-rouge-fonce);
}
/* Titres de sections : plus présents que le 14px du widget */
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce h3 {
	font-size: 17px;
	font-weight: 700;
	text-transform: none;
}
/* « Votre commande » : le parent Shopkeeper le masque en !important */
.woocommerce-checkout form.checkout h3#order_review_heading {
	display: block !important;
	margin-bottom: 16px;
}
/* Champs : blanc bordé, focus rouge maison visible */
.woocommerce-checkout #customer_details .form-row .input-text,
.woocommerce-checkout #customer_details .form-row select,
.woocommerce-checkout #customer_details .form-row textarea,
.woocommerce-checkout .woocommerce-additional-fields textarea {
	background: var(--lmda-blanc) !important;
	border: 1px solid var(--lmda-bordure) !important;
	border-radius: 0;
	color: var(--lmda-encre) !important;
	font-size: 15px;
	transition: border-color var(--lmda-transition), box-shadow var(--lmda-transition);
}
.woocommerce-checkout #customer_details .form-row .input-text:focus,
.woocommerce-checkout #customer_details .form-row select:focus,
.woocommerce-checkout #customer_details .form-row textarea:focus {
	border-color: var(--lmda-rouge) !important;
	box-shadow: 0 0 0 3px rgba(127, 31, 31, 0.12);
	outline: none;
}
.woocommerce-checkout .form-row label {
	color: var(--lmda-encre);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
	text-transform: none !important;
}
/* Colonne récap : cartes crème façon ticket, sticky géré par le widget */
.woocommerce-checkout .e-checkout__column-end .e-checkout__order_review,
.woocommerce-checkout .e-checkout__column-end .woocommerce-checkout #payment,
.woocommerce-checkout .e-checkout__column-end #payment {
	background: var(--lmda-creme) !important;
	border-color: rgba(31, 31, 31, 0.06) !important;
}
/* Table du récap : aérée, sans quadrillage */
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	border: none;
	border-bottom: 1px solid var(--lmda-bordure);
	padding: 12px 4px;
	font-size: 14px;
	color: var(--lmda-gris-encre);
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	border-bottom: none;
	color: var(--lmda-encre);
	font-size: 16px;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total .amount {
	color: var(--lmda-rouge);
	font-weight: 700;
}
/* Moyens de paiement : radios maison, encarts doux */
.woocommerce-checkout #payment ul.payment_methods li {
	padding: 10px 0;
}
.woocommerce-checkout #payment input[type="radio"],
.woocommerce-checkout #payment input[type="checkbox"] {
	accent-color: var(--lmda-rouge);
}
.woocommerce-checkout #payment div.payment_box {
	background: rgba(31, 31, 31, 0.05);
	border-radius: 0;
	color: var(--lmda-gris-encre);
}
.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}
/* Bouton Commander : rouge maison (le widget le code en #5bc0de) */
.woocommerce-checkout #payment #place_order {
	background: var(--lmda-rouge) !important;
	color: var(--lmda-creme) !important;
	border: none;
	border-radius: 0;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: background var(--lmda-transition);
}
.woocommerce-checkout #payment #place_order:hover,
.woocommerce-checkout #payment #place_order:focus {
	background: var(--lmda-rouge-fonce) !important;
}
/* Réassurance sous le bouton */
.lmda-reassurance--checkout {
	border-top: none;
	padding-top: 0;
	margin: 18px 0 0;
}
.lmda-reassurance--checkout li {
	font-size: 13px;
	color: var(--lmda-gris-encre);
	margin-bottom: 6px;
}
/* Respiration générale de la page */
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce {
	margin-top: 10px;
}

/* Neutralisation des règles checkout de Shopkeeper (pensées pour l'ancien
   layout flottant : elles cassent la grille du widget Elementor Pro) */
.woocommerce-checkout form.checkout .col2-set {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}
.woocommerce-checkout .woocommerce-checkout-review-order::before,
.woocommerce-checkout .woocommerce-checkout-review-order::after {
	display: none !important;
}
.woocommerce-checkout form.checkout {
	margin-top: 20px !important;
}
.woocommerce-checkout .hmu-hook {
	width: auto !important;
	float: none !important;
}

/* Colonne article élargie à 960px : typo montée pour garder le confort */
.single-post .entry-content.blog-single {
	font-size: 17px;
}

/* ============================================================
   Menu principal (CC-10) - 8 catégories au premier niveau
   11 entrées dans ~870px de large : densité resserrée sur le
   menu desktop uniquement (le off-canvas mobile et les
   sous-menus gardent les styles du parent).
   ============================================================ */
/* Le ul du parent est display:inline : les espaces entre li inline-block
   gaspillent ~40px et provoquent le passage sur 2 lignes. Flex les supprime. */
.main-navigation ul.menu-menu-principal {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
.main-navigation ul.menu-menu-principal > li > a {
	font-size: 12px;
	padding: 0 6px;
	letter-spacing: 0.2px;
	white-space: nowrap;
}
/* Laptops 1024-1439 : un cran plus dense pour tenir sur une ligne */
@media (max-width: 1439px) {
	.main-navigation ul.menu-menu-principal > li > a {
		font-size: 11px;
		padding: 0 4px;
		letter-spacing: 0;
	}
}
.main-navigation ul.menu-menu-principal > li:first-child > a {
	padding-left: 0;
}
.main-navigation ul.menu-menu-principal > li > a:hover,
.main-navigation ul.menu-menu-principal > li > a:focus-visible {
	color: var(--lmda-rouge);
}
.main-navigation ul.menu-menu-principal > li.current-menu-item > a,
.main-navigation ul.menu-menu-principal > li.current-menu-ancestor > a {
	color: var(--lmda-rouge);
}

/* ============================================================
   Home (CC-10) - vignettes univers, photo Anciens meubles,
   hauteur réservée des grilles produits (anti-CLS).
   ============================================================ */
.elementor-widget-image-box.lmda-univers-vignette .elementor-image-box-wrapper {
	display: block;
}
.elementor-widget-image-box.lmda-univers-vignette .elementor-image-box-img {
	display: block;
	width: 100% !important;
	max-width: 100%;
	margin: 0 0 14px;
}
.elementor-widget-image-box.lmda-univers-vignette .elementor-image-box-img img {
	display: block;
	width: 100% !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 6px;
	transition: transform var(--lmda-transition);
}
@media (hover: hover) {
	.lmda-univers-vignette:hover .elementor-image-box-img img {
		transform: scale(1.03);
	}
}
.lmda-univers-vignette .elementor-image-box-title {
	margin: 0;
}
.lmda-univers-vignette .elementor-image-box-title a:hover {
	color: var(--lmda-rouge);
}

.lmda-anciens-photo img {
	border-radius: 6px;
	width: 100%;
	max-height: 560px;
	object-fit: cover;
}

/* Pills catégories en haut de /shop/ : défilement horizontal sur mobile. */
.lmda-pills-categories {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	padding: 2px 0 14px;
	margin: 0 0 10px;
}
.lmda-pills-categories::-webkit-scrollbar {
	display: none;
}
.lmda-pill {
	flex: 0 0 auto;
	padding: 9px 18px;
	border: 1px solid var(--lmda-bordure);
	border-radius: 999px;
	background: var(--lmda-creme);
	color: var(--lmda-encre);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	white-space: nowrap;
	transition: background var(--lmda-transition), color var(--lmda-transition), border-color var(--lmda-transition);
}
.lmda-pill:hover,
.lmda-pill:focus-visible {
	background: var(--lmda-rouge);
	border-color: var(--lmda-rouge);
	color: var(--lmda-creme);
}
@media (min-width: 1025px) {
	.lmda-pills-categories {
		flex-wrap: wrap;
	}
}

/* Hauteur réservée des grilles produits de la home : évite le saut
   de mise en page pendant le lazy-load (mesures du 29/08). */
@media (min-width: 1025px) {
	.elementor-16997 .elementor-widget-woocommerce-products {
		min-height: 380px;
	}
	.elementor-16997 .lmda-tabs [role="tabpanel"] .elementor-widget-woocommerce-products {
		min-height: 690px;
	}
}

/* ============================================================
   CC-16 : Passe mobile : débordements, cibles tactiles, textes
   (audit Playwright 390px du 02/09/2026)
   ============================================================ */

/* Barre d'annonce : autorisée à se replier si elle manque de place. */
.site-top-bar-inner { flex-wrap: wrap; }
.site-top-bar-inner .site-top-message {
	min-width: 0;
	flex-shrink: 1;
	white-space: normal;
}

/* Débordement horizontal mobile (+107px vu sur Contact) : le panneau de
   widgets off-canvas du thème reste garé en flux à droite du viewport sur
   certains gabarits et étire le canevas. On clippe le canevas (clip, pas
   hidden : les position:sticky descendants survivent) et on retire le
   min-width du bouton de recherche du panneau. */
@media (max-width: 1024px) {
	html, body { overflow-x: clip; }
	.wp-block-search__button { min-width: 0; }

	/* Bloc recherche des tiroirs/sidebars : champ + bouton empilés (250 + 220 px
	   ne tiennent pas dans un tiroir de 320 px, le champ était écrasé à 46 px). */
	.widget_search .wp-block-search__inside-wrapper {
		flex-wrap: wrap;
		gap: 8px;
	}
	.widget_search .wp-block-search__input {
		flex: 1 1 100%;
		min-height: 44px;
	}
	.widget_search .wp-block-search__button {
		width: 100%;
		min-height: 44px;
	}
}

@media (max-width: 1024px) {
	/* Icônes du header (panier, recherche, burger) : zone tactile élargie
	   sans déplacer le visuel (padding compensé en marges négatives). */
	.site_header .tools_button,
	.site-tools .tools_button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		height: auto !important; /* le thème fige la hauteur à 24px : le padding était absorbé */
		min-height: 44px;
		padding: 12px 10px;
		margin: -12px -6px;
	}
}

@media (max-width: 767px) {
	/* Quantité (fiche + panier) : les flèches tombaient à 16x16.
	   !important : le thème gagne en spécificité (.quantity:not(.hidden)...). */
	.quantity.custom .minus-btn,
	.quantity.custom .plus-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 40px !important;
		height: 40px !important;
	}

	/* Bouton de la barre d'achat collante : 37px -> zone tactile 44px. */
	.lmda-sticky-achat__bouton {
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}

	/* Croix de suppression des lignes du panier : regle unique dans la section Panier (CC-28, revue en CC-33 B3). */


	/* Textes sous la loupe : rien en dessous de 11px. !important car le thème
	   et le plugin de partage descendent à 10px avec des sélecteurs plus forts
	   (.product_layout_classic ..., .product_socials_wrapper ...). */
	.woocommerce-breadcrumb,
	.woocommerce-breadcrumb a,
	.woocommerce-breadcrumb .breadcrump_sep { font-size: 12px !important; }
	.product_meta .sku_wrapper,
	.product_meta .sku,
	.product_meta .posted_in,
	.product_meta .posted_in a { font-size: 12px !important; }
	.product_socials_wrapper .share-product-text,
	.share-product-text { font-size: 12px !important; }
	.out_of_stock_badge_loop { font-size: 11px !important; }
	.search-text { font-size: 12px; }

	/* Champs de formulaire confortables au doigt (contact, compte). */
	.elementor-field-textual,
	.woocommerce-account input.woocommerce-Input,
	.woocommerce form .form-row input.input-text { min-height: 44px; }
	.elementor-form .elementor-button[type="submit"] { min-height: 44px; }

	/* Footer : rangées de liens et icônes espacées pour le pouce. */
	.elementor-location-footer .elementor-icon-list-items .elementor-icon-list-item {
		padding-top: 4px;
		padding-bottom: 4px;
	}
	.elementor-location-footer a.social_media,
	footer a.social_media {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 10px;
		margin: -8px -2px;
	}
	.elementor-location-footer a[href^="tel:"],
	footer a[href^="tel:"] {
		display: inline-block;
		padding: 6px 0;
	}

	/* Vignettes de galerie : défilement aimanté (la galerie principale
	   est déjà swipeable via le flexslider du thème). */
	.single-product div.product .images .thumbnails,
	.single-product div.product .product_thumbnails {
		scroll-snap-type: x proximity;
	}
	.single-product div.product .images .thumbnails a,
	.single-product div.product .product_thumbnails img {
		scroll-snap-align: start;
	}
}


/* ============================================================
   Refonte 2026 (CC-23) : tokens d'échelle, Hn, boutons, header,
   cartes, onglets, tiroir, barre haute, badges, 404, panier vide,
   confirmation. Source : migration/assets/lmda-refonte.css,
   dédoublonné (bloc cartes générique retiré, .lmda-btn--primaire ajouté).
   ============================================================ */
:root {
	--lmda-section: 72px;
	--lmda-gouttiere: 28px;
	--lmda-marge: clamp(20px, 5.5vw, 80px);
	--lmda-h1: clamp(34px, 3.8vw, 54px);
	--lmda-h2: 30px;
	--lmda-h3: 20px;
	--lmda-texte: 16px;
	--lmda-ease: cubic-bezier(.2, .8, .2, 1);
}
@media (max-width: 767px) {
	:root { --lmda-section: 40px; --lmda-gouttiere: 14px; --lmda-h2: 24px; --lmda-h3: 18px; --lmda-texte: 15px; }
}

/* Échelle typographique (option 1a). Variante 1b : ajouter font-family "Cormorant Garamond" sur h1, h2, h3 et retirer le filet des H2. */
body { color: var(--lmda-gris-encre); font-size: var(--lmda-texte); line-height: 1.7; }
h1, .h1 { font-size: var(--lmda-h1); font-weight: 300; line-height: 1.1; color: var(--lmda-encre); text-transform: none; text-wrap: pretty; }
h2, .h2 { font-size: var(--lmda-h2); font-weight: 500; line-height: 1.2; color: var(--lmda-encre); text-transform: none; }
h3, .h3 { font-size: var(--lmda-h3); font-weight: 500; line-height: 1.3; color: var(--lmda-encre); }
.lmda-surtitre { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--lmda-rouge); }
.lmda-section { padding: var(--lmda-section) var(--lmda-marge) 0; }

/* Boutons : une seule couleur d'action */
.button, .elementor-button, .single_add_to_cart_button, .checkout-button, #place_order, .wc-block-components-button, a.lmda-bouton, .lmda-btn--primaire {
	background: var(--lmda-rouge) !important; color: var(--lmda-blanc) !important; border: 0 !important; border-radius: 0 !important;
	font-size: 13px !important; font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; padding: 16px 28px !important;
	transition: background var(--lmda-transition), transform var(--lmda-transition), color var(--lmda-transition);
}
.button:hover, .elementor-button:hover, .single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover, a.lmda-bouton:hover, .lmda-btn--primaire:hover { background: var(--lmda-rouge-fonce) !important; }
.button:active, .elementor-button:active, .single_add_to_cart_button:active { transform: none; }
a.lmda-bouton, a.lmda-btn--primaire { display: inline-block; }
a.lmda-bouton--contour, .lmda-bouton--contour { background: transparent !important; color: var(--lmda-encre) !important; box-shadow: inset 0 0 0 1px var(--lmda-encre); }
a.lmda-bouton--contour:hover { background: var(--lmda-encre) !important; color: var(--lmda-blanc) !important; }
a.lmda-bouton--contour-rouge { background: transparent !important; color: var(--lmda-rouge) !important; box-shadow: inset 0 0 0 1px var(--lmda-rouge); }
a.lmda-bouton--contour-rouge:hover { background: var(--lmda-rouge) !important; color: var(--lmda-blanc) !important; }
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--lmda-rouge); outline-offset: 2px; }
@media (max-width: 767px) { .button, .elementor-button, .single_add_to_cart_button, #place_order { display: block; width: 100%; text-align: center; min-height: 48px; } }

/* Barre haute */
.top-bar { background: var(--lmda-encre); color: var(--lmda-blanc); font-size: 13px; }
.top-bar .lmda-topbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 var(--lmda-marge); }
.top-bar .lmda-topbar__etat::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--lmda-or); margin-right: 10px; vertical-align: middle; }
.top-bar a { color: var(--lmda-blanc); font-weight: 600; }

/* Header collant, ombre au défilement */
.site-header { transition: box-shadow .25s; }
body.lmda-scrolled .site-header { box-shadow: var(--lmda-ombre-posee); }
.main-navigation a { border-bottom: 2px solid transparent; transition: color var(--lmda-transition), border-color var(--lmda-transition); }
.main-navigation a:hover, .main-navigation .current-menu-item > a { color: var(--lmda-rouge); border-bottom-color: var(--lmda-rouge); }


@keyframes lmda-pulse { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.18); } }
.lmda-pulse { display: inline-block; animation: lmda-pulse .5s ease; }

/* Mega-menu */
.main-navigation .lmda-mega > .sub-menu, .main-navigation .lmda-mega__panneau { position: absolute; left: 0; right: 0; top: 100%; background: var(--lmda-blanc); border-top: 1px solid var(--lmda-bordure); box-shadow: 0 24px 50px rgba(31,31,31,.16); display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 36px; padding: 36px var(--lmda-marge) 40px; opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .22s ease, transform .22s ease; }
.main-navigation .lmda-mega.is-open > .sub-menu, .main-navigation .lmda-mega.is-open .lmda-mega__panneau { opacity: 1; transform: none; pointer-events: auto; }
.main-navigation .lmda-mega > a::after { content: "▾"; display: inline-block; margin-left: 6px; transition: transform .2s; }
.main-navigation .lmda-mega.is-open > a::after { transform: rotate(180deg); }
.main-navigation .lmda-groupe .sub-menu a { color: var(--lmda-encre); padding: 4px 0; border: 0; transition: color .15s, padding-left .15s; }
.main-navigation .lmda-groupe .sub-menu a:hover { color: var(--lmda-rouge); padding-left: 6px; }

/* Cartes produit : voir « Carte produit » plus bas (classes du content-product.php enfant) */
/* Onglets */
[data-lmda-tabs] .lmda-tabs__liste { display: flex; gap: 8px; margin-bottom: 28px; overflow-x: auto; }
[data-lmda-tabs] [role="tab"] { font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 9px 18px; background: var(--lmda-blanc); color: var(--lmda-encre); border: 1px solid rgba(31,31,31,.2); cursor: pointer; white-space: nowrap; transition: background var(--lmda-transition), color var(--lmda-transition), border-color var(--lmda-transition); }
[data-lmda-tabs] [role="tab"][aria-selected="true"] { background: var(--lmda-rouge); color: var(--lmda-blanc); border-color: var(--lmda-rouge); }
[data-lmda-tabs] [role="tabpanel"][hidden] { display: none; }

/* Tiroir panier (mini-panier Shopkeeper) */
.lmda-voile { position: fixed; inset: 0; background: rgba(31,31,31,.45); z-index: 9998; opacity: 0; pointer-events: none; transition: opacity .25s; }
body.lmda-tiroir-ouvert .lmda-voile { opacity: 1; pointer-events: auto; }
.lmda-tiroir { position: fixed; top: 0; right: 0; bottom: 0; width: min(460px, 100vw); background: var(--lmda-blanc); z-index: 9999; display: flex; flex-direction: column; box-shadow: -10px 0 40px rgba(0,0,0,.25); transform: translateX(104%); transition: transform .32s var(--lmda-ease); }
body.lmda-tiroir-ouvert .lmda-tiroir { transform: none; }
@media (max-width: 767px) { .lmda-tiroir { top: auto; left: 0; width: 100%; max-height: 88vh; border-radius: 16px 16px 0 0; transform: translateY(104%); } .lmda-tiroir::before { content: ""; display: block; width: 40px; height: 4px; border-radius: 2px; background: rgba(31,31,31,.2); margin: 12px auto 0; } }

/* Toast */
.lmda-toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); z-index: 10000; background: var(--lmda-encre); color: var(--lmda-blanc); font-size: 13px; padding: 12px 18px; box-shadow: 0 14px 40px rgba(31,31,31,.3); pointer-events: none; opacity: 0; }
@keyframes lmda-toast { 0% { opacity: 0; transform: translate(-50%, 12px); } 12% { opacity: 1; transform: translate(-50%, 0); } 85% { opacity: 1; } 100% { opacity: 0; } }
.lmda-toast.is-visible { animation: lmda-toast 2.6s ease both; }

/* Apparition au défilement (classe posée par JS : sans JS tout est visible) */
.lmda-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.lmda-reveal.is-visible { opacity: 1; transform: none; }

/* Zoom doux sur les vignettes */
.lmda-zoom { display: block; overflow: hidden; }
.lmda-zoom img { transition: transform .5s ease; }
@media (hover: hover) { .lmda-zoom:hover img { transform: scale(1.05); } }

/* Haut de page */
#back-to-top, .lmda-haut { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--lmda-encre); background: var(--lmda-blanc); color: var(--lmda-encre); box-shadow: none; }
@media (max-width: 767px) { #back-to-top, .lmda-haut { display: none !important; } }


@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.lmda-reveal { opacity: 1; transform: none; }
}


/* ============================================================
   Compléments pour les templates du pack (header-topbar, content-product,
   cart-empty, thankyou, 404). Classes utilisées par ces fichiers.
   ============================================================ */

/* Barre haute */
.lmda-topbar { background: var(--lmda-encre); color: var(--lmda-blanc); font-size: 13px; }
.lmda-topbar__inner { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 11px 0; }
.lmda-topbar__message { margin: 0; display: flex; align-items: center; gap: 10px; }
.lmda-topbar__point { width: 8px; height: 8px; border-radius: 50%; background: var(--lmda-or); flex: none; }
.lmda-topbar__tel { color: var(--lmda-blanc); font-weight: 600; white-space: nowrap; }
.lmda-topbar__tel:hover { color: var(--lmda-creme); }
@media (max-width: 767px) { .lmda-topbar__inner { justify-content: center; text-align: center; } .lmda-topbar__adresse, .lmda-topbar__tel { display: none; } }

/* Carte produit */
.lmda-carte .lmda-carte__visuel { position: relative; overflow: hidden; background: var(--lmda-creme); }
.lmda-carte .product_thumbnail img { transition: transform .5s var(--lmda-ease); }
@media (hover: hover) { .lmda-carte:hover .product_thumbnail img { transform: scale(1.04); } }
.lmda-badge { position: absolute; top: 12px; left: 12px; z-index: 2; display: inline-flex; align-items: center; height: 24px; padding: 0 9px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; line-height: 1; }
.lmda-badge--unique { background: var(--lmda-blanc); color: var(--lmda-rouge); }
.lmda-badge--vendue { background: var(--lmda-encre); color: var(--lmda-blanc); }
.lmda-carte--vendue .product_thumbnail img { opacity: .75; }
.lmda-carte--vendue .lmda-carte__prix .price { color: var(--lmda-gris-encre); }
.lmda-carte__ajout { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 2; opacity: 0; transform: translateY(12px); transition: opacity .22s, transform .22s var(--lmda-ease); }
.lmda-carte:hover .lmda-carte__ajout, .lmda-carte:focus-within .lmda-carte__ajout { opacity: 1; transform: none; }
.lmda-carte__titre { font-size: 15px; font-weight: 500; line-height: 1.4; margin: 14px 0 4px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lmda-carte__titre a { color: var(--lmda-encre); }
.lmda-carte__titre a:hover { color: var(--lmda-rouge); }
.lmda-carte__prix .price { font-size: 16px; font-weight: 600; color: var(--lmda-encre); }
.lmda-alma { margin: 2px 0 0; font-size: 12px; color: var(--lmda-gris-encre); }
.lmda-alma .amount { font-weight: 400; font-size: 12px; }

/* Panier vide */
.lmda-panier-vide { max-width: 960px; margin: 0 auto; padding: 24px 0 var(--lmda-section); }
.lmda-panier-vide__texte { font-size: 17px; line-height: 1.6; max-width: 640px; margin: 0 0 32px; }
.lmda-panier-vide__actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; margin-top: 24px; }
.lmda-btn--lien { color: var(--lmda-rouge); font-weight: 600; font-size: 13px; }
.lmda-panier-vide__boutique { margin-top: 28px; padding: 16px 18px; background: var(--lmda-creme); font-size: 14px; }
.lmda-panier-vide__boutique a { color: var(--lmda-rouge); font-weight: 600; }

/* Confirmation */
.lmda-confirmation__merci { font-size: clamp(26px, 3vw, 34px); font-weight: 300; color: var(--lmda-encre); line-height: 1.2; margin: 0 0 28px; }
.lmda-etapes { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lmda-etapes__item { padding: 18px 20px; border: 1px solid rgba(31,31,31,.12); font-size: 14px; display: flex; flex-direction: column; gap: 4px; color: var(--lmda-gris-encre); }
.lmda-etapes__item strong { color: var(--lmda-encre); }
.lmda-etapes__item--fait { border-color: var(--lmda-rouge); background: var(--lmda-creme); }
.lmda-confirmation__consigne { background: var(--lmda-creme); padding: 16px 18px; font-size: 14px; margin: 0 0 28px; }
.lmda-confirmation__resume { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px 24px; margin: 0 0 32px; padding: 0; list-style: none; font-size: 14px; }
@media (max-width: 767px) { .lmda-etapes { grid-template-columns: 1fr; } }

/* 404 */
.lmda-404 { padding: 0 0 var(--lmda-section); }
.lmda-404__texte { padding: var(--lmda-section) 0; display: flex; flex-direction: column; justify-content: center; gap: 18px; }
.lmda-404__texte h1 { margin: 0; }
.lmda-404__recherche { display: flex; gap: 10px; max-width: 520px; }
.lmda-404__recherche input[type="search"] { flex: 1; border: 1px solid rgba(31,31,31,.25); padding: 14px 16px; font: inherit; font-size: 14px; min-width: 0; }
.lmda-404__recherche input[type="search"]:focus { border-color: var(--lmda-rouge); outline: 0; }
.lmda-404__cats { display: flex; gap: 10px; flex-wrap: wrap; }
.lmda-404__tel { font-size: 14px; }
.lmda-404__visuel img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lmda-404__nouveautes { padding-top: var(--lmda-section); }
@media (max-width: 767px) { .lmda-404__visuel { order: -1; } .lmda-404__visuel img { height: 240px; } }


/* ============================================================
   CC-24 : barre haute, header, mega-menu, recherche, off-canvas, footer
   ============================================================ */

/* Barre haute : le parent fixe des largeurs en pourcentage, on repasse en flex simple */
#site-top-bar.lmda-topbar { background: var(--lmda-encre); color: var(--lmda-blanc); }
#site-top-bar .lmda-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 9px 0; }
#site-top-bar .lmda-topbar__message { width: auto; flex: 1 1 auto; margin: 0; padding: 0; font-size: 13px; line-height: 1.4; display: inline-flex; align-items: center; gap: 10px; float: none; }
#site-top-bar .lmda-topbar__tel { color: var(--lmda-blanc); font-weight: 600; white-space: nowrap; }
#site-top-bar .lmda-topbar__tel:hover { color: var(--lmda-creme); }
@media (max-width: 767px) {
	#site-top-bar .lmda-topbar__inner { justify-content: center; text-align: center; }
	#site-top-bar .lmda-topbar__adresse, #site-top-bar .lmda-topbar__tel { display: none; }
}

/* Menu principal : 6 entrées, mega-menu sur « Nos meubles », « Boutique Lyon » poussée à droite */
.main-navigation ul.menu-menu-principal > li > a { font-size: 13px; padding: 0 12px; letter-spacing: .04em; }
@media (max-width: 1439px) { .main-navigation ul.menu-menu-principal > li > a { font-size: 12px; padding: 0 9px; letter-spacing: .02em; } }
.site-header .menu-wrapper, .site-header .main-navigation, .main-navigation > ul, .main-navigation > ul > li.lmda-mega { position: static !important; }
.main-navigation > ul > li.lmda-mega.menu-item-has-children::after { display: none; }
.main-navigation > ul > li.lmda-mega > a::after { content: "\25BE"; display: inline-block; margin-left: 6px; transition: transform .2s; }
.main-navigation > ul > li.lmda-mega.is-open > a::after { transform: rotate(180deg); }
.main-navigation > ul > li.lmda-mega > ul.sub-menu {
	position: absolute; left: 0; right: 0; top: 100%; width: auto; z-index: 30;
	display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px;
	padding: 32px 36px 36px; background: var(--lmda-blanc); border-top: 1px solid var(--lmda-bordure);
	box-shadow: 0 24px 50px rgba(31, 31, 31, .16);
	opacity: 0; visibility: hidden; transform: translateY(-8px); pointer-events: none;
	transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.main-navigation > ul > li.lmda-mega.is-open > ul.sub-menu { opacity: 1; visibility: visible; transform: none; pointer-events: auto; transition: opacity .22s ease, transform .22s ease; }
.main-navigation .lmda-mega .sub-menu .sub-menu { position: static; left: auto; top: auto; width: auto; padding: 0; margin: 0; background: transparent; box-shadow: none; display: block; opacity: 1; visibility: visible; transform: none; }
/* Recette CC-30 : Shopkeeper laisse les sous-menus imbriqués en pointer-events none tant que leur parent n'est pas survolé ; dans le panneau ouvert, tout doit être cliquable. */
.main-navigation > ul > li.lmda-mega.is-open > ul.sub-menu .sub-menu, .main-navigation > ul > li.lmda-mega.is-open > ul.sub-menu .sub-menu > li, .main-navigation > ul > li.lmda-mega.is-open > ul.sub-menu .sub-menu > li > a, .main-navigation > ul > li.lmda-mega.is-open > ul.sub-menu .lmda-mega__colonne-photo a { pointer-events: auto; }
.main-navigation .lmda-mega li.lmda-groupe, .main-navigation .lmda-mega li.lmda-mega__colonne-photo { display: block; padding: 0; white-space: normal; }
.main-navigation .lmda-mega li.lmda-groupe::after, .main-navigation .lmda-mega li.lmda-groupe.menu-item-has-children::after { display: none !important; }
.main-navigation .lmda-mega .lmda-groupe__titre { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--lmda-rouge); margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--lmda-bordure); }
.main-navigation .lmda-mega .lmda-groupe .sub-menu li { display: block; padding: 0; white-space: normal; }
.main-navigation .lmda-mega .lmda-groupe .sub-menu li::after { display: none !important; }
.main-navigation .lmda-mega .lmda-groupe .sub-menu a { display: block; width: auto; padding: 5px 0; font-size: 14px; font-weight: 400; text-transform: none; line-height: 1.35; color: var(--lmda-encre); border: 0; transition: color .15s, padding-left .15s; }
.main-navigation .lmda-mega .lmda-groupe .sub-menu a:hover { color: var(--lmda-rouge); padding-left: 6px; }
.main-navigation .lmda-mega .lmda-mega__nouveaute { display: block; width: auto; padding: 0; text-transform: none; font-weight: 400; border: 0; }
.main-navigation .lmda-mega .lmda-mega__nouveaute img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.main-navigation .lmda-mega .lmda-mega__legende { display: block; padding-top: 10px; font-size: 13px; line-height: 1.4; color: var(--lmda-encre); white-space: normal; }
.main-navigation .lmda-mega .lmda-mega__legende .lmda-surtitre { display: block; margin-bottom: 4px; }
.main-navigation .lmda-mega .lmda-mega__prix { display: block; font-weight: 600; }
@media (max-width: 1199px) {
	.main-navigation .lmda-mega li.lmda-mega__colonne-photo { display: none; }
	.main-navigation > ul > li.lmda-mega > ul.sub-menu { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 24px; }
}

/* Header entre 768 et 1199 px : le menu passe sur une seconde ligne pleine largeur, centrée, filet en haut */

/* Outils du header : recherche en ligne dès 1200 px, loupe seule en dessous ; téléphone en mobile */
@media (max-width: 1024px) {
	.site-tools > ul { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
	.site-tools > ul > li { margin-left: 0; }
	.site-tools > ul > li.lmda-tel-button { order: 1; }
	.site-tools > ul > li.lmda-search-icon { order: 2; }
	.site-tools > ul > li.shopping-bag-button { order: 3; }
	.site-tools > ul > li.my_account_icon { display: none !important; }
	.site-tools > ul > li.offcanvas-menu-button:not(.search-button) { order: 4; }
	.site-tools .lmda-tel-button .tools_button_icon { width: 22px; }
	.site-tools .lmda-tel-button .tools_button_icon svg { display: block; }
}

/* Off-canvas mobile : voir la section « CC-32 : menu mobile » en fin de fichier. */

/* Footer 19785 : icônes de liste retirées, réseaux en carrés contour blanc, hover rouge */
.elementor-19785 .elementor-icon-list-icon { display: none; }
.elementor-19785 .elementor-icon-list-item > a, .elementor-19785 .elementor-icon-list-item > span { padding-left: 0; }
.elementor-19785 .elementor-social-icon { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background-color: transparent !important; border: 1px solid rgba(255, 255, 255, .25); border-radius: 0 !important; transition: background-color var(--lmda-transition), border-color var(--lmda-transition); }
.elementor-19785 .elementor-social-icon:hover { background-color: var(--lmda-rouge) !important; border-color: var(--lmda-rouge); }
.elementor-19785 .elementor-social-icon i, .elementor-19785 .elementor-social-icon svg { color: var(--lmda-blanc); fill: var(--lmda-blanc); }


/* ============================================================
   CC-25 : home (hero, rangée boutique, réassurance, onglets, atelier,
   promotions, boutique Lyon, guides) et variantes de boutons Elementor
   ============================================================ */

/* Variantes de boutons Elementor (classe posée sur le widget) */
.lmda-bouton-contour .elementor-button { background: transparent !important; color: var(--lmda-encre) !important; box-shadow: inset 0 0 0 1px var(--lmda-encre); }
.lmda-bouton-contour .elementor-button:hover { background: var(--lmda-encre) !important; color: var(--lmda-blanc) !important; transform: none; }
.lmda-bouton-contour-blanc .elementor-button { background: transparent !important; color: var(--lmda-blanc) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7); }
.lmda-bouton-contour-blanc .elementor-button:hover { background: var(--lmda-blanc) !important; color: var(--lmda-rouge) !important; transform: none; }
.lmda-bouton-blanc .elementor-button { background: var(--lmda-blanc) !important; color: var(--lmda-rouge) !important; }
.lmda-bouton-blanc .elementor-button:hover { background: var(--lmda-creme) !important; color: var(--lmda-rouge-fonce) !important; }
.lmda-lien-fleche { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--lmda-rouge); border-bottom: 2px solid var(--lmda-rouge); padding-bottom: 2px; }
.lmda-lien-fleche:hover { color: var(--lmda-rouge-fonce); border-color: var(--lmda-rouge-fonce); }

/* Sur-titres rendus par un widget Titre */
.lmda-surtitre-widget .elementor-heading-title { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--lmda-rouge); margin: 0 0 14px; }

/* Hero 2 colonnes */
.lmda-hero .elementor-widget-heading .elementor-heading-title { text-transform: none; }
.lmda-hero .lmda-hero__h1 .elementor-heading-title { font-size: var(--lmda-h1); font-weight: 300; line-height: 1.1; color: var(--lmda-encre); margin: 0 0 18px; text-wrap: pretty; }
.lmda-hero .lmda-hero__sous-titre { font-size: 17px; line-height: 1.6; color: var(--lmda-gris-encre); max-width: 520px; margin-bottom: 28px; }
.lmda-hero .lmda-hero__sous-titre .elementor-heading-title { font-size: 17px; line-height: 1.6; color: var(--lmda-gris-encre); font-weight: 400; text-transform: none; letter-spacing: 0; }
.lmda-hero .lmda-hero__boutons { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 767px) {
	.lmda-hero .elementor-widget-button .elementor-button { display: block; width: 100%; }
}

/* Rangée adresse / horaires / contact : débord sur le hero, boxes crème, un seul bloc encre sur mobile */
.lmda-rangee-boutique { position: relative; z-index: 2; }
.lmda-rangee-boutique .elementor-icon-box-title, .lmda-rangee-boutique .elementor-icon-box-description { text-transform: none; }
.lmda-rangee-boutique .elementor-icon-box-description b { font-size: 12px; } /* audit 25/09 : 11 px hérités, minimum 12 px */
@media (max-width: 767px) {
	.lmda-rangee-boutique > .e-con-inner > .e-con, .lmda-rangee-boutique > .e-con { background-color: var(--lmda-encre) !important; }
	.lmda-rangee-boutique .elementor-icon-box-title, .lmda-rangee-boutique .elementor-icon-box-description, .lmda-rangee-boutique .elementor-icon-box-description b { color: var(--lmda-blanc) !important; }
	.lmda-rangee-boutique .elementor-icon-box-icon .elementor-icon { color: var(--lmda-or) !important; fill: var(--lmda-or) !important; }
}

/* Réassurance 4 items, filets haut et bas, aucun Hn */
.lmda-reassurance-home { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; padding: 26px 0; border-top: 1px solid var(--lmda-bordure); border-bottom: 1px solid var(--lmda-bordure); }
.lmda-reassurance-home__item { font-size: 14px; line-height: 1.45; color: var(--lmda-gris-encre); padding-left: 22px; position: relative; }
.lmda-reassurance-home__item::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--lmda-rouge); font-weight: 700; }
.lmda-reassurance-home__item strong { display: block; color: var(--lmda-encre); font-weight: 600; margin-bottom: 2px; }
@media (max-width: 1023px) { .lmda-reassurance-home { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 479px) { .lmda-reassurance-home { grid-template-columns: 1fr; gap: 14px; } }

/* En-tête de section : H2 à gauche, lien à droite */
.lmda-section-entete { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 28px; }
.lmda-section-entete h2, .lmda-section-entete .elementor-heading-title { margin: 0; }
.lmda-univers-entete .elementor-widget-heading .elementor-heading-title { text-transform: none; }

/* Onglets produits */
.lmda-tabs .lmda-tabs__entete { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 20px; }
.lmda-tabs .lmda-tabs__titre { font-size: var(--lmda-h2); font-weight: 500; line-height: 1.2; color: var(--lmda-encre); margin: 0; text-transform: none; }
.lmda-tabs .lmda-tabs__lien { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--lmda-rouge); border-bottom: 2px solid var(--lmda-rouge); padding-bottom: 2px; white-space: nowrap; }
.lmda-tabs [role="tabpanel"] { min-height: 690px; }
.lmda-tabs [role="tabpanel"][hidden] { display: none !important; }
.lmda-js .lmda-tabs:not(.is-ready) [role="tabpanel"]:not(:first-of-type) { display: none; }
.lmda-tabs .elementor-widget-woocommerce-products { width: 100%; }
@media (max-width: 767px) {
	.lmda-tabs [role="tabpanel"] { min-height: 380px; }
	.lmda-tabs .lmda-tabs__liste { margin-left: calc(-1 * var(--lmda-gouttiere)); margin-right: calc(-1 * var(--lmda-gouttiere)); padding: 0 var(--lmda-gouttiere) 6px; }
}

/* Atelier : seul bloc rouge de la page */
.lmda-atelier-home .elementor-widget-heading .elementor-heading-title { text-transform: none; font-size: var(--lmda-h2); font-weight: 500; line-height: 1.2; }
.lmda-atelier-home .elementor-widget-text-editor { font-size: 16px; line-height: 1.7; }

/* Promotions : une ligne, contour */
.lmda-promos { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; border: 1px solid var(--lmda-bordure); padding: 22px 28px; }
.lmda-promos p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--lmda-gris-encre); }
.lmda-promos p strong { color: var(--lmda-encre); }

/* Boutique Lyon : fond crème, horaires en grille, plan au clic */
.lmda-boutique-home .elementor-widget-heading .elementor-heading-title { text-transform: none; font-size: var(--lmda-h2); font-weight: 500; line-height: 1.2; }
.lmda-boutique-home .lmda-horaires { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; margin: 20px 0 24px; font-size: 15px; }
.lmda-boutique-home .lmda-horaires dt { font-weight: 600; color: var(--lmda-encre); margin: 0; }
.lmda-boutique-home .lmda-horaires dd { margin: 0; color: var(--lmda-gris-encre); }
.lmda-boutique-home .lmda-boutique__boutons { display: flex; flex-wrap: wrap; gap: 12px; }
.lmda-boutique-home .lmda-boutique__visuel img { width: 100%; height: auto; display: block; }
.lmda-map { position: relative; margin-top: 16px; min-height: 220px; background: var(--lmda-blanc); border: 1px solid var(--lmda-bordure); display: flex; align-items: center; justify-content: center; }
.lmda-map button { cursor: pointer; font: inherit; }
.lmda-map iframe { display: block; }

/* Guides : 3 articles */
.lmda-guides-home .elementor-widget-heading .elementor-heading-title { text-transform: none; }
.lmda-guides-home .elementor-post__title, .lmda-guides-home .elementor-post__title a { font-size: 18px; font-weight: 500; line-height: 1.3; color: var(--lmda-encre); }
.lmda-guides-home .elementor-post__meta-data { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--lmda-rouge); }
.lmda-guides-home .elementor-post__read-more { color: var(--lmda-rouge); font-weight: 600; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.lmda-guides-home .elementor-post__thumbnail { overflow: hidden; }
.lmda-guides-home .elementor-post__thumbnail img { transition: transform .5s ease; }
@media (hover: hover) {
	.lmda-guides-home .elementor-posts-container:not(.elementor-has-item-ratio) .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.04); }
	/* Elementor centre l'image par scale(1.01) translate(-50%, -50%) : le survol doit garder le translate, sinon l'image glisse d'une demi-largeur */
	.lmda-guides-home .elementor-posts-container.elementor-has-item-ratio .elementor-post:hover .elementor-post__thumbnail img { transform: scale(1.05) translate(-50%, -50%); }
}

/* Compléments home : bouton du plan, liens sur fond rouge, en-têtes de section en flex */
.lmda-map button.lmda-bouton { padding: 14px 22px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border: 0; }
.lmda-atelier-home a:not(.elementor-button) { color: var(--lmda-blanc); text-decoration: underline; text-underline-offset: 3px; }
.lmda-section-entete > .elementor-widget { width: auto; }


/* ============================================================
   CC-26 : catégories (template 8218) et cartes produit
   ============================================================ */

/* Bande d'en-tête crème */
.lmda-cat-bande { background: var(--lmda-creme); }
.lmda-cat-bande .lmda-cat-bande__texte .elementor-widget-theme-archive-title .elementor-heading-title { font-size: var(--lmda-h1); font-weight: 300; line-height: 1.1; color: var(--lmda-encre); text-transform: none; text-shadow: none; text-align: left; margin: 10px 0 12px; }
.lmda-cat-bande .lmda-fil { font-size: 12px; letter-spacing: .04em; color: var(--lmda-gris-encre); }
.lmda-cat-bande .lmda-fil a { color: var(--lmda-gris-encre); }
.lmda-cat-bande .lmda-fil a:hover { color: var(--lmda-rouge); }
.lmda-cat-bande .lmda-compteur { font-size: 15px; color: var(--lmda-gris-encre); margin: 0; }
.lmda-cat-bande .lmda-compteur strong { color: var(--lmda-encre); font-weight: 600; }

/* Colonne gauche : menu des rayons, prix, couleur, encadré boutique (aucun Hn ajouté) */
.lmda-cat-filtres { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--lmda-bordure); }
.lmda-cat-filtres .lmda-filtre__titre { display: block; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--lmda-encre); margin: 0 0 10px; }
.lmda-cat-filtres ul { list-style: none; margin: 0 0 22px; padding: 0; }
.lmda-cat-filtres li { margin: 0 0 6px; font-size: 14px; }
.lmda-cat-filtres a { color: var(--lmda-gris-encre); transition: color .15s, padding-left .15s; }
.lmda-cat-filtres a:hover, .lmda-cat-filtres li.chosen a, .lmda-cat-filtres a.is-active { color: var(--lmda-rouge); }
.lmda-cat-filtres .woocommerce-widget-layered-nav-list .count { color: var(--lmda-gris-encre); font-size: 12px; }
.lmda-cat-filtres .woocommerce-widget-layered-nav-list li.chosen a::before { content: "\2715\00a0"; font-size: 11px; }
.lmda-cat-filtres .widget { margin: 0; padding: 0; }
.lmda-encadre-boutique-cat { background: var(--lmda-creme); padding: 18px 20px; font-size: 14px; line-height: 1.5; color: var(--lmda-gris-encre); }
.lmda-encadre-boutique-cat strong { display: block; color: var(--lmda-encre); font-size: 15px; margin-bottom: 6px; }
.lmda-encadre-boutique-cat a.lmda-bouton { margin-top: 12px; padding: 13px 18px !important; font-size: 12px !important; display: inline-block; }

/* Grille : 3 colonnes dès que la colonne gauche est là (loop_shop_columns), cartes du content-product.php enfant */
.lmda-badge--promo { background: var(--lmda-rouge); color: var(--lmda-blanc); }
ul.products li.product .lmda-badge--promo { top: 12px; left: auto; right: 12px; }

/* Bas de page : description développée en 2 colonnes, encadré « Dans le même esprit » */
@media (min-width: 1024px) {
	.lmda-term-description--bas { column-count: 2; column-gap: 48px; }
	.lmda-term-description--bas h2, .lmda-term-description--bas h3 { break-after: avoid; column-span: none; }
	.lmda-term-description--bas > *:first-child { margin-top: 0; }
}
.lmda-term-description--bas .lmda-meme-esprit { break-inside: avoid; background: var(--lmda-creme); padding: 18px 22px; margin: 18px 0; }


/* ============================================================
   CC-27 : fiche produit (bloc clés, CTA, transport, encadré boutique, galerie)
   ============================================================ */
.single-product .lmda-fiche-cles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 20px; margin: 0 0 18px; padding: 14px 0; border-top: 1px solid var(--lmda-bordure); border-bottom: 1px solid var(--lmda-bordure); }
.single-product .lmda-fiche-cles div { margin: 0; }
.single-product .lmda-fiche-cles dt { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--lmda-gris-encre); margin: 0 0 2px; font-weight: 600; }
.single-product .lmda-fiche-cles dd { margin: 0; font-size: 14px; color: var(--lmda-encre); }
.single-product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.single-product form.cart .single_add_to_cart_button { flex: 1 1 100%; width: 100%; text-align: center; }
.single-product .lmda-cta-secondaires { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 18px; }
.single-product .lmda-cta-secondaires a.lmda-bouton { flex: 1 1 calc(50% - 5px); text-align: center; padding: 13px 16px !important; font-size: 12px !important; }
.single-product .lmda-cta--mobile { display: none; }
@media (max-width: 767px) { .single-product .lmda-cta--desktop { display: none; } .single-product .lmda-cta--mobile { display: block; } }
.single-product .lmda-livraison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 16px; }
.single-product .lmda-livraison__bloc { border: 1px solid var(--lmda-bordure); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; font-size: 13px; line-height: 1.4; color: var(--lmda-gris-encre); }
.single-product .lmda-livraison__titre { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--lmda-encre); }
.single-product .lmda-livraison__bloc strong { font-size: 15px; color: var(--lmda-encre); font-weight: 600; }
.single-product .lmda-livraison__bloc strong.lmda-rouge { color: var(--lmda-rouge); }
@media (max-width: 479px) { .single-product .lmda-livraison { grid-template-columns: 1fr; } }
.single-product .lmda-encadre-boutique { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: var(--lmda-creme); padding: 16px 18px; margin: 0 0 8px; font-size: 14px; line-height: 1.45; color: var(--lmda-gris-encre); }
.single-product .lmda-encadre-boutique strong { display: block; color: var(--lmda-encre); font-weight: 600; margin-bottom: 2px; }
.single-product .lmda-encadre-boutique a.lmda-bouton { padding: 13px 18px !important; font-size: 12px !important; white-space: nowrap; }
.single-product .product-badges .lmda-badge--promo { position: absolute; top: 12px; right: 12px; z-index: 3; }

/* Galerie : vignettes verticales à gauche en desktop, vignette active soulignée en rouge */
@media (min-width: 992px) {
	.single-product .woocommerce-product-gallery { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: start; }
	.single-product .woocommerce-product-gallery > *:not(.flex-control-thumbs) { grid-column: 2; }
	.single-product .woocommerce-product-gallery > .flex-viewport, .single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { grid-row: 1; }
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs { grid-column: 1; grid-row: 1; display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; max-height: 640px; overflow-y: auto; scrollbar-width: none; }
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs::-webkit-scrollbar { display: none; }
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs li { width: 100% !important; float: none; margin: 0; padding: 0; }
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs img { width: 100%; display: block; opacity: .55; cursor: pointer; transition: opacity var(--lmda-transition); }
	.single-product .woocommerce-product-gallery ol.flex-control-thumbs img:hover { opacity: .85; }
	.single-product .product_layout_classic .product-images-wrapper .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active { opacity: 1 !important; outline: 2px solid var(--lmda-rouge) !important; outline-offset: -2px; box-shadow: inset 0 0 0 2px var(--lmda-rouge); }
}
.single-product .lmda-galerie__compteur { display: none; }
@media (max-width: 767px) {
	.single-product .product-images-wrapper { position: relative; }
	.single-product .lmda-galerie__compteur { display: block; position: absolute; right: 12px; top: 12px; z-index: 3; background: rgba(31, 31, 31, .75); color: var(--lmda-blanc); font-size: 12px; padding: 4px 9px; }
	.single-product .product_layout_classic .product-images-wrapper .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active { opacity: 1 !important; outline: 2px solid var(--lmda-rouge) !important; outline-offset: -2px; }
}


/* ============================================================
   CC-28 : tunnel d'achat (tiroir, étapes, panier, commande, confirmation)
   ============================================================ */

/* Tiroir : le dropdown et la notification de Shopkeeper sont remplacés */
.shopkeeper-mini-cart { display: none !important; }
body.lmda-tiroir-ouvert { overflow: hidden; }
ul.products li.product a.added_to_cart { display: none !important; }
.lmda-tiroir { padding: 0; overflow-y: auto; }
.lmda-tiroir__contenu { display: flex; flex-direction: column; min-height: 100%; }
.lmda-tiroir__entete { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px 14px; border-bottom: 1px solid var(--lmda-bordure); }
.lmda-tiroir__titre { margin: 0; font-size: 18px; font-weight: 600; color: var(--lmda-encre); outline: 0; }
.lmda-tiroir.is-ajout .lmda-tiroir__titre::before { content: "\2713"; color: var(--lmda-rouge); margin-right: 8px; }
.lmda-tiroir__fermer { background: none; border: 0; font-size: 26px; line-height: 1; color: var(--lmda-encre); cursor: pointer; padding: 4px 8px; }
.lmda-tiroir__lignes { padding: 8px 24px; }
.lmda-tiroir__ligne { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--lmda-bordure); }
.lmda-tiroir__ligne img { width: 72px; height: 88px; object-fit: cover; display: block; }
.lmda-tiroir__infos { display: flex; flex-direction: column; gap: 3px; font-size: 13px; color: var(--lmda-gris-encre); }
.lmda-tiroir__infos > a { color: var(--lmda-encre); font-weight: 500; font-size: 14px; line-height: 1.3; }
.lmda-tiroir__unique { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--lmda-rouge); }
.lmda-tiroir__infos strong { color: var(--lmda-encre); }
.lmda-tiroir__retirer { font-size: 12px; color: var(--lmda-gris-encre); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.lmda-tiroir__retirer:hover { color: var(--lmda-rouge); }
.lmda-tiroir__associes { padding: 14px 24px; }
.lmda-tiroir__associes-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 8px; }
.lmda-tiroir__associe { display: flex; flex-direction: column; gap: 4px; font-size: 12px; color: var(--lmda-gris-encre); }
.lmda-tiroir__associe img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; background: var(--lmda-creme); }
.lmda-tiroir__associe strong { color: var(--lmda-encre); }
.lmda-tiroir__pied { margin-top: auto; padding: 16px 24px 24px; border-top: 1px solid var(--lmda-bordure); background: var(--lmda-blanc); }
.lmda-tiroir__total { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; color: var(--lmda-gris-encre); }
.lmda-tiroir__total strong { font-size: 18px; color: var(--lmda-encre); }
.lmda-tiroir__note { font-size: 12px; color: var(--lmda-gris-encre); margin: 6px 0 14px; line-height: 1.4; }
.lmda-tiroir a.lmda-tiroir__commander { display: block; text-align: center; }
.lmda-tiroir__liens { display: flex; justify-content: space-between; gap: 12px; margin: 12px 0; font-size: 13px; }
.lmda-tiroir__liens a, .lmda-tiroir__liens button { color: var(--lmda-encre); background: none; border: 0; padding: 0; font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.lmda-tiroir__boutique { font-size: 12px; color: var(--lmda-gris-encre); margin: 0; line-height: 1.45; }
.lmda-tiroir__vide { padding: 28px 24px; font-size: 14px; color: var(--lmda-gris-encre); }
.lmda-tiroir__vide a.lmda-bouton { margin-top: 12px; display: inline-block; }
@media (max-width: 767px) { .lmda-tiroir__contenu { min-height: 0; } }

/* Étapes du tunnel */
.lmda-etapes-tunnel { display: flex; gap: 22px; list-style: none; margin: 0 0 22px; padding: 0; font-size: 13px; color: var(--lmda-gris-encre); flex-wrap: wrap; }
.lmda-etapes-tunnel li { display: flex; align-items: center; gap: 8px; }
.lmda-etapes-tunnel li span { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; box-shadow: inset 0 0 0 1px var(--lmda-bordure); }
.lmda-etapes-tunnel li.is-active { color: var(--lmda-encre); font-weight: 600; }
.lmda-etapes-tunnel li.is-active span, .lmda-etapes-tunnel li.is-done span { background: var(--lmda-rouge); color: var(--lmda-blanc); box-shadow: none; }

/* Panier */
.woocommerce-cart .lmda-panier__details { display: flex; flex-direction: column; gap: 3px; margin-top: 6px; font-size: 12px; color: var(--lmda-gris-encre); }
.woocommerce-cart .lmda-panier__details .lmda-badge { position: static; display: inline-block; align-self: flex-start; padding: 3px 7px; font-size: 10px; }
.woocommerce-cart table.shop_table td.product-thumbnail img { width: 120px; height: auto; }
.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr td.product-remove > a.remove { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; height: auto !important; min-height: 44px; padding: 0; line-height: 1.4 !important; font-size: 13px !important; font-weight: 500; color: var(--lmda-gris-encre) !important; text-decoration: none; border-radius: 0; background: none !important; }
.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr td.product-remove > a.remove::after { position: static; display: inline-block; font-size: 11px; line-height: 1; margin: 0; transform: rotate(45deg); }
.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr td.product-remove > a.remove:hover { color: var(--lmda-rouge) !important; opacity: 1 !important; }
.woocommerce-cart .lmda-panier__continuer { margin: 8px 0 24px; }
.woocommerce-cart .lmda-panier__encadres { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 0 28px; }
.woocommerce-cart .lmda-panier__encadre { background: var(--lmda-creme); padding: 18px 20px; font-size: 14px; line-height: 1.5; color: var(--lmda-gris-encre); }
.woocommerce-cart .lmda-panier__encadre strong { display: block; color: var(--lmda-encre); margin-bottom: 4px; }
@media (max-width: 767px) { .woocommerce-cart .lmda-panier__encadres { grid-template-columns: 1fr; } }
.woocommerce-cart .lmda-panier__note td, .woocommerce-cart .lmda-panier__alma td { font-size: 12px; color: var(--lmda-gris-encre); border-top: 0; padding-top: 0; }
.woocommerce-cart .lmda-reassurance--panier { border-top: 0; padding-top: 0; margin-top: 14px; }
.woocommerce-cart .lmda-reassurance--panier li { font-size: 13px; }

/* Méthodes de livraison en cartes (panier et commande) */
#shipping_method { display: grid; gap: 10px; margin: 0; padding: 0; }
#shipping_method li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; padding: 12px 14px; border: 1px solid var(--lmda-bordure); margin: 0; }
#shipping_method li:has(input:checked) { border-color: var(--lmda-rouge); background: var(--lmda-creme); }
#shipping_method input[type="radio"] { margin: 4px 0 0; accent-color: var(--lmda-rouge); }
#shipping_method label { margin: 0; display: block; cursor: pointer; }
.lmda-methode { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; font-size: 13px; }
.lmda-methode__nom { font-weight: 600; color: var(--lmda-encre); font-size: 14px; }
.lmda-methode__prix { grid-column: 2; grid-row: 1 / span 2; font-weight: 600; color: var(--lmda-encre); white-space: nowrap; }
.lmda-methode__note { grid-column: 1; color: var(--lmda-gris-encre); line-height: 1.4; }
.woocommerce-shipping-methods .lmda-methode__note { font-size: 12px; }

/* Commande */
.woocommerce-checkout .lmda-commande__aide { font-size: 13px; color: var(--lmda-gris-encre); margin: -8px 0 20px; }
.woocommerce-checkout .lmda-recap-mobile { display: none; }
@media (max-width: 767px) {
	.woocommerce-checkout .lmda-recap-mobile { display: flex; justify-content: space-between; align-items: center; gap: 12px; background: var(--lmda-creme); padding: 12px 16px; margin: 0 0 18px; font-size: 14px; font-weight: 600; color: var(--lmda-encre); }
	.woocommerce-checkout .lmda-recap-mobile a { font-weight: 600; color: var(--lmda-rouge); font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
}
.woocommerce-checkout .lmda-titre-bloc { font-size: 17px; font-weight: 700; color: var(--lmda-encre); margin: 22px 0 12px; }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; color: var(--lmda-encre); text-transform: none !important; letter-spacing: 0; }
.woocommerce-checkout #payment div.payment_box p { font-size: 13px; margin: 0; }
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .e-checkout__order_review .lmda-methode__note { font-size: 12px; }

/* Confirmation */
.lmda-confirmation__intro { font-size: 16px; line-height: 1.6; color: var(--lmda-gris-encre); margin: 0 0 24px; }
.lmda-confirmation__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 24px; }
.lmda-confirmation__consigne { display: flex; flex-direction: column; gap: 4px; }
.lmda-confirmation__consigne strong { color: var(--lmda-encre); }
.lmda-panier-vide__titre { font-size: 22px; font-weight: 500; margin: 0 0 18px; }


/* ============================================================
   CC-29 : Boutique Lyon et À propos
   ============================================================ */
.lmda-etat-ouverture { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--lmda-encre); margin: 0 0 22px; }
.lmda-etat-ouverture .lmda-topbar__point { background: var(--lmda-gris-encre); }
.lmda-etat-ouverture.is-ouvert .lmda-topbar__point { background: var(--lmda-or); }
.lmda-bl-bande .elementor-widget-heading .elementor-heading-title { font-size: 20px; font-weight: 600; text-transform: none; margin: 0 0 12px; }
.lmda-bl-bande .lmda-horaires { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 0 0 14px; font-size: 15px; }
.lmda-bl-bande .lmda-horaires dt { font-weight: 600; color: var(--lmda-encre); margin: 0; }
.lmda-bl-bande .lmda-horaires dd { margin: 0; color: var(--lmda-gris-encre); }
.lmda-bl-bande .lmda-bl-note { font-size: 13px; color: var(--lmda-gris-encre); margin: 0; }
.lmda-bl-bande .lmda-bl-adresse { font-size: 15px; line-height: 1.5; margin: 0 0 12px; color: var(--lmda-gris-encre); }
.lmda-bl-bande .lmda-bl-adresse strong { color: var(--lmda-encre); }
.lmda-bl-bande .lmda-bl-liste { list-style: none; margin: 0 0 14px; padding: 0; font-size: 14px; color: var(--lmda-gris-encre); }
.lmda-bl-bande .lmda-bl-liste li { padding: 3px 0; }
.lmda-bl-bande .lmda-bl-liste a { color: var(--lmda-encre); }
.lmda-bl-bande .lmda-bl-liste a:hover { color: var(--lmda-rouge); }
.lmda-bl-bande .lmda-bl-avis { font-size: 14px; margin: 0; color: var(--lmda-gris-encre); }
.lmda-bl-bande .lmda-bl-avis strong { color: var(--lmda-encre); }
.lmda-bl-bande .lmda-bl-avis a { color: var(--lmda-rouge); text-decoration: underline; text-underline-offset: 3px; }
.lmda-bl-contact-section .elementor-widget-heading .elementor-heading-title { text-transform: none; font-size: var(--lmda-h2); font-weight: 500; }
.lmda-bl-form .wpcf7 label { display: block; font-size: 13px; font-weight: 600; color: var(--lmda-encre); margin: 0 0 12px; }
.lmda-bl-form .wpcf7 input[type="text"], .lmda-bl-form .wpcf7 input[type="tel"], .lmda-bl-form .wpcf7 input[type="email"], .lmda-bl-form .wpcf7 select, .lmda-bl-form .wpcf7 textarea { display: block; width: 100%; min-height: 44px; margin-top: 4px; border: 1px solid rgba(31, 31, 31, .25); padding: 10px 12px; font: inherit; font-weight: 400; font-size: 14px; background: var(--lmda-blanc); color: var(--lmda-encre); }
.lmda-bl-form .wpcf7 textarea { min-height: 120px; }
.lmda-bl-form .wpcf7 input:focus, .lmda-bl-form .wpcf7 select:focus, .lmda-bl-form .wpcf7 textarea:focus { border-color: var(--lmda-rouge); outline: 0; }
.lmda-bl-form .lmda-form-grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
@media (max-width: 599px) { .lmda-bl-form .lmda-form-grille { grid-template-columns: 1fr; } }
.lmda-bl-form .lmda-rgpd { font-size: 12px; color: var(--lmda-gris-encre); margin: 4px 0 14px; }
.lmda-bl-form .wpcf7 input[type="submit"] { width: auto; padding: 16px 28px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-radius: 0; cursor: pointer; }
.lmda-bl-form .wpcf7 .wpcf7-not-valid-tip { font-size: 12px; color: var(--lmda-rouge); }
.lmda-bl-form .wpcf7 .wpcf7-response-output { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--lmda-bordure); font-size: 13px; }
.lmda-map--grand { min-height: 360px; margin-top: 0; }
.lmda-bl-plan .lmda-bl-note { font-size: 12px; color: var(--lmda-gris-encre); margin: 8px 0 0; }
.lmda-bl-nouveautes .elementor-widget-heading .elementor-heading-title { text-transform: none; }

/* À propos : galerie clients, atelier, appel à venir */
.lmda-apropos-clients .elementor-image-gallery .gallery-item img { border-radius: 0; aspect-ratio: 620 / 500; object-fit: cover; width: 100%; }
.lmda-apropos-porte .elementor-widget-text-editor { text-align: center; }


/* ============================================================
   CC-30 : blog (liste), article, 404
   ============================================================ */

/* Liste du blog : rayon 0, une carte large sombre, deux cartes en ligne, inscription */
.lmda-carte-article, .lmda-carte-article__badge, .lmda-auteur, .lmda-auteur__reseaux a, .single-post .nav-previous a, .single-post .nav-next a, .lmda-article-badge { border-radius: 0; }
.lmda-carte-article { border: 0; box-shadow: none; }
.lmda-carte-article:hover, .lmda-carte-article:focus-within { box-shadow: none; transform: none; }
.lmda-carte-article__badge { padding: 4px 10px; }
.lmda-blog-une { margin: 0 0 32px; }
.lmda-carte-article--une { position: relative; min-height: 440px; background: var(--lmda-encre); color: var(--lmda-blanc); justify-content: flex-end; overflow: hidden; }
.lmda-carte-article--une__fond { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .6s ease; }
@media (hover: hover) { .lmda-carte-article--une:hover .lmda-carte-article--une__fond { transform: scale(1.03); } }
.lmda-carte-article--une::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(31, 31, 31, 0) 30%, rgba(31, 31, 31, .85) 100%); pointer-events: none; }
.lmda-carte-article--une .lmda-carte-article__corps { position: relative; z-index: 1; padding: 40px 44px 36px; max-width: 720px; }
.lmda-carte-article--une .lmda-carte-article__titre { font-size: clamp(24px, 3vw, 36px); font-weight: 500; line-height: 1.2; }
.lmda-carte-article--une .lmda-carte-article__titre a, .lmda-carte-article--une .lmda-carte-article__meta, .lmda-carte-article--une .lmda-carte-article__extrait { color: var(--lmda-blanc); }
.lmda-carte-article--une .lmda-carte-article__titre a:hover { color: var(--lmda-creme); }
.lmda-carte-article--une .lmda-carte-article__lire { color: var(--lmda-blanc); }
.lmda-carte-article--une .lmda-carte-article__badge { background: var(--lmda-rouge); color: var(--lmda-blanc); }
.lmda-blog-grille--ligne { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 32px; }
.lmda-carte-article--ligne { flex-direction: row; align-items: stretch; }
.lmda-carte-article--ligne .lmda-carte-article__media { flex: 0 0 200px; aspect-ratio: auto; min-height: 200px; }
.lmda-carte-article--ligne .lmda-carte-article__corps { padding: 18px 22px 20px; }
.lmda-carte-article--ligne .lmda-carte-article__titre { font-size: 19px; }
@media (max-width: 767px) {
	.lmda-carte-article--une { min-height: 340px; }
	.lmda-carte-article--une .lmda-carte-article__corps { padding: 24px 20px; }
	.lmda-blog-grille--ligne { grid-template-columns: 1fr; }
	.lmda-carte-article--ligne { flex-direction: column; }
	.lmda-carte-article--ligne .lmda-carte-article__media { flex: none; min-height: 0; aspect-ratio: 620 / 500; }
}

/* Article : en-tête 2 colonnes, corps 720 px avec sommaire collant */
.single-post .lmda-article-entete { padding: 40px 0 28px; border-bottom: 1px solid var(--lmda-bordure); margin-bottom: 40px; }
.single-post .lmda-article-entete .row { display: flex; align-items: center; gap: 0; }
.single-post .lmda-article-entete__fil { font-size: 12px; color: var(--lmda-gris-encre); margin: 0 0 16px; }
.single-post .lmda-article-entete__fil a { color: var(--lmda-gris-encre); }
.single-post .lmda-article-entete__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; color: var(--lmda-rouge); margin: 0 0 14px; }
.single-post .lmda-article-entete__meta a { color: var(--lmda-rouge); }
.single-post .lmda-article-entete__meta time, .single-post .lmda-article-entete__meta span:not([aria-hidden]) { color: var(--lmda-gris-encre); }
.single-post .lmda-article-entete h1.entry-title { font-size: var(--lmda-h1); font-weight: 300; line-height: 1.12; color: var(--lmda-encre); text-transform: none; margin: 0 0 16px; text-align: left; }
.single-post .lmda-article-entete__chapeau { font-size: 18px; line-height: 1.55; color: var(--lmda-gris-encre); margin: 0 0 14px; }
.single-post .lmda-article-entete__auteur { font-size: 13px; color: var(--lmda-gris-encre); margin: 0; }
.single-post .lmda-article-entete__visuel img { width: 100%; height: auto; display: block; aspect-ratio: 4 / 3; object-fit: cover; }
.single-post .lmda-article__corps { display: grid; grid-template-columns: 240px minmax(0, 720px); gap: 56px; justify-content: center; align-items: start; }
.single-post .lmda-article__cote { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 24px; }
.single-post .lmda-sommaire { border-left: 2px solid var(--lmda-bordure); padding-left: 16px; }
.single-post .lmda-sommaire__titre { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--lmda-encre); margin: 0 0 10px; }
.single-post .lmda-sommaire__liste { list-style: none; margin: 0; padding: 0; }
.single-post .lmda-sommaire__liste li { margin: 0 0 8px; font-size: 14px; line-height: 1.35; }
.single-post .lmda-sommaire__liste a { color: var(--lmda-gris-encre); }
.single-post .lmda-sommaire__liste a:hover, .single-post .lmda-sommaire__liste a.is-active { color: var(--lmda-rouge); font-weight: 600; }
.single-post .lmda-article__encadre { margin: 0; }
.single-post .lmda-article__encadre p { margin: 0 0 10px; font-size: 14px; line-height: 1.5; }
.single-post .lmda-article__contenu { min-width: 0; }
.single-post .entry-content.blog-single { max-width: 720px; font-size: 17px; }
.single-post .entry-content.blog-single figure, .single-post .entry-content.blog-single .wp-caption { margin: 28px 0; }
.single-post .entry-content.blog-single figcaption, .single-post .entry-content.blog-single .wp-caption-text { font-size: 13px; color: var(--lmda-gris-encre); padding-top: 8px; text-align: left; }
.single-post .entry-content.blog-single img { border-radius: 0; box-shadow: none; }
.single-post .lmda-article .lmda-auteur { margin-top: 48px; max-width: none; }
@media (max-width: 1023px) {
	.single-post .lmda-article-entete .row { flex-direction: column; align-items: stretch; }
	.single-post .lmda-article__corps { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	.single-post .lmda-article__cote { position: static; }
	.single-post .lmda-sommaire { border-left: 0; padding-left: 0; }
}

/* 404 */
.lmda-404 .lmda-404__texte h1 { font-size: clamp(28px, 3.2vw, 42px); }
.lmda-404 .lmda-404__cats .lmda-pill { min-height: 40px; display: inline-flex; align-items: center; }


/* Recette 390 (CC-30) : textes à 12 px minimum, cibles tactiles à 40 px minimum */
.lmda-badge, ul.products li.product .lmda-badge, .woocommerce-cart .lmda-panier__details .lmda-badge { font-size: 12px; }
.single-product .lmda-fiche-cles dt, .single-product .lmda-livraison__titre { font-size: 12px; }
.lmda-auteur__reseaux a { width: 40px; height: 40px; }
.single-product .product_socials_wrapper a.social_media, .single-product a.social_media { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; }
.woocommerce-account button.show-password-input, .woocommerce form button.show-password-input { width: 40px !important; height: 40px !important; display: inline-flex; align-items: center; justify-content: center; }
.lmda-groupe__titre, .lmda-mega .lmda-groupe__titre { font-size: 12px; }
#offCanvasRight1 .search-text, .widget_product_categories .count, .widget_nav_menu .count, .lmda-cat-menu .count { font-size: 12px !important; }
.woocommerce-widget-layered-nav-list li a, .lmda-prix-liens a { display: inline-block; padding: 7px 0; }
#offCanvasRight1 .count, .lmda-cat-filtres .count, .elementor-widget-nav-menu .count, .product-categories .count, span.count { font-size: 12px !important; }
.search-text, span.search-text, .product_navigation span, .product_nav span, .shopkeeper-product-nav span { font-size: 12px !important; }

/* Recette CC-30 : la bannière de consentement Complianz (#cmplz-cookiebanner-container, z-index 99999) masquait les boutons du tiroir pour un premier visiteur : le tiroir, son voile et le toast passent au-dessus. */
.lmda-voile { z-index: 100000; }
.lmda-tiroir { z-index: 100001; }
.lmda-toast { z-index: 100002; }


/* ============================================================
   CC-31 : finitions (retours client du 06/09) : header trois zones, heros à bord perdu,
   échelle des contrôles 44 / 50 px, badges uniques, fiche, blog, commande mobile
   ============================================================ */
:root { --lmda-controle: 44px; --lmda-controle-principal: 50px; --lmda-controle-lh: 18px; --lmda-grille: 1140px; }

/* 31.1 Header desktop : logo | menu centré | Boutique Lyon, recherche, compte, panier (dès 1025 px) */
@media (min-width: 1025px) {
	.top-headers-wrapper .site-header.default .site-header-wrapper { display: grid; grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr); align-items: center; column-gap: 24px; min-height: 50px; }
	.top-headers-wrapper .site-header .site-branding .site-logo img, .top-headers-wrapper .site-header .site-branding .sticky-logo img { display: block; }
	.main-navigation > ul > li.lmda-mega > ul.sub-menu { padding-left: max(36px, calc((100% - var(--lmda-grille)) / 2)); padding-right: max(36px, calc((100% - var(--lmda-grille)) / 2)); }
	.top-headers-wrapper .site-header.default .site-header-wrapper .site-branding { grid-column: 1; justify-self: start; margin-right: 0; }
	.top-headers-wrapper .site-header.default .site-header-wrapper .menu-wrapper { display: contents; }
	.top-headers-wrapper .site-header.default .site-header-wrapper .menu-wrapper .main-navigation { grid-column: 2; justify-self: center; flex: none; margin-top: 0; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools { grid-column: 3; justify-self: end; margin-left: 0; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools > ul { display: flex; align-items: center; gap: 8px; margin: 0; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools > ul > li { margin-left: 0; vertical-align: middle; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools > ul > li:hover > a { opacity: 1; }
	.site-tools li.lmda-boutique-button { margin-right: 8px; }
	.site-tools a.lmda-boutique-lien { display: inline-flex; align-items: center; min-height: var(--lmda-controle); padding: 12px 18px !important; font-size: 12px !important; line-height: var(--lmda-controle-lh); white-space: nowrap; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools .tools_button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools .tools_button_icon { float: none; width: auto; display: inline-flex; line-height: 1; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools .tools_button_icon i { font-size: 22px; }
	.site-tools .tools_button:hover .tools_button_icon i { color: var(--lmda-rouge); }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools li.shopping-bag-button > a.tools_button { gap: 8px; padding: 0 14px; box-shadow: inset 0 0 0 1.5px var(--lmda-encre); color: var(--lmda-encre); font-weight: 600; transition: background var(--lmda-transition), color var(--lmda-transition); }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools .shopping_bag_items_number { margin: 0; display: inline-block; font-size: 13px; line-height: 1; text-align: center; }
	body:not(.has-cart-items) .top-headers-wrapper .site-header .site-header-wrapper .site-tools .shopping_bag_items_number { display: none; }
	body.has-cart-items .top-headers-wrapper .site-header .site-header-wrapper .site-tools li.shopping-bag-button > a.tools_button { background: var(--lmda-rouge); color: var(--lmda-blanc); box-shadow: none; }
	body.has-cart-items .site-tools li.shopping-bag-button .tools_button_icon i, body.has-cart-items .site-tools li.shopping-bag-button .tools_button:hover .tools_button_icon i { color: var(--lmda-blanc); }
	.site-tools li.lmda-search-inline-item { display: block !important; }
	.site-tools li.lmda-search-icon { display: none !important; }
	.lmda-search-inline { display: flex; align-items: center; gap: 0; box-sizing: border-box; height: var(--lmda-controle); width: var(--lmda-controle); padding: 0; justify-content: center; border: 1px solid rgba(31, 31, 31, .25); transition: width .25s var(--lmda-ease), border-color var(--lmda-transition); }
	.lmda-search-inline input { width: 0; opacity: 0; padding: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 13px; min-width: 0; height: 42px; transition: opacity .2s; }
	.lmda-search-inline button { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 42px; height: 42px; background: none; border: 0; padding: 0; margin: 0; color: var(--lmda-encre); cursor: pointer; line-height: 1; }
	.lmda-search-inline button i { font-size: 22px; }
	.lmda-search-inline.is-open, .lmda-search-inline:focus-within { width: 240px; justify-content: flex-start; padding: 0 0 0 12px; border-color: var(--lmda-rouge); }
	.lmda-search-inline.is-open input, .lmda-search-inline:focus-within input { width: 100%; opacity: 1; }
}
@media (min-width: 1300px) {
	.top-headers-wrapper .site-header.default .site-header-wrapper { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
}
@media (max-width: 1024px) {
	.site-tools li.lmda-search-inline-item { display: none !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.top-headers-wrapper .site-header.default .site-header-wrapper { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 16px; }
	.top-headers-wrapper .site-header.default .site-header-wrapper .site-branding { grid-column: 1; grid-row: 1; }
	.top-headers-wrapper .site-header.default .site-header-wrapper .menu-wrapper { display: contents; }
	.top-headers-wrapper .site-header .site-header-wrapper .site-tools { grid-column: 2; grid-row: 1; justify-self: end; margin-left: 0; }
	.site-header .site-header-wrapper .main-navigation.show-for-large { display: flex !important; grid-column: 1 / -1; grid-row: 2; justify-content: center; align-items: center; height: 48px; margin-top: 10px; border-top: 1px solid var(--lmda-bordure); }
	.site-header .site-header-wrapper .main-navigation.show-for-large ul.menu-menu-principal { width: 100%; justify-content: center; }
	.site-tools > ul > li.lmda-boutique-button { order: 0; }
	.site-tools a.lmda-boutique-lien { display: inline-flex; align-items: center; min-height: var(--lmda-controle); padding: 11px 14px !important; font-size: 12px !important; line-height: var(--lmda-controle-lh); white-space: nowrap; }
}
@media (max-width: 767px) { .site-tools li.lmda-boutique-button { display: none !important; } }

/* 31.2 Heros à bord perdu : texte calé sur la grille de 1140 px, photo tendue jusqu'au bord droit */
.lmda-hero, .lmda-cat-bande { --lmda-grille: 1140px; }
.lmda-hero.e-con > .lmda-hero__image.e-con, .lmda-cat-bande.e-con > .lmda-cat-bande__visuel.e-con { position: relative; padding: 0; display: block; }
.lmda-hero.e-con > .lmda-hero__image.e-con > .elementor-widget-image, .lmda-cat-bande.e-con > .lmda-cat-bande__visuel.e-con > .elementor-widget-shortcode, .lmda-cat-bande .lmda-cat-bande__visuel .elementor-shortcode { position: absolute; inset: 0; margin: 0; width: 100%; height: 100%; }
.lmda-hero .lmda-hero__visuel img, .lmda-cat-bande .lmda-cat-bande__visuel img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: center; aspect-ratio: auto; display: block; }
.lmda-cat-bande .lmda-cat-bande__visuel img { object-position: center 40%; mix-blend-mode: multiply; } /* packshots sur fond blanc : le blanc se fond dans la crème de la bande */
@media (min-width: 768px) {
	.lmda-hero.e-con > .lmda-hero__texte.e-con { padding: 56px 48px 72px max(40px, calc((100% - var(--lmda-grille)) / 2)); }
	.lmda-hero.e-con > .lmda-hero__image.e-con { align-self: stretch; min-height: 420px; }
	.lmda-cat-bande.e-con > .lmda-cat-bande__texte.e-con { padding: 36px 40px 36px max(40px, calc((100% - var(--lmda-grille)) / 2)); }
	.lmda-cat-bande.e-con > .lmda-cat-bande__visuel.e-con { align-self: stretch; min-height: 280px; }
}
@media (min-width: 1025px) {
	.lmda-hero.e-con > .lmda-hero__image.e-con { min-height: 520px; }
}
/* Colonne visuelle sans image (aucun visuel rendu par le shortcode) : repliée sur mobile au lieu de réserver un bloc 16:10 vide,
   sans hauteur minimale sur les autres largeurs. Le shortcode fournit désormais un visuel par défaut sur /shop/ (CC-32 bis). */
.lmda-cat-bande.e-con > .lmda-cat-bande__visuel.e-con:not(:has(img)) { min-height: 0; }
@media (max-width: 767px) {
	.lmda-cat-bande.e-con > .lmda-cat-bande__visuel.e-con:not(:has(img)) { display: none; }
}
@media (max-width: 767px) {
	.lmda-hero.e-con > .lmda-hero__texte.e-con { padding: 24px 20px 48px; }
	.lmda-cat-bande.e-con > .lmda-cat-bande__texte.e-con { padding: 20px 20px 24px; }
	.lmda-hero.e-con > .lmda-hero__image.e-con, .lmda-cat-bande.e-con > .lmda-cat-bande__visuel.e-con { width: 100%; aspect-ratio: 16 / 10; min-height: 0; }
}

/* 31.3 À propos (modèle section / colonne) : hero à bord perdu, photo de l'histoire à pleine hauteur, atelier en deux photos 3:4 */
@media (min-width: 768px) {
	.lmda-apropos-hero > .elementor-container { align-items: stretch; }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__texte { padding-left: max(40px, calc((100% - var(--lmda-grille)) / 2)); }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__texte > .elementor-widget-wrap { padding: 56px 48px 72px 0; align-content: center; }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__image > .elementor-widget-wrap { position: relative; padding: 0; min-height: 420px; }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__image .elementor-widget-image { position: absolute; inset: 0; margin: 0; width: 100%; }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__image .elementor-widget-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
	.lmda-apropos-histoire > .elementor-container > .elementor-column > .elementor-widget-wrap { align-content: stretch; }
	.lmda-apropos-histoire .elementor-widget-image { position: relative; flex: 1 1 auto; min-height: 360px; margin: 0; }
	.lmda-apropos-histoire .elementor-widget-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
	.lmda-apropos-atelier .elementor-element-ap03col2 > .elementor-widget-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-content: center; }
	.lmda-apropos-atelier .elementor-element-ap03col2 .elementor-widget-image { margin: 0; width: auto; }
	.lmda-apropos-atelier .elementor-element-ap03col2 .elementor-widget-image img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; }
}
@media (min-width: 1025px) {
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__image > .elementor-widget-wrap { min-height: 520px; }
}
@media (max-width: 767px) {
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__texte > .elementor-widget-wrap { padding: 24px 20px 48px; }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__image > .elementor-widget-wrap { padding: 0; }
	.lmda-apropos-hero .elementor-column.lmda-apropos-hero__image .elementor-widget-image img, .lmda-apropos-histoire .elementor-widget-image img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
	.lmda-apropos-atelier .elementor-element-ap03col2 > .elementor-widget-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.lmda-apropos-atelier .elementor-element-ap03col2 .elementor-widget-image { margin: 0; }
	.lmda-apropos-atelier .elementor-element-ap03col2 .elementor-widget-image img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
}

/* 31.4 Échelle des contrôles : champs et boutons contour 44 px, boutons principaux 50 px (ligne de 18 px) */
.button, .elementor-button, .single_add_to_cart_button, .checkout-button, #place_order, .wc-block-components-button, a.lmda-bouton, .lmda-btn--primaire, .lmda-bl-form .wpcf7 input[type="submit"], .lmda-inscription .tnp-subscription input.tnp-submit { box-sizing: border-box; line-height: var(--lmda-controle-lh); min-height: var(--lmda-controle-principal); }
a.lmda-bouton--contour, a.lmda-bouton--contour-rouge, .lmda-bouton-contour .elementor-button, .lmda-bouton-contour-blanc .elementor-button, .single-product .lmda-cta-secondaires a.lmda-bouton, .lmda-encadre-boutique-cat a.lmda-bouton, .single-product .lmda-encadre-boutique a.lmda-bouton, .lmda-auteur a.lmda-auteur__boutique, .lmda-map button.lmda-bouton, .lmda-lire-suite, .lmda-tiroir__vide a.lmda-bouton { min-height: var(--lmda-controle); padding: 13px 20px !important; line-height: var(--lmda-controle-lh); }
.single-product .lmda-cta-secondaires a.lmda-bouton { flex: 1 1 auto; min-width: 0; white-space: nowrap; padding: 13px 14px !important; }
.lmda-404__recherche input[type="search"], .lmda-bl-form .wpcf7 input[type="text"], .lmda-bl-form .wpcf7 input[type="tel"], .lmda-bl-form .wpcf7 input[type="email"], .lmda-bl-form .wpcf7 select, .lmda-inscription .tnp-subscription input.tnp-email, .mobile-navigation li.lmda-offcanvas__recherche input[type="search"], .woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce-account input.woocommerce-Input, .single-post #respond input[type="text"], .single-post #respond input[type="email"], .single-post #respond input[type="url"] { box-sizing: border-box; min-height: var(--lmda-controle); height: var(--lmda-controle); padding: 12px 14px; line-height: var(--lmda-controle-lh); font-size: 14px; }
.lmda-bl-form .wpcf7 textarea, .woocommerce form .form-row textarea { min-height: 120px; padding: 12px 14px; line-height: 1.5; }
.lmda-404__recherche input[type="search"]:focus, .lmda-bl-form .wpcf7 input:focus, .lmda-bl-form .wpcf7 select:focus, .lmda-bl-form .wpcf7 textarea:focus, .woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row select:focus, .woocommerce-account input.woocommerce-Input:focus, .lmda-inscription .tnp-subscription input.tnp-email:focus { border-color: var(--lmda-rouge); box-shadow: 0 0 0 3px rgba(127, 31, 31, .16); outline: 0; }
.woocommerce-checkout #customer_details .form-row .input-text { line-height: var(--lmda-controle-lh); }
.woocommerce-checkout .select2-container .select2-selection--single { height: var(--lmda-controle); border: 1px solid rgba(31, 31, 31, .25); border-radius: 0; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-left: 14px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
.lmda-404__recherche .lmda-btn { min-height: var(--lmda-controle); padding: 13px 20px !important; line-height: var(--lmda-controle-lh); }
@media (max-width: 767px) {
	.lmda-404__recherche input[type="search"], .lmda-bl-form .wpcf7 input[type="text"], .lmda-bl-form .wpcf7 input[type="tel"], .lmda-bl-form .wpcf7 input[type="email"], .lmda-bl-form .wpcf7 select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce-account input.woocommerce-Input { font-size: 16px; }
}

/* 31.5 Badges : 24 px, haut gauche = état (Pièce unique, Vendue), haut droite = remise (les badges du parent ne sont plus rendus) */
.single-product .product-badges .lmda-badge--promo { display: inline-flex; }

/* 31.6 Blog : en-tête à gauche sur la grille, bande d'inscription en deux colonnes, carte auteur horizontale */
.site-content.blog .entry-header-page > .row { max-width: 1170px; padding-left: 15px; padding-right: 15px; }
.site-content.blog .entry-header-page .lmda-blog-entete { text-align: left; }
.site-content.blog .entry-header-page .lmda-blog-entete .page-title, .site-content .entry-header-page .page-title { text-align: left; text-transform: none; font-weight: 300; }
.site-content.blog .entry-header-page .lmda-blog-entete .page-desc { max-width: 720px; margin-left: 0; margin-right: 0; text-align: left; }
.site-content.blog .entry-header-page .lmda-blog-entete ul.list_categories.list-centered { text-align: left; justify-content: flex-start; }
.lmda-blog-conteneur { max-width: 1170px; padding: 8px 15px 80px; }
.lmda-inscription { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 520px); gap: 16px 48px; align-items: center; margin: 56px 0 0; padding: 32px 36px; background: var(--lmda-creme); text-align: left; }
.lmda-inscription__titre { font-size: 22px; font-weight: 500; margin: 0 0 6px; }
.lmda-inscription__texte { font-size: 15px; color: var(--lmda-gris-encre); margin: 0; max-width: 520px; }
.lmda-inscription__formulaire { justify-self: stretch; }
.lmda-inscription__formulaire > a.lmda-bouton { display: inline-block; }
.lmda-inscription .tnp-subscription form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; margin: 0; }
.lmda-inscription .tnp-subscription .tnp-field { margin: 0; }
.lmda-inscription .tnp-subscription .tnp-field-email { flex: 1 1 220px; }
.lmda-inscription .tnp-subscription .tnp-field-button { flex: 0 0 auto; }
.lmda-inscription .tnp-subscription .tnp-privacy-field { flex: 1 1 100%; font-size: 12px; color: var(--lmda-gris-encre); }
.lmda-inscription .tnp-subscription .tnp-field-email label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.lmda-inscription .tnp-subscription input.tnp-email { width: 100%; border: 1px solid rgba(31, 31, 31, .25); background: var(--lmda-blanc); color: var(--lmda-encre); font: inherit; font-size: 14px; }
.lmda-inscription .tnp-subscription input.tnp-submit { width: auto; padding: 16px 24px; background: var(--lmda-rouge) !important; color: var(--lmda-blanc) !important; border: 0; border-radius: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.lmda-inscription .tnp-subscription input.tnp-submit:hover { background: var(--lmda-rouge-fonce) !important; }
.lmda-auteur { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 12px 28px; align-items: start; margin: 48px 0 0; padding: 28px 32px; background: var(--lmda-creme); text-align: left; }
.lmda-auteur__photo { grid-row: 1 / span 2; width: 160px; height: 160px; object-fit: cover; display: block; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.lmda-auteur__nom { font-size: 22px; font-weight: 600; color: var(--lmda-encre); margin: 0 0 2px; }
.lmda-auteur__role { font-size: 13px; letter-spacing: .04em; font-weight: 600; color: var(--lmda-rouge); margin: 0 0 10px; }
.lmda-auteur__bio { font-size: 15px; line-height: 1.65; color: var(--lmda-gris-encre); margin: 0; max-width: 720px; }
.lmda-auteur__actions { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }
.lmda-auteur__lien { font-weight: 600; color: var(--lmda-rouge); transition: color var(--lmda-transition); }
.lmda-auteur__lien:hover, .lmda-auteur__lien:focus { color: var(--lmda-rouge-fonce); text-decoration: underline; text-underline-offset: 4px; }
.lmda-auteur__reseaux { display: flex; gap: 10px; margin: 0 0 0 auto; }
.lmda-auteur__reseaux a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; background: var(--lmda-rouge); color: var(--lmda-creme); transition: background var(--lmda-transition); }
.lmda-auteur__reseaux a:hover, .lmda-auteur__reseaux a:focus { background: var(--lmda-rouge-fonce); }
.lmda-auteur__reseaux svg { width: 16px; height: 16px; display: block; }
.lmda-auteur--compacte { grid-template-columns: 96px minmax(0, 1fr); gap: 8px 20px; padding: 22px 24px; }
.lmda-auteur--compacte .lmda-auteur__photo { width: 96px; height: 96px; }
.lmda-auteur--compacte .lmda-auteur__nom { font-size: 18px; }
.lmda-auteur--compacte .lmda-auteur__bio { font-size: 14px; }
@media (max-width: 767px) {
	.lmda-inscription { grid-template-columns: 1fr; padding: 24px 20px; }
	.lmda-auteur, .lmda-auteur--compacte { grid-template-columns: 72px minmax(0, 1fr); gap: 10px 16px; padding: 20px 18px; }
	.lmda-auteur__photo, .lmda-auteur--compacte .lmda-auteur__photo { grid-row: auto; width: 72px; height: 72px; }
	.lmda-auteur__actions { grid-column: 1 / -1; }
	.lmda-auteur__reseaux { margin-left: 0; }
}

/* 31.8 Commande : le widget Elementor Pro borne le td de livraison à 70 px sans media query ; cartes lisibles à 390 px */
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page tr.woocommerce-shipping-totals > td { max-width: none; }
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .lmda-methode, .woocommerce-checkout .elementor-widget-woocommerce-checkout-page .lmda-methode__note, .woocommerce-cart .lmda-methode, .woocommerce-cart .lmda-methode__note { overflow-wrap: normal; word-wrap: normal; word-break: normal; hyphens: manual; }
#shipping_method li { grid-template-columns: 22px minmax(0, 1fr); }
#shipping_method li p.shipping-method-description { display: none; } /* description Flexible Shipping : doublon de la note des cartes, et elle tombait dans la colonne du bouton radio */
.lmda-methode { grid-template-columns: minmax(0, 1fr) auto; }
/* Le tableau de récapitulatif sort du modèle table (une cellule auto se réduisait à son contenu minimal) : lignes en flex, livraison en bloc */
.woocommerce-checkout .woocommerce-checkout-review-order-table, .woocommerce-checkout .woocommerce-checkout-review-order-table thead, .woocommerce-checkout .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot { display: block; width: 100%; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr > th, .woocommerce-checkout .woocommerce-checkout-review-order-table tr > td { display: block; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-name { flex: 1 1 auto; max-width: none; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item td.product-total, .woocommerce-checkout .woocommerce-checkout-review-order-table tr > td:last-child { flex: none; text-align: right; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { display: block; width: 100%; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th, .woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { display: block; width: 100%; box-sizing: border-box; text-align: left; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th { padding: 14px 4px 8px; border-bottom: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td { padding: 0 4px 14px; }
/* Panier sur mobile : voir CC-33 (B2 a B9) en fin de fichier. */
@media (max-width: 767px) {
	.elementor-widget-woocommerce-checkout-page { --sections-padding: 20px 16px; }
	.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce .woocommerce-checkout-review-order-table .cart_item td.product-name { max-width: none; padding-inline-end: 12px; }
}
@media (max-width: 480px) {
	.lmda-methode { grid-template-columns: minmax(0, 1fr); }
	.lmda-methode__prix { grid-column: 1; grid-row: auto; margin-top: 4px; }
	.lmda-methode__note { grid-column: 1; }
}

/* 31.9 Cartes : bouton encre 44 px superposé au survol, sous la photo et pleine largeur au tactile.
   !important : le parent (.products a.button) et le CSS inline du Customizer forcent fond, padding, couleur et taille en !important. */
ul.products li.product .lmda-carte__visuel img { aspect-ratio: 4 / 5; object-fit: cover; }
ul.products li.product .lmda-carte__visuel .product_thumbnail_background { background-size: cover; }
ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button { display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: var(--lmda-controle); padding: 13px 16px !important; background: var(--lmda-encre) !important; color: var(--lmda-blanc) !important; font-size: 12px !important; font-weight: 600; letter-spacing: .06em; line-height: var(--lmda-controle-lh); text-align: center; text-transform: uppercase; box-sizing: border-box; transition: background var(--lmda-transition); }
ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button:hover, ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button:focus-visible { background: var(--lmda-rouge) !important; color: var(--lmda-blanc) !important; transform: none; }
ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button.loading { padding-right: 44px !important; opacity: .85; }
ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button.added { display: flex !important; background: var(--lmda-gris-encre) !important; pointer-events: none; font-size: 0 !important; }
ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button.added::before { content: "Dans le panier"; font-size: 12px; }
ul.products li.product a.added_to_cart { display: none !important; }
@media (hover: none) {
	.lmda-carte .lmda-carte__ajout { position: static; opacity: 1; transform: none; margin-top: 8px; }
}

/* 31.10 Fiche : stock masqué (la ligne pièce unique porte l'information), pièce unique discrète, Alma en une ligne de 36 px.
   !important sur Alma : ses boutons héritent du kit Elementor (.elementor-kit-17055 button) et la feuille du CDN force les états. */
.single-product div.product p.stock.in-stock { display: none; }
.single-product p.lmda-piece-unique { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; padding: 0; border: 0; font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--lmda-encre); }
.single-product p.lmda-piece-unique::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lmda-rouge); flex: none; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) { margin: 6px 0 16px; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-container { display: flex !important; flex-direction: row !important; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-eligibility-line { display: flex; align-items: center; gap: 8px; margin: 0 !important; padding: 0 !important; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) button.alma-payment-plans-know-more-action { display: inline-flex; align-items: center; height: 36px !important; min-height: 0; padding: 0 !important; margin: 0; background: transparent !important; color: var(--lmda-encre) !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 13px !important; cursor: pointer; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) button.alma-payment-plans-know-more-action svg { width: 46px; height: auto; display: block; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-eligibility-options { display: inline-flex; gap: 6px; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-eligibility-options button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 36px !important; min-height: 0; padding: 0 12px !important; margin: 0; background: var(--lmda-blanc) !important; color: var(--lmda-encre) !important; border: 1px solid rgba(31, 31, 31, .25) !important; border-radius: 0 !important; box-shadow: none !important; font: inherit !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: 0 !important; text-transform: none !important; cursor: pointer; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-eligibility-options button.alma-payment-plans-active-option { background: var(--lmda-encre) !important; color: var(--lmda-blanc) !important; border-color: var(--lmda-encre) !important; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-eligibility-options button.alma-payment-plans-not-eligible-option { background: var(--lmda-creme) !important; color: var(--lmda-gris-encre) !important; border-color: transparent !important; text-decoration: line-through; cursor: default; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-eligibility-options button.alma-payment-plans-active-option.alma-payment-plans-not-eligible-option { background: var(--lmda-creme) !important; color: var(--lmda-gris-encre) !important; border-color: rgba(31, 31, 31, .25) !important; text-decoration: none; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-container > div:last-child { flex: 1 1 auto; min-width: 160px; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) div[class^="_infoContainer"], :is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) div[class*=" _infoContainer"] { height: auto !important; min-height: 0 !important; }
:is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-payment-info, :is(.single-product .alma-product-eligibility, .woocommerce-cart .alma-cart-eligibility) .alma-payment-plans-payment-info p { font-size: 13px; line-height: 1.4; color: var(--lmda-gris-encre); margin: 0; }

/* 31.11 Sur-titres de bloc en bas de casse (les étiquettes en capitales espacées étaient un tic), titres de page à gauche */
.lmda-tiroir .lmda-surtitre, .single-product .lmda-fiche-cles dt, .single-product .lmda-livraison__titre { font-size: 13px; letter-spacing: 0; text-transform: none; font-weight: 600; color: var(--lmda-encre); }

/* 31.12 Fiche : le produit occupe la grille de 1140 px (le parent l'enfermait dans xxlarge-9 = 75 %) : galerie 7/12, résumé 5/12 */
@media (min-width: 1025px) {
	.single-product .product.type-product > .row > .large-centered.xxlarge-9, .single-product .product.type-product > .row > .large-centered.xlarge-10 { width: 100%; max-width: var(--lmda-grille); }
	.single-product .product_content_wrapper > .row > .large-4.xlarge-5.xxlarge-5 { width: 41.6667%; }
	.single-product .product_content_wrapper > .row > .large-6.medium-12 { width: 58.3333%; }
}

/* 31.13 Cartes sous 480 px (deux colonnes de 140 px) : libellé court « Ajouter » sur une ligne, nom accessible inchangé (aria-label) */
@media (max-width: 480px) {
	ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button:not(.added) { font-size: 0 !important; }
	ul.products li.product .lmda-carte__ajout a.button.add_to_cart_button:not(.added)::before { content: "Ajouter"; font-size: 12px; letter-spacing: .06em; }
}

/* 31.14 Compléments d'audit : fil d'Ariane de la fiche à 12 px, bouton du mot de passe 44, lien du panier vide tapable, badges empilés sur les petites cartes, vignettes des guides recadrées, bouton de l'encadré des rayons sur une ligne */
.single-product .product_summary_top .woocommerce-breadcrumb, .single-product .product_summary_top .woocommerce-breadcrumb a, .single-product .product_summary_top .woocommerce-breadcrumb span { font-size: 12px !important; }
.woocommerce-account button.show-password-input, .woocommerce form button.show-password-input { width: 44px !important; height: 44px !important; }
.lmda-panier-vide__actions a.lmda-btn--lien { display: inline-flex; align-items: center; min-height: var(--lmda-controle); }
.elementor-widget-posts .elementor-post__thumbnail { aspect-ratio: 5 / 4; }
.elementor-widget-posts .elementor-post__thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.lmda-encadre-boutique-cat a.lmda-bouton { display: inline-flex; align-items: center; justify-content: center; width: 100%; white-space: nowrap; font-size: 12px !important; padding: 13px 10px !important; }
@media (max-width: 480px) {
	ul.products li.product .lmda-badge--promo { top: 44px; left: 12px; right: auto; }
}

/* 31.15 Boutique Lyon : plan Google affiché d'emblée (fiche de l'établissement dans le plan, note et avis), l'iframe remplit le bloc */
.lmda-bl-plan .lmda-map--grand { min-height: 420px; padding: 0; }
.lmda-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.lmda-bl-form .wpcf7 label, .lmda-bl-form .lmda-rgpd { text-transform: none; letter-spacing: 0; }

/* ============================================================
   CC-32 : menu mobile (off-canvas #offCanvasRight1) : croix 44, recherche 44, entrées en encre 17 / 500,
   « Nos meubles » en accordéon replié (lmda.js, initMenuMobile), pied crème (horaires, Appeler 50, Mon compte 44),
   voile sombre, défilement de la page bloqué, plan au-dessus de la bannière Complianz (99999).
   Règles parentes battues : .off-canvas.position-right (0,2,0), .hide-for-medium (display:none !important),
   .off-canvas .menu-close .close-button (font-size 15px !important, pastille noire Redux), .mobile-navigation (padding 35px),
   .off-canvas .mobile-navigation li a { color:#7F1F1F !important } (0,2,2), .mobile-navigation ul .sub-menu (0,2,1),
   .wpb_widgetised_column { margin-bottom:150px } et .off-canvas .wpb_widgetised_column aside { padding:50px 35px }.
   ============================================================ */

/* 32.1 Panneau : largeur, plan, colonne flex, barre de défilement masquée, transition courte */
#offCanvasRight1.off-canvas.position-right { width: min(360px, calc(100vw - 40px)); transform: translateX(100%); z-index: 100001; height: 100%; display: flex; flex-direction: column; box-sizing: border-box; overflow: hidden; background: var(--lmda-blanc); transition: transform .3s ease; }
#offCanvasRight1.off-canvas.position-right.is-open { transform: none; }
@media (max-width: 1023px) { body.admin-bar #offCanvasRight1.off-canvas { height: calc(100% - 32px); } }
@media (max-width: 782px) { body.admin-bar #offCanvasRight1.off-canvas { height: calc(100% - 46px); } }
/* Verrou de défilement : html porte overflow-x: clip (ligne « html, body { overflow-x: clip } »), donc le overflow de body ne se propage
   plus au viewport ; la classe est posée sur html et body par lmda.js (menu mobile et tiroir panier). */
html.lmda-menu-ouvert, html.lmda-menu-ouvert body, html.lmda-tiroir-ouvert, html.lmda-tiroir-ouvert body { overflow: hidden; }
body.lmda-menu-ouvert .js-off-canvas-overlay.is-overlay-fixed { z-index: 100000; background: rgba(31, 31, 31, .45); touch-action: none; }
.js-off-canvas-overlay.is-overlay-fixed { transition: opacity .3s ease, visibility .3s ease; }
#offCanvasRight1 #mobiles-menu-offcanvas { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; scrollbar-width: none; }
#offCanvasRight1 #mobiles-menu-offcanvas::-webkit-scrollbar { display: none; }

/* 32.2 En-tête 64 px : croix 44 x 44 à droite, sans pastille, visible aussi entre 768 et 1024 px (le parent la masque dès 768) */
#offCanvasRight1 .menu-close { display: flex !important; flex: none; align-items: center; justify-content: flex-end; height: 64px; padding: 0 14px 0 24px; border: 0; }
#offCanvasRight1 .menu-close .close-button { width: var(--lmda-controle); height: var(--lmda-controle); display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--lmda-encre); font-size: 26px !important; font-weight: 300; line-height: 1; cursor: pointer; }
#offCanvasRight1 .menu-close .close-button span { display: block; line-height: 1; transform: translateY(-1px); }
#offCanvasRight1 .menu-close .close-button:hover { color: var(--lmda-rouge); background: transparent; }
#offCanvasRight1 .menu-close .close-button:focus-visible { outline: 2px solid var(--lmda-rouge); outline-offset: 2px; }

/* 32.3 Navigation : padding, recherche 44 en tête (16 px sur l'input : iOS ne zoome pas au focus) */
#offCanvasRight1 .mobile-navigation { flex: none; padding: 4px 24px 24px; border: 0; overflow: visible; }
#offCanvasRight1 .mobile-navigation + .mobile-navigation { padding-top: 0; }
#offCanvasRight1 .mobile-navigation li.lmda-offcanvas__recherche { margin: 0 0 16px; border: 0; }
#offCanvasRight1 .mobile-navigation li.lmda-offcanvas__recherche form { display: flex; }
#offCanvasRight1 .mobile-navigation li.lmda-offcanvas__recherche input[type="search"] { flex: 1 1 auto; min-width: 0; height: var(--lmda-controle); padding: 0 12px; border: 1px solid rgba(31, 31, 31, .25); border-right: 0; border-radius: 0; -webkit-appearance: none; font: inherit; font-size: 16px; color: var(--lmda-encre); background: var(--lmda-blanc); }
#offCanvasRight1 .mobile-navigation li.lmda-offcanvas__recherche input[type="search"]:focus { border-color: var(--lmda-encre); outline: 0; box-shadow: none; }
#offCanvasRight1 .mobile-navigation li.lmda-offcanvas__recherche button { flex: 0 0 var(--lmda-controle); width: var(--lmda-controle); height: var(--lmda-controle); display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; border-radius: 0; background: var(--lmda-encre); color: var(--lmda-blanc); cursor: pointer; }
#offCanvasRight1 .mobile-navigation li.lmda-offcanvas__recherche button i { font-size: 18px; color: inherit; }

/* 32.4 Entrées de premier niveau : 17 px / 500 / encre, ligne 52 px, filet --lmda-bordure ; le bouton d'accordéon a la même ligne */
#offCanvasRight1 .mobile-navigation > ul > li { margin: 0; padding: 0; border-bottom: 1px solid var(--lmda-bordure); }
#offCanvasRight1 .mobile-navigation > ul > li.lmda-offcanvas__recherche, #offCanvasRight1 .mobile-navigation > ul > li:last-child { border-bottom: 0; }
#offCanvasRight1 .mobile-navigation > ul > li > a, #offCanvasRight1 .lmda-mobile__toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; font: inherit; font-size: 17px; font-weight: 500; line-height: 1.3; letter-spacing: 0; text-transform: none; text-align: left; color: var(--lmda-encre) !important; cursor: pointer; }
#offCanvasRight1 .mobile-navigation > ul > li > a:active, #offCanvasRight1 .lmda-mobile__toggle:active, #offCanvasRight1 .lmda-mobile__toggle[aria-expanded="true"] { color: var(--lmda-rouge) !important; }
#offCanvasRight1 .lmda-mobile__toggle:focus-visible { outline: 2px solid var(--lmda-rouge); outline-offset: -2px; }
#offCanvasRight1 .lmda-mobile__chevron { flex: none; width: var(--lmda-controle); height: var(--lmda-controle); padding: 12px; margin-right: -12px; box-sizing: border-box; transition: transform var(--lmda-transition); }
#offCanvasRight1 .lmda-mobile__toggle[aria-expanded="true"] .lmda-mobile__chevron { transform: rotate(180deg); }
#offCanvasRight1 .mobile-navigation .more { display: none !important; }

/* 32.5 Sous-menus : neutralisation du parent (opacité, max-height, transition), état replié par [hidden] (le display:block du parent battrait [hidden] seul) */
#offCanvasRight1 .mobile-navigation .sub-menu { display: block; position: static; margin: 0; padding: 0; opacity: 1; visibility: visible; max-height: none; transform: none; pointer-events: auto; transition: none; background: transparent; border: 0; box-shadow: none; font-size: inherit; }
#offCanvasRight1 .mobile-navigation .sub-menu[hidden] { display: none; }
#offCanvasRight1 .mobile-navigation .lmda-mega > .sub-menu { padding: 0 0 12px; }
#offCanvasRight1 .mobile-navigation .sub-menu li { margin: 0; padding: 0; border: 0; }
#offCanvasRight1 .mobile-navigation li.lmda-mega__colonne-photo { display: none; }
#offCanvasRight1 .mobile-navigation .lmda-mega__tous > a { display: flex; align-items: center; min-height: var(--lmda-controle); margin: 0; padding: 0; font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--lmda-encre) !important; }
#offCanvasRight1 .mobile-navigation .lmda-groupe__titre { display: block; margin: 12px 0 2px; font-size: 13px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--lmda-gris-encre); }
#offCanvasRight1 .mobile-navigation .lmda-groupe .sub-menu a { display: flex; align-items: center; min-height: 40px; margin: 0; padding: 0; font-size: 15px; font-weight: 400; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--lmda-encre) !important; }
#offCanvasRight1 .mobile-navigation .lmda-groupe .sub-menu a:active { color: var(--lmda-rouge) !important; }

/* 32.6 Pied : crème, filet haut, horaires, Appeler 50 rouge, Mon compte 44 ; la marge basse de 150 px du parent (.wpb_widgetised_column) est retirée */
#offCanvasRight1 .shop_sidebar { flex: none; margin: 0; padding: 0; border-top: 1px solid var(--lmda-bordure); background: var(--lmda-creme); }
#offCanvasRight1 .shop_sidebar aside.widget { margin: 0; padding: 0; border: 0; }
#offCanvasRight1 .shop_sidebar aside.widget > p:empty { display: none; margin: 0; }
#offCanvasRight1 .lmda-offcanvas__pied { position: static; padding: 16px 24px calc(16px + env(safe-area-inset-bottom)); }
#offCanvasRight1 .lmda-offcanvas__horaires { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 10px; align-items: start; margin: 0 0 14px; font-size: 13px; line-height: 1.4; color: var(--lmda-encre); }
#offCanvasRight1 .lmda-offcanvas__horaires br { display: none; }
#offCanvasRight1 .lmda-offcanvas__horaires .lmda-topbar__point { flex: none; margin-top: 5px; background: var(--lmda-gris-encre); }
#offCanvasRight1 .lmda-offcanvas__horaires .lmda-topbar__point.is-ouvert { background: var(--lmda-or); }
#offCanvasRight1 .lmda-offcanvas__adresse { grid-column: 2; margin-top: 2px; color: var(--lmda-gris-encre); }
#offCanvasRight1 .lmda-offcanvas__pied a.lmda-offcanvas__appel { display: flex; align-items: center; justify-content: center; min-height: var(--lmda-controle-principal); margin: 0 0 6px; padding: 0 20px !important; line-height: var(--lmda-controle-lh); font-size: 14px; font-weight: 600; color: var(--lmda-blanc) !important; background: var(--lmda-rouge) !important; }
#offCanvasRight1 .lmda-offcanvas__pied a.lmda-offcanvas__appel:hover, #offCanvasRight1 .lmda-offcanvas__pied a.lmda-offcanvas__appel:active { background: var(--lmda-rouge-fonce) !important; }
#offCanvasRight1 .lmda-offcanvas__pied a.lmda-offcanvas__compte { display: flex; align-items: center; justify-content: center; min-height: var(--lmda-controle); margin: 0; font-size: 14px; color: var(--lmda-encre) !important; text-decoration: underline; text-underline-offset: 3px; }

/* ============================================================
   CC-32 : espace client (Mon compte, page 27) : H1 à gauche sur la grille de 1140 (visible aussi déconnecté), navigation
   verticale à gauche en desktop et en pilules défilantes sous 1025 px, tableau de bord et adresses en cartes, tableau des
   commandes sobre, formulaires à l'échelle 44 / 50, connexion en deux colonnes. Règles battues : wc-account.css et
   wc-orders.css (Shopkeeper), styles.css, CSS inline du Customizer (chargé avant ce fichier : h2 40.871px (0,1,1),
   .woocommerce-account .page-title 72.611px (0,2,0)), woocommerce.css / -layout / -smallscreen.
   ============================================================ */

/* 32.1 En-tête : H1 visible aussi déconnecté (le parent le masque en display:none !important (0,4,0)), à gauche,
   32 px puis 40 px, en-tête et contenu calés sur 1170 px comme le blog (31.6 ; la grille Foundation monte à 1800 px). */
body.woocommerce-account:not(.logged-in) .entry-header h1.page-title { display: block !important; }
.woocommerce-account .entry-header h1.page-title { display: block; font-size: 32px; line-height: 1.15; font-weight: 300; text-align: left; text-transform: none; letter-spacing: 0; color: var(--lmda-encre); margin: 0 0 28px; }
.woocommerce-account .entry-header > .row, .woocommerce-account .site-content .type-page > .row { max-width: 1170px; padding-left: 15px; padding-right: 15px; }
.woocommerce-account .entry-header .large-10.large-centered { width: 100%; }
.woocommerce-account .entry-content > .woocommerce { margin-bottom: 72px; }
@media (min-width: 1025px) {
	.woocommerce-account .entry-header h1.page-title { font-size: 40px; margin-bottom: 40px; }
}

/* 32.2 Connecté (dès 1025 px) : navigation 240 px à gauche, contenu à droite, 48 px entre les deux ; notices en rangée 1 sur toute
   la largeur (masquées si vides). Bat wc-account.css (.woocommerce-MyAccount-navigation text-align:center, margin-bottom:60px ;
   .woocommerce-MyAccount-content max-width:800px, margin:0 auto 4rem) et woocommerce-layout.css (float 30 % / 68 %). */
@media (min-width: 1025px) {
	.woocommerce-account.logged-in:not(.woocommerce-lost-password) .entry-content > .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 48px; row-gap: 0; align-items: start; }
	.woocommerce-account.logged-in:not(.woocommerce-lost-password) .entry-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
	.woocommerce-account.logged-in:not(.woocommerce-lost-password) .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 2; width: auto; float: none; margin: 0; text-align: left; }
	.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; grid-row: 2; width: auto; max-width: none; float: none; clear: none; margin: 0; }
}

/* 32.3 Navigation verticale (dès 1025 px) : entrées de 44 px, barre rouge de 2 px et texte rouge sur l'entrée active,
   « Se déconnecter » en dernier derrière un filet. Bat wc-account.css (li inline-block, a 13 px capitales soulignées) et le Customizer. */
@media (min-width: 1025px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; text-align: left; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li { display: block; margin: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: flex; align-items: center; min-height: var(--lmda-controle); margin: 0; padding: 10px 16px; border: 0; border-left: 2px solid transparent; background: none; font-size: 15px; font-weight: 500; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--lmda-encre); opacity: 1; transition: color var(--lmda-transition), border-color var(--lmda-transition), background var(--lmda-transition); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover, .woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus-visible { color: var(--lmda-rouge); background: var(--lmda-creme); border-bottom: 0; opacity: 1; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { color: var(--lmda-rouge); border-left-color: var(--lmda-rouge); border-bottom: 0; font-weight: 600; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--lmda-bordure); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a { font-size: 13px; font-weight: 500; color: var(--lmda-gris-encre); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover { color: var(--lmda-rouge); }
}

/* 32.4 Sous 1025 px : pilules défilantes (look .lmda-pill : crème, 13 px 600, rayon 999 hérité du composant du blog et de la 404),
   active = fond rouge texte crème, sans barre de défilement. Le border-bottom est reposé parce que le parent le force en transparent à (0,4,3). */
@media (max-width: 1024px) {
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; margin: 0 0 28px; text-align: left; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; margin: 0; padding: 0 0 4px; list-style: none; text-align: left; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li { flex: 0 0 auto; display: block; margin: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a { display: inline-flex; align-items: center; min-height: var(--lmda-controle); margin: 0; padding: 9px 18px; border: 1px solid var(--lmda-bordure); border-radius: 999px; background: var(--lmda-creme); color: var(--lmda-encre); font-size: 13px; font-weight: 600; letter-spacing: .3px; line-height: 1.2; text-transform: uppercase; white-space: nowrap; opacity: 1; transition: background var(--lmda-transition), color var(--lmda-transition), border-color var(--lmda-transition); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover, .woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus-visible, .woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--lmda-rouge); border-color: var(--lmda-rouge); border-bottom: 1px solid var(--lmda-rouge); color: var(--lmda-creme); opacity: 1; }
}

/* 32.5 Contenu : texte 15 px, H2 de section 18 px 600 en casse normale, H2 de formulaire 24 px ; cartes du tableau de bord et encadré d'aide */
.woocommerce-account .woocommerce-MyAccount-content { font-size: 15px; line-height: 1.6; color: var(--lmda-gris-encre); }
.woocommerce-account .woocommerce-MyAccount-content h2, .woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: none; color: var(--lmda-encre); margin: 0 0 12px; }
.woocommerce-account .woocommerce-MyAccount-content > form > h2 { font-size: 24px; font-weight: 500; margin: 0 0 20px; }
.woocommerce-account .woocommerce-MyAccount-content > p { font-size: 15px; margin: 0 0 20px; }
.woocommerce-account .woocommerce-customer-details address { font-size: 15px; line-height: 1.6; }
.woocommerce-account .entry-content a.lmda-bouton { display: inline-flex; align-items: center; justify-content: center; }
.woocommerce-account .entry-content a.lmda-bouton:hover { opacity: 1; }
.lmda-compte__bonjour { font-size: 18px; font-weight: 500; color: var(--lmda-encre); margin: 0 0 24px; }
.lmda-compte__cartes { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin: 0 0 32px; }
.lmda-compte__carte { display: flex; flex-direction: column; gap: 12px; padding: 24px; border: 1px solid var(--lmda-bordure); background: var(--lmda-blanc); }
.woocommerce-account .woocommerce-MyAccount-content .lmda-compte__carte h2 { margin: 0; }
.lmda-compte__carte-texte, .lmda-compte__adresse { margin: 0; font-size: 15px; line-height: 1.6; font-style: normal; color: var(--lmda-gris-encre); }
.lmda-compte__carte-texte a { color: var(--lmda-encre); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.lmda-compte__vide { color: var(--lmda-gris-encre); }
.lmda-compte__carte-actions { margin: auto 0 0; padding-top: 8px; }
.lmda-compte__aide { background: var(--lmda-creme); border-left: 3px solid var(--lmda-rouge); padding: 24px 28px; margin: 32px 0 0; }
.lmda-compte__aide p { margin: 0 0 8px; font-size: 15px; }
.lmda-compte__aide-liens { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 12px 0 0; }
.lmda-compte__aide-liens a { font-weight: 600; color: var(--lmda-rouge); text-decoration: underline; text-underline-offset: 4px; }

/* 32.6 Adresses : deux cartes (une sous 768 px), bouton contour en bas de carte. Bat woocommerce-layout.css (.col2-set .col-1 / .col-2 flottants à 48 %)
   et les pseudo-éléments de .col2-set et .addresses .title (qui deviendraient des cellules de grille). */
.lmda-compte__intro { margin: 0 0 20px; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after { content: none; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address { float: none; width: auto; }
.woocommerce-account .addresses .woocommerce-Address-title::before, .woocommerce-account .addresses .woocommerce-Address-title::after { content: none; }
.woocommerce-account .woocommerce-Address-title { margin: 0; }
@media (max-width: 767px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
}

/* Avis WooCommerce dans le contenu du compte (vérification d'e-mail pour rattacher d'anciennes commandes, résultats d'actions) :
   bandeau crème, texte 15 px, bouton contour 44 px en fin d'avis (le parent le rendait en lien capitales souligné). */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-error { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 0 0 24px; padding: 16px 20px; border: 0; border-left: 3px solid var(--lmda-or); border-radius: 0; background: var(--lmda-creme); font-size: 15px; line-height: 1.5; color: var(--lmda-gris-encre); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error { border-left-color: var(--lmda-rouge); }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-error::before { display: none; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.button { order: 2; display: inline-flex; align-items: center; justify-content: center; min-height: var(--lmda-controle); margin: 0; padding: 13px 20px !important; background: transparent !important; color: var(--lmda-encre) !important; box-shadow: inset 0 0 0 1px var(--lmda-encre); border: 0; border-radius: 0; font-size: 12px !important; font-weight: 600; letter-spacing: .04em; line-height: var(--lmda-controle-lh); text-decoration: none; text-transform: uppercase; }
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info a.button:hover, .woocommerce-account .woocommerce-MyAccount-content .woocommerce-message a.button:hover { background: var(--lmda-encre) !important; color: var(--lmda-blanc) !important; opacity: 1; }

/* 32.7 Commandes et détail de commande : tableau sobre (en-tête 12 px gris-encre casse normale, lignes 15 px), boutons d'action en contour 44 px
   (« Voir », « Facture » du plugin PDF ; « Payer » plein rouge, « Annuler »), sans le « / » que le parent insère entre les boutons. */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table { border: 0; border-radius: 0; border-collapse: collapse; border-spacing: 0; margin: 0 0 32px; font-size: 15px; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th { font-size: 12px !important; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--lmda-gris-encre); padding: 0 12px 12px 0; border: 0; border-bottom: 1px solid var(--lmda-bordure); background: none; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody th, .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody td, .woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot th, .woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot td { padding: 16px 12px 16px 0; border: 0; border-bottom: 1px solid var(--lmda-bordure); vertical-align: middle; font-size: 15px; font-weight: 400; color: var(--lmda-gris-encre); background: none; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(2n) td, .woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:nth-child(2n) th { background: none; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot th, .woocommerce-account .woocommerce-MyAccount-content table.shop_table tfoot td { font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--lmda-encre); }
.woocommerce-account .woocommerce-MyAccount-content table.order_details tfoot td { font-weight: 400; color: var(--lmda-gris-encre); }
.woocommerce-account .woocommerce-MyAccount-content table.order_details a.button.order-actions-button { margin: 4px 8px 4px 0; }
.woocommerce-account .woocommerce-MyAccount-content p.order-info { margin: 0 0 24px; padding: 16px 20px; background: var(--lmda-creme); border-left: 3px solid var(--lmda-rouge); border-radius: 0; font-size: 15px; color: var(--lmda-gris-encre); }
.woocommerce-account .woocommerce-MyAccount-content p.order-info mark { background: transparent; color: var(--lmda-encre); font-weight: 600; }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th a { font-size: 15px; font-weight: 600; color: var(--lmda-encre); }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions a.button, .woocommerce-account .woocommerce-MyAccount-content table.order_details a.button.order-actions-button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--lmda-controle); width: auto; min-width: 0; margin: 4px 8px 4px 0; padding: 13px 20px !important; background: transparent !important; color: var(--lmda-encre) !important; box-shadow: inset 0 0 0 1px var(--lmda-encre); border: 0; border-radius: 0; font-size: 12px !important; line-height: var(--lmda-controle-lh); }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions a.button:hover, .woocommerce-account .woocommerce-MyAccount-content table.order_details a.button.order-actions-button:hover { background: var(--lmda-encre) !important; color: var(--lmda-blanc) !important; }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions a.button.pay, .woocommerce-account .woocommerce-MyAccount-content table.order_details a.button.order-actions-button.pay { background: var(--lmda-rouge) !important; color: var(--lmda-blanc) !important; box-shadow: none; }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions a.button.pay:hover, .woocommerce-account .woocommerce-MyAccount-content table.order_details a.button.order-actions-button.pay:hover { background: var(--lmda-rouge-fonce) !important; }
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions a.button::after { content: none; padding: 0; }
/* Sous 768 px (borne de woocommerce-smallscreen.css) : lignes empilées en cartes, libellés ::before, numéro de commande rétabli
   (le smallscreen masque tbody th, or WooCommerce met le numéro dans un th), Actions à gauche sans libellé, boutons pleine largeur. */
@media (max-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr { display: block; margin: 0 0 12px; padding: 4px 16px; border: 1px solid var(--lmda-bordure); }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number { display: block; text-align: right !important; }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before { content: attr(data-title) ": "; float: left; }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td { display: block; padding: 10px 0 !important; border: 0; border-bottom: 1px solid var(--lmda-bordure); font-size: 14px; }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr > :last-child { border-bottom: 0; }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody th::before, .woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody td::before { font-size: 12px; font-weight: 600; color: var(--lmda-gris-encre); }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { text-align: left !important; padding: 12px 0 8px !important; }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before { display: none; }
	.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-MyAccount-orders td.woocommerce-orders-table__cell-order-actions a.button { width: 100%; margin: 0 0 8px; }
}

/* 32.8 Formulaires du compte : étiquettes 13 px 600 casse normale (31.11), légende 18 px, champs 44 sans rayon (31.4 pose déjà 44 px et le halo),
   select2 du pays à 44, bouton principal 50 (31.4). Bat styles.css (label capitales), wc-account.css (legend capitales, padding 50px) et le Customizer. */
.woocommerce-account { --wc-form-border-radius: 0; }
.woocommerce-account .woocommerce form .form-row { padding: 0; margin: 0 0 16px; }
.woocommerce-account .woocommerce form .form-row label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; color: var(--lmda-encre); }
.woocommerce-account .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 400; }
.woocommerce-account .woocommerce form .form-row label.woocommerce-form__label-for-checkbox input { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content form.edit-account legend { font-size: 18px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--lmda-encre); padding: 24px 0 12px; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-content form.edit-account p.woocommerce-form-row span em { font-size: 13px; color: var(--lmda-gris-encre); }
.woocommerce-account .woocommerce-MyAccount-content form.edit-account .button { margin-top: 8px !important; }
.woocommerce-account .select2-container .select2-selection--single { height: var(--lmda-controle); border: 1px solid rgba(31, 31, 31, .25); border-radius: 0; }
.woocommerce-account .select2-container .select2-selection--single .select2-selection__rendered { line-height: 42px; padding-left: 14px; }
.woocommerce-account .select2-container .select2-selection--single .select2-selection__arrow { height: 42px; }
@media (max-width: 767px) {
	.woocommerce-account .woocommerce form .form-row-first, .woocommerce-account .woocommerce form .form-row-last { width: 100%; float: none; }
}

/* 32.9 Connexion (déconnecté) : colonne de 480 px, encadré « Pas encore de compte ? » en colonne 2 dès 1025 px face au H2 et au formulaire
   (rangées explicites, notices sur toute la largeur en rangée 1, tout enfant inconnu en colonne 1), H2 24 px, bouton 50 px pleine largeur,
   page « mot de passe perdu » sur la même colonne. Bat woocommerce.css (form.login bordé, arrondi ; bouton flottant) et styles.css (.button min-width 220). */
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce { display: grid; grid-template-columns: minmax(0, 480px); row-gap: 0; }
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > * { grid-column: 1; min-width: 0; }
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; grid-row: 1; }
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > h2 { grid-row: 2; font-size: 24px; font-weight: 500; line-height: 1.2; letter-spacing: 0; text-transform: none; margin: 0 0 20px; color: var(--lmda-encre); }
.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > form.login { grid-row: 3; }
.woocommerce-account:not(.logged-in) .entry-content form.woocommerce-form-login, .woocommerce-account:not(.logged-in) .entry-content form.lost_reset_password { border: 0; border-radius: 0; padding: 0; margin: 0; }
.woocommerce-account form.woocommerce-form-login .woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.woocommerce-account form.woocommerce-form-login button.woocommerce-form-login__submit { display: block; float: none; width: 100%; min-width: 0; margin: 0; min-height: var(--lmda-controle-principal); }
.woocommerce-account form.woocommerce-form-login .lost_password { margin: 16px 0 0; font-size: 14px; }
.woocommerce-account form.lost_reset_password .form-row-first { width: 100%; float: none; }
.lmda-connexion__aside { background: var(--lmda-creme); border-left: 3px solid var(--lmda-rouge); padding: 24px 28px; margin: 32px 0 0; }
.woocommerce-account .lmda-connexion__aside h2 { font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-transform: none; margin: 0 0 8px; color: var(--lmda-encre); }
.lmda-connexion__aside p { margin: 0 0 16px; font-size: 15px; line-height: 1.6; color: var(--lmda-gris-encre); }
.lmda-connexion__aside p:last-child { margin: 0; }
@media (min-width: 1025px) {
	.woocommerce-account:not(.logged-in) .entry-content > .woocommerce { grid-template-columns: minmax(0, 480px) minmax(280px, 400px); column-gap: 64px; align-items: start; }
	.woocommerce-account:not(.logged-in) .entry-content > .woocommerce > .lmda-connexion__aside { grid-column: 2; grid-row: 2 / span 2; margin: 0; }
}


/* ============================================================
   CC-33 : mobile (retours du 25/09 apres la mise en ligne)
   A home, B panier, C commande, D pied de page, E autres gabarits.
   Les regles hors media query corrigent des defauts presents aussi
   sur ordinateur (casse des cartes de livraison, ombres et separateurs
   du tunnel, police des H2 de la page A propos, vignettes du blog).
   Causes : woocommerce-smallscreen.css (sous 767 px), wc-cart.css,
   wc-checkout.css et styles.css de Shopkeeper, reglages du widget
   Commande d'Elementor Pro (page 6374) et de la home (page 16997).
   ============================================================ */
:root { --lmda-police: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }

/* ---------- A. Home ---------- */

/* A1 : les widgets bouton d'Elementor gardent la largeur de leur texte (largeur « auto ») : sur mobile, widget et ancre
   en pleine largeur, ancre centree, meme hauteur (50 px) pour le bouton plein et le bouton contour. */
@media (max-width: 767px) {
	.e-con > .elementor-widget-button, .e-con > .e-con-inner > .elementor-widget-button, .elementor-column .elementor-widget-button { width: 100% !important; max-width: none !important; }
	.elementor-widget-button .elementor-button-wrapper { display: block; width: 100%; }
	.elementor-widget-button .elementor-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; box-sizing: border-box; }
	.lmda-bouton-contour .elementor-button, .lmda-bouton-contour-blanc .elementor-button { min-height: 50px; padding: 16px 20px !important; }
	.lmda-hero .lmda-hero__boutons, .lmda-boutique-home .lmda-boutique__boutons { padding: 0 !important; gap: 10px; }
	.lmda-hero__boutons > .elementor-widget-button { margin-top: 0 !important; }
}

/* A2 : « Nos univers » : 2 x 47 % + 24 px d'espacement depassent 390 px, d'ou une vignette par ligne. */
@media (max-width: 767px) {
	.lmda-univers-home .elementor-widget.lmda-univers-vignette { width: calc(50% - 12px) !important; max-width: calc(50% - 12px) !important; --container-widget-width: calc(50% - 12px); }
	.elementor-widget-image-box.lmda-univers-vignette .elementor-image-box-img { overflow: hidden; border-radius: 6px; margin-bottom: 10px; }
	.lmda-univers-vignette .elementor-image-box-title { font-size: 14px; letter-spacing: .04em; line-height: 1.3; }
}

/* A3 : au toucher, :hover reste colle et l'image des cartes bouge. Les survols sont sous @media (hover: hover)
   (voir les regles d'origine) ; ici, plus aucune transition sur ces images pour les ecrans tactiles. */
@media (hover: none) {
	.lmda-carte-article__media img, .lmda-univers-vignette .elementor-image-box-img img, .lmda-zoom img, .lmda-carte .product_thumbnail img, .lmda-guides-home .elementor-post__thumbnail img, .lmda-carte-article--une__fond { transition: none; }
	.lmda-carte-article:hover, .lmda-carte-article:focus-within { transform: none; box-shadow: none; }
}

/* A5 : rangee d'onglets defilante : fondu a droite et pas de barre de defilement. */
@media (max-width: 767px) {
	.lmda-tabs .lmda-tabs__liste { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 40px), transparent); scroll-snap-type: x proximity; scrollbar-width: none; }
	.lmda-tabs .lmda-tabs__liste::-webkit-scrollbar { display: none; }
	.lmda-tabs .lmda-tabs__liste [role="tab"] { scroll-snap-align: start; }
	.lmda-tabs .lmda-tabs__liste::after { content: ""; flex: 0 0 32px; }
}

/* ---------- B. Panier ---------- */

/* B1 : etapes du tunnel en trois colonnes centrees (panier et commande). */
@media (max-width: 767px) {
	.lmda-etapes-tunnel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 0 0 20px; font-size: 12px; line-height: 1.25; }
	.lmda-etapes-tunnel li { flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; gap: 6px; }
	.lmda-etapes-tunnel li span { width: 28px; height: 28px; font-size: 13px; flex: none; }
}

/* B4 : la ligne d'actions du panier (bouton « Mettre a jour » invisible) laissait 100 px de blanc ; quantites fixes a 1. */
.woocommerce-cart table.shop_table.cart td.actions { display: none !important; }

/* B6 : les cartes de livraison heritaient des capitales, du 600 et du line-height 2em du label de Shopkeeper (panier et commande). */
#shipping_method label, #shipping_method li label { text-transform: none !important; letter-spacing: 0 !important; line-height: 1.4; font-weight: 400; font-size: 14px; }
.lmda-methode__nom { text-transform: none; font-size: 15px; font-weight: 600; line-height: 1.3; }
.lmda-methode__note { font-weight: 400; line-height: 1.45; }
.lmda-methode__prix { font-weight: 600; }
#shipping_method li > input[type="hidden"] + label { grid-column: 1 / -1; }
#shipping_method li > :nth-child(n+3) { grid-column: 2; }

/* B2, B3, B5, B7, B8, B9 : panier sur petit ecran. woocommerce-smallscreen.css (sous 767 px) met chaque cellule en bloc
   aligne a droite avec son libelle « Produit : » en ::before ; wc-cart.css (sous 880 px) etale le bloc des totaux sur
   100vw avec 60 px de padding et pousse les valeurs a droite dans des blocs de 60 %. */
@media (max-width: 767px) {
	h1.page-title, .woocommerce-cart h1.page-title { font-size: 30px; line-height: 1.15; }
	.woocommerce-cart table.shop_table.cart thead { display: none; }
	.woocommerce-cart table.shop_table.cart, .woocommerce-cart table.shop_table.cart tbody { display: block; width: 100%; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-areas: "img nom" "img prix" "img retirer"; column-gap: 14px; row-gap: 6px; align-items: start; width: 100%; padding: 16px 0; border-bottom: 1px solid var(--lmda-bordure); background: none !important; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td { display: block; width: auto; padding: 0 !important; border: 0 !important; text-align: left !important; background: none !important; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td::before { display: none !important; content: none !important; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-thumbnail { grid-area: img; display: block !important; width: 96px; padding: 0 !important; text-align: left !important; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-thumbnail a { display: block; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-thumbnail img { display: block; width: 96px !important; height: auto; margin: 0; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-name { grid-area: nom; width: auto; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--lmda-encre); }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-name a { color: var(--lmda-encre); }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-price, .woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-quantity { display: none !important; }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-subtotal { grid-area: prix; font-size: 16px; font-weight: 600; color: var(--lmda-encre); }
	.woocommerce-cart .woocommerce-cart-form .shop_table.cart tbody tr.cart_item td.product-remove { grid-area: retirer; }
	.woocommerce-cart .lmda-panier__details { margin-top: 6px; font-weight: 400; }
	.woocommerce-cart .lmda-panier__continuer { margin: 16px 0 24px; }
}
@media (max-width: 880px) {
	.woocommerce-cart .cart-collaterals { width: auto !important; max-width: none !important; margin: 0 0 32px !important; padding: 0 !important; background: none !important; float: none !important; }
	.woocommerce-cart .cart-collaterals::before, .woocommerce-cart .cart-collaterals::after { display: none !important; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; background: var(--lmda-creme) !important; padding: 20px 20px 24px !important; margin: 0 !important; }
	.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 18px; font-weight: 600; text-transform: none; letter-spacing: 0; padding: 0 0 12px; margin: 0 0 4px; border-bottom: 1px solid var(--lmda-bordure); }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tbody { display: block; width: 100%; margin: 0; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; width: 100%; padding: 12px 0; border-bottom: 1px solid var(--lmda-bordure); }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr > th, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr > td { display: block; width: auto; padding: 0 !important; border: 0 !important; text-align: left !important; font-size: 14px; background: none !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr > th { flex: 0 0 auto; font-weight: 600; text-transform: none !important; letter-spacing: 0; color: var(--lmda-encre); }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr > td { flex: 1 1 auto; text-align: right !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td::before { display: none !important; content: none !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td > small, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td > strong, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td > span, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr td > p { width: auto !important; display: inline !important; margin: 0 !important; text-align: inherit !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals { flex-direction: column; align-items: stretch; gap: 10px; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > td { text-align: left !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > td > ul#shipping_method { display: grid !important; width: 100% !important; margin: 0 !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.woocommerce-shipping-totals > td > p.woocommerce-shipping-destination { display: block !important; width: 100% !important; margin: 8px 0 0 !important; font-size: 12px; line-height: 1.45; color: var(--lmda-gris-encre); text-align: left !important; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.lmda-panier__note td, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.lmda-panier__alma td { text-align: left !important; font-size: 12px; line-height: 1.45; color: var(--lmda-gris-encre); }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total { border-bottom: 0; padding: 16px 0 4px; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total > th { font-size: 15px; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total > td, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total > td strong, .woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.order-total .amount { font-size: 22px !important; font-weight: 700; color: var(--lmda-encre); line-height: 1.2; }
	.woocommerce-cart .cart-collaterals .cart_totals table.shop_table tr.lmda-panier__alma { border-bottom: 0; padding: 0 0 8px; }
	.woocommerce-cart .cart-collaterals .wc-proceed-to-checkout { padding: 12px 0 0; }
}

/* ---------- C. Commande (widget Elementor Pro) ---------- */

/* Police : le widget impose Open Sans (titres, libelles, lignes, totaux, bouton) et Roboto (reste) via ses propres regles ;
   Montserrat partout, comme le reste du site. */
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page, .woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce,
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page :is(h3, label, .form-row label, .shop_table, .shop_table th, .shop_table td, .shop_table strong, .shop_table .amount, #place_order, .woocommerce-privacy-policy-text, .woocommerce-privacy-policy-text p, .woocommerce-terms-and-conditions-checkbox-text, .payment_box, .payment_box p, .lmda-titre-bloc, .lmda-etapes-tunnel, .lmda-commande__aide, .lmda-recap-mobile, .e-checkout-message, .woocommerce-form-login-toggle, .woocommerce-form-login, input, select, textarea, button, .select2-selection__rendered, .lmda-reassurance--checkout li, .lmda-methode, .lmda-methode span, .woocommerce-shipping-methods label) { font-family: var(--lmda-police) !important; }

/* C1 : titre de la page (widget 01835db) en Open Sans capitales. */
.woocommerce-checkout .lmda-titre-commande .elementor-heading-title, .woocommerce-checkout h1.lmda-titre-commande, .woocommerce-checkout .lmda-titre-commande.elementor-heading-title { font-family: var(--lmda-police) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 300 !important; }
@media (max-width: 767px) {
	.woocommerce-checkout .lmda-titre-commande .elementor-heading-title, .woocommerce-checkout h1.lmda-titre-commande, .woocommerce-checkout .lmda-titre-commande.elementor-heading-title { font-size: 30px !important; line-height: 1.15 !important; }
}

/* C2 : titres de sections (h3 du widget, « Votre commande », « 2. Comment recevoir vos meubles » en th, « 3. Paiement » en p) :
   Open Sans capitales avec halo, centres sur mobile. */
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce h3, .woocommerce-checkout form.checkout h3#order_review_heading, .woocommerce-checkout .lmda-titre-bloc,
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th { font-family: var(--lmda-police) !important; font-size: 17px !important; font-weight: 600 !important; line-height: 1.3 !important; letter-spacing: 0 !important; text-transform: none !important; text-shadow: none !important; text-align: left !important; color: var(--lmda-encre) !important; }
.woocommerce-checkout .lmda-titre-bloc { margin: 24px 0 12px; }

/* C3 : ombres noires de 10 px et angles arrondis du widget (defaut d'Elementor Pro). */
.woocommerce-checkout .e-checkout__container .col-1, .woocommerce-checkout .e-checkout__container .col-2, .woocommerce-checkout .e-checkout__container .woocommerce-additional-fields,
.woocommerce-checkout .e-checkout__container .e-woocommerce-login-section, .woocommerce-checkout .e-checkout__container .e-checkout__order_review, .woocommerce-checkout .e-checkout__container .e-checkout__order_review-2,
.woocommerce-checkout .e-checkout__container .woocommerce-checkout-payment { box-shadow: none !important; border-radius: 0 !important; border: 1px solid var(--lmda-bordure); }
/* Les emballages (.col2-set, .woocommerce-form-login-toggle, .col-1 > .woocommerce-billing-fields) ne portent ni ombre ni cadre : sinon deux cadres imbriques. */
.woocommerce-checkout .e-checkout__container .col2-set, .woocommerce-checkout .e-checkout__container .woocommerce-form-login-toggle, .woocommerce-checkout .e-checkout__container .woocommerce-form-login,
.woocommerce-checkout .e-checkout__container .e-checkout__column-start > div, .woocommerce-checkout .e-checkout__container .e-checkout__column-end .e-checkout__column-inner > div,
.woocommerce-checkout .e-checkout__container .col-1 .woocommerce-billing-fields, .woocommerce-checkout .e-checkout__container .col-2 .woocommerce-shipping-fields { box-shadow: none !important; border-radius: 0 !important; }
.woocommerce-checkout #customer_details .form-row .input-text, .woocommerce-checkout #customer_details .form-row select, .woocommerce-checkout #customer_details .form-row textarea, .woocommerce-checkout .woocommerce-additional-fields textarea, .woocommerce-checkout .select2-container .select2-selection--single { border-radius: 0 !important; }

/* C5 : separateurs du recapitulatif : le widget fixe 5 px gris sur chaque cellule (variables redeclarees sur un descendant : elles gagnent par heritage). */
.woocommerce-checkout .e-checkout__order_review { --order-summary-items-divider-weight: 1px; --order-summary-items-divider-color: var(--lmda-bordure); --order-summary-totals-divider-weight: 1px; --order-summary-totals-divider-color: var(--lmda-bordure); --order-summary-rows-gap: 0px; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item { align-items: flex-start; padding: 0; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item td { padding: 10px 4px !important; border-bottom: 1px solid var(--lmda-bordure) !important; font-size: 14px !important; line-height: 1.4; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item td.product-name { color: var(--lmda-encre); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item td.product-total { font-weight: 600; color: var(--lmda-encre); white-space: nowrap; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item .product-quantity { display: none; }

/* C6 : libelles du recapitulatif en capitales 13 px (Shopkeeper) ; sous-total avec 40 px au-dessus. */
.woocommerce-checkout .woocommerce-checkout-review-order-table th, .woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table th { text-transform: none !important; font-size: 14px !important; font-weight: 600 !important; letter-spacing: 0 !important; color: var(--lmda-encre) !important; }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th, .woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td { padding: 14px 4px 10px !important; border-top: 0 !important; }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal td { font-size: 14px !important; color: var(--lmda-encre); }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > th { padding: 18px 4px 10px !important; }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.woocommerce-shipping-totals > td { padding: 0 4px 14px !important; }

/* C7 : cartes de livraison de la commande : Shopkeeper indente le texte de -22 px (le radio chevauche le nom). */
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table ul#shipping_method li { text-indent: 0 !important; padding: 12px 14px !important; margin: 0 0 10px !important; }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table ul#shipping_method li input[type="radio"] { margin: 4px 0 0 !important; }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table ul#shipping_method li label { padding: 0 !important; margin: 0 !important; }

/* C8 : total en 30 px (wc-checkout.css et styles.css). */
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.order-total th { font-size: 15px !important; }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.order-total td,
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong,
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong .woocommerce-Price-amount.amount { font-size: 22px !important; font-weight: 700 !important; line-height: 1.2; color: var(--lmda-encre); }
.woocommerce-checkout form.checkout .woocommerce-checkout-review-order table.woocommerce-checkout-review-order-table tfoot tr.order-total { align-items: baseline; padding: 8px 0 0; }

/* C9 : moyens de paiement en Title Case (wc-payment-methods.css). */
.woocommerce-checkout #payment ul.payment_methods li label { text-transform: none !important; font-size: 15px !important; letter-spacing: 0 !important; }

/* C11 : bouton « Payer » a 220 px centre : le widget met width: var(--purchase-button-width) et centre le bloc. */
.woocommerce-checkout #payment .place-order { --purchase-button-width: 100%; --place-order-title-alignment: stretch; }
.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce-checkout #payment #place_order { width: 100% !important; max-width: none !important; min-width: 0 !important; min-height: 50px; display: flex; align-items: center; justify-content: center; }
.woocommerce-checkout .lmda-reassurance--checkout { text-align: left; }

/* C12 : libelles du formulaire en capitales grises (label de Shopkeeper) ; « (facultatif) » en 400. */
.woocommerce-checkout .form-row label .optional { font-weight: 400; color: var(--lmda-gris-encre); }
@media (max-width: 767px) {
	.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields h3, .woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce-shipping-fields h3, .woocommerce-checkout .elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields h3 { text-align: left !important; }
	.woocommerce-checkout .woocommerce-checkout-review-order { width: 100% !important; }
}

/* C13 : bloc Alma du tunnel (present en prod seulement) : trois fieldsets a 1 1 0 et une pastille « 2x » de 10 px coupee en deux
   par le label a 100 % de Shopkeeper. */
.woocommerce-checkout #payment div.payment_box.payment_method_alma_pnx_gateway, .woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] { display: flex !important; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] > div:first-child { flex: 0 0 100%; }
.woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] .alma_woocommerce_gateway_fieldset { flex: 0 0 auto !important; display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; }
.woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] .alma_woocommerce_gateway_fieldset input[type="radio"] { margin: 0 !important; flex: none; position: static; }
.woocommerce-checkout #payment ul.payment_methods li div.payment_box[class*="payment_method_alma"] label.alma_woocommerce_gateway_checkbox { display: inline-flex !important; width: auto !important; align-items: center; margin: 0 !important; padding: 0 !important; text-indent: 0; white-space: nowrap; line-height: 1; cursor: pointer; }
.woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] .alma_woocommerce_gateway_logo { display: inline-flex; align-items: center; gap: 4px; width: auto; padding: 3px 6px; }
.woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] .alma_woocommerce_gateway_label { display: inline-block; white-space: nowrap; font-size: 12px; line-height: 1.4; padding: 2px 8px; margin: 0; }
.woocommerce-checkout #payment div.payment_box[class*="payment_method_alma"] .alma_woocommerce_gateway_checkout_plan { flex: 0 0 100%; margin: 6px 0 0; }

/* ---------- D. Pied de page ---------- */

/* D1 : Shopkeeper replie le pied de page sous 768 px derriere le bouton « ooo » : colonnes affichees, listes de liens cote a cote. */
@media (max-width: 767px) {
	.site-footer .site-footer-widget-area { display: block !important; }
	.site-footer .trigger-footer-widget-area { display: none !important; }
	.elementor-19785 .elementor-element-4584a6aa { padding-top: 40px !important; padding-bottom: 28px !important; }
	.elementor-19785 .elementor-element-4584a6aa > .elementor-container { display: flex; flex-wrap: wrap; }
	.elementor-19785 .elementor-element-4584a6aa > .elementor-container > .elementor-column:nth-child(1) { order: 0; width: 100%; }
	.elementor-19785 .elementor-element-4584a6aa > .elementor-container > .elementor-column:nth-child(2), .elementor-19785 .elementor-element-4584a6aa > .elementor-container > .elementor-column:nth-child(4) { width: 50%; order: 1; }
	.elementor-19785 .elementor-element-4584a6aa > .elementor-container > .elementor-column:nth-child(3) { order: 2; width: 100%; }
	.elementor-19785 .elementor-element-fdc1e31 { font-size: 12px; padding-top: 12px !important; padding-bottom: 16px !important; }
	.elementor-19785 .elementor-element-fdc1e31 p, .elementor-19785 .elementor-element-fdc1e31 .elementor-widget-text-editor { font-size: 12px; line-height: 1.6; }
}

/* ---------- E. Autres gabarits ---------- */

/* E1 : galerie de la fiche : 21 vignettes en grille de 4 sur 6 rangees (woocommerce.css, wc-product-layout-default.css avec !important). */
@media (max-width: 767px) {
	.woocommerce div.product div.images ol.flex-control-thumbs, .single-product .woocommerce-product-gallery ol.flex-control-thumbs { display: flex; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 6px; padding: 0 !important; margin: 10px 0 0 !important; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.woocommerce div.product div.images ol.flex-control-thumbs::-webkit-scrollbar { display: none; }
	.woocommerce div.product div.images ol.flex-control-thumbs li, .single-product .woocommerce-product-gallery ol.flex-control-thumbs li { flex: 0 0 64px; width: 64px !important; float: none !important; padding: 0 !important; margin: 0 !important; scroll-snap-align: start; }
	.woocommerce div.product div.images ol.flex-control-thumbs li img { display: block; width: 64px; height: 64px; object-fit: cover; }
}

/* E2 : fil d'Ariane de la fiche en capitales (wc-product-layout-default.css) ; « UGS » en doublon de la reference. */
.single-product .product_summary_top .woocommerce-breadcrumb, .single-product .woocommerce-breadcrumb { text-transform: none !important; letter-spacing: 0 !important; line-height: 1.5 !important; }
.single-product .product_meta .sku_wrapper { display: none; }
.single-product .woocommerce-breadcrumb .breadcrump_sep { display: inline !important; } /* Shopkeeper masque le dernier separateur, le nom du produit collait a la categorie */
/* E4 : gabarit d'archive (8218) : le H2 de la colonne des filtres est en capitales par reglage du widget. */
.elementor-location-archive .elementor-widget-heading h2.elementor-heading-title { text-transform: none !important; letter-spacing: 0 !important; }
.single-product .product_meta { text-transform: none; font-size: 12px; letter-spacing: 0; }

/* E3 : titres des cartes produit sur deux colonnes de 155 px (styles.css les met en inline-block avec 35 px reserves a droite). */
@media (max-width: 767px) {
	.woocommerce ul.products li.product h3.lmda-carte__titre, .woocommerce ul.products li.product .woocommerce-loop-product__title.lmda-carte__titre { display: -webkit-box !important; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: 14px !important; line-height: 1.3 !important; padding: 0 !important; margin: 12px 0 4px !important; }
	.woocommerce ul.products li.product .lmda-carte__prix .price { font-size: 14px; }
	.woocommerce ul.products li.product .lmda-alma { font-size: 12px; }
	.woocommerce ul.products li.product .lmda-badge { height: 22px; font-size: 11px; padding: 0 7px; }
}

/* E5 : suivi de commande (form-tracking.php) : champs a 47 % cote a cote ; titres de page en Title Case (.page-title { text-transform: capitalize }). */
h1.page-title, .page-title.blog-listing { text-transform: none; }
@media (max-width: 767px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last, .woocommerce-page form .form-row-first, .woocommerce-page form .form-row-last { width: 100%; float: none; }
	.woocommerce form.woocommerce-form-track-order label, form.track_order label { text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 600; }
	.woocommerce form.woocommerce-form-track-order, form.track_order { padding: 20px 20px 24px !important; background: var(--lmda-creme) !important; }
	.woocommerce form.woocommerce-form-track-order > p:first-child { margin: 0 0 16px; font-size: 14px; line-height: 1.55; }
}

/* E6 : meta de l'article (« Conseils · 9 avril 2019 · 4 min de lecture ») coupee avec un point orphelin. */
@media (max-width: 767px) {
	.single-post .lmda-article-entete__meta { font-size: 12px; letter-spacing: .02em; }
}

/* E7 : page A propos (5716) : les trois H2 sont en Open Sans 600 par reglage des widgets. */
.elementor-5716 .elementor-element.elementor-widget-heading .elementor-heading-title, .elementor-5716 .elementor-widget-heading h2.elementor-heading-title { font-family: var(--lmda-police) !important; font-weight: 500 !important; }

/* E8 : recherche (overlay Shopkeeper) : champ en 24 px bas de casse, bouton « Search » masque, croix sans fond rouge. */
.site-search.off-canvas .search-form .search-field, .site-search.off-canvas .widget_product_search .search-field { font-size: 22px !important; text-transform: none !important; font-weight: 500 !important; padding: 8px 48px 10px 0 !important; }
.site-search.off-canvas input[type="submit"] { font-size: 0 !important; color: transparent !important; width: 44px; height: 44px; }
.site-search.off-canvas .site-search-close { display: flex; justify-content: flex-end; }
.site-search.off-canvas .site-search-close .close-button { background: transparent !important; color: var(--lmda-encre) !important; width: 44px; height: 44px; min-height: 0; padding: 0 !important; margin: 0; font-size: 28px; line-height: 44px; border: 0; }
.site-search.off-canvas .search-text { font-size: 12px !important; letter-spacing: .1em; color: var(--lmda-gris-encre); }
