/**
 * Page Panier — refonte UX engageante (T350).
 * Charte AUG (verts naturels, CTA orange, réassurance). Mobile-first.
 * Cible la page panier WooCommerce par défaut, sans surcharge de template.
 */

/* ---------- Robustesse layout : blocs injectés en pleine largeur ----------
   .wp-block-woocommerce-filled-cart-block est un conteneur FLEX (colonnes
   articles + récap). Nos blocs injectés (accueil + étapes) doivent occuper
   toute la ligne, sinon ils se placent à côté des colonnes (panier "cassé"). */
.wp-block-woocommerce-cart .wp-block-woocommerce-filled-cart-block { flex-wrap: wrap; }
.wp-block-woocommerce-cart .ms-cart-welcome,
.wp-block-woocommerce-cart .ms-cart-steps {
	flex: 0 0 100%;
	width: 100%;
	box-sizing: border-box;
}

/* ---------- Fil d'étapes ---------- */
.ms-cart-steps {
	list-style: none;
	display: flex;
	gap: var(--fc-space-sm);
	padding: 0;
	margin: 0 0 var(--fc-space-xl);
	counter-reset: none;
	flex-wrap: wrap;
}
.ms-cart-steps__item {
	display: flex;
	align-items: center;
	gap: var(--fc-space-sm);
	color: var(--fc-text-light);
	font-weight: 600;
	font-size: 0.9rem;
	flex: 1 1 auto;
}
.ms-cart-steps__item:not(:last-child)::after {
	content: "›";
	margin-left: auto;
	color: var(--fc-gray-300, #d1d5db);
	font-size: 1.2rem;
}
.ms-cart-steps__num {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 26px; height: 26px;
	border-radius: 50%;
	background: var(--fc-gray-200, #e5e7eb);
	color: var(--fc-text-light);
	font-size: 0.82rem;
	flex: none;
}
.ms-cart-steps__item.is-active { color: var(--fc-primary); }
.ms-cart-steps__item.is-active .ms-cart-steps__num {
	background: var(--fc-primary);
	color: #fff;
}

/* ---------- Tableau panier : plus aéré, en carte ---------- */
.woocommerce-cart .woocommerce-cart-form .shop_table {
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}
.woocommerce-cart .woocommerce-cart-form .shop_table thead th {
	background: var(--fc-green-50);
	color: var(--fc-green-800);
	font-family: var(--fc-font-heading);
}
.woocommerce-cart .cart_item td { vertical-align: middle; }
.woocommerce-cart .product-thumbnail img {
	border-radius: var(--fc-radius-md);
	max-width: 72px;
	height: auto;
}

/* Coupon discret */
.woocommerce-cart .cart .actions .coupon {
	opacity: 0.92;
}
.woocommerce-cart .cart .actions .coupon .input-text {
	border-radius: var(--fc-radius-md);
}

/* ---------- Totaux : carte mise en avant ---------- */
.woocommerce-cart .cart_totals {
	background: #fff;
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	padding: var(--fc-space-lg);
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
.woocommerce-cart .cart_totals h2 {
	font-family: var(--fc-font-heading);
	margin-top: 0;
}

/* Bouton « Valider la commande » : orange, large, visible */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button.button {
	background: var(--fc-accent) !important;
	color: #fff !important;
	font-size: 1.08rem;
	font-weight: 700;
	text-align: center;
	padding: 0.95em 1.2em;
	border-radius: var(--fc-radius-lg);
	width: 100%;
	box-shadow: 0 4px 14px rgba(249,115,22,0.28);
	transition: background 0.2s ease, transform 0.1s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--fc-accent-hover) !important;
	transform: translateY(-1px);
}

/* ---------- Réassurance sous le bouton ---------- */
.ms-cart-reassure {
	margin-top: var(--fc-space-md);
	padding-top: var(--fc-space-md);
	border-top: 1px dashed var(--fc-green-200);
}
.ms-cart-reassure__title {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--fc-text-light);
	margin: 0 0 var(--fc-space-sm);
}
.ms-cart-reassure__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--fc-space-sm);
}
.ms-cart-reassure__list li {
	display: flex;
	align-items: center;
	gap: var(--fc-space-sm);
	font-size: 0.92rem;
	color: var(--fc-text);
}
.ms-cart-reassure__list svg { color: var(--fc-primary); flex: none; }

