/* =========================================================
   TABLE DES MATIÈRES
   1.  PRODUCT CARD
   2.  ARCHIVE SHOP
   3.  SUBCATEGORIES
   4.  SINGLE PRODUCT
   5.  GALERIE PRODUIT
   6.  VARIATIONS & FORMULAIRE PRODUIT
   7.  QUANTITY COMPONENT
   8.  ADD TO CART BUTTON
   9.  CART
   10. CHECKOUT
   11. MON COMPTE — LAYOUT
   12. MON COMPTE — NAVIGATION
   13. MON COMPTE — CONTENU
   14. MON COMPTE — ADRESSES
   15. MON COMPTE — COMMANDES
   16. LOGIN & REGISTER
   17. LOST PASSWORD
   18. FORMULAIRES COMPTE
   19. MEDIA QUERIES
========================================================= */


/* =========================================================
   1. PRODUCT CARD
========================================================= */

.product-card {
	font-family: var(--font-primary);
	font-weight: normal;
	text-transform: uppercase;
	position: relative;
}

.product-card--normal {
	width: 300px;
}

.product-card--normal .product-card-link {
	background-color: var(--color-bg);
	display: block;
	padding: 7px 7px 15px;
	position: relative;
	box-shadow: var(--shadow-md);
}

.product-card--normal .product-card-img,
.product-card--normal .product-card-placeholder {
	position: relative;
	width: 200px;
	height: 243px;
	object-fit: contain;
	display: flex;
	margin: auto;
}

.product-card--normal .woocommerce-loop-product__link {
	background-color: var(--color-bg);
	display: block;
	padding: 7px 7px 15px;
	position: relative;
	box-shadow: var(--shadow-md);
}

.product-card img {
	width: 100%;
	object-fit: contain;
}

.product-card--mini img {
	aspect-ratio: 1;
}

.product-card .lm-loop-product__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	text-align: center;
	width: 100%;
}

.product-card--normal .lm-loop-product__title {
	font-size: var(--text-xs);
	margin-top: 10px;
}

.product-card--mini .lm-loop-product__title {
	font-size: 10px;
	margin-top: 8px;
}

.product-card__title-wrapper {
	min-height: 2.4em;
	display: flex;
	align-items: center;
}

.product-card--big .product-card__title-wrapper {
	font-size: 26px;
	margin: 30px 0;
}

.price {
	border-top: 1px solid var(--color-border);
	padding-top: 30px;
	font-size: var(--text-md);
	display: flex;
}

.product-card .price {
	justify-content: center;
	gap: 5px;
	padding-top: 15px;
}

.product-card--big .price {
	font-size: 18px;
}

.produitVignette_promo {
	position: absolute;
	background-color: var(--color-promo);
	border-radius: var(--radius-full);
	width: 55px;
	height: 55px;
	right: 7px;
	top: 7px;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	font-weight: bold;
	color: var(--color-bg);
	overflow: hidden;
}

.product-card-button {
	display: flex;
	justify-content: center;
	width: 100%;
}

.product-card-add_to_cart {
	width: 100%;
	height: 48px;
	padding: 10px;
	font-size: var(--text-md);
	display: flex;
	justify-content: center;
	align-items: center;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	color: var(--color-bg);
	border: none;
}

.best_value ul.products,
.related ul.products,
.upsells ul.products {
	background-repeat: unset;
	background-position: unset;
	float: unset;
	padding: 0;
	border: unset;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 20px;
	column-gap: 10px;
	width: 100%;
	margin: 20px 0;
}


/* =========================================================
   SHOP — BOUTON RETOUR CATÉGORIE
========================================================= */

.lm-shop__archive-cat-link .lm-btn__retour {
	background: unset;
	color: var(--color-text-muted);
	font-size: 20px;
	font-family: var(--font-primary);
	border-radius: unset;
	margin: 20px auto;
	float: unset;
	width: fit-content;
	display: flex;
	align-items: center;
	cursor: pointer;
	text-decoration: none;
	padding: 7px;
	gap: 15px;
}

.lm-shop__archive-cat-link .lm-btn__retour .text-link {
	color: var(--color-primary-light);
	font-weight: inherit;
	text-transform: uppercase;
}


/* =========================================================
   2. ARCHIVE SHOP
========================================================= */

.lm-shop__archive-top {
	padding-top: 30px;
	background: unset;
	box-shadow: 0px 5px 6px rgba(0, 0, 0, 0.16);
	position: relative;
}

.lm-shop__archive-title {
	margin-bottom: 15px;
	box-sizing: border-box;
	position: relative;
}

.lm-shop__archive-title h1 {
	font-family: var(--font-heading);
	font-size: 30px;
	font-weight: 600;
	color: var(--color-text);
	margin-bottom: 15px;
	margin-top: 20px;
	text-align: center;
	padding-top: 0;
	padding-bottom: 20px;
}

.lm-archive {
	margin-top: 20px;
}

.lm-shop__categorie {
	display: grid;
	gap: 20px;
}

.lm-shop__categorie.columns-1 { grid-template-columns: 1fr; }
.lm-shop__categorie.columns-2 { grid-template-columns: repeat(2, 1fr); }
.lm-shop__categorie.columns-3 { grid-template-columns: repeat(3, 1fr); }
.lm-shop__categorie.columns-4 { grid-template-columns: repeat(4, 1fr); }

.lm-breadcrumb > span:first-child {
	justify-content: center;
	color: var(--color-text-muted);
	font-size: var(--text-md);
	font-family: var(--font-primary);
	letter-spacing: 1px;
	padding: 0;
	width: 100%;
	height: auto;
	display: flex;
	flex-wrap: wrap;
	text-transform: uppercase;
	box-sizing: border-box;
	margin: 0;
	font-weight: normal;
}

.lm-btn__retour,
.lm-btn__Retour {
	justify-content: space-between;
	padding: 0 15px 20px;
	width: 100%;
	box-sizing: border-box;
	margin-top: 30px;
}

.lm-btn__Retour a {
	display: flex;
	align-items: center;
	color: var(--color-primary-light);
	font-weight: bold;
}

.lm-btn__Retour img {
	margin-right: 10px;
}

.lm-ordering-barre {
	display: flex;
	flex-direction: column;
	background-color: var(--color-bg-muted);
	border-radius: var(--radius-lg);
	align-items: center;
	padding: 11px;
	justify-content: space-between;
	height: auto;
	width: 100%;
	overflow: hidden;
	box-sizing: border-box;
	margin-top: 30px;
	margin-bottom: 30px;
}

.lm-ordering-barre .nombreArticleWrapper,
.facetwp-facet-result_counts {
	width: fit-content;
	font-family: var(--font-heading);
	font-size: 22px;
	font-weight: 600;
	color: var(--color-text-secondary);
}

.selectOptionWrapper {
	font-family: var(--font-primary);
	font-size: 24px;
	color: var(--color-text);
	font-weight: normal;
	background-color: var(--color-bg-muted);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-evenly;
}

.orderby-wrapper {
	position: relative;
}

.orderby-wrapper:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 9px;
	display: inline-block;
	height: 0;
	width: 0;
	border-top: 9px solid var(--color-bg);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	pointer-events: none;
}

.orderby,
.lm-ordering-barre .orderby-wrapper select {
	width: auto;
	border: none;
	border-radius: var(--radius-md);
	appearance: none;
	background: var(--color-primary-light);
	color: var(--color-bg);
	padding: 10px 14px;
	font-size: var(--text-lg);
	box-sizing: border-box;
	cursor: pointer;
}

.orderby:focus-visible {
	outline: 2px solid var(--color-border-focus);
	outline-offset: 2px;
}

ul.products {
	display: grid;
	gap: 20px;
	align-items: center;
	justify-items: center;
	justify-content: center;
	align-content: center;
	grid-template-columns: 1fr;
}

:is(.zone_filtres) .block-title {
	color: var(--color-text-muted);
	font-size: 1.25rem;
	margin: 0;
}

.zone_filtres .block-title {
	margin: 5px 0;
}

.zone_filtres .liste-categories-in,
.zone_filtres .facet-wrap {
	margin: 0 0 25px;
}

.liste-categories-title,
:is(.zone_filtres) .facet-label {
	font-weight: 700;
	color: var(--color-primary-light);
	line-height: 1.1;
	font-size: .875rem;
	margin: 0 0 10px;
	word-break: break-all;
}

.elt_screen {
	display: none;
}


/* =========================================================
   3. SUBCATEGORIES
========================================================= */

.lm-subcategories__top {
	display: block;
	justify-content: center;
}

ul.lm-subcategories__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	padding: 0;
	overflow: hidden;
}

ul.lm-subcategories__grid li {
	display: block;
	float: left;
	width: 120px;
	overflow: hidden;
	border: 0px solid green;
	margin-right: 6px;
	min-height: 210px;
}

ul.lm-subcategories__grid li a,
ul.lm-subcategories__grid li h2:hover {
	font-family: var(--font-primary);
	font-size: var(--text-md);
	color: var(--color-text);
	border: unset;
}

ul.lm-subcategories__grid li h2 {
	display: block;
	width: 100%;
	overflow: hidden;
	font-family: Sanchez;
	font-weight: normal;
	font-size: var(--text-sm);
	color: var(--color-primary-light);
	text-align: center;
}

ul.lm-subcategories__grid li img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto 7px;
	border: 1px solid var(--color-border-cta);
	object-fit: contain;
}

li.lm-subcategories__item a img {
	display: block;
	float: unset;
	margin-right: 2px;
	margin-top: 4px;
}


/* =========================================================
   4. SINGLE PRODUCT
========================================================= */

.lm-single-product {
	margin-bottom: 70px;
	margin-top: 15px;
}

.lm-single-product .product__sku {
	text-align: center;
	font-family: var(--font-primary);
	font-size: var(--text-md);
	font-weight: 300;
	letter-spacing: -0.03em;
	color: var(--color-text-muted);
	margin-top: 10px;
	margin-bottom: 20px;
}

.single-product__top {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.single-product__top--left { order: 1; }

.ficheProduit_slider {
	display: flex;
	flex-direction: column;
}

.single-product__top-sep {
	width: 1px;
	display: block;
	order: 2;
	border-left: 1px dotted;
}

.single-product__top--right {
	margin-left: 0;
	order: 3;
	text-align: center;
	box-sizing: border-box;
	position: relative;
	float: right;
	display: flex;
	flex-direction: column;
}

.single-product__excerpt {
	font-size: var(--text-lg);
	font-weight: 300;
	text-align: left;
	margin-top: 5px;
	margin-bottom: 25px;
}

.single-product__features {
	order: 4;
	margin-top: 20px;
}

.single-product__title--big {
	padding-top: 10px;
	padding-bottom: 7px;
}

.product-features {
	display: flex;
	justify-content: space-between;
}

.product-feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 30%;
	gap: 10px;
	background: var(--color-bg-soft);
	padding: 10px 12px;
	border-radius: var(--radius-md);
}

.product-feature__icon {
	width: auto;
	height: 25px;
}

.product-feature__text {
	font-family: var(--font-primary);
	font-size: var(--text-md);
	color: var(--color-feature-text);
	font-weight: 600;
}

.product-feature__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: var(--color-feature-text);
	text-decoration: none;
}

.product .data .items_nav { display: none; }

.product.info.detailed {
	clear: both;
	margin-top: 13px;
}

.product.info.detailed,
.cart-container,
.checkout-container {
	border-bottom: 4px solid var(--color-cta);
	padding: 10px 0;
}

.product.data.items {
	position: relative;
	z-index: 1;
}

.product.data.items:before,
.product.data.items:after {
	content: '';
	display: table;
}

.items {
	margin: 0;
	padding: 0;
	list-style: none none;
}

.product .data.items .items_nav {
	border-bottom: 1px solid var(--color-border);
	margin: 12px 0;
}

.product .data.items .items_nav .item {
	padding: 15px;
	border: 1px solid var(--color-border);
	border-bottom: none;
	background: var(--color-bg-muted);
	color: var(--color-text-muted);
}

.product .data.items .items_nav .item a {
	color: inherit;
	font-size: 15px;
	font-weight: 700;
}

.data.item.content {
	border: 1px solid var(--color-border);
	width: 100%;
}

