:root {
	--lecux-green: #0b4f30;
	--lecux-cream: #fffaf2;
	--lecux-ink: #171717;
	--lecux-line: #ded8cd;
	--lecux-accent: #bd613d;
}

.lecux-delivery-promise {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 14px 0 16px;
}

.lecux-delivery-promise__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid var(--lecux-line);
	border-radius: 12px;
	background: var(--lecux-cream);
	color: var(--lecux-ink);
}

.lecux-delivery-promise__item strong,
.lecux-delivery-promise__item span {
	display: block;
	color: inherit;
}

.lecux-delivery-promise__item strong {
	font-size: 14px;
	line-height: 1.35;
}

.lecux-delivery-promise__item span {
	font-size: 13px;
	line-height: 1.4;
}

.lecux-delivery-promise__icon {
	display: grid !important;
	place-items: center;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--lecux-green);
	color: #fff !important;
	font-weight: 700;
}

.lecux-cart-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
	padding: 15px 18px;
	border: 1px solid var(--lecux-accent);
	border-radius: 12px;
	background: var(--lecux-cream);
	color: var(--lecux-ink);
}

.lecux-cart-notice strong,
.lecux-cart-notice span {
	color: inherit;
}

.woocommerce-cart .lec-lpi-message strong .woocommerce-Price-amount {
	display: inline-flex !important;
	width: auto !important;
	white-space: nowrap;
}

.woocommerce-cart .lec-lpi-message strong .woocommerce-Price-currencySymbol {
	display: inline !important;
	width: auto !important;
}

.lecux-mobile-cta {
	display: none;
}

.lecux-mobile-cart-cta {
	display: none;
}

.woocommerce-cart .grecaptcha-badge,
.woocommerce-checkout .grecaptcha-badge {
	visibility: hidden !important;
}

.lecux-recaptcha-disclosure {
	max-width: 620px;
	margin: 18px auto;
	padding: 0 16px;
	font-size: 10px;
	line-height: 1.4;
	color: #777;
	text-align: center;
}

.lecux-recaptcha-disclosure a {
	color: inherit;
	text-decoration: underline;
}

/* Les widgets flottants ne doivent pas recouvrir les décisions d'achat. */
.single-product .agJsWidget,
.woocommerce-cart .agJsWidget,
.woocommerce-checkout .agJsWidget,
.single-product #lec-conges-popup,
.woocommerce-cart #lec-conges-popup,
.woocommerce-checkout #lec-conges-popup {
	display: none !important;
}

/* Les preuves de confiance sont visibles avant les produits, sans occuper un écran. */
.lecux-catalog-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	width: 100%;
	margin: 0 0 22px;
}

.lecux-catalog-trust > div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 10px 12px;
	border: 1px solid var(--lecux-line);
	border-radius: 12px;
	background: var(--lecux-cream);
	color: var(--lecux-ink);
	text-align: center;
}

.lecux-catalog-trust span {
	display: grid;
	place-items: center;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--lecux-green);
	color: #fff;
	font-weight: 700;
}

.lecux-catalog-trust strong {
	font-size: 13px;
	line-height: 1.3;
	color: inherit;
}

.lecux-catalog-guide {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	width: 100%;
	margin: 0 0 24px;
	padding: 16px 18px;
	border-left: 4px solid var(--lecux-green);
	border-radius: 0 12px 12px 0;
	background: #f4f7f3;
	color: var(--lecux-ink);
}

.lecux-catalog-guide strong,
.lecux-catalog-guide span {
	display: block;
	color: inherit;
}

.lecux-catalog-guide strong {
	margin-bottom: 3px;
	font-size: 16px;
}

.lecux-catalog-guide span {
	font-size: 13px;
	line-height: 1.4;
}

