/* ═══════════════════════════════════════════════════════════════
   Memory Link — boutique, fiches produit, panier, commande, compte
   Même vocabulaire visuel que la page d'accueil, appliqué au balisage
   de WooCommerce. Chargé uniquement sur les pages concernées.
   ═══════════════════════════════════════════════════════════════ */

body.mla-woo{
	--papier:#F7F4EE;
	--papier-creux:#EFEAE0;
	--encre:#3c252e;
	--encre-doux:#6b5c62;
	--laiton:#80612d;
	--vert:#987c87;
	--trait:rgba(35,47,44,.13);

	--serif:Georgia,'Times New Roman',serif;
	--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

	background:var(--papier);
	color:var(--encre);
	font-family:var(--sans);
	/* Le kit Elementor pose font-size:45px sur le body (typo « Principal »
	   des réglages de site). Sans ce rappel, tout ce qui hérite — boutons,
	   liens, champs — part en 45px. */
	font-size:16px;
	line-height:1.62;
}

body.mla-woo .site-main,
body.mla-woo .woocommerce{max-width:1140px;margin-left:auto;margin-right:auto}

/* Garde-fou : une image de fiche produit non contrainte élargit la colonne et
   fait défiler la page horizontalement sur mobile. */
body.mla-woo img{max-width:100%;height:auto}
body.mla-woo .woocommerce div.product div.images,
body.mla-woo .woocommerce div.product div.summary{min-width:0}

/* ---------- titres ---------- */
body.mla-woo h1,
body.mla-woo h2,
body.mla-woo h3,
body.mla-woo .product_title,
body.mla-woo .woocommerce-loop-product__title{
	font-family:var(--serif);
	font-weight:400;
	letter-spacing:-.012em;
	color:var(--encre);
	text-wrap:balance;
}
body.mla-woo h1.entry-title,
body.mla-woo .product_title{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.12}
body.mla-woo .woocommerce-products-header__title{margin-bottom:.6rem}

/* ---------- grille de la boutique ---------- */
body.mla-woo ul.products{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:2.4rem;
	margin:2.6rem 0 0;
	padding:0;
	list-style:none;
}
body.mla-woo ul.products::before,
body.mla-woo ul.products::after{content:none}
body.mla-woo ul.products li.product{
	width:auto !important;
	float:none !important;
	margin:0 !important;
	display:flex;
	flex-direction:column;
	text-align:left;
}
body.mla-woo ul.products li.product a img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:3px;
	margin-bottom:1.1rem;
	background:var(--papier-creux);
	box-shadow:0 18px 40px -28px rgba(35,47,44,.55);
	transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
body.mla-woo ul.products li.product:hover a img{transform:translateY(-4px)}
body.mla-woo ul.products li.product .woocommerce-loop-product__title{
	font-size:1.22rem !important;
	padding:0 !important;
	margin:0 0 .4rem !important;
}
body.mla-woo ul.products li.product .price{
	font-family:var(--serif);
	font-size:1.45rem;
	color:var(--encre);
	margin:0 0 1rem;
	display:block;
}
body.mla-woo ul.products li.product .price del{
	color:var(--encre-doux);font-size:.7em;margin-right:.4em;
}
body.mla-woo ul.products li.product .price ins{text-decoration:none}
body.mla-woo ul.products li.product .onsale{
	background:var(--vert);color:#fff;border-radius:999px;
	font-family:var(--sans);font-size:.68rem;font-weight:700;
	letter-spacing:.08em;text-transform:uppercase;
	padding:.3rem .8rem;min-height:0;min-width:0;line-height:1.4;
	top:.7rem;right:.7rem;left:auto;margin:0;
}

/* Les boutons sont traités en fin de fichier, section « boutons ». */