.data.item.content .table_caption_container {
	background: var(--color-bg-muted);
	color: var(--color-text-muted);
	padding: 12px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.data.item.content .table_caption_container h2,
.data.item.content .table_caption_container:after {
	padding: 0;
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	border-bottom: none;
	color: inherit;
}

.product .data.item.content .product.attribute .value {
	margin-top: 12px;
	font-size: var(--text-md);
}

.product .data.item.content .product.attribute .value p {
	padding-left: 10px;
}

.table-wrapper {
	margin-bottom: 20px;
}

.table:not(.cart):not(.totals) {
	border: none;
}

.product.info.detailed .additional-attributes {
	width: auto;
}

.product .data .additional-attributes-wrapper .col-wrapper {
	display: flex;
	flex-wrap: wrap;
	padding: 12px;
}

.additional-attributes-wrapper .col-wrapper .col-container {
	width: 50%;
}

.product .data .additional-attributes-wrapper .col-wrapper .col-container {
	display: flex;
	margin: 0 0 15px;
	color: var(--color-text-secondary);
	font-size: var(--text-md);
	padding-bottom: 15px;
	border-bottom: 1px solid var(--color-border);
}

.additional-attributes-wrapper .col-wrapper .col-container:nth-child(2n) .col.label {
	margin-left: 12px;
}

.product .data .additional-attributes-wrapper .col-wrapper .col-container .label {
	width: 40%;
	font-weight: 700;
}

.additional-attributes-wrapper .col-wrapper .col-container:nth-child(2n+1) .col.data {
	border-right: 1px solid var(--color-border);
}

.product .data .additional-attributes-wrapper .col-wrapper .col-container .data {
	width: 60%;
	padding-right: 20px;
	overflow-wrap: break-word;
}

.product .data.items > :not(.items_nav) {
	gap: 10px;
}

.product .data.item.content .table_caption_container:after {
	content: '\002B';
}

.product .data.item.content.active .table_caption_container:after {
	content: '\2212';
}

.deskTitle { display: none; }
.product_sep { display: none; }


/* =========================================================
   5. GALERIE PRODUIT — FLEXSLIDER
========================================================= */

.woocommerce-product-gallery {
	display: flex;
	flex-direction: column;
	position: relative;
}

.flex-viewport {
	order: 1;
	width: 100%;
}

.woocommerce-product-gallery__image {
	height: 475px;
}

.woocommerce-product-gallery__image img {
	height: 475px;
	width: 100%;
	object-fit: contain;
}

ol.flex-control-thumbs {
	order: 2;
	display: flex;
	flex-direction: row;
	gap: 8px;
	padding: 10px 0 0;
	margin: 0;
	list-style: none;
}

ol.flex-control-thumbs li {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
}

ol.flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
	opacity: 0.6;
	transition: opacity 0.2s;
	border: 2px solid transparent;
}

ol.flex-control-thumbs li img.flex-active {
	opacity: 1;
	border-color: var(--color-primary);
}

.woocommerce-product-gallery__trigger {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: var(--shadow-md);
}

.woocommerce-product-gallery__trigger span {
	display: none;
}

.woocommerce-product-gallery__trigger::after {
	content: "";
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}


/* =========================================================
   6. VARIATIONS & FORMULAIRE PRODUIT
========================================================= */

.variations_form.cart {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: 100%;
}

.variation-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 10px 0;
	border-bottom: 1px solid var(--color-border-light);
}

.variation-label { flex: 1; }

.variation-label label {
	font-size: 15px;
	font-weight: 600;
	color: var(--color-text-secondary);
}

.variation-value {
	flex: 1.5;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.variation-select {
	width: 100%;
	max-width: 260px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	appearance: none;
	background: var(--color-primary-light);
	color: var(--color-bg);
	padding: 10px 40px 10px 12px;
	font-size: 15px;
	box-sizing: border-box;
	cursor: pointer;
}

.reset_variations {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	text-decoration: none;
	padding: 6px 10px;
	border-radius: var(--radius-sm);
	white-space: nowrap;
}

.reset_variations:hover { background: var(--color-bg-muted); }

.woocommerce-variation-availability { display: none; }

.single_variation_wrap {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

.variation-add-to-cart {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}

.woocommerce-variation-price {
	display: flex;
	align-items: center;
}

.woocommerce-variation-price .price {
	font-size: 30px;
	font-weight: 700;
	line-height: 1;
	color: var(--color-text);
	border: none;
}

.woocommerce-variation-price .lm-currencySymbol {
	font-size: var(--text-md);
	font-weight: 600;
	margin-left: 4px;
}

.variation-price .price { border: none; }

.produit_ajaxInfoProduit {
	display: flex;
	flex-direction: row;
	height: 100px;
	box-shadow: var(--shadow-md);
	border-radius: var(--radius-md);
	padding: 10px;
	gap: 15px;
	justify-content: space-between;
}

.single_variation { align-content: center; }

.produit_infosChoixPanier_infos,
.single_variation {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-primary);
	position: unset;
	margin: auto 0;
	max-width: 160px;
	width: 100%;
	flex-direction: column;
	display: flex;
	text-align: left;
	flex: 1;
}

.produit_infosChoixPanier_infos ins,
.single_variation ins { text-decoration: none; }

.produit_infosChoixPanier_infos del,
.single_variation del {
	font-size: var(--text-md);
	color: var(--color-text-placeholder);
	width: 100%;
}

.details_sep_wrapper {
	position: relative;
	width: 5px;
	background-color: var(--color-border);
}

.produit_quantite_wrapper {
	font-size: 22px;
	font-weight: 700;
	color: var(--color-primary);
	position: unset;
	max-width: 160px;
	width: 100%;
	flex-direction: column;
	display: flex;
	align-items: center;
	text-align: left;
	flex: 1;
}

.promotion_produit {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: bold;
	width: 60px;
	height: 60px;
	position: absolute;
	right: 0;
	top: 13.5%;
	left: 10px;
	margin-left: auto;
	margin-right: auto;
	transform: translate(-40px);
	background: var(--color-promo);
	border-radius: var(--radius-full);
	color: var(--color-bg);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0;
	z-index: 1;
}

.select-loura_wrapper {
	position: relative;
	width: calc(100% - 222px);
}

.select-loura {
	width: 100%;
	border: none;
	border-radius: var(--radius-sm);
	appearance: none;
	background: var(--color-primary-light);
	color: var(--color-bg);
	padding: 6px 24px 6px 7px;
	font-size: 18px;
	max-width: 100%;
	box-sizing: border-box;
	cursor: pointer;
}

.select-loura_wrapper:after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 9px;
	display: inline-block;
	height: 0;
	width: 0;
	border-top: 9px solid var(--color-bg);
	border-right: 6px solid transparent;
	border-left: 6px solid transparent;
	pointer-events: none;
}

.single-product__add_to_cart form.cart {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
}


/* =========================================================
   7. QUANTITY COMPONENT
========================================================= */

.product-quantity {
	position: relative;
	width: 100%;
	max-width: 130px;
}

.produit_quantite_wrapper {
	width: 100%;
	height: fit-content;
	margin: auto 0;
}

.field.qty .control {
	position: relative;
	width: 100%;
}

.product-quantity .quantity,
.quantity {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.quantity input[type="number"].qty {
	width: 110px;
	height: 100%;
	padding: 0 28px 0 8px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg);
	text-align: center;
	font-family: var(--font-heading);
	font-size: 40px;
	font-weight: bold;
	appearance: textfield;
	-moz-appearance: textfield;
	box-sizing: border-box;
}

.product-quantity .quantity input[type="number"].qty {
	height: 44px;
	font-size: var(--text-md);
}

.quantity input.qty {
	width: 60px;
	text-align: center;
	border: none;
	font-size: var(--text-lg);
	outline: none;
}

.product-quantity .quantity input[type="number"].qty:focus,
.quantity input[type="number"].qty:focus {
	outline: 2px solid var(--color-border-focus);
	outline-offset: 1px;
}

/* Masquer les flèches natives */
.product-quantity .quantity input[type="number"].qty::-webkit-inner-spin-button,
.product-quantity .quantity input[type="number"].qty::-webkit-outer-spin-button,
.quantity input[type="number"].qty::-webkit-inner-spin-button,
.quantity input[type="number"].qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Navigation +/- */
.product-quantity .quantity-nav,
.quantity-nav {
	position: absolute;
	top: 0;
	right: 0;
	width: 36px;
	height: 100%;
	display: flex;
	flex-direction: column;
	z-index: 5;
}

.product-quantity .quantity-button,
.quantity-button {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 22px;
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	cursor: pointer;
	transition: all var(--transition-fast);
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	box-sizing: border-box;
	position: relative;
	z-index: 10;
	font-size: 0;
	pointer-events: auto;
}

.product-quantity .quantity-button.quantity-up,
.quantity-button.quantity-up {
	border-radius: 0 3px 0 0;
	border-bottom: none;
}

.product-quantity .quantity-button.quantity-down,
.quantity-button.quantity-down {
	border-radius: 0 0 3px 0;
	border-top: none;
}

.product-quantity .quantity-button:hover,
.quantity-button:hover { background: var(--color-bg-muted); }

.product-quantity .quantity-button:active,
.quantity-button:active {
	background: var(--color-border);
	transform: scale(.95);
}

.product-quantity .quantity-button:focus-visible,
.quantity-button:focus-visible {
	outline: 2px solid var(--color-border-focus);
	outline-offset: 2px;
}

.product-quantity .quantity-button:before,
.quantity-button:before {
	display: block;
	font-weight: bold;
	line-height: 1;
	font-size: 18px;
}

.product-quantity .quantity-button.quantity-up:before,
.quantity-button.quantity-up:before {
	content: "\002B";
	font-size: 20px;
}

.product-quantity .quantity-button.quantity-down:before,
.quantity-button.quantity-down:before {
	content: "\2212";
	font-size: 22px;
	margin-top: -2px;
}

.product-quantity .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}

.update-cart-button {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}


/* =========================================================
   8. ADD TO CART BUTTON
========================================================= */

/* --- Bouton principal — page produit --- */
.btnAjoutPanier {
	width: 100%;
	height: 52px;
	border: none;
	border-radius: var(--radius-md);
	background: var(--color-cta);
	color: var(--color-bg);
	font-size: var(--text-lg);
	font-weight: 600;
	font-family: var(--font-heading);
	cursor: pointer;
	transition: var(--transition-fast);
}
.btnAjoutPanier:hover { background: var(--color-cta-hover); }
.btnAjoutPanier:active { transform: scale(.98); }


/* --- Conteneur — archive / boucle produits --- */
.product-card-button {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}


/* --- Bouton "Ajouter au panier" — archive --- */
.product-card-button .add_to_cart_button {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	text-align: center;
	white-space: nowrap;
	background: var(--color-cta);
	color: var(--color-bg);
	font-size: var(--text-md);
	font-weight: 600;
	font-family: var(--font-heading);
	border: none;
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: background var(--transition-fast);
	box-sizing: border-box;
	padding: 0;
}
.product-card-button .add_to_cart_button:hover {
	background: var(--color-cta-hover);
	color: var(--color-bg);
}


/* --- Message temporaire "✓ Produit ajouté" --- */
.lm-added-msg {
	display: block;
	width: 100%;
	height: 48px;
	line-height: 48px;
	text-align: center;
	background: var(--color-success-cta);
	color: var(--color-bg);
	font-size: var(--text-md);
	font-weight: 600;
	font-family: var(--font-heading);
	border-radius: var(--radius-md);
	box-sizing: border-box;
}


/* --- Bouton "Voir le panier" --- */
a.added_to_cart.wc-forward {
	display: none;
	width: 100%;
	height: 48px;
	line-height: 48px;
	text-align: center;
	background: var(--color-primary);
	color: var(--color-bg);
	font-size: var(--text-md);
	font-weight: 600;
	font-family: var(--font-heading);
	text-decoration: none;
	border-radius: var(--radius-md);
	transition: background var(--transition-fast);
	box-sizing: border-box;
}

a.added_to_cart.wc-forward:hover {
	background: var(--color-primary-hover);
	color: var(--color-bg);
}
/* =========================================================
   9. CART
========================================================= */

.cart-container {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	box-sizing: border-box;
	border-bottom: 4px solid var(--color-cta);
	padding: 10px 0;
}

.lm-cart-form__contents { margin-bottom: 20px; }

.lm-cart-form__cart-item {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	padding: 15px 20px;
	position: relative;
}

.lm-cart-form__cart-item:not(:first-child) { margin-top: 1.25rem; }