.lecux-catalog-guide .button {
	flex: 0 0 auto;
	min-height: 42px;
	padding: 0 17px;
	border-radius: 10px !important;
	background: var(--lecux-green) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

/* Le volume du catalogue ne guide pas l'achat : recherche et usages passent devant. */
.woocommerce .woocommerce-result-count,
.woocommerce .catalog-toolbar__result-count {
	display: none !important;
}

/* Le sélecteur WooCommerce natif remplace le composant de tri instable de Glozin. */
.catalog-toolbar__right > .catalog-toolbar__orderby-form {
	display: block !important;
}

.catalog-toolbar__right > .catalog-toolbar__orderby-form > .woocommerce-ordering {
	display: block !important;
	margin: 0 !important;
}

.catalog-toolbar__right > .catalog-toolbar__orderby-form > .catalog-toolbar__orderby-default,
.catalog-toolbar__right > .catalog-toolbar__orderby-form > .catalog-toolbar__orderby-list,
.catalog-toolbar__right > .catalog-toolbar__orderby-button {
	display: none !important;
}

.catalog-toolbar__right select.orderby {
	min-width: 210px;
	height: 44px;
	padding: 0 40px 0 14px;
	border: 1px solid #cfc7ba;
	border-radius: 10px;
	background-color: #fff;
	color: var(--lecux-ink);
	font-size: 14px;
	font-weight: 650;
	cursor: pointer;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers {
	display: flex;
	justify-content: center;
	gap: 7px;
	margin: 28px 0 8px;
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul.page-numbers li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination .page-numbers a,
.woocommerce nav.woocommerce-pagination .page-numbers span {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1px solid #cfc7ba;
	border-radius: 9px;
	background: #fff;
	color: var(--lecux-ink);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce nav.woocommerce-pagination .page-numbers .current,
.woocommerce nav.woocommerce-pagination .page-numbers a:hover,
.woocommerce nav.woocommerce-pagination .page-numbers a:focus {
	border-color: var(--lecux-green);
	background: var(--lecux-green);
	color: #fff;
}

.woocommerce .lecux-infinite-pagination {
	display: grid;
	justify-items: center;
	gap: 10px;
	min-height: 74px;
	margin-top: 18px;
}

.woocommerce .lecux-infinite-pagination .gz-posts-found {
	display: none !important;
}

.woocommerce .lecux-infinite-pagination .woocommerce-pagination-button {
	min-width: 190px;
	margin-top: 0 !important;
}

.woocommerce .lecux-infinite-pagination.is-loading .woocommerce-pagination-button {
	opacity: .55;
	pointer-events: none;
}

.lecux-infinite-status {
	min-height: 20px;
	margin: 0;
	color: var(--lecux-ink);
	font-size: 13px;
	text-align: center;
}

.lecux-catalog-tools-shortcut {
	position: fixed;
	bottom: 22px;
	left: 18px;
	z-index: 9990;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 9px 15px;
	border: 1px solid var(--lecux-green);
	border-radius: 999px;
	background: #fff;
	color: var(--lecux-green);
	font-size: 13px;
	font-weight: 750;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .14);
	cursor: pointer;
}

.lecux-catalog-tools-shortcut[hidden] {
	display: none !important;
}

.lecux-catalog-tools-shortcut:hover,
.lecux-catalog-tools-shortcut:focus {
	background: var(--lecux-green);
	color: #fff;
}

.lecux-infinite-product {
	animation: lecux-product-appear .35s ease-out both;
}

/* Secours visuel si le plugin imagesLoaded de Glozin est différé par le cache. */
.lecux-infinite-product.lecux-images-ready img {
	opacity: 1 !important;
}

@keyframes lecux-product-appear {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.lecux-infinite-product {
		animation: none;
	}
}

.lecux-catalog-tools {
	display: grid;
	grid-template-columns: minmax(300px, .85fr) minmax(0, 1.4fr);
	align-items: center;
	gap: 18px 26px;
	width: 100%;
	margin: 18px 0 22px;
	padding: 18px;
	border: 1px solid var(--lecux-line);
	border-radius: 14px;
	background: #fffaf2;
}

.lecux-catalog-search {
	display: flex;
	min-width: 0;
}

.lecux-catalog-search input[type="search"] {
	width: 100%;
	min-width: 0;
	height: 46px;
	padding: 0 14px;
	border: 1px solid #cfc7ba;
	border-right: 0;
	border-radius: 10px 0 0 10px;
	background: #fff;
	color: var(--lecux-ink);
	font-size: 14px;
}

.lecux-catalog-search input[type="search"]:focus {
	border-color: var(--lecux-green);
	outline: 2px solid rgba(31, 102, 61, .16);
	outline-offset: 0;
}

.lecux-catalog-search button {
	flex: 0 0 auto;
	min-height: 46px;
	padding: 0 16px;
	border: 0;
	border-radius: 0 10px 10px 0;
	background: var(--lecux-green);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.lecux-catalog-filters {
	min-width: 0;
}

.lecux-catalog-filters__list {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding-bottom: 2px;
	scrollbar-width: thin;
}

.lecux-catalog-filters__list a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 7px 12px;
	border: 1px solid #cfc7ba;
	border-radius: 999px;
	background: #fff;
	color: var(--lecux-ink);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.lecux-catalog-filters__list a:hover,
.lecux-catalog-filters__list a:focus,
.lecux-catalog-filters__list a.is-current {
	border-color: var(--lecux-green);
	background: var(--lecux-green);
	color: #fff;
}

.lecux-shop-intro-toggle {
	display: none;
}

.lecux-missing-visual-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 4;
	max-width: calc(100% - 20px);
	padding: 6px 10px;
	border: 1px solid rgba(17, 17, 17, .12);
	border-radius: 999px;
	background: rgba(255, 250, 242, .94);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .08);
	color: var(--lecux-ink);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	pointer-events: none;
}

.lecux-missing-visual-notice {
	display: inline-flex;
	margin: 4px 0 10px;
	padding: 7px 10px;
	border-radius: 8px;
	background: var(--lecux-cream);
	color: var(--lecux-ink);
	font-size: 12px;
	line-height: 1.4;
}

.woocommerce-placeholder[src*="lecux-product-placeholder"] {
	object-fit: cover;
}

.lecux-product-card-signals {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 7px;
}

.lecux-product-card-signals span {
	display: inline-flex;
	align-items: center;
	min-height: 23px;
	padding: 3px 8px;
	border: 1px solid rgba(31, 102, 61, .24);
	border-radius: 999px;
	background: #f4f7f3;
	color: var(--lecux-green);
	font-size: 10px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: .025em;
}

ul.products li.product.lecux-returned-product .product-inner {
	outline: 3px solid rgba(31, 102, 61, .72);
	outline-offset: 5px;
	border-radius: 12px;
	animation: lecux-returned-product-pulse .8s ease-out 2;
}

@keyframes lecux-returned-product-pulse {
	0% { outline-color: rgba(31, 102, 61, .15); }
	50% { outline-color: rgba(31, 102, 61, .82); }
	100% { outline-color: rgba(31, 102, 61, .35); }
}

@media (prefers-reduced-motion: reduce) {
	ul.products li.product.lecux-returned-product .product-inner {
		animation: none;
	}

	.lecux-add-to-cart-confirmation {
		transition: none;
	}
}

/* Le formulaire d'achat remonte sous le prix ; les conseils restent ensuite. */
.single-product .lecfpux-purchase-card {
	margin-top: 10px !important;
}

/* Le module de formats affiche déjà le prix dans sa carte d'achat. */
.single-product .summary.entry-summary > .glozin-product-price {
	display: none !important;
}

.single-product .summary.entry-summary[data-lecux-purchase-prioritized="yes"] > form.cart {
	margin-bottom: 14px;
}

/* Le panier lat\u00e9ral est supprim\u00e9 : le pictogramme ouvre la vraie page panier. */
#cart-panel.cart-panel {
	display: none !important;
}

/* Un CTA principal favorise l'ajout et le panier moyen ; l'achat direct reste secondaire. */
.single-product form.cart .single_add_to_cart_button {
	min-height: 54px !important;
	border: 1px solid var(--lecux-green) !important;
	border-radius: 12px !important;
	background: var(--lecux-green) !important;
	color: #fff !important;
	font-weight: 750 !important;
	box-shadow: none !important;
}

.single-product form.cart .single_add_to_cart_button:hover,
.single-product form.cart .single_add_to_cart_button:focus {
	border-color: #073d24 !important;
	background: #073d24 !important;
}

.single-product form.cart .gz-buy-now-button {
	min-height: 48px !important;
	border: 1px solid var(--lecux-ink) !important;
	border-radius: 12px !important;
	background: #fff !important;
	color: var(--lecux-ink) !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}

.single-product form.cart .gz-buy-now-button:hover,
.single-product form.cart .gz-buy-now-button:focus {
	background: #f6f1e9 !important;
	color: var(--lecux-ink) !important;
}

.lecux-add-to-cart-confirmation {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 99999;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 16px;
	width: min(520px, calc(100vw - 44px));
	padding: 16px 18px;
	border: 1px solid #cdded3;
	border-left: 5px solid var(--lecux-green);
	border-radius: 14px;
	background: #fff;
	color: var(--lecux-ink);
	box-shadow: 0 14px 40px rgba(0, 0, 0, .18);
	opacity: 0;
	transform: translateY(18px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease;
}

.lecux-add-to-cart-confirmation.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.lecux-add-to-cart-confirmation strong,
.lecux-add-to-cart-confirmation span {
	display: block;
}

.lecux-add-to-cart-confirmation span {
	margin-top: 3px;
	color: #5b554d;
	font-size: 13px;
}

.lecux-add-to-cart-confirmation__cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 8px 15px;
	border-radius: 10px;
	background: var(--lecux-green);
	color: #fff !important;
	font-size: 13px;
	font-weight: 750;
	white-space: nowrap;
}

.lecux-add-to-cart-confirmation__close {
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--lecux-ink);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.single-product .stock-badge .stock.in-stock,
.single-product .stock-badge .stock.on-backorder {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.single-product .stock-badge .stock.in-stock::before,
.single-product .stock-badge .stock.on-backorder::before {
	display: block;
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--lecux-green);
	content: '';
}

.single-product .lecfpux-purchase-card__help {
	color: #4d473f;
	font-size: 13px;
}

/* Les recettes précèdent le contenu éditorial long, conservé intégralement pour le SEO. */
.single-product .lec-rpa-recipes {
	margin-top: 36px;
	margin-bottom: 30px;
}

.single-product .woocommerce-Tabs-panel--description.lecux-description-collapsed:not(.lecux-description-expanded) {
	position: relative;
	max-height: 390px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 78%, transparent 100%);
}