/* ---------- Panier vide engageant ---------- */
.ms-cart-empty {
	text-align: center;
	max-width: 560px;
	margin: var(--fc-space-xl) auto;
	padding: var(--fc-space-2xl) var(--fc-space-lg);
	background: var(--fc-green-50);
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
}
.ms-cart-empty__icon { color: var(--fc-primary); margin-bottom: var(--fc-space-sm); }
.ms-cart-empty__title {
	font-family: var(--fc-font-heading);
	font-size: 1.5rem;
	margin: 0 0 var(--fc-space-sm);
}
.ms-cart-empty__text {
	color: var(--fc-gray-600, #4b5563);
	line-height: 1.6;
	margin: 0 auto var(--fc-space-lg);
	max-width: 46ch;
}
.ms-cart-empty__actions {
	display: flex;
	gap: var(--fc-space-md);
	justify-content: center;
	flex-wrap: wrap;
}
/* Masquer le bouton WooCommerce "Return to shop" par défaut (remplacé par nos CTA) */
.woocommerce-cart .cart-empty + p .wc-backward,
.woocommerce-cart .wc-empty-cart-message + p .wc-backward { display: none; }

/* ========================================================================
   BLOC WooCommerce Cart (wp:woocommerce/cart) — la page panier réelle
   ===================================================================== */

/* Bouton « Valider la commande » → orange charte, large, visible */
.wp-block-woocommerce-cart .wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a,
.wp-block-woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
	background: var(--fc-accent) !important;
	background-color: var(--fc-accent) !important;
	color: #fff !important;
	border-radius: var(--fc-radius-lg) !important;
	font-weight: 700 !important;
	box-shadow: 0 4px 14px rgba(249,115,22,0.28);
	transition: background-color 0.2s ease, transform 0.1s ease;
}
.wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-cart .wp-block-woocommerce-proceed-to-checkout-block a:hover {
	background-color: var(--fc-accent-hover) !important;
	transform: translateY(-1px);
}
.wp-block-woocommerce-cart .wc-block-components-button__text { color: #fff !important; }

/* Récapitulatif (sidebar) en carte douce */
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	background: #fff;
}

/* Le bloc réassurance injecté se cale dans la sidebar, sous le bouton */
.wp-block-woocommerce-cart .ms-cart-reassure { margin-top: var(--fc-space-md); }

/* Panier vide (bloc) : centrer + nos CTA */
.wp-block-woocommerce-empty-cart-block { text-align: center; }
.ms-cart-empty-extra { margin-top: var(--fc-space-lg); }

/* ---------- Lignes articles : plus graphiques ---------- */
/* Conteneur des articles en carte */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart .wc-block-cart-items {
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.04);
	overflow: hidden;
}

/* Espacement & séparateurs de lignes */
.wp-block-woocommerce-cart .wc-block-cart-items__row td {
	padding-top: 1.15rem;
	padding-bottom: 1.15rem;
	vertical-align: middle;
	border-top: 1px solid var(--fc-green-100);
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:first-child td { border-top: 0; }
.wp-block-woocommerce-cart .wc-block-cart-items__row { transition: background 0.15s ease; }
.wp-block-woocommerce-cart .wc-block-cart-items__row:hover td { background: var(--fc-green-50); }

/* Visuel produit agrandi, arrondi, ombré */
.wp-block-woocommerce-cart .wc-block-cart-item__image img {
	width: 104px !important;
	height: auto !important;
	border-radius: var(--fc-radius-lg);
	border: 1px solid var(--fc-green-100);
	box-shadow: 0 4px 12px rgba(0,0,0,0.10);
	background: #fff;
}

/* Nom produit en Playfair, vert profond */
.wp-block-woocommerce-cart .wc-block-components-product-name {
	font-family: var(--fc-font-heading);
	font-size: 1.18rem;
	font-weight: 700;
	color: var(--fc-green-800);
	text-decoration: none;
	line-height: 1.25;
}
.wp-block-woocommerce-cart .wc-block-components-product-name:hover { color: var(--fc-primary); }

/* Prix : valeur en orange, ancien prix barré discret */
.wp-block-woocommerce-cart .wc-block-components-product-price__value.is-discounted,
.wp-block-woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price__value {
	color: var(--fc-accent);
	font-weight: 800;
	font-size: 1.08rem;
}
.wp-block-woocommerce-cart .wc-block-components-product-price__regular {
	color: var(--fc-text-light);
	font-size: 0.9em;
}

/* Métadonnées / description courte plus douces */
.wp-block-woocommerce-cart .wc-block-components-product-metadata {
	color: var(--fc-text-light);
	font-size: 0.9rem;
	margin-top: 0.15rem;
}

/* Bouton supprimer plus discret jusqu'au survol */
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link { transition: color 0.15s ease; }
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--fc-warm-600); }

/* ---------- Polices plus grandes + zone élargie + résumé ---------- */