.lm-cart-form__cart-item h2 {
	font-size: 1.25rem;
	margin: 0;
	padding-bottom: 15px;
	max-width: 80%;
	text-wrap: pretty;
}

.cart-item__content {
	display: flex;
	justify-content: space-between;
}

.cart-item__img img {
	width: 120px;
	max-width: unset;
	height: 100px;
	object-fit: contain;
}

.cart-item__options {
	max-width: 450px;
	width: 100%;
}

.cart-item__options dl {
	margin: 0;
	font-size: .8125rem;
}

.cart-item__options dl:before,
.cart-item__options dl:after {
	display: block;
	content: '';
	clear: both;
}

.cart-item__options dt {
	clear: left;
	float: left;
	margin: 0;
}

.cart-item__side {
	flex-basis: 30%;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.cart-item__content .cart-item__side { flex-grow: .5; }

.cart-item__price {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	text-align: right;
}

.cart-item__content .cart-item__side .product-quantity { min-width: 50px; }

.cart-item__price-details .product-subtotal {
	display: block;
	font-size: 1.25rem;
	line-height: 1;
}

.cart-item__price-details .product-price {
	color: var(--color-text-muted);
	font-weight: 400;
	font-size: .625rem;
}

.cart-item__price__unit :is(span, .price) {
	display: inline;
	font-weight: inherit;
	font-size: inherit;
}

.cart-item .unavailable-notice {
	margin: 8px 0 15px;
	font-size: 1.2rem;
	text-align: left;
	text-wrap: balance;
	color: var(--color-error);
}

.cart-item__actions { text-align: right; }

.cart-item__actions a {
	font-family: var(--font-primary);
	font-style: normal;
	font-weight: 400;
	font-size: var(--text-xs);
	color: var(--color-primary-light);
	text-decoration: none;
}

.cart-item__actions a:hover { text-decoration: underline; }

.cart_totals {
	position: sticky;
	top: 0px;
	border: solid var(--color-border);
	border-width: 2px;
	border-top-color: var(--color-cta);
	border-top-width: 4px;
	background: var(--color-bg);
	padding-bottom: 15px;
	padding-left: 0;
	padding-right: 0;
}

.cart_totals h2 {
	padding: 0 15px;
	font-weight: 700;
	color: var(--color-primary);
	font-size: 1.125rem;
	display: block;
	line-height: 1.1;
	margin-top: .9375rem;
	margin-bottom: 0;
}

.cart_totals .shop_table {
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	max-width: 100%;
	background: var(--color-bg);
	border: 1px solid var(--color-bg);
}

.cart_totals .shop_table tbody {
	display: table;
	width: 100%;
}

.cart_totals table.shop_table tr td { padding: 8px 15px; }

.cart_totals table.shop_table td.value {
	text-align: right;
	white-space: nowrap;
}
.cart_totals table.shop_table tr.shipping td.value {
	white-space: normal;
}

.cart .price,
.cart-summary .price,
.order-summary .price {
	border: none;
	padding: 0;
	text-align: right;
	white-space: nowrap;
	justify-content: flex-end;
}

.cart-totals .woocommerce-Price-amount,
.checkout-review-order .woocommerce-Price-amount { font-weight: normal; }

.cart-totals .price .woocommerce-Price-amount,
.checkout-review-order .price .woocommerce-Price-amount { font-weight: bold; }

.cart-discount { background-color: var(--color-bg-muted); }

.wc-proceed-to-checkout {
	padding: 0 15px;
	margin-top: 20px;
	text-align: center;
}

.wc-proceed-to-checkout .checkout-button {
	width: 100%;
	text-transform: uppercase;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.375rem;
	padding: 14px 17px;
}

.cart-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.7);
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cart-overlay .loader {
	border: 5px solid var(--color-bg-muted);
	border-top: 5px solid var(--color-text-secondary);
	border-radius: var(--radius-full);
	width: 50px;
	height: 50px;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.cart-overlay .loader { animation: none; }
}

.cart-actions-wrapper {
	margin-top: 30px;
	padding: 15px 20px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-bg-soft);
}

.actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}

.coupon.lm-coupon-form {
	flex: 2;
	min-width: 280px;
	border-radius: var(--radius-sm);
}

.coupon.lm-coupon-form .title { margin-bottom: 8px; }

.coupon.lm-coupon-form .title strong {
	display: inline-block;
	font-size: var(--text-lg);
	font-weight: 600;
	color: var(--color-text-secondary);
	padding-left: 10px;
	border-left: 3px solid var(--color-cta-secondary);
}

.coupon-input-group {
	display: flex;
	gap: 12px;
	align-items: center;
}

.coupon-input {
	flex: 1;
	padding: 12px 14px;
	font-size: var(--text-md);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background-color: var(--color-bg);
	font-family: inherit;
}

.coupon-input:focus {
	outline: none;
	border-color: var(--color-border-focus);
	box-shadow: var(--shadow-focus);
}

.coupon-apply-button {
	padding: 12px 24px;
	background-color: var(--color-cta-secondary);
	text-transform: uppercase;
	color: var(--color-bg);
	border: none;
	border-radius: var(--radius-sm);
	font-size: var(--text-md);
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
}

.coupon-apply-button:hover,
.coupon-apply-button:active { background-color: var(--color-cta-secondary-hover); }

.coupon-info-text {
	margin-top: 6px;
	padding: 4px 0;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	line-height: 1.4;
}

.actions .coupon > .title {
	border-top: none;
	padding: 4px 0;
	pointer-events: none;
	margin-left: 0;
	font-weight: 700;
	color: var(--color-primary);
	font-size: 1.125rem;
}

.actions .coupon > .fieldset {
	margin: 15px 0 25px 5px;
	display: flex;
	justify-content: space-between;
}

.actions .coupon :is(.field) { width: 65%; }

.field.actions-toolbar {
	vertical-align: middle;
	width: 35%;
}

.actions .coupon .actions-toolbar .button {
	line-height: 1.42857143;
	font-weight: 700;
	text-transform: uppercase;
	padding: 7px 15px;
	display: inline-block;
	text-decoration: none;
	background: var(--color-primary);
	color: var(--color-bg);
	opacity: 1;
}

.back-to-cart-wrapper {
	margin: 20px 0 30px;
	text-align: left;
}

.back-to-cart-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--color-cta-secondary);
	border: none;
	border-radius: var(--radius-sm);
	padding: 12px 24px;
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-bg);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: background var(--transition-slow);
	box-shadow: 0 2px 8px rgba(255, 107, 53, 0.3);
}

.back-to-cart-btn:hover {
	background: var(--color-cta-secondary-hover);
	box-shadow: 0 4px 12px rgba(255, 107, 53, 0.4);
	color: var(--color-bg);
}

.back-to-cart-btn img {
	width: 16px;
	height: 16px;
	filter: brightness(0) invert(1);
	transition: transform 0.3s ease;
}

.cart-summary,
.order-summary {
	background: var(--color-bg-soft);
	padding: 1px 15px 25px;
	float: right;
	position: relative;
	width: 23%;
}

.cart-container .cart-summary,
.checkout-container .order-summary {
	position: sticky;
	border: 1px solid var(--color-border);
	border-width: 2px;
	border-top-color: var(--color-success-cta);
	border-top-width: 4px;
	background: var(--color-bg);
	padding-bottom: 15px;
	padding-left: 0;
	padding-right: 0;
	width: 25%;
}

.cart-container .checkout-methods-items {
	margin-top: 20px;
	text-align: center;
}

.cart-container .cart-summary .checkout-methods-items,
.checkout-container .order-summary .checkout-methods-items,
.checkout-container .order-summary .checkout-payment {
	padding: 0 15px;
}

.action.primary,
.action-primary {
	background: var(--color-primary);
	border: none;
	color: var(--color-bg);
	cursor: pointer;
	display: inline-block;
	font-family: var(--font-primary);
	font-weight: 400;
	padding: 6px 20px;
	font-size: var(--text-md);
	line-height: 32px;
	box-sizing: border-box;
	vertical-align: middle;
}
.action.checkout-button {
	font-weight: 700;
} 
.cart-container .checkout-methods-items .action.primary,
.checkout-container .place-order .action.primary { width: 100%; }

.cart-container .cart-summary .action.checkout,
.action.button_payment {
	color: var(--color-bg);
	background: var(--color-success-cta);
	text-transform: uppercase;
	font-size: var(--text-md);
	font-weight: 700;
	line-height: 22px;
	padding: 14px 17px;
}

.cart-container .cart-summary .action.checkout:hover,
.action.button_payment:hover {
	background: var(--color-success-cta-hover);
}

.cart-summary .block > .title,
.order-summary .block > .title {
	border-top: 1px solid var(--color-border);
	cursor: pointer;
	font-weight: 600;
	display: block;
	text-decoration: none;
	margin-bottom: 0;
	overflow: hidden;
	padding: 7px 30px 7px 5px;
	position: relative;
}

.cart-container .cart-summary .title,
.checkout-container .order-summary .title {
	padding: 0 15px;
	font-weight: 700;
	font-size: 18px;
}

.cart-summary > .title,
.order-summary > .title {
	display: block;
	font-weight: 300;
	line-height: 1.1;
	font-size: var(--text-lg);
	margin-top: 15px;
	margin-bottom: 0;
}

.cart-container .cart-summary .block.shipping .title,
.checkout-container .order-summary .block.shipping .title { display: none; }

.cart-totals .table-wrapper,
.checkout-container .table-wrapper {
	margin-bottom: 0;
	overflow: inherit;
}

.cart-container .cart-summary .cart-totals table.totals tbody,
.checkout-container .order-summary .checkout-review-order table.totals tbody {
	display: table;
	width: 100%;
}

.cart-totals .mark,
.opc-block-summary .table-totals .mark,
.checkout-review-order .mark {
	font-weight: 400;
	padding-left: 4px;
}

.cart-container .cart-summary .block.discount,
.checkout-container .order-summary .block.discount {
	margin-top: .5rem;
	padding: 0 15px;
}

.cart-container .cart-summary .block.discount .title,
.checkout-container .order-summary .block.discount .title {
	border-top: none;
	padding: 4px 0;
	pointer-events: none;
	margin-bottom: -15px;
	margin-left: 0;
}

.cart-container .cart-summary .block.discount .title strong,
.checkout-container .order-summary .block.discount .title strong {
	font-weight: 700;
	color: var(--color-primary);
	font-size: 18px;
}

.cart-container .cart-summary .cart-totals .grand.totals.incl :is(.mark, .amount) strong,
.checkout-container .order-summary .checkout-review-order .grand.totals.incl :is(.mark, .amount) strong {
	font-weight: 700;
	font-size: var(--text-lg);
}

.cart-container .cart-summary .block.discount .content,
.checkout-container .order-summary .block.discount .content { display: block; }

.cart-summary .block .fieldset,
.order-summary .block .fieldset { margin: 15px 0 25px 5px; }

.cart-summary .block .fieldset .field,
.order-summary .block .fieldset .field { margin: 0 0 10px; }

.cart-container .cart-summary .block.discount .content .coupon :is(.field, .primary, .actions-toolbar),
.checkout-container .order-summary .block.discount .content .coupon :is(.field, .primary, .actions-toolbar) { width: 100%; }

.fieldset > .field:before,
.fieldset > .field:after,
.actions-toolbar:before,
.actions-toolbar:after {
	content: '';
	display: table;
}

.fieldset > .field:after,
.actions-toolbar:after { clear: both; }

.cart-summary .block .fieldset .field > .label,
.order-summary .block .fieldset .field > .label {
	margin: 0;
	display: inline-block;
}

.cart-summary .block .fieldset .field:not(.choice) > .control,
.order-summary .block .fieldset .field:not(.choice) > .control {
	float: none;
	width: auto;
}

.cart-container .cart-summary .block.discount .coupon input[type="text"],
.checkout-container .order-summary .block.discount .coupon input[type="text"] {
	background: var(--color-bg);
	border: 1px solid var(--color-text-muted);
	border-radius: 0;
	font-family: var(--font-primary);
	font-size: var(--text-sm);
	height: 35px;
	line-height: 1.42857143;
	padding: 0 15px;
	width: 100%;
	box-sizing: border-box;
}

.cart-container .cart-summary .block.discount .coupon input::placeholder,
.checkout-container .order-summary .block.discount .coupon input::placeholder { font-style: italic; }

.actions-toolbar { text-align: right; }