.single-product .woocommerce-Tabs-panel--description.lecux-description-expanded {
	max-height: none;
	overflow: visible;
	-webkit-mask-image: none;
	mask-image: none;
}

.single-product .lecux-description-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 12px auto 0;
	padding: 9px 18px;
	border: 1px solid var(--lecux-ink);
	border-radius: 10px;
	background: #fff;
	color: var(--lecux-ink);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.single-product .lecux-description-toggle:hover,
.single-product .lecux-description-toggle:focus {
	background: var(--lecux-ink);
	color: #fff;
}

/* Les ventes additionnelles restent utiles, mais après le total et le CTA. */
.woocommerce-cart .woocommerce-after-cart .cross-sells,
.woocommerce-cart > .cross-sells {
	margin-top: 36px;
}

/* Glozin réinjecte parfois une première copie dans le formulaire panier. */
.woocommerce-cart .woocommerce > .cross-sells,
.woocommerce-cart .woocommerce-after-cart .cross-sells,
.woocommerce-cart article > .cross-sells {
	display: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	border-radius: 12px !important;
	background: var(--lecux-green) !important;
	color: #fff !important;
	font-weight: 700 !important;
	text-align: center;
	box-shadow: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:focus {
	background: #073d24 !important;
	color: #fff !important;
}

.lecux-cart-checkout-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 12px 0 0;
	font-size: 12px;
	line-height: 1.35;
	color: #4d4d4d;
	text-align: center;
}