/* ---------- fiche produit ---------- */
body.mla-woo .woocommerce div.product{margin-top:1.5rem}
body.mla-woo .woocommerce div.product div.images{margin-bottom:2rem}
body.mla-woo .woocommerce div.product div.images img{border-radius:3px}
body.mla-woo .woocommerce div.product p.price,
body.mla-woo .woocommerce div.product span.price{
	font-family:var(--serif);
	font-size:2rem;
	color:var(--encre);
	margin:.6rem 0 1.2rem;
}
body.mla-woo .woocommerce div.product .woocommerce-product-details__short-description{
	color:var(--encre-doux);
	font-size:1.06rem;
	max-width:46ch;
	padding-bottom:1.4rem;
	border-bottom:1px solid var(--trait);
	margin-bottom:1.4rem;
}
body.mla-woo .woocommerce div.product .product_meta{
	font-size:.85rem;color:var(--encre-doux);
	padding-top:1.2rem;border-top:1px solid var(--trait);
}

/* onglets de la fiche : en repères sobres, pas en boutons empilés */
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs{
	padding:0;margin:0 0 1.6rem;display:flex;gap:1.8rem;flex-wrap:wrap;
	border-bottom:1px solid var(--trait);
}
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs li::after{
	content:none !important;border:0 !important;box-shadow:none !important;
}
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs li{
	background:transparent;border:0;border-radius:0;margin:0;padding:0;
	border-bottom:2px solid transparent;
}
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs li.active{
	border-bottom-color:var(--laiton);background:transparent;
}
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs li a{
	font-family:var(--sans);font-size:.95rem;font-weight:600;
	color:var(--encre-doux);padding:.7rem 0;display:block;
}
body.mla-woo .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--encre)}
body.mla-woo .woocommerce div.product .woocommerce-tabs .panel h2{font-size:1.5rem;margin-bottom:.8rem}
body.mla-woo .woocommerce div.product .woocommerce-tabs .panel ul{padding-left:1.1rem}
body.mla-woo .woocommerce div.product .woocommerce-tabs .panel li{margin-bottom:.35rem;color:var(--encre-doux)}

body.mla-woo .woocommerce .related > h2,
body.mla-woo .woocommerce .upsells > h2{
	font-size:1.6rem;margin:3.5rem 0 0;padding-top:2.5rem;border-top:1px solid var(--trait);
}

/* ---------- tableaux : panier et commande ---------- */
body.mla-woo .woocommerce table.shop_table{
	border:1px solid var(--trait);border-radius:4px;border-collapse:collapse;
	background:#FFFDF8;
}
body.mla-woo .woocommerce table.shop_table th{
	font-family:var(--sans);font-size:.78rem;font-weight:700;
	letter-spacing:.08em;text-transform:uppercase;color:var(--encre-doux);
	border-bottom:1px solid var(--trait);padding:1rem;
}
body.mla-woo .woocommerce table.shop_table td{
	border-top:1px solid var(--trait);padding:1.1rem 1rem;color:var(--encre);
}
body.mla-woo .woocommerce table.shop_table .product-thumbnail img{
	width:72px;border-radius:3px;
}
/* WooCommerce empile normalement ces tableaux sur mobile. Si un thème casse ce
   comportement, le tableau défile dans son cadre plutôt que la page entière. */
body.mla-woo .woocommerce-cart-form,
body.mla-woo .cart_totals,
body.mla-woo .woocommerce-checkout-review-order{max-width:100%;overflow-x:auto}
body.mla-woo .woocommerce table.shop_table .amount{
	font-family:var(--serif);font-size:1.1rem;font-variant-numeric:tabular-nums;
}
body.mla-woo .woocommerce-cart .cart-collaterals .cart_totals h2,
body.mla-woo .woocommerce-checkout h3{font-size:1.4rem;margin-bottom:.9rem}
body.mla-woo .woocommerce .cart_totals .order-total .amount{font-size:1.5rem;color:var(--encre)}