.cart-container .cart-summary .block.discount .content .coupon .actions-toolbar button,
.checkout-container .order-summary .block.discount .coupon .actions-toolbar button {
	width: 100%;
	line-height: 23px;
	text-transform: uppercase;
	color: var(--color-bg);
	background: var(--color-primary);
	margin: 0;
	padding: 6px 10px;
	font-size: var(--text-sm);
	font-weight: 700;
	height: 35px;
	cursor: pointer;
}

.block p:last-child { margin: 0; }

.checkout-container .order-summary .block.discount .content .coupon-error-notice,
p.coupon-error-notice {
	font-size: var(--text-base);
	color: var(--color-error);
}

p.checkout-inline-error-message {
	color: var(--color-error);
	font-size: var(--text-xs);
}
.woocommerce-notices-wrapper .woocommerce-message {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #eff6ff;
    border: 1px solid #a8d5f0;
    border-radius: 4px;
    padding: 8px 12px;
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    color: #00457c;
    font-weight: 500;
}
.woocommerce-notices-wrapper .woocommerce-message {
    max-width: 73%;
}
.lm-single-product .woocommerce-message {
    max-width: 100%;
}
.woocommerce-notices-wrapper .woocommerce-message::before {
    content: '';
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #cfe5fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2300457c' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") center / 14px no-repeat;
    flex-shrink: 0;
}

.woocommerce-notices-wrapper .woocommerce-message a.restore-item {
    font-size: 12px;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    background: #00457c;
    padding: 5px 12px;
    border-radius: 4px;
    transition: background 0.15s ease;
}

.woocommerce-notices-wrapper .woocommerce-message a.restore-item:hover {
    background: #003560;
}

/* =========================================================
   10. CHECKOUT
========================================================= */

.col2-set {
	display: flex;
	justify-content: space-between;
	gap: 2%;
	margin: 0;
	width: 100%;
}

.col2-set .col-1 {
	width: 73%;
	float: left;
	position: relative;
}

.col2-set .col-2 {
	width: 25%;
	float: right;
	position: relative;
}

#payment { margin-top: 20px; }

#payment ul.payment_methods {
	list-style: none;
	margin: 0;
	padding: 15px;
}

#payment ul.payment_methods li {
	margin-bottom: 8px;
	padding: 5px 6px;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	transition: all var(--transition-fast);
	cursor: pointer;
}

#payment ul.payment_methods li:hover {
	border-color: var(--color-primary-light);
	background: var(--color-bg-soft);
}

#payment ul.payment_methods li:has(input:checked) {
	border-color: var(--color-success-cta);
	background: var(--color-success-bg);
}

#payment ul.payment_methods li input[type="radio"] { display: none; }

#payment ul.payment_methods li label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
	font-size: var(--text-base);
	cursor: pointer;
	margin: 0;
}

/* Icônes paiement via SVG inline — accessibles et stylables */
#payment ul.payment_methods li label:before {
	content: "";
	width: 18px;
	height: 18px;
	display: inline-block;
	flex-shrink: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2300457c' stroke-width='1.5'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cline x1='2' y1='10' x2='22' y2='10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#payment ul.payment_methods li:has(#payment_method_cod) label:before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2300457c' stroke-width='1.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v2m0 8v2M9 9a3 3 0 0 1 6 0c0 2-3 3-3 5'/%3E%3C/svg%3E");
}

#payment .payment_box {
	margin-top: 8px;
	margin-left: 32px;
	padding: 8px 10px;
	background: var(--color-bg-soft);
	border-radius: var(--radius-md);
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	line-height: 1.4;
	border-left: 2px solid var(--color-success-cta);
}

.form-row.place-order {
	margin-top: 0;
	padding: 0;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 20px;
	padding: 0 15px;
}

.woocommerce-privacy-policy-text {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	margin-bottom: 15px;
	line-height: 1.5;
}

.woocommerce-privacy-policy-text a {
	color: var(--color-primary-light);
	text-decoration: underline;
}

.woocommerce-privacy-policy-text a:hover { color: var(--color-primary-light-hover); }

.woocommerce-terms-and-conditions {
	background: var(--color-bg);
	padding: 15px;
	border-radius: var(--radius-md);
	margin-bottom: 15px;
	border: 1px solid var(--color-border);
	font-size: var(--text-sm);
	line-height: 1.5;
	color: var(--color-text-muted);
	max-height: 200px;
	overflow-y: auto;
}

.woocommerce-terms-and-conditions h2,
.woocommerce-terms-and-conditions h3 {
	font-size: var(--text-md);
	font-weight: 600;
	margin: 10px 0 5px;
	color: var(--color-text-secondary);
}

.woocommerce-terms-and-conditions p { margin-bottom: 8px; }

.woocommerce-form__label-for-checkbox {
	display: flex;
	cursor: pointer;
	margin: 7px 0;
}

.woocommerce-form__input-checkbox {
	width: 16px;
	height: 16px;
	margin-right: 10px;
	cursor: pointer;
	accent-color: var(--color-primary);
}

.woocommerce-terms-and-conditions-checkbox-text {
	font-size: var(--text-base);
	color: var(--color-text-secondary);
}

.woocommerce-terms-and-conditions-checkbox-text a {
	color: var(--color-primary-light);
	text-decoration: underline;
}

.woocommerce-terms-and-conditions-checkbox-text a:hover { color: var(--color-primary-light-hover); }

.required {
	color: var(--color-error);
	text-decoration: none;
	font-size: var(--text-md);
	margin-left: 2px;
}

.checkout_place_order {
	padding: 0 15px;
	margin-top: 20px;
	text-align: center;
}

.checkout_place_order .button_checkout_place_order {
	width: 100%;
	text-transform: uppercase;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.375rem;
	padding: 14px 17px;
}

#place_order {
	background: var(--color-primary);
	border: none;
	color: var(--color-bg);
	cursor: pointer;
	display: inline-block;
	font-family: var(--font-primary);
	font-weight: 700;
	padding: 6px 20px;
	font-size: var(--text-md);
	line-height: 32px;
	box-sizing: border-box;
	vertical-align: middle;
}

.billing-fields__field-wrapper {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.form-row.unChampIdentification {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-bottom: 5px;
	width: 100%;
}

.form-row.unChampIdentification label,
.txt_commande_titre {
	width: 222px;
	flex-shrink: 0;
	font-size: 1rem;
	font-weight: 300;
	color: var(--color-text);
	margin: 0;
	line-height: 2em;
}

.form-row.unChampIdentification label .required {
	color: var(--color-error);
	text-decoration: none;
}

.form-row.unChampIdentification label .optional {
	font-weight: normal;
	font-size: var(--text-md);
	color: var(--color-text-placeholder);
}

.form-row.unChampIdentification .input-wrapper,
.form-row.notes .input-wrapper { width: calc(100% - 222px); }

.form-row.unChampIdentification .input-wrapper,
.form-row.unChampIdentification .woocommerce-input-wrapper { flex: 1; }

.form-row.unChampIdentification .input-text {
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	padding: 2px 6px;
	margin: 2px 0;
	border: 2px solid var(--color-border);
	box-sizing: border-box;
	width: 100%;
	font-size: var(--text-lg);
	font-family: var(--font-primary);
	transition: all var(--transition-slow);
	background: var(--color-bg);
}

.billing-form-wrapper .form-row.unChampIdentification .input-text:focus {
	border-color: var(--color-border-focus);
	outline: none;
	box-shadow: var(--shadow-focus);
}

.form-row.unChampIdentification .input-text::placeholder,
.champ_multitexte_identification2::placeholder {
	font-size: var(--text-base);
	font-style: italic;
	color: var(--color-text-placeholder);
}

.champ_multitexte_identification2 {
	margin: 0 auto;
	height: 200px;
	width: 100%;
	background-color: var(--color-bg);
	border: 3px solid var(--color-border);
	border-radius: 5px;
}

.billing-form-wrapper .champ_multitexte_identification2:focus {
	border-color: var(--color-border-focus);
	outline: none;
	box-shadow: var(--shadow-focus);
}

.billing-form-wrapper,
.shiiping-form-wrapper {
	background: var(--color-bg);
	margin-bottom: 25px;
	border: 2px solid var(--color-border);
}

.lm-billing-fields,
.woocommerce-additional-fields { padding: 15px; }

#order_review_heading {
	font-family: var(--font-heading);
	font-size: 24px;
	font-weight: 600;
	color: var(--color-primary-light);
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--color-border);
}

.woocommerce-error {
	background: var(--color-error-bg);
	color: var(--color-error);
	border: 1px solid var(--color-error-border);
	border-radius: var(--radius-md);
	padding: 12px 15px;
	margin: 10px 0 20px;
	list-style: none;
	font-size: var(--text-md);
}

.woocommerce-error li { margin: 5px 0; }

.woocommerce-checkout-payment .place-order noscript {
	display: block;
	background: var(--color-warning-bg);
	border: 1px solid var(--color-warning-border);
	border-radius: var(--radius-md);
	padding: 12px;
	margin-bottom: 15px;
	color: var(--color-warning-text);
	font-size: var(--text-base);
}


/* =========================================================
   11. MON COMPTE — LAYOUT
========================================================= */

.lm-page__compte {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 30px;
	align-items: start;
	padding: 40px 0 60px;
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
}

.lm-page__compte-navigation,
.lm-page__compte-content,
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
	float: none;
	width: auto;
}

.woocommerce-MyAccount-content .col2-set {
	margin: 0;
	display: block;
}

.woocommerce-MyAccount-content .col-1,
.woocommerce-MyAccount-content .col-2 {
	max-width: none;
	padding: 0;
}


/* =========================================================
   12. MON COMPTE — NAVIGATION
========================================================= */

.lm-page__compte-navigation {
	grid-column: 1;
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 28px 20px;
	box-shadow: var(--shadow-md);
	position: sticky;
	top: 0;
	transition: all var(--transition-slow);
}

.lm-page__compte-navigation::before {
	content: "Mon compte";
	display: block;
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-primary);
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 2px solid var(--color-primary-light);
	letter-spacing: -0.2px;
}

.lm-page__compte-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lm-page__compte-navigation-link {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lm-page__compte-navigation-link a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: var(--radius-lg);
	text-decoration: none;
	font-family: var(--font-primary);
	font-size: 15px;
	font-weight: 500;
	color: var(--color-text);
	transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
}

.lm-page__compte-navigation-link a::before {
	content: "";
	width: 22px;
	height: 22px;
	display: inline-flex;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.7;
	transition: opacity var(--transition-fast);
}

.lm-page__compte-navigation-link--dashboard a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232c3e50' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6'/%3E%3C/svg%3E"); }
.lm-page__compte-navigation-link--orders a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232c3e50' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z'/%3E%3C/svg%3E"); }
.lm-page__compte-navigation-link--downloads a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232c3e50' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4'/%3E%3C/svg%3E"); }
.lm-page__compte-navigation-link--edit-address a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232c3e50' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z'/%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M15 11a3 3 0 11-6 0 3 3 0 016 0z'/%3E%3C/svg%3E"); }
.lm-page__compte-navigation-link--edit-account a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%232c3e50' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z'/%3E%3C/svg%3E"); }
.lm-page__compte-navigation-link--customer-logout a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23dc3545' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1'/%3E%3C/svg%3E"); }

.lm-page__compte-navigation-link a:hover {
	background: var(--gradient-nav-hover);
	transform: translateX(4px);
	color: var(--color-primary);
}

.lm-page__compte-navigation-link a:hover::before { opacity: 1; }

.lm-page__compte-navigation-link.is-active a {
	background: var(--gradient-primary);
	color: var(--color-bg);
	box-shadow: 0 4px 12px rgba(0, 69, 124, 0.25);
}

.lm-page__compte-navigation-link.is-active a::before {
	filter: brightness(0) invert(1);
	opacity: 1;
}

.lm-page__compte-navigation-link--customer-logout a { color: var(--color-error); }

.lm-page__compte-navigation-link--customer-logout.is-active a {
	background: var(--gradient-danger);
	color: var(--color-bg);
}


/* =========================================================
   13. MON COMPTE — CONTENU
========================================================= */

.lm-page__compte-content {
	grid-column: 2;
	min-width: 0;
	background: var(--color-bg);
	border-radius: var(--radius-md);
	transition: all var(--transition-slow);
}