.lecux-cart-checkout-trust > span:first-child {
	display: grid;
	place-items: center;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--lecux-green);
	color: #fff;
	font-weight: 700;
}

.lecux-continue-shopping {
	display: block;
	width: max-content;
	margin: 12px auto 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--lecux-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Empêche les libellés et montants du panier de se casser caractère par caractère. */
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td,
.woocommerce-cart [class*="free-shipping"] strong,
.woocommerce-cart [class*="shipping-progress"] strong {
	word-break: normal;
	overflow-wrap: normal;
}

/* Filet de sécurité pour les layouts Fluid Checkout et WooCommerce Blocks. */
.woocommerce-checkout .fc-wrapper,
.woocommerce-checkout .fc-checkout-steps,
.woocommerce-checkout .fc-step__substep,
.woocommerce-checkout .wc-block-components-sidebar-layout,
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar {
	max-width: 100%;
	min-width: 0;
}

/* CheckoutWC : remplace le grand aplat noir par un récapitulatif clair. */
.woocommerce-checkout #cfw-cart-summary,
.woocommerce-checkout #cfw-cart-summary::before {
	background: #f7f2e9 !important;
}

.woocommerce-checkout #cfw-cart-summary,
.woocommerce-checkout #cfw-cart-summary-content,
.woocommerce-checkout #cfw-cart-summary table,
.woocommerce-checkout #cfw-cart-summary th,
.woocommerce-checkout #cfw-cart-summary td,
.woocommerce-checkout #cfw-cart-summary strong,
.woocommerce-checkout #cfw-cart-summary small,
.woocommerce-checkout #cfw-cart-summary span:not(.cfw-cart-item-quantity-bubble),
.woocommerce-checkout #cfw-cart-summary a {
	color: var(--lecux-ink) !important;
}

.woocommerce-checkout #cfw-cart-summary-content {
	padding: 28px 34px !important;
}

.woocommerce-checkout .lecux-checkout-summary-title {
	margin: 0 0 16px;
	font-size: 23px;
	line-height: 1.25;
	color: var(--lecux-ink);
}

/* Bloc de progression de livraison : une information par ligne. */
.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-panel {
	margin: 0 0 24px;
	padding: 15px 16px;
	border: 1px solid var(--lecux-line);
	border-radius: 14px;
	background: #fff;
}

.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-message {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	line-height: 1.35;
}

.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-message strong,
.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-message > span {
	display: block;
	width: 100%;
	font-size: 14px;
	line-height: 1.35;
	color: var(--lecux-ink) !important;
}

.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-message strong {
	color: var(--lecux-green) !important;
}

.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-progress {
	width: 100%;
	height: 7px;
	margin-top: 12px;
	border-radius: 999px;
	overflow: hidden;
	background: #e9dfd4;
}