/* ---------- formulaires ---------- */
body.mla-woo .woocommerce form .form-row label{
	font-family:var(--sans);font-size:.86rem;font-weight:600;
	color:var(--encre-doux);margin-bottom:.3rem;display:block;
}
body.mla-woo .woocommerce form .form-row input.input-text,
body.mla-woo .woocommerce form .form-row textarea,
body.mla-woo .woocommerce form .form-row select,
body.mla-woo .woocommerce .select2-container .select2-selection--single{
	min-height:48px;padding:.7rem .85rem;
	border:1.5px solid var(--trait);border-radius:2px;
	background:#FFFDF8;color:var(--encre);
	font-family:var(--sans);font-size:1rem;line-height:1.4;
}
body.mla-woo .woocommerce form .form-row input.input-text:focus,
body.mla-woo .woocommerce form .form-row textarea:focus,
body.mla-woo .woocommerce form .form-row select:focus{
	outline:none;border-color:var(--laiton);
}
body.mla-woo .woocommerce-checkout #payment{
	background:var(--papier-creux);border-radius:4px;border:1px solid var(--trait);
}
body.mla-woo .woocommerce-checkout #payment div.payment_box{
	background:#FFFDF8;color:var(--encre-doux);font-size:.92rem;
}
body.mla-woo .woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#FFFDF8}

/* ---------- messages ---------- */
body.mla-woo .woocommerce-message,
body.mla-woo .woocommerce-info,
body.mla-woo .woocommerce-error{
	background:var(--papier-creux);
	border-top:0;border-left:3px solid var(--vert);border-radius:0 4px 4px 0;
	color:var(--encre);font-family:var(--sans);font-size:.95rem;
	padding:1.1rem 1.3rem;
}
body.mla-woo .woocommerce-error{border-left-color:#A8452F}
body.mla-woo .woocommerce-message::before,
body.mla-woo .woocommerce-info::before,
body.mla-woo .woocommerce-error::before{display:none}

/* ---------- fil d'Ariane et tri ---------- */
body.mla-woo .woocommerce-breadcrumb{
	font-size:.85rem;color:var(--encre-doux);margin-bottom:1.6rem;
}
body.mla-woo .woocommerce-breadcrumb a{color:var(--encre-doux);text-decoration:underline;text-underline-offset:2px}
body.mla-woo .woocommerce-breadcrumb a:hover{color:var(--laiton)}
body.mla-woo .woocommerce-result-count{color:var(--encre-doux);font-size:.88rem}
body.mla-woo .woocommerce-ordering select{
	min-height:44px;border:1.5px solid var(--trait);border-radius:2px;
	background:#FFFDF8;color:var(--encre);padding:.4rem .7rem;
}

/* ---------- rappel de réassurance sous la fiche produit ---------- */
.mla-woo-reassurance{
	display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;
	margin:2rem 0;padding:1.4rem 0;
	border-top:1px solid var(--trait);border-bottom:1px solid var(--trait);
}
.mla-woo-reassurance div{font-size:.92rem;color:var(--encre-doux)}
.mla-woo-reassurance b{
	display:block;font-family:var(--sans);font-size:.72rem;font-weight:700;
	letter-spacing:.1em;text-transform:uppercase;color:var(--laiton);margin-bottom:.25rem;
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
	body.mla-woo ul.products{grid-template-columns:repeat(2,1fr);gap:2rem}
}
@media (max-width:640px){
	body.mla-woo ul.products{grid-template-columns:1fr;gap:2.6rem}
	body.mla-woo .woocommerce div.product p.price,
	body.mla-woo .woocommerce div.product span.price{font-size:1.7rem}
	.mla-woo-reassurance{grid-template-columns:1fr;gap:1rem}
	body.mla-woo .woocommerce table.shop_table td{padding:.9rem .7rem}
}
@media (prefers-reduced-motion:reduce){
	body.mla-woo *{transition-duration:.01ms !important}
}


/* ---------- 0. base : on coupe l'héritage du 45 px ---------- */
body.mla-woo,
body.woocommerce,
body.woocommerce-page{
	font-size:16px;
	line-height:1.62;

	/* palette — reprise ici pour que le bloc reste autonome
	   s'il est collé dans « CSS additionnel » */
	--laiton:#80612d;
	--encre:#3c252e;
	--encre-doux:#6b5c62;
	--papier:#F7F4EE;
	--papier-creux:#EFEAE0;
	--trait:rgba(35,47,44,.13);
	--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

	/* gabarit des boutons : un seul endroit à toucher pour tout ajuster */
	--btn-h:52px;
	--btn-px:1.7rem;
	--btn-fs:.95rem;
	--btn-radius:2px;
}

/* ---------- 1. bouton : forme commune ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	a.button,
	button.button,
	input.button,
	.add_to_cart_button,
	.added_to_cart,
	.single_add_to_cart_button,
	.checkout-button,
	.woocommerce-button,
	.wc-forward,
	.wc-backward,
	.wc-block-components-button,
	.elementor-menu-cart__footer-buttons .elementor-button
){
	position:relative;               /* ancre le spinner « loading » de Woo */
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	box-sizing:border-box;
	width:auto;
	max-width:100%;
	min-height:var(--btn-h);
	padding:.75rem var(--btn-px);
	background:var(--laiton);
	color:#FFFDF8;
	border:1.5px solid var(--laiton);
	border-radius:var(--btn-radius);
	font-family:var(--sans);
	font-size:var(--btn-fs);
	font-weight:600;
	line-height:1.2;
	letter-spacing:.01em;
	text-transform:none;
	text-decoration:none;
	text-align:center;
	cursor:pointer;
	transition:background .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;
}