/* Élargir la zone panier */
.woocommerce-cart .wp-block-woocommerce-cart,
.wp-block-woocommerce-cart.alignwide {
	max-width: 1340px;
	margin-left: auto;
	margin-right: auto;
}

/* Taille de texte générale du panier un cran au-dessus */
.wp-block-woocommerce-cart { font-size: 1.06rem; }
.wp-block-woocommerce-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart .wc-block-components-totals-item__value { font-size: 1.05rem; }
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.35rem; }

/* Nom produit encore plus présent */
.wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 1.4rem; }

/* En-têtes du tableau (PRODUIT / TOTAL) + titre récap */
.wp-block-woocommerce-cart .wc-block-cart-items__header,
.wp-block-woocommerce-cart .wc-block-cart__totals-title { font-size: 0.95rem; letter-spacing: 0.04em; }

/* Résumé injecté sous chaque article (description complète) */
.wp-block-woocommerce-cart .wc-block-components-product-metadata { display: none; } /* masque la version tronquée native */
.ms-cart-summary {
	font-size: 1.02rem;
	line-height: 1.55;
	color: var(--fc-gray-600, #4b5563);
	margin: 0.5rem 0 0;
	max-width: 60ch;
}

/* Image produit un peu plus grande encore avec la zone élargie */
.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 116px !important; }

/* ========================================================================
   PANIER PLUS CHALEUREUX (autocritique 5×) + largeur réelle
   ===================================================================== */

/* (2) Largeur : page.php pose un style inline max-width:var(--fc-content-width)
   sur .section__container. On redéfinit la variable sur la page panier → l'inline
   la relit (pas besoin de !important). + filet de sécurité. */
body.woocommerce-cart { --fc-content-width: 1280px; }
body.woocommerce-cart .section__container { max-width: 1280px !important; }