.woocommerce-checkout #cfw-checkout-before-order-review .lec-lpi-progress > span {
	display: block;
	height: 100%;
	background: var(--lecux-accent) !important;
}

/* Le tableau possède déjà une image, une quantité et un sous-total dédiés. */
.woocommerce-checkout #cfw-cart .checkout-review-product-image,
.woocommerce-checkout #cfw-cart .checkout-review-product-price,
.woocommerce-checkout #cfw-cart .cfw-cart-item-title .product-quantity {
	display: none !important;
}

.woocommerce-checkout #cfw-cart .cfw-cart-table {
	border-collapse: collapse;
}

.woocommerce-checkout #cfw-cart .cart-item-row {
	display: table-row;
	border-bottom: 1px solid var(--lecux-line);
}

.woocommerce-checkout #cfw-cart .cfw-cart-item-image,
.woocommerce-checkout #cfw-cart .cfw-cart-item-description,
.woocommerce-checkout #cfw-cart .cfw-cart-item-subtotal {
	padding-top: 14px;
	padding-bottom: 14px;
	vertical-align: middle;
}

.woocommerce-checkout #cfw-cart .cfw-cart-item-description {
	padding-right: 14px;
	padding-left: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.woocommerce-checkout #cfw-cart .cfw-cart-item-title {
	line-height: 1.35;
}

.woocommerce-checkout #cfw-cart .cfw-cart-item-subtotal {
	width: 78px;
	text-align: right;
	white-space: nowrap;
	font-weight: 700;
}

.woocommerce-checkout #cfw-cart .cfw-cart-item-image img {
	border-radius: 10px;
}

.woocommerce-checkout #cfw-cart-summary-coupons {
	margin-top: 18px;
}

.woocommerce-checkout #cfw-cart-summary-totals {
	margin-top: 20px;
	padding-top: 12px;
	border-top: 1px solid var(--lecux-line);
}

.woocommerce-checkout #cfw-cart-summary-totals tr {
	display: table-row;
}

.woocommerce-checkout #cfw-cart-summary-totals th,
.woocommerce-checkout #cfw-cart-summary-totals td {
	padding: 10px 0;
	line-height: 1.4;
}

.woocommerce-checkout #cfw-cart-summary-totals td {
	text-align: right;
}

.woocommerce-checkout #cfw-cart-summary-totals .order-total th,
.woocommerce-checkout #cfw-cart-summary-totals .order-total td {
	padding-top: 16px;
	border-top: 1px solid var(--lecux-line);
	font-size: 18px;
}

.woocommerce-checkout #cfw-cart-summary-totals .includes_tax {
	display: block;
	margin-top: 5px;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

/* Conversion : les accès compte et coupon existent déjà dans le checkout. */
.woocommerce-checkout #cfw > .row .checkout-form-cols {
	display: none !important;
}

.woocommerce-checkout #cfw-logo-container {
	margin-bottom: 18px;
}

/* La carte-cadeau reste disponible, sous la forme d'un lien compact. */
.woocommerce-checkout #cfw > .row > .col-lg-7 > .woocommerce-form-coupon-toggle {
	margin: 0 0 22px;
}

.woocommerce-checkout #cfw > .row > .col-lg-7 > .woocommerce-form-coupon-toggle .woocommerce-info {
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 13px;
	line-height: 1.45;
}

.woocommerce-checkout #cfw > .row > .col-lg-7 > .woocommerce-form-coupon-toggle a {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce-checkout .lecux-checkout-trust {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 22px;
}

.woocommerce-checkout .lecux-checkout-trust > div {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	padding: 10px;
	border: 1px solid var(--lecux-line);
	border-radius: 10px;
	background: var(--lecux-cream);
	color: var(--lecux-ink);
}

.woocommerce-checkout .lecux-checkout-trust span {
	display: grid;
	place-items: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--lecux-green);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.woocommerce-checkout .lecux-checkout-trust strong {
	font-size: 12px;
	line-height: 1.3;
	color: var(--lecux-ink);
}

/* Le refus des rappels reste visible, mais devient lisible et rassurant. */
.woocommerce-checkout #wacv_checkout_gdpr_block,
.woocommerce-checkout #wacv_checkout_gdpr_block > span {
	display: block;
	margin-top: 7px;
	font-size: 12px !important;
	line-height: 1.45;
	color: #666 !important;
}

.woocommerce-checkout #wacv_checkout_gdpr_cancel {
	font-weight: 700;
	color: var(--lecux-ink) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Un seul appel à l'action fort par étape. */
.woocommerce-checkout .cfw-bottom-controls .cfw-primary-btn {
	min-width: 250px;
	min-height: 56px;
	padding: 18px 22px !important;
	border-radius: 12px !important;
	background: var(--lecux-green) !important;
	color: #fff !important;
	font-weight: 700;
	text-align: center;
	box-shadow: none;
}