/* le libellé interne des boutons en blocs hérite lui aussi du body */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .wc-block-components-button__text{
	font-size:inherit;
	line-height:inherit;
}

/* ---------- 2. survol, focus, état désactivé ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	a.button,button.button,input.button,.add_to_cart_button,.added_to_cart,
	.single_add_to_cart_button,.checkout-button,.woocommerce-button,
	.wc-forward,.wc-backward,.wc-block-components-button,
	.elementor-menu-cart__footer-buttons .elementor-button
):hover{
	background:var(--encre);
	border-color:var(--encre);
	color:var(--papier);
	transform:translateY(-1px);
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	a.button,button.button,input.button,.wc-block-components-button
):focus-visible{
	outline:2px solid var(--laiton);
	outline-offset:3px;
}
/* ---------- 3. variante secondaire (contour) ---------- */
/* « Voir le panier », « Retour à la boutique », « Mettre à jour », coupon,
   actions du compte : actions de second rang. Elles ne doivent pas rivaliser
   avec « Ajouter au panier ». */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	.added_to_cart,
	a.button.wc-backward,
	button[name="update_cart"],
	input[name="update_cart"],
	button[name="apply_coupon"],
	input[name="apply_coupon"],
	.woocommerce-button,
	.elementor-menu-cart__footer-buttons .elementor-button--view-cart
){
	background:transparent;
	color:var(--laiton);
	border-color:var(--laiton);
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	.added_to_cart,
	a.button.wc-backward,
	button[name="update_cart"],
	input[name="update_cart"],
	button[name="apply_coupon"],
	input[name="apply_coupon"],
	.woocommerce-button,
	.elementor-menu-cart__footer-buttons .elementor-button--view-cart
):hover{
	background:var(--laiton);
	border-color:var(--laiton);
	color:#FFFDF8;
}

/* état désactivé : placé après la variante contour pour l'emporter sur elle
   (« Mettre à jour le panier » est désactivé tant que rien n'a changé) */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	button.button:disabled,
	input.button:disabled,
	.button.disabled,
	.wc-block-components-button:disabled
),
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	button.button:disabled,input.button:disabled,.button.disabled,.wc-block-components-button:disabled
):hover{
	background:var(--papier-creux);
	border-color:var(--trait);
	color:var(--encre-doux);
	cursor:not-allowed;
	transform:none;
	opacity:1;
}

/* ---------- 4. les boutons que WooCommerce cible par identifiant ---------- */
/* .woocommerce #respond input#submit a une spécificité très élevée :
   il lui faut sa propre règle, sinon Woo reprend la main. */