.lm-page__compte-content > h1,
.lm-page__compte-content .woocommerce-MyAccount-content > h1,
.lm-page__compte-content .woocommerce-MyAccount-content > h2,
.lm-page__compte-content > h2 {
	font-family: var(--font-heading);
	font-size: var(--text-3xl);
	font-weight: 600;
	color: var(--color-primary);
	margin-top: 0;
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 2px solid var(--color-primary-light);
	display: inline-block;
	letter-spacing: -0.3px;
}

.lm-dashboard__welcome {
	font-size: var(--text-xl);
	font-family: var(--font-heading);
	font-weight: 600;
	text-align: left;
	margin-bottom: 12px;
	color: var(--color-primary);
	word-break: break-word;
}

.lm-dashboard__description {
	font-size: var(--text-md);
	font-weight: 400;
	font-family: var(--font-primary);
	text-align: left;
	color: var(--color-text-secondary);
	line-height: 1.6;
}

.lm-dashboard__description span {
	font-size: var(--text-lg);
	font-weight: 600;
	color: var(--color-cta);
	font-family: var(--font-heading);
	display: block;
	margin-bottom: 8px;
}

.lm-dashboard__description a {
	color: var(--color-primary-light);
	text-decoration: none;
}

.lm-dashboard__description a:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

.woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--color-bg);
	border-radius: var(--radius-xl);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
	margin-bottom: 30px;
}

.woocommerce-MyAccount-content table.shop_table th {
	background: var(--color-bg-soft);
	padding: 16px 20px;
	text-align: left;
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-text);
	border-bottom: 2px solid var(--color-border);
}

.woocommerce-MyAccount-content table.shop_table td {
	padding: 16px 20px;
	font-family: var(--font-primary);
	font-size: var(--text-md);
	color: var(--color-text-secondary);
	border-bottom: 1px solid var(--color-border-light);
	vertical-align: middle;
}

.woocommerce-MyAccount-content table.shop_table tr:last-child td { border-bottom: none; }
.woocommerce-MyAccount-content table.shop_table tr:hover td { background: var(--color-bg-soft); }

.woocommerce-MyAccount-content .button {
	background: transparent;
	border: 1.5px solid var(--color-primary-light);
	border-radius: var(--radius-full);
	padding: 8px 20px;
	font-family: var(--font-primary);
	font-size: var(--text-base);
	font-weight: 600;
	color: var(--color-primary-light);
	text-decoration: none;
	display: inline-block;
	transition: all var(--transition-base);
	cursor: pointer;
}

.woocommerce-MyAccount-content .button:hover {
	background: var(--color-primary-light);
	color: var(--color-bg);
	transform: translateY(-2px);
	box-shadow: 0 4px 10px rgba(58, 168, 219, 0.3);
}

.woocommerce-MyAccount-content form {
	background: var(--color-bg);
	border-radius: var(--radius-xl);
	padding: 0;
}

.woocommerce-MyAccount-content form h3 {
	font-family: var(--font-heading);
	font-size: 20px;
	font-weight: 600;
	color: var(--color-primary);
	margin: 24px 0 16px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--color-border);
}

.woocommerce-MyAccount-content .form-row { margin-bottom: 24px; }

.woocommerce-MyAccount-content label {
	display: block;
	font-family: var(--font-primary);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-text);
	margin-bottom: 8px;
}

.woocommerce-MyAccount-content input:not([type="checkbox"]):not([type="radio"]),
.woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content textarea {
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	font-family: var(--font-primary);
	font-size: 15px;
	color: var(--color-text);
	background: var(--color-bg);
	transition: all var(--transition-base);
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content textarea:focus {
	border-color: var(--color-border-focus);
	outline: none;
	box-shadow: var(--shadow-focus);
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .woocommerce-Button {
	background: var(--gradient-primary);
	color: var(--color-bg);
	border: none;
	border-radius: var(--radius-full);
	padding: 14px 32px;
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	cursor: pointer;
	transition: all var(--transition-base);
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content .woocommerce-Button:hover {
	background: var(--gradient-primary-hover);
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0, 69, 124, 0.25);
}

/* Messages WooCommerce — spécificité augmentée via contexte page */
.lm-page__compte .woocommerce-message,
.lm-page__compte .woocommerce-info,
.lm-page__compte .woocommerce-error {
	border-radius: var(--radius-lg);
	padding: 16px 24px;
	margin-bottom: 28px;
	font-family: var(--font-primary);
	font-size: var(--text-md);
	border-left: 4px solid;
}

.lm-page__compte .woocommerce-message {
	background: var(--color-success-bg);
	border-left-color: var(--color-success);
	color: var(--color-success-text);
}

.lm-page__compte .woocommerce-info {
	background: var(--color-info-bg);
	border-left-color: var(--color-info);
	color: var(--color-info-text);
}

.lm-myaccount-content p:first-of-type {
	font-family: var(--font-primary);
	font-size: var(--text-lg);
	color: var(--color-text-secondary);
	line-height: 1.6;
	margin-bottom: 24px;
}

.account-info-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin: 30px 0;
}

.account-info-card {
	background: var(--color-bg-soft);
	border-radius: var(--radius-xl);
	padding: 22px;
	text-align: center;
	transition: all var(--transition-slow);
}

.account-info-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.account-info-card .value {
	font-family: var(--font-heading);
	font-size: 32px;
	font-weight: 700;
	color: var(--color-primary);
	display: block;
}

.account-info-card .label {
	font-family: var(--font-primary);
	font-size: var(--text-md);
	color: var(--color-text-muted);
	margin-top: 8px;
}


/* =========================================================
   14. MON COMPTE — ADRESSES
========================================================= */

.lm-account__addresses-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	position: relative;
}

.lm-account-addresses {
	flex: 1;
	padding: 1rem 0;
	max-width: 544px;
}

.lm-address-intro {
	font-size: var(--text-base);
	color: var(--color-text-muted);
	margin-bottom: 1rem;
}

.lm-address-row {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.lm-address-card {
	background: var(--color-bg);
	border: 0.5px solid var(--color-border);
	overflow: hidden;
}

.lm-address-card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 14px;
	border-bottom: 0.5px solid var(--color-border);
}

.lm-address-card-header-left {
	display: flex;
	align-items: center;
	gap: 10px;
}

.lm-address-icon {
	width: 32px;
	height: 32px;
	border-radius: var(--radius-md);
	background: var(--color-bg-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-text-muted);
	flex-shrink: 0;
}

.lm-address-icon svg { display: block; }

.lm-address-title {
	font-size: var(--text-base);
	font-weight: 500;
	color: var(--color-text);
	line-height: 1.3;
}

.lm-address-subtitle {
	font-size: var(--text-xs);
	color: var(--color-text-placeholder);
	margin-top: 2px;
}

.lm-address-edit {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--text-sm);
	color: var(--color-text-link);
	padding: 5px 10px;
	border: 0.5px solid var(--color-border-cta);
	border-radius: var(--radius-md);
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	transition: background var(--transition-fast);
}

.lm-address-edit:hover { background: var(--color-primary-bg-light); }
.lm-address-edit svg { display: block; flex-shrink: 0; }

.lm-address-body { padding: 4px 0; }
.lm-address-body address { font-style: normal; }

.lm-address-line {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 14px;
	border-bottom: 0.5px solid var(--color-border-light);
	margin: 0;
}

.lm-address-line:last-child { border-bottom: none; }

.lm-address-line-icon {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	color: var(--color-text-placeholder);
	width: 16px;
}

.lm-address-line-icon svg { display: block; }

.lm-address-line-text {
	font-size: var(--text-base);
	color: var(--color-text-secondary);
	line-height: 1.4;
}

.lm-address-empty {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 14px;
	font-size: var(--text-base);
	color: var(--color-text-placeholder);
}

.lm-address-empty svg {
	flex-shrink: 0;
	color: var(--color-text-placeholder);
}

.lm-account__addresses-wrapper .address-banner {
	max-width: 350px;
	width: auto;
	height: 287px;
	flex-shrink: 0;
	padding: 5px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
}

.lm-account__addresses-wrapper .address-banner img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.lm-adress-edit {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	position: relative;
}

.lm-adress-edit h2 { margin-bottom: 20px; }

.lm-adress-edit form {
	flex: 1;
	min-width: 250px;
	padding: 15px;
	border: var(--border-base) solid var(--color-border);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

.lm-address-fields__field-wrapper {
	margin-bottom: 20px;
}

.lm-adress-edit .address-banner {
	max-width: 350px;
	width: 100%;
	flex-shrink: 0;
	background: var(--gradient-primary-dark);
	border-radius: var(--radius-sm);
	padding: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.lm-adress-edit .address-banner img {
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-lg);
	margin-bottom: 15px;
}

.lm-adress-edit .address-banner .banner-message {
	color: var(--color-bg);
	font-size: var(--text-lg);
	line-height: 1.5;
}

.lm-adress-edit .address-banner .banner-message h3 {
	color: var(--color-bg);
	margin: 0 0 10px 0;
	font-size: 20px;
}

.lm-adress-edit .address-banner .banner-message p {
	margin: 0;
	opacity: 0.9;
}

.lm-adress-edit .woocommerce-address-fields__field-wrapper .form-row {
	width: 100%;
	margin-bottom: 16px;
}

.lm-adress-edit .woocommerce-input-wrapper input,
.lm-adress-edit .woocommerce-input-wrapper select { width: 100%; }

.lm-ddress-title h3 {
	font-family: var(--font-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 16px 0;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color-border);
}


/* =========================================================
   15. MON COMPTE — COMMANDES
========================================================= */

/* ── 15a. Liste des commandes ── */

.lm-orders-wrap {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.lm-orders-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	padding-bottom: 1.25rem;
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-orders-header__left {
	display: flex;
	align-items: center;
	gap: 12px;
}

.lm-orders-header__icon {
	width: 42px;
	height: 42px;
	border-radius: var(--radius-md);
	background: var(--color-primary-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary);
	flex-shrink: 0;
}

.lm-orders-header__icon svg { width: 22px; height: 22px; display: block; }

.lm-orders-header__title {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0;
}

.lm-orders-header__subtitle {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin: 2px 0 0;
}

.lm-orders-header__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-primary-light);
	padding: 8px 14px;
	border: var(--border-base) solid var(--color-primary-light);
	border-radius: var(--radius-md);
	text-decoration: none;
	transition: all var(--transition-fast);
}

.lm-orders-header__cta:hover {
	background: var(--color-primary-bg-light);
	color: var(--color-primary);
	border-color: var(--color-primary);
}

.lm-orders-header__cta svg { width: 14px; height: 14px; display: block; }

.lm-orders-table-wrap {
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

.lm-orders-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--text-base);
	font-family: var(--font-primary);
}

.lm-orders-table thead tr {
	background: var(--color-bg-soft);
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-orders-table__header {
	padding: 12px 16px;
	font-size: var(--text-xs);
	font-weight: 600;
	color: var(--color-text-muted);
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	white-space: nowrap;
	font-family: var(--font-heading);
}

.lm-orders-table__header-order-number  { width: 30%; }
.lm-orders-table__header-order-total   { width: 25%; text-align: center; }
.lm-orders-table__header-order-status  { width: 20%; text-align: center; }
.lm-orders-table__header-order-actions { width: 25%; text-align: right; }

.lm-orders-table__row {
	border-bottom: var(--border-thin) solid var(--color-border-light);
	transition: background var(--transition-fast);
}

.lm-orders-table__row:last-child { border-bottom: none; }
.lm-orders-table__row:hover { background: var(--color-bg-soft); }

.lm-orders-table__cell {
	padding: 14px 16px;
	vertical-align: middle;
}

.lm-orders-table__cell-order-number {
	display: flex;
	flex-direction: column;
	text-align: left;
	gap: 4px;
}

.lm-orders-table__cell-order-number a {
	font-weight: 600;
	font-size: var(--text-md);
	color: var(--color-primary);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.lm-orders-table__cell-order-number a:hover { color: var(--color-primary-light); }

.lm-orders-table__date {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

.lm-orders-table__date svg { width: 12px; height: 12px; display: block; flex-shrink: 0; }

.lm-order-total__inner {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.lm-order-total__amount {
	font-weight: 700;
	font-size: var(--text-md);
	color: var(--color-text);
}

.lm-order-total__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 3px;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
}

.lm-order-total__payment { color: var(--color-text-placeholder); }

.lm-orders-table__cell-order-status { text-align: center; }

.lm-order-status {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-xs);
	font-weight: 600;
	padding: 4px 10px;
	border-radius: var(--radius-full);
	white-space: nowrap;
}

.lm-order-status__dot {
	width: 6px;
	height: 6px;
	border-radius: var(--radius-full);
	flex-shrink: 0;
}

.lm-order-status--on-hold    { background: var(--color-warning-bg); color: var(--color-status-on-hold); }
.lm-order-status--on-hold .lm-order-status__dot    { background: var(--color-status-on-hold); }
.lm-order-status--processing { background: var(--color-info-bg); color: var(--color-status-processing); }
.lm-order-status--processing .lm-order-status__dot { background: var(--color-status-processing); }
.lm-order-status--completed  { background: var(--color-success-bg); color: var(--color-status-completed); }
.lm-order-status--completed .lm-order-status__dot  { background: var(--color-status-completed); }
.lm-order-status--cancelled  { background: var(--color-error-bg); color: var(--color-status-cancelled); }
.lm-order-status--cancelled .lm-order-status__dot  { background: var(--color-status-cancelled); }
.lm-order-status--refunded   { background: var(--color-bg-muted); color: var(--color-status-refunded); }
.lm-order-status--refunded .lm-order-status__dot   { background: var(--color-status-refunded); }
.lm-order-status--pending    { background: var(--color-warning-bg); color: var(--color-status-on-hold); }
.lm-order-status--pending .lm-order-status__dot    { background: var(--color-status-on-hold); }

.lm-orders-table__cell-order-actions { text-align: right; }

.lm-orders-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-primary);
	padding: 6px 12px;
	border: var(--border-base) solid var(--color-primary);
	border-radius: var(--radius-sm);
	text-decoration: none;
	background: transparent;
	transition: all var(--transition-fast);
	white-space: nowrap;
}