.woocommerce-checkout .cfw-bottom-controls .cfw-primary-btn:hover,
.woocommerce-checkout .cfw-bottom-controls .cfw-primary-btn:focus {
	background: #073d24 !important;
	color: #fff !important;
}

.woocommerce-checkout .cfw-bottom-controls .previous-button a {
	font-size: 13px;
	color: #666;
}

@media (max-width: 767px) {
	.lecux-catalog-tools-shortcut {
		bottom: 76px;
		left: 12px;
		min-height: 42px;
		padding: 8px 13px;
	}

	.lecux-add-to-cart-confirmation {
		right: 12px;
		bottom: 82px;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 10px;
		width: calc(100vw - 24px);
		padding: 14px;
	}

	.lecux-add-to-cart-confirmation__cart {
		grid-column: 1 / -1;
		grid-row: 2;
		width: 100%;
	}

	.lecux-add-to-cart-confirmation__close {
		grid-column: 2;
		grid-row: 1;
	}

	.woocommerce-shop .page-header--shop .site-breadcrumb {
		display: none !important;
	}

	.woocommerce-shop .page-header--shop .page-header__description.lecux-shop-intro-collapsed {
		display: -webkit-box;
		max-height: 4.5em;
		overflow: hidden;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 3;
	}

	.woocommerce-shop .page-header--shop .page-header__description.lecux-shop-intro-expanded {
		display: block;
		max-height: none;
		overflow: visible;
		-webkit-line-clamp: unset;
	}

	.lecux-shop-intro-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin: 9px auto 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: var(--lecux-green);
		font-size: 13px;
		font-weight: 700;
		text-decoration: underline;
		text-underline-offset: 3px;
	}

	.lecux-mobile-cart-cta:not([hidden]) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 12px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: var(--gz-navigation-bar-height, 68px);
		z-index: 9989;
		padding: 10px 14px;
		border-top: 1px solid var(--lecux-line);
		background: #fff;
		box-shadow: 0 -8px 24px rgb(0 0 0 / 10%);
	}

	.lecux-mobile-cart-cta__total span,
	.lecux-mobile-cart-cta__total strong {
		display: block;
		color: var(--lecux-ink);
	}

	.lecux-mobile-cart-cta__total span {
		font-size: 11px;
		line-height: 1.2;
		text-transform: uppercase;
		letter-spacing: .04em;
	}

	.lecux-mobile-cart-cta__total strong {
		font-size: 18px;
		line-height: 1.25;
	}

	.lecux-mobile-cart-cta .button {
		min-height: 46px;
		padding: 0 18px;
		border-radius: 11px !important;
		background: var(--lecux-green) !important;
		color: #fff !important;
		font-size: 13px;
		font-weight: 700;
		white-space: nowrap;
	}

	.lecux-catalog-trust {
		display: flex;
		gap: 8px;
		margin-bottom: 16px;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		scrollbar-width: none;
	}

	.lecux-catalog-trust::-webkit-scrollbar {
		display: none;
	}

	.lecux-catalog-trust > div {
		justify-content: flex-start;
		flex: 0 0 245px;
		min-height: 44px;
		text-align: left;
		scroll-snap-align: start;
	}

	.lecux-catalog-guide {
		align-items: stretch;
		flex-direction: column;
		gap: 12px;
		padding: 14px;
	}

	.lecux-catalog-guide .button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		white-space: normal;
		text-align: center;
	}

	.lecux-catalog-tools {
		grid-template-columns: 1fr;
		gap: 14px;
		margin: 14px 0 18px;
		padding: 14px;
	}

	.lecux-catalog-search input[type="search"] {
		font-size: 16px;
	}

	.lecux-catalog-search button {
		padding: 0 12px;
	}

	.lecux-catalog-filters__list {
		margin-right: -14px;
		padding-right: 14px;
		scroll-snap-type: x proximity;
	}

	.lecux-catalog-filters__list a {
		scroll-snap-align: start;
	}

	.catalog-toolbar__right,
	.catalog-toolbar__right > .catalog-toolbar__orderby-form,
	.catalog-toolbar__right .woocommerce-ordering,
	.catalog-toolbar__right select.orderby {
		width: 100%;
		min-width: 0;
	}

	.single-product .lec-rpa-recipes {
		margin-top: 24px;
		margin-bottom: 22px;
	}

	.single-product .woocommerce-Tabs-panel--description.lecux-description-collapsed:not(.lecux-description-expanded) {
		max-height: 310px;
	}

	.single-product .lecux-description-toggle {
		width: 100%;
	}

	.lecux-delivery-promise {
		grid-template-columns: 1fr;
	}

	.lecux-cart-notice {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}

	.lecux-mobile-cta:not([hidden]) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 10px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 68px;
		z-index: 9990;
		padding: 10px 12px;
		border-top: 1px solid var(--lecux-line);
		background: #fff;
		box-shadow: 0 -8px 22px rgba(0, 0, 0, .12);
	}

	.lecux-mobile-cta__summary {
		min-width: 0;
	}

	.lecux-mobile-cta__summary strong,
	.lecux-mobile-cta__summary span {
		display: block;
		color: var(--lecux-ink);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.lecux-mobile-cta__summary strong {
		font-size: 13px;
	}

	.lecux-mobile-cta__summary span {
		font-weight: 700;
	}

	.lecux-mobile-cta__button {
		min-height: 44px;
		padding: 11px 14px !important;
		white-space: nowrap;
	}

	.woocommerce-cart .cart_totals th {
		width: 42%;
		white-space: normal;
	}

	.woocommerce-cart .cart_totals td {
		width: 58%;
		text-align: right;
	}

	.woocommerce-cart [class*="free-shipping"],
	.woocommerce-cart [class*="shipping-progress"] {
		display: block;
		width: 100%;
	}

	.woocommerce-checkout,
	.woocommerce-checkout .site,
	.woocommerce-checkout .site-content,
	.woocommerce-checkout main {
		max-width: 100%;
		overflow-x: clip;
	}

	.woocommerce-checkout .fc-progress-bar,
	.woocommerce-checkout .fc-checkout-steps {
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.woocommerce-checkout .fc-checkout-steps > * {
		min-width: 0;
	}

	/* CheckoutWC laissait les quatre etapes depasser de chaque cote sur 390 px. */
	.woocommerce-checkout #cfw-breadcrumb {
		display: flex !important;
		justify-content: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
	}

	.woocommerce-checkout #cfw-breadcrumb > li {
		flex: 1 1 25% !important;
		width: 25% !important;
		min-width: 0 !important;
		padding: 0 2px !important;
		text-align: center !important;
	}

	.woocommerce-checkout #cfw-breadcrumb > li > a {
		display: block;
		font-size: 11px !important;
		white-space: nowrap;
	}

	.woocommerce-checkout #cfw-mobile-cart-header {
		border-top: 1px solid var(--lecux-line);
		border-bottom: 1px solid var(--lecux-line);
		background: #f7f2e9 !important;
	}

	.woocommerce-checkout #cfw-mobile-cart-header,
	.woocommerce-checkout #cfw-mobile-cart-header * {
		color: var(--lecux-ink) !important;
	}

	.woocommerce-checkout #cfw-cart-summary-content {
		padding: 20px !important;
	}

	.woocommerce-checkout .lecux-checkout-summary-title {
		font-size: 20px;
	}

	.woocommerce-checkout #cfw-cart .cfw-cart-item-description {
		padding-right: 10px;
		padding-left: 10px;
		font-size: 14px;
	}

	.woocommerce-checkout #cfw-cart .cfw-cart-item-subtotal {
		width: 68px;
		font-size: 14px;
	}

	.woocommerce-checkout .lecux-checkout-trust {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.woocommerce-checkout .lecux-checkout-trust > div {
		padding: 9px 10px;
	}

	.woocommerce-checkout .cfw-bottom-controls {
		display: flex;
		flex-direction: column-reverse;
		align-items: stretch;
		gap: 12px;
	}

	.woocommerce-checkout .cfw-bottom-controls .cfw-primary-btn {
		width: 100%;
		min-width: 0;
	}

	.woocommerce-checkout .cfw-bottom-controls .previous-button {
		width: 100%;
		text-align: center;
	}

	body:not(.woocommerce-checkout) .grecaptcha-badge {
		bottom: 74px !important;
	}
}