body.mla-woo #respond input#submit,
body.woocommerce #respond input#submit,
body.woocommerce-page #respond input#submit,
body.mla-woo #place_order,
body.woocommerce #place_order,
body.woocommerce-page #place_order{
	min-height:var(--btn-h);
	padding:.75rem var(--btn-px);
	background:var(--laiton);
	color:#FFFDF8;
	border:1.5px solid var(--laiton);
	border-radius:var(--btn-radius);
	font-family:var(--sans);
	font-size:var(--btn-fs);
	font-weight:600;
	line-height:1.2;
	text-transform:none;
}
body.mla-woo #respond input#submit:hover,
body.woocommerce #respond input#submit:hover,
body.woocommerce-page #respond input#submit:hover,
body.mla-woo #place_order:hover,
body.woocommerce #place_order:hover,
body.woocommerce-page #place_order:hover{
	background:var(--encre);
	border-color:var(--encre);
	color:var(--papier);
}

/* ---------- 5. champ quantité, calé sur la hauteur des boutons ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .quantity input.qty{
	box-sizing:border-box;
	min-height:var(--btn-h);
	height:var(--btn-h);
	width:5rem;
	padding:.5rem;
	border:1.5px solid var(--trait);
	border-radius:var(--btn-radius);
	background:#FFFDF8;
	color:var(--encre);
	font-family:var(--sans);
	font-size:1rem;
	line-height:1.2;
	text-align:center;
	font-variant-numeric:tabular-nums;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .wc-block-components-quantity-selector{
	font-size:1rem;
	line-height:1.2;
}

/* ---------- 6. boutique : la carte produit ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) ul.products li.product .button{
	margin-top:auto;
	align-self:flex-start;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) ul.products li.product .added_to_cart{
	align-self:flex-start;
	margin-top:.6rem;
	min-height:44px;
	padding:.55rem 1.2rem;
	font-size:.88rem;
}

/* ---------- 7. fiche produit : quantité + achat sur une ligne ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) div.product form.cart{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.8rem;
	margin-bottom:2rem;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) div.product form.cart div.quantity{
	margin:0;
	float:none;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) div.product form.cart .single_add_to_cart_button{
	float:none;
	margin:0;
	padding-left:2.2rem;
	padding-right:2.2rem;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) div.product form.cart .variations{
	width:100%;
	margin-bottom:0;
}

/* ---------- 8. panier classique : barre d'actions et coupon ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .woocommerce-cart-form td.actions{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:.8rem;
	padding:1.1rem 1rem;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .woocommerce-cart-form td.actions .coupon{
	display:flex;
	align-items:center;
	gap:.6rem;
	float:none;
	padding:0;
	margin:0;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .woocommerce-cart-form td.actions .coupon label{
	display:none;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) #coupon_code{
	box-sizing:border-box;
	min-height:var(--btn-h);
	width:12rem;
	max-width:100%;
	padding:.6rem .85rem;
	border:1.5px solid var(--trait);
	border-radius:var(--btn-radius);
	background:#FFFDF8;
	color:var(--encre);
	font-family:var(--sans);
	font-size:1rem;
	line-height:1.2;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .cart_totals .checkout-button,
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .wc-proceed-to-checkout .checkout-button{
	display:flex;
	width:100%;
	margin:.4rem 0 0;
	font-size:1rem;
}

/* ---------- 9. panier et commande en blocs (WooCommerce 10.x) ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .wc-block-cart__submit-button,
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .wc-block-components-checkout-place-order-button{
	width:100%;
	font-size:1rem;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .wc-block-cart-item__remove-link{
	font-size:.82rem;
	line-height:1.4;
	color:var(--encre-doux);
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
	.wc-block-components-product-name,
	.wc-block-components-product-price,
	.wc-block-components-totals-item__label,
	.wc-block-components-totals-item__value,
	.wc-block-components-title,
	.wc-block-components-text-input input
){
	font-size:1rem;
	line-height:1.5;
}

/* ---------- 10. bandeau de message : « Voir le panier » à droite ---------- */
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(.woocommerce-message,.woocommerce-info){
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:.9rem;
	font-size:.95rem;
}
:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(.woocommerce-message,.woocommerce-info) .button{
	order:2;
	margin-left:auto;
	float:none;
	min-height:44px;
	padding:.55rem 1.2rem;
	font-size:.88rem;
}