.lm-orders-btn:hover { background: var(--color-primary); color: var(--color-bg); }

.lm-orders-btn--cancel { color: var(--color-error); border-color: var(--color-error); }
.lm-orders-btn--cancel:hover { background: var(--color-error); color: var(--color-bg); }

.lm-orders-pagination {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-top: 0.5rem;
}

.lm-orders-pagination__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-bg);
	padding: 8px 16px;
	border-radius: var(--radius-sm);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	text-decoration: none;
	background: var(--color-primary);
	transition: background var(--transition-fast);
}

.lm-orders-pagination__btn svg { display: block; flex-shrink: 0; width: 14px; height: 14px; }
.lm-orders-pagination__btn:hover { background: var(--color-primary-hover); }

.lm-orders-pagination__info {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin: 0 8px;
}

.lm-orders-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 3rem 2rem;
	text-align: center;
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	border-radius: var(--radius-lg);
}

.lm-orders-empty__icon {
	width: 64px;
	height: 64px;
	border-radius: var(--radius-xl);
	background: var(--color-primary-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary);
	margin-bottom: 1.25rem;
}

.lm-orders-empty__icon svg { width: 32px; height: 32px; display: block; }

.lm-orders-empty__title {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: 600;
	color: var(--color-text);
	margin: 0 0 8px;
}

.lm-orders-empty__text {
	font-size: var(--text-md);
	color: var(--color-text-muted);
	margin: 0 0 1.5rem;
}

.lm-orders-empty__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-bg);
	padding: 12px 24px;
	background: var(--color-primary);
	border-radius: var(--radius-sm);
	text-decoration: none;
	transition: background var(--transition-fast);
}

.lm-orders-empty__btn:hover { background: var(--color-primary-hover); }
.lm-orders-empty__btn svg { width: 14px; height: 14px; display: block; }
/* ── Tailles icônes Phosphor ── */
.lm-orders-header__icon i    { font-size: 2rem; }
.lm-orders-header__cta i     { font-size: 1rem; }
.lm-orders-table__date i     { font-size: 0.875rem; }
.lm-orders-empty__icon i     { font-size: 2.5rem; }
.lm-orders-empty__btn i      { font-size: 1rem; }
.lm-orders-pagination__btn i { font-size: 1rem; }

/* =========================================================
   16. LOGIN & REGISTER
========================================================= */

.lm-login-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 16px 48px;
}

.lm-login-welcome { margin-bottom: 32px; }

.lm-login-welcome__title {
	margin: 0 0 10px;
	font-size: var(--text-2xl);
	font-weight: 700;
	color: var(--color-text);
}

.lm-login-welcome__text {
	margin: 0;
	color: var(--color-text-secondary);
	font-size: var(--text-sm);
	line-height: 1.6;
}

.lm-field {
	display: flex;
	flex-direction: column;
}

.lm-field label {
	font-size: 1rem;
	line-height: 2em;
	font-weight: 300;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
}

.lm-input {
	width: 100%;
	padding: 10px 14px;
	font-size: var(--text-md);
	font-family: var(--font-primary);
	color: var(--color-text);
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	border-radius: var(--radius-md);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
	box-sizing: border-box;
}

.lm-input:focus {
	outline: none;
	border-color: var(--color-border-focus);
	box-shadow: var(--shadow-focus);
}

.lm-input::placeholder {
	color: var(--color-text-placeholder);
	font-style: italic;
}

.col2-set#customer_login {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

.col2-set#customer_login .u-column1,
.col2-set#customer_login .u-column2 {
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	padding: 24px;
}

.lm-login-divider {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.lm-login-divider__line {
	flex: 1;
	height: 1px;
	background: var(--color-border);
}

.lm-login-divider__label {
	color: var(--color-text-placeholder);
	font-size: var(--text-xs);
	letter-spacing: .08em;
}

.lm-login-card__header {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 5px;
}

.lm-login-card__icon {
	width: 48px;
	height: 48px;
	background: var(--color-info-bg);
	color: var(--color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}

.lm-login-card__icon--register {
	background: var(--color-bg-soft);
	color: var(--color-cta);
}

.lm-login-card__title {
	margin: 0;
	font-size: var(--text-lg);
	font-weight: 700;
	color: var(--color-text);
}

.lm-login-card__subtitle {
	margin: 4px 0 0;
	color: var(--color-text-secondary);
	font-size: var(--text-sm);
}

.lm-login-card__desc {
	margin: 0 0 5px;
	color: var(--color-text-secondary);
	font-size: var(--text-sm);
	line-height: 1.7;
}

.lm-login-form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.lm-login-form__label-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.lm-login-form__label-row label { margin: 0; }

.lm-login-form__forgot {
	font-size: var(--text-xs);
	color: var(--color-text-link);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--transition-fast);
}

.lm-login-form__forgot:hover {
	color: var(--color-primary);
	text-decoration: underline;
}

.lm-field__remember-label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	cursor: pointer;
}

.lm-field__remember-label input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: var(--color-primary);
	flex-shrink: 0;
}

.lm-login-form__info {
	font-size: var(--text-sm);
	color: var(--color-info-text);
	background: var(--color-primary-bg);
	padding: 5px 12px;
	border-left: 2px solid var(--color-primary-light);
}

.lm-login-form__btn {
	width: 100%;
	height: 48px;
	border: none;
	border-radius: 0;
	background: var(--color-primary);
	color: var(--color-bg);
	font-weight: 600;
	font-size: var(--text-md);
	font-family: var(--font-heading);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	transition: background var(--transition-fast);
}

.lm-login-form__btn:hover { background: var(--color-primary-hover); }
.lm-login-form__btn:disabled { opacity: 0.7; cursor: not-allowed; }
.lm-login-form__btn i { font-size: var(--text-lg); }

.lm-login-form__btn--register { background: var(--color-cta); }
.lm-login-form__btn--register:hover { background: var(--color-cta-hover); }

span.password-input {
	width: 100%;
	position: relative;
	display: flex;
	align-items: center;
}

span.password-input .show-password-input {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	background: none;
	border: none;
	cursor: pointer;
	opacity: 0.5;
	transition: opacity var(--transition-fast);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 256 256'%3E%3Cpath fill='%23333' d='M247.31 124.76c-.35-.79-8.82-19.58-27.65-38.41C194.57 61.26 162.88 48 128 48S61.43 61.26 36.34 86.35C17.51 105.18 9 124 8.69 124.76a8 8 0 0 0 0 6.48c.35.79 8.82 19.58 27.65 38.41C61.43 194.74 93.12 208 128 208s66.57-13.26 91.66-38.35c18.83-18.83 27.3-37.62 27.65-38.41a8 8 0 0 0 0-6.48M128 192c-30.78 0-57.67-11.19-79.93-33.25A133.5 133.5 0 0 1 25 128a133.3 133.3 0 0 1 23.07-30.75C70.33 75.19 97.22 64 128 64s57.67 11.19 79.93 33.25A133.5 133.5 0 0 1 231.05 128c-7.21 13.46-38.62 64-103.05 64m0-112a48 48 0 1 0 48 48a48.05 48.05 0 0 0-48-48m0 80a32 32 0 1 1 32-32a32 32 0 0 1-32 32'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	font-size: 0;
}

span.password-input .show-password-input.display-password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 256 256'%3E%3Cpath fill='%23333' d='M53.92 34.62a8 8 0 1 0-11.84 10.76l19.4 21.34C36.18 81.17 18.92 103.32 9.38 124.76a8 8 0 0 0 0 6.48c.35.79 8.82 19.58 27.65 38.41C61.43 194.74 93.12 208 128 208a126.9 126.9 0 0 0 52.57-11.25l22.35 24.63a8 8 0 1 0 11.84-10.76Zm47.33 75.09l41 45.19a32 32 0 0 1-41-45.19M128 192c-30.78 0-57.67-11.19-79.93-33.25A133.2 133.2 0 0 1 25 128c9.25-18 26.2-40.36 50.33-55.1l19.75 21.74a48 48 0 0 0 64.87 64.86l15.75 17.35A110.3 110.3 0 0 1 128 192m104.92-67.61c-.35.79-8.55 19.07-26.83 37.52l-11.57-12.73a48.16 48.16 0 0 0-52.23-69.48l-15.-16.43A110.7 110.7 0 0 1 128 64c64.42 0 95.8 50.54 103.05 64a8 8 0 0 1-.13 6.39'/%3E%3C/svg%3E");
}

span.password-input .show-password-input:hover { opacity: 1; }

.lm-password-strength {
	display: none;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
}

.lm-password-strength__bar {
	flex: 1;
	height: 4px;
	background: var(--color-border);
	overflow: hidden;
}

.lm-password-strength__fill {
	display: block;
	height: 100%;
	transition: width var(--transition-base), background var(--transition-base);
	width: 0;
}

.lm-password-strength__fill--weak        { width: 25%; background: var(--color-error); }
.lm-password-strength__fill--medium      { width: 50%; background: var(--color-cta); }
.lm-password-strength__fill--strong      { width: 75%; background: var(--color-primary-light); }
.lm-password-strength__fill--very-strong { width: 100%; background: var(--color-status-completed); }

.lm-password-strength__label {
	font-size: var(--text-xs);
	font-weight: 600;
	white-space: nowrap;
}

.lm-password-strength__label--weak        { color: var(--color-error); }
.lm-password-strength__label--medium      { color: var(--color-cta); }
.lm-password-strength__label--strong      { color: var(--color-primary-light); }
.lm-password-strength__label--very-strong { color: var(--color-status-completed); }

.lm-spinner {
	display: inline-block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.4);
	border-top-color: var(--color-bg);
	border-radius: 50%;
	animation: lm-spin 0.7s linear infinite;
	flex-shrink: 0;
}

@keyframes lm-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.lm-spinner { animation: none; }
}

.lm-lost-password-wrap {
	max-width: 480px;
	margin: 0 auto;
}


/* =========================================================
   18. FORMULAIRES COMPTE
========================================================= */

/* ── 18a. Composants partagés ── */

.lm-account-form-wrap {
	font-family: var(--font-primary);
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.lm-account-form__header {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding-bottom: 1.25rem;
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-account-form__header-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--radius-md);
	background: var(--color-primary-bg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-primary);
	flex-shrink: 0;
}

.lm-account-form__header-icon img { width: 22px; height: 22px; display: block; opacity: 0.85; }

.lm-account-form__title {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 4px;
}

.lm-account-form__subtitle {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin: 0;
	line-height: 1.5;
}

.lm-account-form__card {
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

.lm-account-form__card-header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	background: var(--color-bg-soft);
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-account-form__card-header img { width: 18px; height: 18px; display: block; flex-shrink: 0; opacity: 0.7; }

.lm-account-form__card-title {
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0;
}

.lm-account-form__card-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lm-account-form__section-sep {
	height: 1px;
	background: var(--color-border);
	margin: 0.5rem 0;
}

.lm-account-form__section-label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-primary);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0.5rem 0 0;
}