@media (min-width: 768px) {
	.lecux-mobile-cta {
		display: none !important;
	}
}

/* --------------------------------------------------------------------------
 * Recherche boutique : un en-tête compact orienté résultats.
 * ----------------------------------------------------------------------- */
.lecux-product-search-results .page-header--shop {
	padding-top: 24px !important;
	padding-bottom: 18px !important;
}

.lecux-product-search-results .page-header--shop .page-header__description,
.lecux-product-search-results .page-header--shop .lecux-shop-intro-toggle {
	display: none !important;
}

.lecux-product-search-results .page-header--shop h1,
.lecux-product-search-results .page-header--shop .page-header__title,
.lecux-product-search-results .page-header--shop .page-title {
	margin-bottom: 0 !important;
	font-size: clamp(30px, 4vw, 48px) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.03em;
}

.lecux-product-search-results .page-header--shop .site-breadcrumb {
	margin-bottom: 12px !important;
	font-size: 13px;
}

.lecux-search-summary {
	margin: 0 0 22px;
	padding: 20px 22px;
	border: 1px solid #e8e1d7;
	border-radius: 16px;
	background: #faf7f1;
}

.lecux-search-summary__eyebrow {
	margin-bottom: 5px;
	color: #967134;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.lecux-search-summary__main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}

.lecux-search-summary h2 {
	margin: 0 0 3px;
	color: #103f2d;
	font-size: clamp(22px, 2.5vw, 31px);
	line-height: 1.15;
}

.lecux-search-summary p {
	margin: 0;
	color: #635e57;
	font-size: 14px;
}

.lecux-search-summary a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 16px;
	border: 1px solid #103f2d;
	border-radius: 999px;
	color: #103f2d;
	font-size: 13px;
	font-weight: 750;
	white-space: nowrap;
	text-decoration: none;
}