/* (3) Fond crème chaud sur la page panier (au lieu du blanc clinique) */
body.woocommerce-cart { background-color: #fdfaf3; }

/* (1) Message d'accueil chaleureux en haut du panier */
.ms-cart-welcome {
	display: flex;
	align-items: center;
	gap: var(--fc-space-md);
	background: linear-gradient(100deg, var(--fc-green-50), #fdf6ec);
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	padding: var(--fc-space-lg) var(--fc-space-xl);
	margin-bottom: var(--fc-space-lg);
}
.ms-cart-welcome__icon {
	flex: none;
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: #fff;
	color: var(--fc-primary);
	box-shadow: 0 2px 8px rgba(22,163,74,0.15);
}
.ms-cart-welcome p {
	margin: 0;
	font-family: var(--fc-font-heading);
	font-size: 1.2rem;
	line-height: 1.35;
	color: var(--fc-green-800);
}

/* (3) Cartes plus douces et chaleureuses */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart .wc-block-cart-items {
	border-radius: var(--fc-radius-xl);
	box-shadow: 0 6px 22px rgba(120,80,20,0.06);
}
.wp-block-woocommerce-cart .wc-block-cart-items__row:hover td { background: #fdf6ec; }

/* (5) Récap + réassurance en carte crème chaleureuse */
.wp-block-woocommerce-cart .wc-block-cart__sidebar .wc-block-components-sidebar {
	background: linear-gradient(180deg, #ffffff, #fffdf9);
	box-shadow: 0 6px 22px rgba(120,80,20,0.07);
}
.ms-cart-reassure {
	background: var(--fc-green-50);
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-lg);
	padding: var(--fc-space-md);
	border-top: 1px solid var(--fc-green-100);
}
.ms-cart-reassure__title { color: var(--fc-green-800); }
.ms-cart-reassure__list li { font-size: 0.98rem; }

/* (1) Étapes : actif en vert chaleureux, plus lisible */
.ms-cart-steps__item.is-active .ms-cart-steps__label { font-weight: 700; }

/* Fil d'Ariane / titre hero : garder, mais le contenu respire mieux */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block { padding-top: var(--fc-space-md); }

/* ========================================================================
   ZONE PRODUIT — finition graphique (autocritique 5×, UX/IHM)
   ===================================================================== */

/* (3) Nom : titre, pas de soulignement brut (souligné au survol) */
.wp-block-woocommerce-cart .wc-block-components-product-name {
	text-decoration: none !important;
	font-size: 1.5rem !important;
	line-height: 1.3;
	display: inline-block;
	margin-bottom: 0.3rem;
}
.wp-block-woocommerce-cart .wc-block-components-product-name:hover { text-decoration: underline !important; }
@media (max-width: 600px) {
	.wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 1.25rem !important; }
}

/* Prix ligne (ancien barré + remisé) bien groupés sous le nom */
.wp-block-woocommerce-cart .wc-block-cart-item__prices { margin: 0.1rem 0 0; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price__regular { margin-right: 0.4em; }

/* (1) Résumé groupé juste sous le prix, largeur de lecture confortable */
.wp-block-woocommerce-cart .ms-cart-summary {
	margin: 0.55rem 0 0;
	max-width: 56ch;
}

/* (2) Action « supprimer » discrète, en bas du bloc produit */
.wp-block-woocommerce-cart .wc-block-cart-item__quantity { margin-top: 0.65rem; }
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link {
	font-size: 0.84rem;
	color: var(--fc-text-light);
	opacity: 0.85;
}
.wp-block-woocommerce-cart .wc-block-cart-item__remove-link:hover { opacity: 1; }

/* (4) Badge « Économisez » : pastille chaude, lisible, sur UNE ligne, sous le total */
.wp-block-woocommerce-cart .wc-block-cart-item__total { min-width: 140px; }
.wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}
.wp-block-woocommerce-cart .wc-block-components-sale-badge {
	display: inline-block !important;
	width: auto !important;
	max-width: none !important;
	overflow: visible !important;
	white-space: nowrap !important;
	background: #fff1e6;
	color: var(--fc-accent-hover);
	border: 1px solid #ffd9bd;
	border-radius: var(--fc-radius-pill);
	padding: 0.3em 0.75em;
	font-weight: 700;
	font-size: 0.82rem;
	line-height: 1.2;
}
.wp-block-woocommerce-cart .wc-block-components-sale-badge .wc-block-formatted-money-amount { display: inline; white-space: nowrap; }

/* (5) Rythme vertical de la ligne resserré et aligné en haut */
.wp-block-woocommerce-cart .wc-block-cart-items__row td { vertical-align: top; }
.wp-block-woocommerce-cart .wc-block-cart-item__image { padding-top: 1.3rem; }

/* ========================================================================
   CARTE ARTICLES — colle au contenu (le wrapper a une gouttière de 57px)
   La carte (bordure/ombre/rayon) va sur le TABLEAU, pas sur le wrapper :
   ainsi les en-têtes PRODUIT/TOTAL et le prix s'alignent sur le bord droit.
   ===================================================================== */
.wp-block-woocommerce-cart .wp-block-woocommerce-cart-items-block {
	border: 0;
	box-shadow: none;
	background: transparent;
	border-radius: 0;
	overflow: visible;
}
.wp-block-woocommerce-cart .wc-block-cart-items {
	width: 100%;
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	background: #fff;
	box-shadow: 0 6px 22px rgba(120,80,20,0.06);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
/* coins arrondis propres (haut = en-tête, bas = dernière ligne) */
.wp-block-woocommerce-cart .wc-block-cart-items__header th:first-child { border-top-left-radius: var(--fc-radius-xl); }
.wp-block-woocommerce-cart .wc-block-cart-items__header th:last-child  { border-top-right-radius: var(--fc-radius-xl); }
.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child td:first-child { border-bottom-left-radius: var(--fc-radius-xl); }
.wp-block-woocommerce-cart .wc-block-cart-items__row:last-child td:last-child  { border-bottom-right-radius: var(--fc-radius-xl); }

/* En-têtes PRODUIT / TOTAL : alignés sur les colonnes (gauche / droite) */
.wp-block-woocommerce-cart .wc-block-cart-items__header { padding: 0; }
.wp-block-woocommerce-cart .wc-block-cart-items__header th { padding: var(--fc-space-md) var(--fc-space-lg); }
.wp-block-woocommerce-cart .wc-block-cart-items__header .wc-block-cart-items__header-total,
.wp-block-woocommerce-cart .wc-block-cart-item__total { text-align: right; }

/* Air à droite pour la colonne TOTAL (prix + badge ne collent pas à la bordure) */
.wp-block-woocommerce-cart .wc-block-cart-item__total { padding-right: var(--fc-space-lg); }
.wp-block-woocommerce-cart .wc-block-cart-items__header th:last-child { padding-right: var(--fc-space-lg); }

/* En-tête « PRODUIT » aligné avec l'image du produit (cellule image = 16px de padding) */
.wp-block-woocommerce-cart .wc-block-cart-items__header th:first-child { padding-left: 16px !important; }

/* Sécurité anti-débordement : tout le texte reste dans sa cellule */
.wp-block-woocommerce-cart .wc-block-cart-item__product,
.wp-block-woocommerce-cart .wc-block-cart-item__total { overflow-wrap: anywhere; }
.wp-block-woocommerce-cart .ms-cart-summary { max-width: none; }