.lm-account-form__section-label img { width: 15px; height: 15px; display: block; flex-shrink: 0; opacity: 0.7; }

.lm-account-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.lm-account-form__field label {
	font-size: 1rem;
	line-height: 2em;
	font-weight: 300;
	color: var(--color-text-secondary);
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
}

.lm-account-form__field label .required {
	color: var(--color-error);
	font-size: var(--text-md);
	line-height: 1;
	text-decoration: none;
}

.lm-account-form__field label .optional {
	font-weight: 400;
	font-size: var(--text-xs);
	color: var(--color-text-placeholder);
}

.lm-account-form__input-wrap {
	position: relative;
	display: flex;
	align-items: center;
}

.lm-account-form__input-wrap > img:first-child {
	position: absolute;
	left: 12px;
	width: 16px;
	height: 16px;
	pointer-events: none;
	flex-shrink: 0;
	display: block;
	z-index: 1;
	opacity: 0.4;
}

.lm-account-form__input-wrap input,
.lm-account-form__input-wrap select {
	width: 100%;
	padding: 10px 14px;
	font-size: var(--text-md);
	font-family: var(--font-primary);
	color: var(--color-text);
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	border-radius: var(--radius-md);
	transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
	box-sizing: border-box;
}


.lm-account-form__input-wrap--action input { padding-right: 44px; }

.lm-account-form__input-wrap input:focus,
.lm-account-form__input-wrap select:focus {
	outline: none;
	border-color: var(--color-border-focus);
	box-shadow: var(--shadow-focus);
}

.lm-account-form__input-wrap input::placeholder {
	color: var(--color-text-placeholder);
	font-style: italic;
}

.lm-account-form__input-action {
	position: absolute;
	right: 10px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	color: var(--color-text-placeholder);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color var(--transition-fast);
	border-radius: var(--radius-sm);
}

.lm-account-form__input-action:hover { color: var(--color-primary); }
.lm-account-form__input-action img { width: 16px; height: 16px; display: block; }

.lm-account-form__hint {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	line-height: 1.5;
	margin-top: 2px;
}

.lm-account-form__hint img { width: 13px; height: 13px; display: block; flex-shrink: 0; margin-top: 1px; opacity: 0.5; }

.lm-account-form__grid-2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.lm-account-form__submit {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	padding-top: 0.5rem;
	border-top: var(--border-thin) solid var(--color-border-light);
	margin-top: 0.5rem;
}

.lm-account-form__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 28px;
	font-size: var(--text-md);
	font-weight: 600;
	font-family: var(--font-heading);
	color: var(--color-bg);
	background: var(--color-primary);
	border: var(--border-base) solid var(--color-primary);
	border-radius: var(--radius-md);
	cursor: pointer;
	transition: background var(--transition-fast), transform var(--transition-fast);
	letter-spacing: 0.02em;
	text-decoration: none;
}

.lm-account-form__btn:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.lm-account-form__btn:active { transform: scale(0.98); }
.lm-account-form__btn:disabled { opacity: 0.6; cursor: not-allowed; }

.lm-account-form__btn--danger { background: var(--color-error); border-color: var(--color-error); }
.lm-account-form__btn--danger:hover { background: var(--color-error-text); border-color: var(--color-error-text); }

.lm-account-form__btn--outline { background: transparent; color: var(--color-primary); }
.lm-account-form__btn--outline:hover { background: var(--color-primary-bg-light); }

.lm-account-form__cancel {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	text-decoration: none;
	transition: color var(--transition-fast);
}

.lm-account-form__cancel:hover { color: var(--color-primary); text-decoration: underline; }

.lm-account-form__notice {
	font-size: var(--text-sm);
	line-height: 1.5;
	padding: 6px 0;
}

.lm-account-form__notice--info    { color: var(--color-text-muted); }
.lm-account-form__notice--warning { color: var(--color-status-on-hold); }
.lm-account-form__notice--success { color: var(--color-status-completed); }

/* ── 18b. Edit account ── */

.lm-edit-account__password-card {
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	border-top: 3px solid var(--color-primary-light);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

.lm-edit-account__security-note {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: var(--text-xs);
	color: var(--color-text-muted);
	padding: 10px 14px;
	background: var(--color-bg-soft);
	border-radius: var(--radius-md);
	border: var(--border-thin) solid var(--color-border);
}

.lm-edit-account__sect2 {
	margin: 0 -24px -24px;
	padding: 24px;
	background: var(--color-primary-bg-light);
	border-top: var(--border-medium) solid var(--color-border-cta);
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lm-edit-account__sect2 label,
.lm-edit-account__sect2 .lm-edit-account__password-section-title { color: var(--color-text-secondary); }

.lm-edit-account__password-section {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.lm-edit-account__password-section-title {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0;
}

.lm-edit-account__password-section-title img { width: 18px; height: 18px; display: block; flex-shrink: 0; opacity: 0.7; }

.lm-selection .best_value {
	background-repeat: unset;
	background-position: unset;
	float: unset;
	padding: 0;
	border: unset;
	margin-top: 20px;
	row-gap: 67px;
	justify-content: center;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 20px;
}

/* =========================================================
   VIEW ORDER — PAGE COMMANDE
========================================================= */

.lm-view-order {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding: 24px 0;
}

.lm-view-order__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding-bottom: 1.25rem;
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-view-order__header-left {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.lm-view-order__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-sm);
	color: var(--color-primary-light);
	text-decoration: none;
	transition: color var(--transition-fast);
	margin-bottom: 4px;
}

.lm-view-order__back:hover { color: var(--color-primary); }
.lm-view-order__back i { font-size: 1rem; }

.lm-view-order__title {
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0;
}

.lm-view-order__date {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin: 0;
}

.lm-view-order__grid {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.lm-view-order__main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.lm-view-order__sidebar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

/* ── Cards ── */
.lm-order-details__card {
	background: var(--color-bg);
	border: var(--border-base) solid var(--color-border);
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-sm);
}

.lm-order-details__card-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0;
	padding: 14px 20px;
	background: var(--color-bg-soft);
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-order-details__card-title i { font-size: 1.125rem; }

/* ── Table articles ── */
.lm-order-details__table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--text-base);
}

.lm-order-details__table thead tr {
	background: var(--color-bg-soft);
	border-bottom: var(--border-base) solid var(--color-border);
}

.lm-order-details__table th {
	padding: 10px 16px;
	font-size: var(--text-xs);
	font-weight: 600;
	color: var(--color-text-muted);
	text-align: left;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-family: var(--font-heading);
}

.lm-order-item-row {
	border-bottom: var(--border-thin) solid var(--color-border-light);
}

.lm-order-item-row:last-child { border-bottom: none; }

.lm-order-item__cell { padding: 14px 16px; vertical-align: middle; }

.lm-order-item__inner {
	display: flex;
	align-items: center;
	gap: 12px;
}

.lm-order-item__img img {
	width: 64px;
	height: 64px;
	object-fit: contain;
	border: var(--border-thin) solid var(--color-border-light);
	border-radius: var(--radius-sm);
}

.lm-order-item__name a {
	font-weight: 600;
	font-size: var(--text-md);
	color: var(--color-primary);
	text-decoration: none;
}

.lm-order-item__name a:hover { color: var(--color-primary-light); }

.lm-order-item__qty {
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin-top: 2px;
}

.lm-order-item__total {
	padding: 14px 16px;
	text-align: right;
	font-weight: 700;
	font-size: var(--text-md);
	color: var(--color-text);
	vertical-align: middle;
}

/* ── Récapitulatif ── */
.lm-order-receipt__totals {
	padding: 14px 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lm-order-receipt__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--text-md);
	padding: 6px 0;
	border-bottom: var(--border-thin) solid var(--color-border-light);
}

.lm-order-receipt__row:last-child { border-bottom: none; }

.lm-order-receipt__label {
	color: var(--color-text-muted);
	font-size: var(--text-sm);
}

.lm-order-receipt__value {
	font-weight: 600;
	color: var(--color-text);
	text-align: right;
}

.lm-order-receipt__row--order_total .lm-order-receipt__label,
.lm-order-receipt__row--order_total .lm-order-receipt__value {
	font-size: var(--text-lg);
	font-weight: 700;
	color: var(--color-primary);
}
.lm-order-receipt__paid {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 16px 16px;
	padding: 12px 16px;
	background: var(--color-success-bg);
	border: var(--border-base) solid var(--color-success);
	border-left: 4px solid var(--color-success);
	border-radius: var(--radius-md);
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 600;
	color: var(--color-success-text);
}

.lm-order-receipt__paid i {
	font-size: 1.25rem;
	flex-shrink: 0;
	color: var(--color-success);
}

/* ── Infos client ── */
.lm-order-customer__grid {
	padding: 14px 20px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
}

.lm-order-customer__block {
	padding: 12px 0;
	border-bottom: var(--border-thin) solid var(--color-border-light);
}

.lm-order-customer__block:last-child { border-bottom: none; }

.lm-order-customer__block-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-primary);
	margin: 0 0 8px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.lm-order-customer__block-title i { font-size: 1rem; }

.lm-order-customer__address {
	font-style: normal;
	font-size: var(--text-md);
	color: var(--color-text-secondary);
	line-height: 1.6;
}

.lm-order-customer__contact {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	margin: 4px 0 0;
}

.lm-order-customer__contact i { font-size: 0.875rem; }

.lm-order-customer__contact a {
	color: var(--color-primary-light);
	text-decoration: none;
}

.lm-order-customer__contact a:hover { text-decoration: underline; }

/* ── Commander à nouveau ── */
.lm-order-again {
	padding: 14px 20px;
}

.lm-order-again__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 14px 17px;
	background: var(--color-primary);
	color: var(--color-bg);
	font-family: var(--font-heading);
	font-size: var(--text-md);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: none;
	text-decoration: none;
	transition: background var(--transition-fast);
}

.lm-order-again__btn:hover {
	background: var(--color-primary-hover);
	color: var(--color-bg);
}

/* =========================================================
   19. MEDIA QUERIES
========================================================= */

@media (min-width: 992px) {
	.col2-set#customer_login {
		grid-template-columns: 1fr auto 1fr;
		align-items: stretch;
		gap: 2rem;
		border-top: var(--border-base) solid var(--color-border);
		border-bottom: var(--border-base) solid var(--color-border);
		padding: 2rem 0;
	}

	.col2-set#customer_login .u-column1,
	.col2-set#customer_login .u-column2 {
		border: none;
		padding: 0;
	}

	.lm-login-divider {
		flex-direction: column;
		width: 40px;
	}

	.lm-login-divider__line {
		width: 1px;
		height: 100%;
		flex: 1;
	}
}