.lecux-search-summary a:hover,
.lecux-search-summary a:focus-visible {
	background: #103f2d;
	color: #fff;
}

@media (max-width: 767px) {
	.lecux-product-search-results .page-header--shop {
		padding-top: 14px !important;
		padding-bottom: 12px !important;
	}

	.lecux-product-search-results .page-header--shop h1,
	.lecux-product-search-results .page-header--shop .page-header__title,
	.lecux-product-search-results .page-header--shop .page-title {
		font-size: 30px !important;
	}

	.lecux-search-summary {
		padding: 17px;
		border-radius: 13px;
	}

	.lecux-search-summary__main {
		align-items: flex-start;
		flex-direction: column;
		gap: 13px;
	}

	.lecux-search-summary a {
		width: 100%;
	}
}

/* V1.29.3 - Restauration stricte du layout natif des fiches produit.
 * Aucun contenu n'est deplace : on retablit seulement la galerie a gauche
 * et le resume/achat a droite sur desktop, comme WooCommerce classique. */
@media (min-width: 992px) {
  body.single-product.woocommerce div.product div.images,
  body.single-product .woocommerce div.product div.images,
  body.single-product div.product .woocommerce-product-gallery {
    float: left !important;
    width: 48% !important;
    max-width: 48% !important;
    clear: none !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  body.single-product.woocommerce div.product div.summary,
  body.single-product .woocommerce div.product div.summary,
  body.single-product div.product .summary.entry-summary {
    float: right !important;
    width: 48% !important;
    max-width: 48% !important;
    clear: none !important;
    box-sizing: border-box !important;
  }

  body.single-product div.product::after {
    display: table !important;
    clear: both !important;
    content: "" !important;
  }

  body.single-product div.product > .woocommerce-tabs,
  body.single-product div.product > .related,
  body.single-product div.product > .upsells,
  body.single-product div.product > .lec-rpa-recipes {
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 991px) {
  body.single-product div.product div.images,
  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product div.summary,
  body.single-product div.product .summary.entry-summary {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    clear: both !important;
  }
}


.lecux-product-card-profile{margin:4px 0 6px;font-size:12px;line-height:1.35;color:#655f56}

/* Recherche B2C : aucune impasse quand WooCommerce ne trouve pas de correspondance exacte. */
.lecux-search-rescue{max-width:1180px;margin:28px auto 52px;padding:30px;border:1px solid #e8e1d7;border-radius:22px;background:#fffdf9}.lecux-search-rescue__head{max-width:780px}.lecux-search-rescue__head>span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#817568}.lecux-search-rescue__head h2{margin:6px 0 10px;font-size:clamp(24px,3vw,38px);line-height:1.1}.lecux-search-rescue__head p{margin:0;color:#625b53;line-height:1.6}.lecux-search-rescue__actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:18px}.lecux-search-rescue__selection{margin-top:30px;padding-top:24px;border-top:1px solid #eee7dd}.lecux-search-rescue__selection h3{margin:0 0 16px}.lecux-search-rescue__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.lecux-search-rescue-card{display:grid;grid-template-columns:92px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid #eee7dd;border-radius:15px}.lecux-search-rescue-card__image img{display:block;width:92px;height:92px;object-fit:cover;border-radius:11px}.lecux-search-rescue-card span{display:block;margin-bottom:3px;font-size:12px;color:#786f65}.lecux-search-rescue-card h4{margin:0 0 5px;font-size:15px;line-height:1.25}.lecux-search-rescue-card h4 a{text-decoration:none;color:inherit}@media(max-width:780px){.lecux-search-rescue{margin:18px 12px 36px;padding:20px}.lecux-search-rescue__grid{grid-template-columns:1fr}.lecux-search-rescue-card{grid-template-columns:78px 1fr}.lecux-search-rescue-card__image img{width:78px;height:78px}}