/* ---------- 11. mini-panier Elementor du header (toutes pages) ---------- */
/* Le modèle d'en-tête (post-45.css) relie explicitement sept éléments du widget
   panier à la typographie « Principal » du kit, donc à 45px :
   .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button
   et consorts, en 0-3-0. Il faut passer au-dessus, d'où le `body` en tête
   (0-3-1). Les redéclarations d'Elementor à 1024px et 767px sont dans des
   media queries, qui n'ajoutent aucune spécificité : ces règles-ci les couvrent
   à toutes les largeurs. */
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button{
	font-size:15px;
	line-height:1.2;
}
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name a,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price,
body .elementor-widget-woocommerce-menu-cart .woocommerce-mini-cart__empty-message,
body .elementor-menu-cart__subtotal{
	font-size:15px;
	line-height:1.5;
}
body .elementor-menu-cart__footer-buttons{
	display:grid;
	gap:.6rem;
}
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart,
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	width:100%;
	min-height:48px;
	padding:.7rem 1.2rem;
	border-radius:2px;
	font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
	font-size:.92rem;
	font-weight:600;
	line-height:1.2;
	letter-spacing:.01em;
	text-transform:none;
	background:#A8843C;
	color:#FFFDF8;
	border:1.5px solid #A8843C;
	transition:background .25s ease,border-color .25s ease,color .25s ease;
}
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{
	background:transparent;
	color:#A8843C;
}
body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button:hover{
	background:#2f2328;
	border-color:#2f2328;
	color:#F7F4EE;
}

/* ---------- 12. mobile : l'action principale prend toute la largeur ---------- */
@media (max-width:640px){
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(
		.add_to_cart_button,
		.single_add_to_cart_button,
		.checkout-button,
		.wc-block-cart__submit-button
	){
		width:100%;
	}
	body.mla-woo #place_order,
	body.woocommerce #place_order,
	body.woocommerce-page #place_order{width:100%}

	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) ul.products li.product .button,
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) ul.products li.product .added_to_cart{
		align-self:stretch;
	}
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .woocommerce-cart-form td.actions{
		flex-direction:column;
		align-items:stretch;
	}
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) .woocommerce-cart-form td.actions .coupon{
		flex-wrap:wrap;
	}
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) #coupon_code{
		flex:1 1 8rem;
		width:auto;
	}
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) div.product form.cart .single_add_to_cart_button{
		flex:1 1 auto;
	}
}

@media (prefers-reduced-motion:reduce){
	:is(body.mla-woo,body.woocommerce,body.woocommerce-page) :is(a.button,button.button,input.button,.wc-block-components-button):hover{
		transform:none;
	}
}

/* ---------- 13. panneau du mini-panier : le ramener dans l'écran ---------- */
/* Elementor ancre le panneau par son bord GAUCHE au bouton (inset-inline:0 auto),
   puis le laisse grandir vers la droite sur 300px minimum. Le bouton panier étant
   collé au bord droit de l'en-tête, le panneau sortait de l'écran.
   On l'ancre par son bord droit et on borne sa largeur : à 96px près, il reste
   toujours entièrement visible, quelle que soit la largeur d'écran.
   Sélecteur en 0-3-1 pour passer devant celui d'Elementor (0-3-0). */