@media (min-width: 768px) {

	.lm-shop__archive-top { padding-top: 70px; }
	.product-card--mini .lm-loop-product__title { font-size: var(--text-xs); }
	.produitVignette_promo { width: 65px; height: 65px; font-size: 22px; }
	.product-card--big .product-card-img { height: 315px; width: 100%; }
	.product-card--big .lm-price { font-size: 23px; }

	.best_value ul.products,
	.related ul.products,
	.upsells ul.products { margin-top: 48px; margin-bottom: 20px; gap: 20px; }

	.product-card--normal .woocommerce-loop-product__link img { width: 200px; height: 243px; display: flex; margin: auto; }
	.product-card--normal .woocommerce-loop-product__title { font-size: var(--text-xs); margin-top: 10px; }
	.product-card-add_to_cart { height: 57px; width: 180px; padding: 7px; }

	ul.lm-subcategories__grid li { width: 120px; min-height: 210px; }

	:is(.zone_filtres) .liste-categories-title,
	:is(.zone_filtres) .facet-label { border-top: 1px solid var(--color-border); font-size: .875rem; padding: 5px 0; }

	.zone_filtres .sous-categories-in li.active a { font-weight: 400; font-size: 0.75rem; }

	.zone_filtres .sous-categories-in li.active a::before {
		content: "\203A";
		margin-right: 10px;
		color: var(--color-primary);
		font-size: 18px;
		font-weight: bold;
		display: inline-block;
	}

	ul.products.columns-2 { grid-template-columns: 1fr 1fr; }
	ul.products.columns-3 { grid-template-columns: 1fr 1fr 1fr; }
	ul.products.columns-4 { grid-template-columns: 1fr 1fr 1fr 1fr; }

	.product .data.items > :not(.items_nav) { display: flex; flex-flow: row wrap; gap: 60px; }

	.cart-container .woocommerce-cart-form { float: left; position: relative; width: 73%; }
	.cart-container .lm-cart-totals { width: 25%; }

	#payment ul.payment_methods li { padding: 12px; }
	#payment ul.payment_methods li label { font-size: var(--text-md); }
	.woocommerce-terms-and-conditions-wrapper { padding: 12px; }

	.col2-set .col-1 { width: 68%; }
	.col2-set .col-2 { width: 30%; }

	.lm-adress-edit { flex-direction: column; }
	.lm-adress-edit .address-banner { max-width: 100%; margin-top: 20px; }
	.lm-address-fields__field-wrapper { margin-bottom: 35px; }

	.variation-label label { font-size: var(--text-base); }
	.variation-select { font-size: var(--text-base); padding: 8px 36px 8px 10px; max-width: 200px; }
	.reset_variations { font-size: var(--text-sm); padding: 5px 8px; }
	.variation-item { gap: 10px; }

	.lm-view-order__grid { flex-direction: row; align-items: flex-start; }
	.lm-view-order__main { flex: 1; min-width: 0; }
	.lm-view-order__sidebar { width: 300px; flex-shrink: 0; display: flex; flex-direction: column; gap: 1rem; }

	.lm-order-addresses { grid-template-columns: 1fr 1fr; }
	.lm-order-address { border-bottom: none; border-right: var(--border-thin) solid var(--color-border-light); }
	.lm-order-address:last-child { border-right: none; }

	.lm-order-details__grid { flex-direction: row; align-items: flex-start; }
	.lm-order-details__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
	.lm-order-details__sidebar { width: 280px; flex-shrink: 0; }

	.lm-order-customer__grid--2col { grid-template-columns: 1fr 1fr; }
	.lm-order-customer__block { border-bottom: none; border-right: var(--border-thin) solid var(--color-border-light); }
	.lm-order-customer__block:last-child { border-right: none; }

	.lm-thankyou__summary { grid-template-columns: repeat(4, 1fr); }
	.lm-thankyou__summary-item { border-bottom: none; }
	.lm-thankyou__summary-item:nth-child(2n) { border-right: var(--border-thin) solid var(--color-border-light); }
	.lm-thankyou__summary-item:last-child { border-right: none; }

	.lm-order-download { flex-wrap: nowrap; }

	.lm-account-form__grid-2 { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 1024px) {

	.elt_screen { display: block; }
	.deskTitle { display: unset; }

	.produitVignette_promo { width: 78px; height: 78px; font-size: 30px; }
	ul.lm-subcategories__grid { gap: 22px; }
	.product-card-add_to_cart { width: 180px; height: 57px; font-size: var(--text-lg); }

	.lm-ordering-barre { flex-direction: row; padding: 11px 11px 11px 42px; }
	.lm-ordering-barre .nombreArticleWrapper,
	.facetwp-facet-result_counts { font-size: 34px; }
	.lm-ordering-barre .orderby-wrapper select { font-size: 24px; margin-left: 20px; width: 422px; }

	.single-product__top { flex-direction: row; gap: 35.5px; }
	.single-product__top--left,
	.single-product__top--right { width: calc(50% - 18.25px); }
	.single-product__title--big { color: var(--color-primary); font-family: var(--font-heading); text-align: left; }

	.product-feature { width: auto; }
	.product-feature--shipping,
	.product-feature--guarantee,
	.product-feature__link { flex-direction: row; }

	.product .data .items_nav { display: flex; gap: 10px; }

	.produit_ajaxInfoProduit,
	.variation-price { height: auto; }

	.produit_infosChoixPanier_infos,
	.single_variation { max-width: 350px; padding: 17px 0 17px 24px; font-size: 2.5rem; }

	.variation-price .price { width: 350px; }

	.produit_infosChoixPanier_infos del,
	.single_variation del { font-size: 24px; font-weight: bold; }

	.produit_infosChoixPanier_infos ins,
	.single_variation ins { padding-right: 25px; display: block; text-decoration: none; width: 100%; }

	.details_sep_wrapper { display: flex; align-items: center; }

	/* Variante single product desktop — grande taille dédiée */
	.quantity { width: 130px; }
	.quantity input[type="number"].qty { width: 130px; }
	.lm-single-product .quantity input[type="number"].qty { font-size: 70px; }

	.btnAjoutPanier { width: auto; padding: 0 30px; height: 57px; }

	.promotion_produit { font-size: 30px; width: 90px; height: 90px; left: 0; }

	.produit_quantite_wrapper { padding: 17px 24px 17px 0; }

	.lm-dashboard__welcome { font-size: var(--text-2xl); }
	.lm-dashboard__description { font-size: var(--text-lg); }
	.lm-dashboard__description span { font-size: var(--text-xl); }

	.lm-page__compte { grid-template-columns: 280px 1fr; gap: 30px; padding: 40px 0 60px; }
	.lm-page__compte-navigation { position: sticky; top: 0; padding: 28px 20px; }
	.lm-page__compte-navigation ul { flex-direction: column; }
	.lm-page__compte-navigation-link a { justify-content: flex-start; padding: 12px 16px; font-size: 15px; }
	.lm-page__compte-navigation-link a::before { display: inline-flex; }

	.col2-set { flex-direction: row; }
	.col2-set .col-1 { width: 73%; float: left; }
	.col2-set .col-2 { width: 25%; float: right; }

	.lm-adress-edit { flex-direction: row; }
	.lm-adress-edit .address-banner { max-width: 350px; margin-top: 0; }

	.lm-address-row { flex-direction: row; align-items: flex-start; }
	.lm-address-card { flex: 1; min-width: 0; }
}

@media (max-width: 991px) {

	.lm-page__compte { grid-template-columns: 1fr; gap: 24px; padding: 20px 16px; }
	.lm-page__compte-navigation { grid-column: auto; position: relative; top: 0; padding: 20px; }
	.lm-page__compte-navigation::before { font-size: var(--text-lg); padding-bottom: 16px; margin-bottom: 16px; }
	.lm-page__compte-navigation ul { flex-direction: row; flex-wrap: wrap; gap: 10px; }
	.lm-page__compte-navigation-link { flex: 1 1 auto; min-width: auto; }
	.lm-page__compte-navigation-link a { justify-content: center; padding: 10px 14px; font-size: var(--text-base); }
	.lm-page__compte-navigation-link a::before { display: none; }
	.lm-page__compte-content { grid-column: auto; }
}

@media (max-width: 768px) {

	.col2-set { flex-direction: column; gap: 30px; }
	.col2-set .col-1,
	.col2-set .col-2 { width: 100%; float: none; }

	.form-row.unChampIdentification { flex-direction: column; align-items: flex-start; }
	.form-row.unChampIdentification label,
	.txt_commande_titre { width: 100%; line-height: 1.4; margin-bottom: 4px; }
	.form-row.unChampIdentification .input-wrapper,
	.form-row.unChampIdentification .woocommerce-input-wrapper,
	.form-row.notes .input-wrapper { width: 100%; }
	.select-loura_wrapper { width: 100%; }

	.woocommerce-MyAccount-content .form-row { flex-direction: column; align-items: flex-start; }
	.woocommerce-MyAccount-content label { width: 100%; margin-bottom: 4px; }
	.woocommerce-MyAccount-content input:not([type="checkbox"]):not([type="radio"]),
	.woocommerce-MyAccount-content select,
	.woocommerce-MyAccount-content textarea { width: 100%; }

	.woocommerce-address-fields .form-row { flex-direction: column; align-items: flex-start; }
	.woocommerce-address-fields label { width: 100%; margin-bottom: 4px; }
	.woocommerce-address-fields .woocommerce-input-wrapper { width: 100%; }

	.variation-item { flex-direction: column; align-items: flex-start; gap: 6px; }
	.variation-value { width: 100%; justify-content: flex-start; }
	.variation-select { max-width: 100%; }
}

@media (max-width: 640px) {

	.lm-page__compte { padding: 20px 16px; }
	.lm-page__compte-content { border-radius: var(--radius-xl); }
	.lm-page__compte-content > h1,
	.lm-page__compte-content .woocommerce-MyAccount-content > h1,
	.lm-page__compte-content > h2 { font-size: var(--text-2xl); margin-bottom: 20px; }

	.woocommerce-MyAccount-content table.shop_table th,
	.woocommerce-MyAccount-content table.shop_table td { padding: 12px; font-size: var(--text-sm); }
	.woocommerce-MyAccount-content .button { padding: 6px 14px; font-size: var(--text-xs); }
	.woocommerce-MyAccount-content button[type="submit"],
	.woocommerce-MyAccount-content .woocommerce-Button { width: 100%; padding: 12px 20px; }

	.account-info-cards { grid-template-columns: 1fr; gap: 16px; }

	.cart-item__options { width: 50%; }
	.cart-item__content { flex-wrap: wrap; gap: 25px 20px; }
	.cart-item__side { flex-basis: 100%; }
	.coupon-input-group { flex-direction: column; }
	.coupon-input,
	.coupon-apply-button { width: 100%; }
	.lm-cart-totals { width: 100%; }
	#place_order { padding: 12px 16px; font-size: var(--text-md); }
	.woocommerce-form__label-for-checkbox { align-items: flex-start; }
	.woocommerce-form__input-checkbox { margin-top: 2px; }
	.woocommerce-terms-and-conditions-checkbox-text { font-size: var(--text-sm); }
}

@media (max-width: 480px) {

	.lm-orders-table-wrap { overflow: visible; background: transparent; border: none; box-shadow: none; }
	.lm-orders-table thead { display: none; }
	.lm-orders-table tbody { display: flex; flex-direction: column; gap: 0.75rem; }

	.lm-orders-table__row {
		display: block;
		background: var(--color-bg);
		border: var(--border-base) solid var(--color-border);
		border-radius: var(--radius-lg);
		overflow: hidden;
		box-shadow: var(--shadow-sm);
	}

	.lm-orders-table__cell { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px; border-bottom: var(--border-thin) solid var(--color-border-light); }
	.lm-orders-table__cell:last-child { border-bottom: none; }

	.lm-orders-table__cell::before {
		content: attr(data-title);
		font-size: var(--text-xs);
		font-weight: 600;
		color: var(--color-text-muted);
		text-transform: uppercase;
		letter-spacing: 0.05em;
		flex-shrink: 0;
		margin-right: 1rem;
		font-family: var(--font-heading);
	}

	.lm-orders-table__cell-order-number { flex-direction: row; align-items: center; justify-content: space-between; background: var(--color-bg-soft); }
	.lm-orders-table__cell-order-number::before { display: none; }
	.lm-orders-table__cell-order-number a { font-size: var(--text-lg); }
	.lm-orders-table__cell-order-status,
	.lm-orders-table__cell-order-actions { text-align: right; }

	.lm-order-total__inner { flex-direction: column; align-items: flex-end; gap: 4px; }

	.lm-orders-pagination { justify-content: space-between; }
	.lm-orders-pagination__info { display: none; }
	.lm-orders-pagination__btn { flex: 1; justify-content: center; }

	.lm-orders-header { flex-direction: column; align-items: flex-start; }
	.lm-orders-header__cta { width: 100%; justify-content: center; }

	.lm-order-details__header { flex-direction: column; align-items: flex-start; }
	.lm-order-details__table thead { display: none; }
	.lm-order-item__inner { flex-wrap: wrap; }
	.lm-order-item__total { text-align: left; padding-top: 0; }
	.lm-order-details__actions { flex-direction: column; }
	.lm-order-details__actions .lm-orders-btn { width: 100%; justify-content: center; }

	.lm-thankyou__banner { flex-direction: column; text-align: center; }
	.lm-thankyou__actions { flex-direction: column; }
	.lm-thankyou__btn { width: 100%; justify-content: center; }

	.lm-order-download { flex-direction: column; align-items: flex-start; }
	.lm-order-download__btn { width: 100%; justify-content: center; }

	.lm-account-form__card-body { padding: 16px; }
	.lm-account-form__submit { flex-direction: column; align-items: stretch; }
	.lm-account-form__btn { width: 100%; justify-content: center; }

	.lm-reset-password__step-label { display: none; }
}

/* ── prefers-reduced-motion global ── */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
.lm-order-item__total {
	min-width: 140px;
	text-align: right;
	white-space: nowrap;
}