/**
 * Joloweb Clairesurface 1.21.0 : panier, mini-panier et commande aux maquettes du 11/10/2026.
 * Widgets d'Elementor Pro (Panier, Commande, Panier du menu) et formulaires classiques de
 * WooCommerce. Couleurs et polices par les variables de la charte (var(--cs-…)).
 * Les sections « Panier sur mobile » du CSS du kit restent ; les règles d'ici les surchargent.
 */

/* =========================================================================
 * Police : Montserrat partout (le texte des tableaux sortait en Roboto)
 * ====================================================================== */
.elementor-widget-woocommerce-cart,
.elementor-widget-woocommerce-checkout-page,
.elementor-menu-cart__main {
	font-family: var(--cs-police-texte, Montserrat), Arial, sans-serif;
	color: var(--cs-noir, #1E1E1C);
}
.elementor-widget-woocommerce-cart :is(table, thead, tbody, tfoot, tr, th, td, a, input, select, textarea, button, label, span, strong, small, p, dl, dt, dd, bdi, div):not([class*="eicon"]):not([class*="fa-"]),
.elementor-widget-woocommerce-checkout-page :is(table, thead, tbody, tfoot, tr, th, td, a, input, select, textarea, button, label, span, strong, small, p, dl, dt, dd, bdi, div, ul, li):not([class*="eicon"]):not([class*="fa-"]),
.elementor-menu-cart__main :is(a, span, strong, small, p, dl, dt, dd, bdi, div):not([class*="eicon"]):not([class*="fa-"]):not(.elementor-menu-cart__close-button):not(.jcs-mc-titre) {
	font-family: var(--cs-police-texte, Montserrat), Arial, sans-serif !important;
}

/* Titres de section en Newsreader */
.elementor-widget-woocommerce-cart .cart_totals h2,
.elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields h3,
.elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields h3,
.elementor-widget-woocommerce-checkout-page #order_review_heading {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: var(--cs-noir, #1E1E1C) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* =========================================================================
 * Données des lignes (gabarit cart/cart-item-data.php, version courte)
 * ====================================================================== */
/* Options des lignes du panier. Les groupes de choix de la fiche portent aussi la classe
   jcs-options (pilules, avec data-jcs-options) : ils sont exclus (1.21.4). */
.jcs-options:not([data-jcs-options]) { display: flex; flex-direction: column; gap: 2px; margin: 4px 0 0; }
.jcs-options__ligne { display: block; font-size: 13px !important; line-height: 1.55; font-weight: 400 !important; color: var(--cs-gris-texte, #625D57) !important; }
.jcs-options__libelle { font-weight: 400 !important; color: inherit !important; }
.jcs-options__ligne p { display: inline; margin: 0; }
.jcs-options__avec {
	align-self: flex-start;
	display: inline-block;
	margin: 2px 0;
	padding: 3px 8px;
	border-radius: 4px; /* 1.21.5 : angles à peine arrondis (pilule auparavant) */
	background: var(--cs-lin, #EFE8DE);
	color: var(--cs-gris-texte, #625D57);
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1.4;
}

/* =========================================================================
 * Page Panier
 * ====================================================================== */
/* Deux colonnes à partir de 1 200 px seulement (1.21.3) : de 1 025 à 1 199 px, la colonne du nom
   des produits tombait à 0 à 153 px. En dessous, une colonne, récapitulatif sous les produits. */
@media (min-width: 1200px) {
	body .elementor-widget-woocommerce-cart .e-cart__container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 340px !important;
		column-gap: 32px !important;
	}
}
@media (min-width: 1025px) and (max-width: 1199px) {
	body .elementor-widget-woocommerce-cart .e-cart__container {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 30px !important;
	}
	body .elementor-widget-woocommerce-cart .e-cart__column-end .e-sticky-right-column { position: static !important; }
}

body .elementor-widget-woocommerce-cart table.shop_table.cart { border: 0 !important; margin: 0 !important; width: 100%; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tbody { display: block; }

/* En-tête : Produit, Quantité, Sous-total */
@media (min-width: 769px) {
	body .elementor-widget-woocommerce-cart table.shop_table.cart thead { display: block; }
	body .elementor-widget-woocommerce-cart table.shop_table.cart thead tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 132px 110px;
		column-gap: 24px;
		padding: 14px 0;
		border-bottom: 1px solid var(--cs-filet, #E2D9CC);
	}
	body .elementor-widget-woocommerce-cart table.shop_table.cart thead :is(th.product-remove, th.product-thumbnail, th.product-price) { display: none !important; }
	body .elementor-widget-woocommerce-cart table.shop_table.cart thead th {
		padding: 0 !important;
		border: 0 !important;
		font-size: 12.5px !important;
		font-weight: 400 !important;
		color: var(--cs-gris-texte, #625D57) !important;
		background: none !important;
	}
	body .elementor-widget-woocommerce-cart table.shop_table.cart thead th.product-subtotal { text-align: right; }
}

/* Une ligne : vignette, nom et données, prix, « retirer » ; quantité et sous-total à droite */
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr) 132px 110px;
	grid-template-areas:
		"vignette nom qte total"
		"vignette prix qte total"
		"vignette retirer qte total";
	grid-template-rows: auto auto 1fr;
	column-gap: 20px;
	row-gap: 4px;
	position: static !important;
	padding: 24px 0 !important;
	border-bottom: 1px solid var(--cs-filet, #E2D9CC);
	background: none !important;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td {
	display: block !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	text-align: left !important;
	position: static !important;
	min-width: 0;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td::before { content: none !important; display: none !important; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-thumbnail { grid-area: vignette; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-thumbnail img {
	display: block;
	width: 96px !important;
	height: 96px !important;
	max-width: none !important;
	object-fit: cover;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: var(--cs-rayon, 6px);
	background: var(--cs-lin, #EFE8DE);
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-name {
	grid-area: nom;
	display: flex !important;
	flex-direction: column;
	gap: 2px;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-name .jcs-options { display: contents; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-name .jcs-options__avec { order: -1; margin: 0 0 4px; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-name > a {
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.35;
	color: var(--cs-noir, #1E1E1C) !important;
	text-decoration: none !important;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-name > a:hover { color: var(--cs-rose-fonce, #8F554D) !important; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-price {
	grid-area: prix;
	font-size: 13px !important;
	color: var(--cs-gris-texte, #625D57) !important;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-price br { display: none; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-price .jcs-prix-unitaire::before { content: "\00a0· "; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-price :is(.amount, .jcs-prix-unitaire) { display: inline !important; font-size: 13px !important; font-weight: 400 !important; color: var(--cs-gris-texte, #625D57) !important; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove { grid-area: retirer; margin-top: 4px; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove a.remove {
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	font-size: 0 !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--cs-gris-texte, #625D57) !important;
	text-indent: 0 !important;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove a.remove::after {
	content: "Retirer";
	font-size: 12.5px;
	text-decoration: underline;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-remove a.remove:hover { color: var(--cs-noir, #1E1E1C) !important; background: transparent !important; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-quantity { grid-area: qte; align-self: center; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-subtotal {
	grid-area: total;
	align-self: center;
	text-align: right !important;
	white-space: nowrap;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-subtotal .amount { font-size: 15px !important; font-weight: 600 !important; color: var(--cs-noir, #1E1E1C) !important; }

/* Ligne ajoutée avec un kit : rattachée au kit au-dessus */
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item:has(+ tr.jcs-ligne-liee) { border-bottom: 0; padding-bottom: 12px !important; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item.jcs-ligne-liee {
	grid-template-columns: 64px minmax(0, 1fr) 132px 110px;
	padding: 12px 0 24px 116px !important;
}
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item.jcs-ligne-liee td.product-thumbnail img { width: 64px !important; height: 64px !important; }
body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item.jcs-ligne-liee td.product-name > a { font-size: 14px !important; }
.jcs-qte-liee { display: block; font-size: 14px; font-weight: 500; }
.jcs-qte-liee small { display: block; font-size: 12px; font-weight: 400; color: var(--cs-gris-texte, #625D57); }

/* Boutons − et + (assets/parcours.js) */
body .woocommerce-cart-form .quantity.jcs-pas {
	display: inline-flex !important;
	align-items: center;
	height: 44px;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: var(--cs-rayon, 6px);
	background: var(--cs-blanc, #FFFFFF);
	overflow: hidden;
}
body .woocommerce-cart-form .quantity.jcs-pas input.qty {
	width: 36px !important;
	height: 42px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: center;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--cs-noir, #1E1E1C) !important;
	-moz-appearance: textfield;
	appearance: textfield;
}
body .woocommerce-cart-form .quantity.jcs-pas input.qty::-webkit-inner-spin-button,
body .woocommerce-cart-form .quantity.jcs-pas input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body .woocommerce-cart-form .quantity.jcs-pas .jcs-pas__bouton {
	width: 40px;
	height: 42px;
	padding: 0 !important;
	margin: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--cs-noir, #1E1E1C) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1;
	cursor: pointer;
	box-shadow: none !important;
}
body .woocommerce-cart-form .quantity.jcs-pas .jcs-pas__bouton:hover,
body .woocommerce-cart-form .quantity.jcs-pas .jcs-pas__bouton:active { background: var(--cs-lin, #EFE8DE) !important; color: var(--cs-noir, #1E1E1C) !important; }
body .woocommerce-cart-form .quantity.jcs-pas .jcs-pas__bouton:focus-visible { outline: 2px solid var(--cs-rose, #A0655D); outline-offset: -2px; }

/* Lien « continuer mes achats » sous le tableau */
.jcs-continuer { margin: 20px 0 0; font-size: 14px; }
body .jcs-continuer a { color: var(--cs-rose-fonce, #8F554D); text-decoration: underline; }
body .jcs-continuer a:hover { color: var(--cs-noir, #1E1E1C); }

/* Récapitulatif */
body .elementor-widget-woocommerce-cart .cart_totals table.shop_table { border: 0 !important; margin: 16px 0 0 !important; }
body .elementor-widget-woocommerce-cart .cart_totals table.shop_table :is(th, td) {
	padding: 8px 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--cs-noir, #1E1E1C) !important;
	vertical-align: baseline;
}
body .elementor-widget-woocommerce-cart .cart_totals table.shop_table td { text-align: right !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.jcs-livraison-info td { color: var(--cs-gris-texte, #625D57) !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total :is(th, td) { border-top: 1px solid var(--cs-filet, #E2D9CC) !important; padding-top: 16px !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total th { font-size: 15px !important; font-weight: 600 !important; }
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total td strong,
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total td strong .amount {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif !important;
	font-size: 32px !important;
	font-weight: 400 !important;
	line-height: 1.1;
	white-space: nowrap;
}
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total small.includes_tax,
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total small.includes_tax .amount {
	display: block;
	margin-top: 6px;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	color: var(--cs-gris-texte, #625D57) !important;
}
body .elementor-widget-woocommerce-cart .cart_totals tr.order-total small.includes_tax .amount { display: inline; margin: 0; }
body .elementor-widget-woocommerce-cart .wc-proceed-to-checkout { padding: 8px 0 0 !important; }
body .elementor-widget-woocommerce-cart .wc-proceed-to-checkout a.checkout-button { min-height: 52px; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; }
.jcs-panier-aide { margin: 16px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--cs-gris-texte, #625D57); }
body .jcs-panier-aide a { color: var(--cs-rose-fonce, #8F554D); text-decoration: underline; }
body .jcs-panier-aide a:hover { color: var(--cs-noir, #1E1E1C); }

/* Panier sur mobile : vignette à gauche, quantité et sous-total sur la même ligne */
@media (max-width: 768px) {
	body .elementor-widget-woocommerce-cart table.shop_table.cart thead { display: none !important; }
	body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item {
		grid-template-columns: 72px minmax(0, 1fr) auto;
		grid-template-areas:
			"vignette nom nom"
			"vignette prix prix"
			"vignette qte total"
			"vignette retirer retirer";
		grid-template-rows: auto auto auto auto;
		column-gap: 14px;
		row-gap: 6px;
		padding: 18px 0 !important;
	}
	body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-thumbnail img { width: 72px !important; height: 72px !important; }
	body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-quantity { margin-top: 6px; }
	body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item td.product-subtotal { margin-top: 6px; }
	body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item.jcs-ligne-liee {
		grid-template-columns: 56px minmax(0, 1fr) auto;
		padding: 8px 0 18px 24px !important;
	}
	body .elementor-widget-woocommerce-cart table.shop_table.cart tr.cart_item.jcs-ligne-liee td.product-thumbnail img { width: 56px !important; height: 56px !important; }
}

/* =========================================================================
 * Mini-panier (widget Panier du menu d'Elementor Pro, volet latéral)
 * ====================================================================== */
body .elementor-menu-cart__main {
	width: min(440px, 100vw) !important;
	max-width: 100vw !important;
	padding: 0 !important;
	border-left: 1px solid var(--cs-filet, #E2D9CC);
	background: var(--cs-blanc, #FFFFFF) !important;
}
/* 1.21.8 : zone de clic de 40 px (Elementor : 25 px), croix de 18 px en noir, trait de 2 px */
body .elementor-menu-cart__main .elementor-menu-cart__close-button {
	position: absolute !important;
	top: 15px;
	right: 14px;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	border-radius: var(--cs-rayon, 6px);
	background: transparent;
	transition: background-color .2s;
	z-index: 3;
}
body .elementor-menu-cart__main .elementor-menu-cart__close-button::before,
body .elementor-menu-cart__main .elementor-menu-cart__close-button::after {
	width: 18px !important;
	height: 2px !important;
	left: 11px !important;
	top: 50% !important;
	margin-top: -1px !important;
	background: var(--cs-noir, #1E1E1C) !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__close-button:hover {
	background: var(--cs-lin, #EFE8DE);
}
body .elementor-menu-cart__main .elementor-menu-cart__close-button:focus-visible {
	outline: 2px solid var(--cs-rose, #A0655D);
	outline-offset: 2px;
}
body .elementor-menu-cart__main .widget_shopping_cart_content {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}
body .elementor-menu-cart__main .elementor-menu-cart__products {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 0 24px !important;
	margin: 0 !important;
	max-height: none !important;
}
.jcs-mc-entete {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0 -24px;
	padding: 20px 68px 18px 24px;
	background: var(--cs-blanc, #FFFFFF);
	border-bottom: 1px solid var(--cs-filet, #E2D9CC);
}
body .jcs-mc-entete .jcs-mc-titre {
	margin: 0;
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif !important;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--cs-noir, #1E1E1C);
}
.jcs-mc-nombre { font-size: 13px; color: var(--cs-gris-texte, #625D57); }

body .elementor-menu-cart__main .elementor-menu-cart__product {
	display: grid !important;
	grid-template-columns: 72px minmax(0, 1fr) !important;
	grid-template-rows: auto auto auto !important;
	column-gap: 16px;
	row-gap: 4px;
	padding: 20px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--cs-filet, #E2D9CC) !important;
	position: relative;
}
body .elementor-menu-cart__main .elementor-menu-cart__product-image {
	grid-column: 1 !important;
	grid-row: 1 / span 3 !important;
	width: 72px;
	align-self: start;
}
body .elementor-menu-cart__main .elementor-menu-cart__product-image img {
	display: block;
	width: 72px !important;
	height: 72px !important;
	max-width: none !important;
	object-fit: cover;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: var(--cs-rayon, 6px);
	background: var(--cs-lin, #EFE8DE);
}
body .elementor-menu-cart__main .elementor-menu-cart__product-name {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: flex !important;
	flex-direction: column;
	gap: 2px;
	padding: 0 !important;
	margin: 0 !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__product-name > a {
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: var(--cs-noir, #1E1E1C) !important;
	text-decoration: none !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__product-name > a:hover { color: var(--cs-rose-fonce, #8F554D) !important; }
body .elementor-menu-cart__main .elementor-menu-cart__product-name .jcs-options { display: contents; }
body .elementor-menu-cart__main .elementor-menu-cart__product-name .jcs-options__avec { order: -1; margin: 0 0 4px; }
body .elementor-menu-cart__main .elementor-menu-cart__product-name .jcs-options__ligne { font-size: 12.5px; }
body .elementor-menu-cart__main .elementor-menu-cart__product-price {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	padding: 0 !important;
	margin: 4px 0 0 !important;
}
.jcs-mc-prix { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; }
.jcs-mc-detail,
.jcs-mc-detail :is(.amount, .product-quantity, .jcs-prix-unitaire) {
	font-size: 12.5px !important;
	font-weight: 400 !important;
	color: var(--cs-gris-texte, #625D57) !important;
}
.jcs-mc-total,
.jcs-mc-total .amount { font-size: 14px !important; font-weight: 600 !important; color: var(--cs-noir, #1E1E1C) !important; white-space: nowrap; }

/* « retirer » souligné à la place de la croix ronde */
body .elementor-menu-cart__main .elementor-menu-cart__product-remove {
	grid-column: 2 !important;
	grid-row: 3 !important;
	position: static !important;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	border-radius: 0 !important;
	justify-self: start;
	margin: 2px 0 0;
}
body .elementor-menu-cart__main .elementor-menu-cart__product-remove::before,
body .elementor-menu-cart__main .elementor-menu-cart__product-remove::after { content: none !important; display: none !important; }
body .elementor-menu-cart__main .elementor-menu-cart__product-remove > a.elementor_remove_from_cart_button {
	position: static !important;
	display: inline-block !important;
	width: auto !important;
	height: auto !important;
	opacity: 1 !important;
	overflow: visible !important;
	font-size: 12.5px;
	line-height: 1.4;
	color: var(--cs-gris-texte, #625D57) !important;
	text-decoration: underline;
}
body .elementor-menu-cart__main .elementor-menu-cart__product-remove > a.elementor_remove_from_cart_button::after { content: "Retirer"; }
body .elementor-menu-cart__main .elementor-menu-cart__product-remove > a.elementor_remove_from_cart_button:hover { color: var(--cs-noir, #1E1E1C) !important; }
body .elementor-menu-cart__main .elementor-menu-cart__product-remove > a.remove_from_cart_button { display: none !important; }

/* Produit ajouté avec un kit : en retrait sous son kit */
body .elementor-menu-cart__main .elementor-menu-cart__product:has(+ .jcs-ligne-liee) { border-bottom: 0 !important; padding-bottom: 12px !important; }
body .elementor-menu-cart__main .elementor-menu-cart__product.jcs-ligne-liee {
	grid-template-columns: 48px minmax(0, 1fr) !important;
	margin-left: 88px !important;
	padding-top: 8px !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__product.jcs-ligne-liee .elementor-menu-cart__product-image,
body .elementor-menu-cart__main .elementor-menu-cart__product.jcs-ligne-liee .elementor-menu-cart__product-image img { width: 48px !important; height: 48px !important; }
body .elementor-menu-cart__main .elementor-menu-cart__product.jcs-ligne-liee .elementor-menu-cart__product-name > a { font-size: 13.5px !important; }

/* Pied : sous-total, mention, boutons */
body .elementor-menu-cart__main .elementor-menu-cart__subtotal {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 4px 12px;
	margin: 0 !important;
	padding: 20px 24px 0 !important;
	border-top: 1px solid var(--cs-filet, #E2D9CC) !important;
	border-bottom: 0 !important;
	text-align: left !important;
	font-size: 14px !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__subtotal strong { font-size: 14px !important; font-weight: 600 !important; }
body .elementor-menu-cart__main .elementor-menu-cart__subtotal > .amount,
body .elementor-menu-cart__main .elementor-menu-cart__subtotal > .amount bdi {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif !important;
	font-size: 26px !important;
	font-weight: 400 !important;
}
.jcs-mc-note { flex-basis: 100%; font-size: 12.5px; line-height: 1.5; color: var(--cs-gris-texte, #625D57); }
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons {
	display: flex !important;
	flex-direction: column-reverse;
	gap: 12px !important;
	margin: 0 !important;
	padding: 16px 24px 24px !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 !important;
	border-radius: var(--cs-rayon, 6px) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons .elementor-button .elementor-button-text { font-family: inherit !important; }
body .elementor-menu-cart__main .elementor-button--checkout {
	min-height: 50px;
	background: var(--cs-rose, #A0655D) !important;
	border: 1px solid var(--cs-rose, #A0655D) !important;
	color: #FFFFFF !important;
}
body .elementor-menu-cart__main .elementor-button--checkout:is(:hover, :focus) { background: var(--cs-rose-fonce, #8F554D) !important; border-color: var(--cs-rose-fonce, #8F554D) !important; color: #FFFFFF !important; }
body .elementor-menu-cart__main .elementor-button--view-cart {
	min-height: 46px;
	background: transparent !important;
	border: 1px solid var(--cs-noir, #1E1E1C) !important;
	color: var(--cs-noir, #1E1E1C) !important;
	font-weight: 500 !important;
}
body .elementor-menu-cart__main .elementor-button--view-cart:is(:hover, :focus) { background: var(--cs-noir, #1E1E1C) !important; color: #FFFFFF !important; }
body .elementor-menu-cart__main .woocommerce-mini-cart__empty-message { padding: 24px; font-size: 14px; color: var(--cs-gris-texte, #625D57); }

/* =========================================================================
 * Page Commande
 * ====================================================================== */
@media (min-width: 1025px) {
	body .elementor-widget-woocommerce-checkout-page .e-checkout__container {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 400px !important;
		column-gap: 32px !important;
	}
}

/* Champs */
body .elementor-widget-woocommerce-checkout-page .form-row label {
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--cs-noir, #1E1E1C) !important;
	margin-bottom: 6px !important;
}
body .elementor-widget-woocommerce-checkout-page .form-row label .required { color: var(--cs-rose-fonce, #8F554D) !important; text-decoration: none; }
body .elementor-widget-woocommerce-checkout-page .form-row label .optional { font-weight: 400; color: var(--cs-gris-texte, #625D57); }
body .elementor-widget-woocommerce-checkout-page .form-row :is(input.input-text, select) {
	height: 48px !important;
	min-height: 48px !important;
	padding: 0 14px !important;
	border: 1px solid var(--cs-filet, #E2D9CC) !important;
	border-radius: var(--cs-rayon, 6px) !important;
	background: var(--cs-blanc, #FFFFFF) !important;
	font-size: 14px !important;
	color: var(--cs-noir, #1E1E1C) !important;
	box-shadow: none !important;
}
body .elementor-widget-woocommerce-checkout-page .form-row textarea {
	min-height: 96px;
	padding: 12px 14px !important;
	border: 1px solid var(--cs-filet, #E2D9CC) !important;
	border-radius: var(--cs-rayon, 6px) !important;
	font-size: 14px !important;
}
body .elementor-widget-woocommerce-checkout-page .form-row :is(input.input-text, select, textarea):focus { border-color: var(--cs-noir, #1E1E1C) !important; outline: 0; }
@media (min-width: 600px) {
	body .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields__field-wrapper {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 20px;
		row-gap: 2px;
	}
	body .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields__field-wrapper > .form-row { grid-column: 1 / -1; width: auto !important; float: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	body .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields__field-wrapper > .form-row-first { grid-column: 1; }
	body .elementor-widget-woocommerce-checkout-page .woocommerce-billing-fields__field-wrapper > .form-row-last { grid-column: 2; }
}
/* Pays : un seul pays de livraison, affiché comme une ligne de texte */
body .elementor-widget-woocommerce-checkout-page #billing_country_field { display: flex; align-items: baseline; gap: 6px; }
body .elementor-widget-woocommerce-checkout-page #billing_country_field label { margin: 0 !important; }
body .elementor-widget-woocommerce-checkout-page #billing_country_field label .required { display: none; }
body .elementor-widget-woocommerce-checkout-page #billing_country_field strong { font-size: 14px; font-weight: 400; }
body .elementor-widget-woocommerce-checkout-page #billing_country_field select.country_to_state--single {
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	-webkit-appearance: none;
	appearance: none;
	pointer-events: none;
	font-size: 14px !important;
	color: var(--cs-noir, #1E1E1C) !important;
}

/* Colonne « Votre commande » : fond lin, paiement en carte blanche */
body .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__column-inner {
	background: var(--cs-lin, #EFE8DE);
	border-radius: var(--cs-rayon, 6px);
	padding: 28px;
}
body .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__order_review {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}
body .elementor-widget-woocommerce-checkout-page #order_review_heading { margin: 0 0 8px !important; padding: 0 !important; }

body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table,
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table :is(tbody, tfoot) { display: block; width: 100%; border: 0 !important; margin: 0 !important; background: none !important; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table thead { display: none !important; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	background: none !important;
}
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table :is(td, th) {
	display: block;
	width: auto !important;
	max-width: none !important;
	flex: none;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	color: var(--cs-noir, #1E1E1C) !important;
}
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.cart_item {
	align-items: flex-start;
	padding: 14px 0;
	border-bottom: 1px solid var(--cs-filet, #E2D9CC);
}
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.cart_item:has(+ tr.jcs-ligne-liee) { border-bottom: 0; padding-bottom: 8px; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table td.product-name {
	flex: 1 1 0;
	min-width: 0;
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	column-gap: 14px;
	row-gap: 3px;
	align-content: start;
	font-size: 0 !important; /* l'espace insécable que WooCommerce ajoute après le nom ne crée pas de ligne vide (1.21.2) */
}
.jcs-cmd-vignette { grid-column: 1; grid-row: 1 / span 4; position: relative; width: 64px; height: 64px; }
.jcs-cmd-vignette img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border: 1px solid var(--cs-filet, #E2D9CC);
	border-radius: var(--cs-rayon, 6px);
	background: var(--cs-blanc, #FFFFFF);
	box-sizing: border-box;
}
.jcs-cmd-qte {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	box-sizing: border-box;
	border-radius: 999px;
	background: var(--cs-noir, #1E1E1C);
	color: #FFFFFF;
	font-size: 11.5px;
	font-weight: 600;
	line-height: 22px;
	text-align: center;
}
body .elementor-widget-woocommerce-checkout-page .jcs-cmd-nom { grid-column: 2; font-size: 14px !important; font-weight: 600 !important; line-height: 1.35; }
body .elementor-widget-woocommerce-checkout-page td.product-name .jcs-options { grid-column: 2; margin: 0; }
body .elementor-widget-woocommerce-checkout-page td.product-name .jcs-options__ligne { font-size: 12.5px; }
body .elementor-widget-woocommerce-checkout-page td.product-name > :is(.screen-reader-text, strong.product-quantity) { grid-column: 2; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table td.product-total { white-space: nowrap; text-align: right !important; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table td.product-total .amount { font-weight: 600 !important; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.jcs-ligne-liee { padding: 8px 0 14px 32px; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.jcs-ligne-liee td.product-name { grid-template-columns: 48px minmax(0, 1fr); }
body .elementor-widget-woocommerce-checkout-page tr.jcs-ligne-liee .jcs-cmd-vignette { width: 48px; height: 48px; }
body .elementor-widget-woocommerce-checkout-page tr.jcs-ligne-liee .jcs-cmd-nom { font-size: 13.5px !important; }

/* Totaux */
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot { padding-top: 14px; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot tr { padding: 5px 0; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tfoot td { text-align: right !important; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total {
	flex-wrap: wrap;
	margin-top: 10px;
	padding-top: 16px;
	border-top: 1px solid var(--cs-filet, #E2D9CC);
}
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total th { font-size: 15px !important; font-weight: 600 !important; }
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total td strong,
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total td strong .amount {
	font-family: var(--cs-police-titre, Newsreader), Georgia, serif !important;
	font-size: 34px !important;
	font-weight: 400 !important;
	line-height: 1.1;
	white-space: nowrap;
}
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total small.includes_tax,
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total small.includes_tax .amount {
	display: block;
	margin-top: 6px;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	color: var(--cs-gris-texte, #625D57) !important;
}
body .elementor-widget-woocommerce-checkout-page table.woocommerce-checkout-review-order-table tr.order-total small.includes_tax .amount { display: inline; margin: 0; }

/* Paiement */
body .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .woocommerce-checkout-payment {
	margin-top: 20px !important;
	padding: 20px !important;
	background: var(--cs-blanc, #FFFFFF) !important;
	border: 1px solid var(--cs-filet, #E2D9CC) !important;
	border-radius: var(--cs-rayon, 6px) !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-payment ul.payment_methods { padding: 0 !important; margin: 0 0 12px !important; border: 0 !important; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-payment ul.payment_methods > li { padding: 10px 0 !important; border-top: 1px solid var(--cs-filet, #E2D9CC); font-size: 14px; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-payment ul.payment_methods > li:first-child { border-top: 0; }
body .elementor-widget-woocommerce-checkout-page .woocommerce-checkout-payment #place_order {
	width: 100%;
	min-height: 54px;
	border-radius: var(--cs-rayon, 6px) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-transform: none !important;
}
body .elementor-widget-woocommerce-checkout-page .woocommerce-privacy-policy-text p { font-size: 12px; line-height: 1.6; color: var(--cs-gris-texte, #625D57); }
@media (max-width: 767px) {
	body .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .e-checkout__column-inner { padding: 20px 16px; }
}
body .elementor-widget-woocommerce-checkout-page .e-checkout__column-end .jcs-options__avec { background: var(--cs-blanc, #FFFFFF); }

/* 1.21.8 : carte « Notes de commande » ; le titre du widget est vide, sa marge de 30 px creusait le haut */
body .elementor-widget-woocommerce-checkout-page .woocommerce-additional-fields > h3:empty { display: none !important; }

/* Connectés : la barre d'administration de WordPress couvre le haut du volet */
@media (min-width: 783px) {
	body.admin-bar .elementor-menu-cart__main { padding-top: 32px !important; }
	body.admin-bar .elementor-menu-cart__main .elementor-menu-cart__close-button { top: 47px; }
}
@media (max-width: 782px) {
	body.admin-bar .elementor-menu-cart__main { padding-top: 46px !important; }
	body.admin-bar .elementor-menu-cart__main .elementor-menu-cart__close-button { top: 61px; }
}