body .elementor-widget-woocommerce-menu-cart.elementor-menu-cart--cart-type-mini-cart .elementor-menu-cart__container{
	inset-inline:auto 0;
	left:auto;
	right:0;
	min-width:0;              /* sinon le min-width:300px d'Elementor bat le max-width */
	width:320px;
	max-width:calc(100vw - 6rem);
}
/* 2.0 — editorial additions; native WooCommerce functionality is preserved. */
.mla-woo .mla-product-kicker{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#80612d;margin-bottom:15px}
.mla-woo .mla-product-help{border-top:1px solid #ded4d8;padding:20px 0;margin-top:24px;font-size:14px;line-height:1.7;color:#65565c}
.mla-woo .mla-product-help a{color:#3c252e;text-decoration:underline;text-underline-offset:4px}
.mla-woo .mla-product-help p{margin:12px 0 0}
.mla-woo .woocommerce-tabs h2{font-family:Georgia,serif;font-weight:400;color:#3c252e}
.mla-woo .woocommerce-tabs :is(p,li){line-height:1.8}
.mla-woo :is(a,button,input,select,textarea):focus-visible{outline:3px solid #80612d;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.mla-woo *{transition:none!important;animation:none!important}}

/* 2.1 — Commerce shares the same restrained editorial styling. */
body.mla-woo{--mla-papier:#f7f5ed;--mla-vert:#39232b;--mla-or:#7b6134;background-color:#f7f5ed;color:#39232b}
.mla-woo .woocommerce-breadcrumb{font-size:12px;line-height:1.8;color:#6f5c63;margin-bottom:32px}
.mla-woo div.product .product_title{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.2rem,4vw,3.8rem);line-height:1.12;letter-spacing:-.035em;color:#39232b;margin:0 0 22px}
.mla-woo div.product div.images{background:#ecdfe4;border:1px solid #dfced5;border-radius:2px;overflow:hidden}
.mla-woo div.product .woocommerce-product-gallery__image img{background:#ecdfe4}
.mla-woo div.product .woocommerce-product-details__short-description{font-size:15px;line-height:1.85;color:#64545a;max-width:52ch}
.mla-woo div.product p.price{font-family:Georgia,serif;font-size:28px;color:#7b6134;margin-block:18px 25px}
.mla-woo div.product form.cart{padding-top:24px;border-top:1px solid #dbcad1}
.mla-woo .mla-product-kicker{font-size:10px;letter-spacing:.19em;color:#7b6134;margin-bottom:20px}
.mla-woo .mla-product-help{background:#ece0e5;border:1px solid #ddc9d1;padding:23px 25px;font-size:13px;border-radius:2px;margin-top:30px}
.mla-woo .mla-product-help a{font-size:14px;line-height:1.7;text-underline-offset:5px}
.mla-woo .woocommerce-tabs{margin-top:56px}
.mla-woo .woocommerce-tabs .panel{background:#fbfaf3;padding:32px;border:1px solid #deccd3;border-radius:2px}
.mla-woo .woocommerce-tabs .panel h2{font-size:28px;line-height:1.3;margin:0 0 20px}
.mla-woo .woocommerce-tabs .panel :is(p,li){font-size:15px;line-height:1.9;color:#64545a}
.mla-woo ul.products li.product{border-radius:2px;overflow:hidden;box-shadow:0 1px 0 #d8c7ce}
.mla-woo ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.3;color:#39232b;letter-spacing:-.02em}
.mla-woo ul.products li.product .price{font-family:Georgia,serif;font-size:23px;color:#7b6134}
.mla-woo :is(.cart_totals,.woocommerce-checkout-review-order){border:1px solid #dbcad1;background:#fdfbf4;border-radius:2px;padding:28px}
.mla-woo :is(.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3){font-family:Georgia,serif;font-weight:400;font-size:29px;line-height:1.3;color:#39232b}
.mla-woo :is(input.input-text,textarea.input-text,select){border-color:#c6b1b9;border-radius:2px;background:#fffef8;min-height:46px}
.mla-woo :is(.button,.single_add_to_cart_button,.checkout-button){border-radius:2px;min-height:48px;letter-spacing:.015em}
@media(max-width:640px){.mla-woo div.product .product_title{font-size:2.3rem}.mla-woo .woocommerce-tabs .panel{padding:23px}.mla-woo :is(.cart_totals,.woocommerce-checkout-review-order){padding:22px}.mla-woo .mla-product-help{padding:21px}.mla-woo .woocommerce-tabs{margin-top:38px}}

/* 2.4 — the shop follows the selected site colours. */
.mla-woo{--mla-bg:#f8f7f3;--mla-card:#fff;--mla-ink:#292f31;--mla-muted:#596163;--mla-accent:#34484d;--mla-line:#d7d9d3;background:var(--mla-bg);color:var(--mla-ink)}
.mla-tone-sauge.mla-woo{--mla-bg:#f6f6ef;--mla-ink:#2c3c33;--mla-muted:#546257;--mla-accent:#405842;--mla-line:#d4dccd}
.mla-tone-prune.mla-woo{--mla-bg:#faf8f3;--mla-ink:#30262b;--mla-muted:#6a5c62;--mla-accent:#603448;--mla-line:#ddd3cc}
.mla-woo :is(button.button,a.button,input.button,#place_order){background:var(--mla-accent);color:#fff;border-color:var(--mla-accent);border-radius:2px;box-shadow:none}
.mla-woo :is(h1,h2,h3,.product_title,.woocommerce-loop-product__title){color:var(--mla-ink)}
.mla-woo div.product .woocommerce-product-details__short-description,.mla-woo .woocommerce-tabs .panel :is(p,li){color:var(--mla-muted)}
.mla-woo .woocommerce-tabs .panel,.mla-woo :is(.cart_totals,.woocommerce-checkout-review-order,.mla-product-help){background:var(--mla-card);border-color:var(--mla-line);border-radius:0;box-shadow:none}
.mla-woo div.product .woocommerce-product-gallery__image img{background:var(--mla-bg)}

/* 2.5 — charte de la notice : beige clair, doré, noir et blanc. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 700;font-display:swap;src:url(fonts/montserrat-latin.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/cormorant-garamond-italic-latin.woff2) format('woff2')}
.mla-tone-notice.mla-woo{--mla-bg:#f6f1e9;--mla-card:#fff;--mla-ink:#171614;--mla-muted:#57524a;--mla-accent:#0e0e0d;--mla-line:#e4d8c5;--mla-or:#bf8a4c;--papier:#f6f1e9;--encre:#171614;--encre-doux:#57524a;--laiton:#87602f;font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.mla-tone-notice.mla-woo :is(h1,h2,h3,.product_title,.woocommerce-loop-product__title,.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3){font-family:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-weight:600;letter-spacing:.01em}
.mla-tone-notice.mla-woo :is(.product_title,h1.entry-title){text-transform:uppercase}
.mla-tone-notice.mla-woo ul.products li.product .price,.mla-tone-notice.mla-woo div.product p.price{font-family:'Montserrat',sans-serif;font-weight:600;color:var(--mla-ink)}
.mla-tone-notice.mla-woo :is(button.button,a.button,input.button,.single_add_to_cart_button,.checkout-button){border-radius:6px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.mla-tone-notice.mla-woo :is(button.button,a.button,input.button):hover{background:var(--mla-or);border-color:var(--mla-or);color:#0e0e0d}
.mla-tone-notice.mla-woo #place_order{background:#0e0e0d;border-color:#0e0e0d;color:#fff;border-radius:6px}
.mla-tone-notice.mla-woo .woocommerce-tabs .panel,.mla-tone-notice.mla-woo :is(.cart_totals,.woocommerce-checkout-review-order,.mla-product-help){border-radius:12px}
.mla-tone-notice.mla-woo .mla-product-kicker{color:#87602f}
.mla-tone-notice.mla-woo :is(input.input-text,textarea.input-text,select){background:#fff;border-color:#e4d8c5;border-radius:6px}
/* 2.5.8 — en-tête Elementor sur téléphone : le bouton panier dépassait de 4 px à droite
   (marge intérieure du bloc panier), toute la page bougeait latéralement au doigt. */
.elementor-location-header,.elementor-location-header>.e-con{overflow-x:clip}
/* 2.5.8 — en-tête collant sur téléphone : son réglage mobile (marge haute -46 px, largeur 500 px)
   faisait passer le haut de chaque page sous l'en-tête. La version collée garde sa place,
   l'espace réservé en dessous retrouve la vraie hauteur. */
@media (max-width:767px){.elementor-location-header .elementor-element.e-con.e-parent[data-settings*=sticky]{--margin-top:0px;--width:100%}}
