/* Maison Carrillo — panier latéral + page panier (voir maison-carrillo-panier.php).
 * !important : le kit Elementor impose sa typo (majuscules Harmattan) aux liens, titres et boutons. */

:root { --mcp-accent: #052A38; --mcp-creme: #FFFBF7; --mcp-sable: #F3ECE2; --mcp-texte: #1E1E1E; --mcp-doux: #6B6157;
	--mcp-trait: rgba(5, 42, 56, .12); --mcp-or: #B08D3C; --mcp-vert: #2F6B4F; }
body[data-universe="heritaje"] { --mcp-accent: #77273F; }
body[data-universe="emblaime"] { --mcp-accent: #4F6B53; }

/* ---------- Icône du header ---------- */
.mcp-icone-place { display: flex; align-items: center; order: -1; margin-left: 4px; } /* conteneur en row-reverse : order -1 = tout à droite */
.mc-droite > .e-con-inner:has(.mcp-icone-place) { flex-wrap: nowrap !important; }
a.mcp-icone, a.mcp-icone:hover { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
	color: #FFFBF7 !important; text-decoration: none !important; }
.mcp-icone svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linejoin: round; }
.mcp-icone__n { position: absolute; top: 3px; right: 1px; min-width: 17px; height: 17px; padding: 0 4px; box-sizing: border-box; border-radius: 9px;
	background: #FFFBF7; color: var(--mcp-accent); font: 600 11px/17px "Harmattan", sans-serif; text-align: center; opacity: 0; transform: scale(.6);
	transition: opacity .2s, transform .2s; }
.mcp-icone--plein .mcp-icone__n { opacity: 1; transform: none; }
.mcp-icone:hover svg, .mcp-icone:focus-visible svg { transform: translateY(-1px); }
.mcp-icone--flottante { position: fixed !important; right: 20px; bottom: 20px; z-index: 9990; background: var(--mcp-accent); border-radius: 50%; width: 52px !important; height: 52px !important; box-shadow: 0 4px 14px rgba(0,0,0,.18); }

/* ---------- Tiroir ---------- */
html.mcp-ouvert, html.mcp-ouvert body { overflow: hidden; }
.mcp-voile { position: fixed; inset: 0; z-index: 99998; background: rgba(15, 20, 22, .45); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.mcp-voile--ouvert { opacity: 1; visibility: visible; }
.mcp { position: fixed; top: 0; right: 0; bottom: 0; z-index: 99999; width: min(440px, 100vw); background: var(--mcp-creme); color: var(--mcp-texte);
	border-left: 1px solid var(--mcp-trait); transform: translateX(100%); visibility: hidden; transition: transform .35s cubic-bezier(.2,.7,.2,1), visibility .35s;
	font: 400 16px/1.45 "Harmattan", sans-serif; outline: none; }
.mcp--ouvert { transform: none; visibility: visible; }
.mcp-contenu { display: flex; flex-direction: column; height: 100%; }
.mcp *, .mcp *::before, .mcp *::after { box-sizing: border-box; }
.mcp p { margin: 0; }
.mcp svg.mcp-ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.mcp-tete { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px 18px; border-bottom: 1px solid var(--mcp-trait); }
.mcp-titre { font: 500 28px/1.1 "Cormorant", serif !important; color: var(--mcp-accent); }
.mcp-titre span { font-size: 22px; color: var(--mcp-doux); }
.mcp button.mcp-fermer { width: 40px; height: 40px; margin: -8px -10px -8px 0; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: transparent !important; color: var(--mcp-accent) !important; cursor: pointer; display: grid; place-items: center; }
.mcp-fermer svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
.mcp button.mcp-fermer:hover, .mcp button.mcp-fermer:focus-visible { background: var(--mcp-sable) !important; }

.mcp-defile { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 0 24px 24px; }
.mcp-ajoute { display: flex; align-items: center; gap: 8px; padding: 10px 24px; background: #E7F0EA; color: var(--mcp-vert); font-size: 15px; }
.mcp-erreur { padding: 12px 24px; background: #F8E6E4; color: #8A1F17; font-size: 15px; }
.mcp-erreur a { color: inherit !important; }

/* Barre livraison offerte */
.mcp-barre { padding: 16px 0 18px; border-bottom: 1px solid var(--mcp-trait); }
.mcp-barre p { display: flex; align-items: center; gap: 10px; font-size: 15px; color: var(--mcp-texte); }
.mcp-barre strong { font-weight: 600; color: var(--mcp-accent); }
.mcp-barre .mcp-ico { color: var(--mcp-accent); }
.mcp-barre__piste { height: 4px; margin-top: 10px; border-radius: 2px; background: rgba(5, 42, 56, .1); overflow: hidden; }
.mcp-barre__piste span { display: block; height: 100%; border-radius: 2px; background: var(--mcp-accent); transition: width .5s ease; }
.mcp-barre--ok p, .mcp-barre--ok strong, .mcp-barre--ok .mcp-ico { color: var(--mcp-vert); }
.mcp-barre--ok .mcp-barre__piste span { background: var(--mcp-vert); }

/* Articles */
.mcp-articles { list-style: none; margin: 0; padding: 0; }
.mcp-article { position: relative; display: grid; grid-template-columns: 84px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--mcp-trait); transition: opacity .2s; }
.mcp-article--attente { opacity: .45; pointer-events: none; }
.mcp-article__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--mcp-sable); }
.mcp-article__img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.mcp-article__infos { min-width: 0; display: flex; flex-direction: column; }
.mcp-article__nom, .mcp-article__nom a { font: 500 20px/1.15 "Cormorant", serif !important; color: var(--mcp-texte) !important; text-decoration: none !important;
	text-transform: none !important; letter-spacing: 0 !important; }
.mcp-article__nom a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.mcp-article__attr { margin-top: 4px !important; font-size: 14px; color: var(--mcp-doux); }
.mcp-article__bas { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; }
.mcp-article__prix { text-align: right; font-size: 16px; font-weight: 500; }
.mcp-article__prix small { display: block; font-size: 12.5px; font-weight: 400; color: var(--mcp-doux); }
.mcp-qte { display: inline-flex; align-items: center; height: 36px; border: 1px solid rgba(5, 42, 56, .25); }
.mcp-qte span { min-width: 28px; text-align: center; font-size: 15px; }
.mcp .mcp-qte button { width: 34px; height: 34px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important;
	color: var(--mcp-accent) !important; font: 400 18px/1 "Harmattan", sans-serif !important; cursor: pointer; }
.mcp .mcp-qte button:hover:not([disabled]) { background: var(--mcp-sable) !important; }
.mcp .mcp-qte button[disabled] { opacity: .3; cursor: not-allowed; }
.mcp button.mcp-retirer { position: absolute; top: 20px; right: 0; padding: 0 !important; border: 0 !important; background: none !important; cursor: pointer;
	font: 400 13px/1.4 "Harmattan", sans-serif !important; color: var(--mcp-doux) !important; text-decoration: underline; text-underline-offset: 3px; text-transform: none !important; letter-spacing: 0 !important; }
.mcp button.mcp-retirer:hover { color: var(--mcp-accent) !important; }
.mcp-article__nom { padding-right: 52px; }

/* Livraison (sobre) */
.mcp-liv { margin-top: 22px; }
.mcp .mcp-liv__titre { margin: 0 0 6px; font: 500 12px/1.4 "Harmattan", sans-serif !important; letter-spacing: 2px !important; text-transform: uppercase !important; color: var(--mcp-doux) !important; }
.mcp-liv ul { list-style: none; margin: 0; padding: 0; }
.mcp-liv li { display: flex; justify-content: space-between; gap: 12px; padding: 3px 0; font-size: 14.5px; }
.mcp-liv li span:last-child { text-align: right; white-space: nowrap; }
.mcp-liv li small { font-size: 13px; color: var(--mcp-doux); }
.mcp-liv__offerte { margin: 6px 0 0 !important; font-size: 14px; color: var(--mcp-accent); }
.mcp-liv__note { margin: 8px 0 0 !important; font-size: 13px; line-height: 1.5; color: var(--mcp-doux); }
.mcp .mcp-liv__note a.mcp-lien { font-size: 13px !important; }

/* Note Google */
.mcp a.mcp-google, .mcp a.mcp-google:hover { display: inline-flex; align-items: center; gap: 8px; color: var(--mcp-texte) !important; text-decoration: none !important;
	font: 400 14px/1.4 "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcp-google strong { font-weight: 600; }
.mcp-google__etoiles { color: var(--mcp-or); letter-spacing: 2px; font-size: 13px; }
.mcp a.mcp-google:hover span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.mcp-vide .mcp-google { margin-top: 24px; }

.mcp a.mcp-lien, .mcp button.mcp-lien, .mcp a.mcp-lien:hover { padding: 0 !important; border: 0 !important; background: none !important; cursor: pointer;
	font: 400 14px/1.4 "Harmattan", sans-serif !important; color: var(--mcp-accent) !important; text-decoration: underline !important; text-underline-offset: 3px;
	text-transform: none !important; letter-spacing: 0 !important; }

/* Pied fixe */
.mcp-pied { padding: 16px 24px 18px; background: var(--mcp-creme); border-top: 1px solid var(--mcp-trait); }
.mcp-totaux { margin: 0; }
.mcp-totaux div { display: flex; justify-content: space-between; align-items: baseline; padding: 2px 0; }
.mcp-totaux dt { font-size: 16px; }
.mcp-totaux dd { margin: 0; font-size: 16px; font-weight: 500; }
.mcp-totaux div:first-child dt, .mcp-totaux div:first-child dd { font: 500 22px/1.3 "Cormorant", serif; }
.mcp-totaux__remise dd { color: var(--mcp-vert); }
.mcp-pied__note { margin: 4px 0 14px !important; font-size: 13.5px; line-height: 1.4; color: var(--mcp-doux); }
.mcp a.mcp-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; padding: 14px 20px !important;
	border: 1px solid var(--mcp-accent) !important; border-radius: 0 !important; background: transparent !important; color: var(--mcp-accent) !important;
	font: 500 13.5px/1.2 "Harmattan", sans-serif !important; letter-spacing: 2px !important; text-transform: uppercase !important; text-decoration: none !important; transition: background-color .2s, color .2s; }
.mcp a.mcp-btn--principal, .mcp a.mcp-btn:hover { background: var(--mcp-accent) !important; color: #FFFBF7 !important; }
.mcp a.mcp-btn--principal:hover { filter: brightness(1.15); }
.mcp a.mcp-btn .mcp-ico { width: 17px; height: 17px; }
.mcp-pied__liens { display: flex; justify-content: center; gap: 22px; margin-top: 12px; }
.mcp-pied__preuve { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--mcp-trait); }
.mcp-pied__sur { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--mcp-doux); }
.mcp-pied__sur .mcp-ico { width: 14px !important; height: 14px !important; }

.mcp-confiance, .woocommerce-cart .mcp-confiance { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 16px 0 0; padding: 14px 0 0; border-top: 1px solid var(--mcp-trait); }
.mcp-confiance li { display: flex; flex-direction: column; align-items: center; gap: 5px; text-align: center; font: 500 13px/1.25 "Harmattan", sans-serif; color: var(--mcp-texte); }
.mcp-confiance li small { display: block; font-weight: 400; font-size: 12px; color: var(--mcp-doux); }
.mcp-confiance .mcp-ico, .woocommerce-cart .mcp-confiance svg.mcp-ico { width: 20px; height: 20px; fill: none; stroke: var(--mcp-accent); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mcp .mc-avis-panier { margin-top: 12px; }

/* Vide / chargement */
.mcp-vide { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding-top: 24px; }
.mcp-vide > .mcp-ico { width: 44px !important; height: 44px !important; color: var(--mcp-accent); stroke-width: 1 !important; margin-bottom: 4px; }
.mcp-vide__titre { font: 500 26px/1.2 "Cormorant", serif !important; color: var(--mcp-accent); }
.mcp-vide p:not(.mcp-vide__titre) { max-width: 280px; color: var(--mcp-doux); margin-bottom: 10px !important; }

.mcp-squelette { height: 100px; margin-top: 20px; background: var(--mcp-sable); opacity: .6; }
.single_add_to_cart_button.mcp-bouton-attente { opacity: .7; cursor: progress; }

@media (max-width: 767px) {
	.mcp { width: 100vw; }
	.mcp-tete { padding: 14px 18px 12px; }
	.mcp-titre { font-size: 25px !important; }
	.mcp-defile { padding: 0 18px 18px; }
	.mcp-ajoute, .mcp-erreur { padding-left: 18px; padding-right: 18px; }
	.mcp-pied { padding: 12px 18px calc(12px + env(safe-area-inset-bottom)); }
	.mcp-pied__note { margin-bottom: 10px !important; }
	.mcp-confiance { margin-top: 12px; padding-top: 10px; }
	.mcp .mc-avis-panier { margin-top: 8px; }
}
@media (prefers-reduced-motion: reduce) { .mcp, .mcp-voile, .mcp-barre__piste span { transition: none; } }

/* ==================== Page /panier/ ==================== */
.woocommerce-cart .elementor-widget-woocommerce-cart { --mcp-carte: #fff; color: var(--mcp-texte); font-family: "Harmattan", sans-serif; }
.woocommerce-cart .e-cart__container { max-width: 1180px; margin: 0 auto; gap: 40px; }
@media (min-width: 1025px) {
	.woocommerce-cart .e-cart__container { display: grid !important; grid-template-columns: minmax(0, 1fr) 400px; align-items: start; gap: 56px; }
	.woocommerce-cart .e-cart__column { width: auto !important; max-width: none !important; padding: 0 !important; }
}
.woocommerce-cart .elementor-widget-woocommerce-cart .e-cart-section { padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; }

/* Barre livraison offerte */
.woocommerce-cart .mcp-barre { padding: 0 0 18px; margin-bottom: 4px; border-bottom: 1px solid var(--mcp-trait); }
.woocommerce-cart .mcp-barre p { display: flex; align-items: center; gap: 10px; margin: 0; text-align: left; font: 400 16px/1.4 "Harmattan", sans-serif; }
.woocommerce-cart .mcp-barre strong { font-weight: 600; color: var(--mcp-accent); }
.woocommerce-cart .mcp-barre .mcp-barre__piste { height: 4px; margin-top: 10px; border-radius: 2px; background: rgba(5, 42, 56, .1); }
.woocommerce-cart .mcp-barre svg { width: 20px; height: 20px; fill: none; stroke: var(--mcp-accent); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.woocommerce-cart .mcp-barre--ok p, .woocommerce-cart .mcp-barre--ok strong { color: var(--mcp-vert); }
.woocommerce-cart .mcp-barre--ok svg { stroke: var(--mcp-vert); }

/* Tableau des articles → lignes aérées */
.woocommerce-cart table.shop_table.cart { border: 0 !important; margin: 0 !important; border-collapse: collapse; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart td { border: 0 !important; background: transparent !important; padding: 0 !important; vertical-align: middle; width: auto !important; }
.woocommerce-cart table.shop_table.cart td.product-name { text-align: left !important; }
.woocommerce-cart table.shop_table.cart td.product-subtotal { text-align: right !important; }
.woocommerce-cart .elementor-widget-woocommerce-cart .amount, .woocommerce-cart .elementor-widget-woocommerce-cart .amount bdi { font-family: "Harmattan", sans-serif !important; }
.woocommerce-cart table.shop_table.cart tr.cart_item { display: grid; grid-template-columns: 110px 1fr auto auto; grid-template-areas: "img nom qte total" "img nom suppr suppr";
	column-gap: 24px; row-gap: 6px; align-items: start; padding: 22px 0; border-bottom: 1px solid var(--mcp-trait); }
.woocommerce-cart td.product-subtotal { padding-top: 8px !important; }
.woocommerce-cart td.product-remove { align-self: end; }
.woocommerce-cart td.product-thumbnail { grid-area: img; align-self: start; display: block !important; }
.woocommerce-cart td.product-thumbnail a { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--mcp-sable); }
.woocommerce-cart td.product-thumbnail img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; }
.woocommerce-cart td.product-name { grid-area: nom; text-align: left !important; display: block !important; }
.woocommerce-cart td.product-name > a { font: 500 23px/1.15 "Cormorant", serif !important; color: var(--mcp-texte) !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; }
.woocommerce-cart td.product-name > a:hover { text-decoration: underline !important; text-underline-offset: 3px; }
.woocommerce-cart td.product-name dl.variation { display: flex !important; flex-wrap: wrap; gap: 0 5px; margin: 6px 0 0 !important; font: 400 14.5px/1.5 "Harmattan", sans-serif !important; color: var(--mcp-doux) !important; text-align: left; }
.woocommerce-cart td.product-name dl.variation dt, .woocommerce-cart td.product-name dl.variation dd, .woocommerce-cart td.product-name dl.variation p { display: inline !important; margin: 0 !important; padding: 0 !important; width: auto !important;
	font: inherit !important; color: inherit !important; text-transform: none !important; letter-spacing: 0 !important; float: none !important; }
.woocommerce-cart td.product-name dl.variation dd p { margin: 0 !important; display: inline; }
.woocommerce-cart td.product-name::before, .woocommerce-cart td.product-price::before, .woocommerce-cart td.product-quantity::before, .woocommerce-cart td.product-subtotal::before { display: none !important; }
.woocommerce-cart td.product-price { display: none !important; } /* le prix unitaire est rappelé sous le total si quantité > 1 */
.woocommerce-cart td.product-quantity { grid-area: qte; }
.woocommerce-cart td.product-subtotal { grid-area: total; min-width: 90px; text-align: right !important; font: 500 17px/1.3 "Harmattan", sans-serif; }
.woocommerce-cart .mcp-unite { display: block; font: 400 13px/1.4 "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mcp-doux); }
.woocommerce-cart td.product-remove { grid-area: suppr; text-align: right !important; display: block !important; }
.woocommerce-cart td.product-remove a.remove { display: inline !important; width: auto !important; height: auto !important; font-size: 0 !important; line-height: 1 !important; background: none !important; color: var(--mcp-doux) !important; border-radius: 0 !important; }
.woocommerce-cart td.product-remove a.remove::after { content: "Retirer"; font: 400 13.5px/1.4 "Harmattan", sans-serif; text-transform: none; letter-spacing: 0; text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-cart td.product-remove a.remove:hover { color: var(--mcp-accent) !important; }

.woocommerce-cart .product-quantity .quantity { display: inline-flex; align-items: center; height: 40px; border: 1px solid rgba(5, 42, 56, .25); }
.woocommerce-cart .product-quantity .quantity input.qty { width: 38px !important; height: 38px; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: center;
	font: 400 16px "Harmattan", sans-serif !important; color: var(--mcp-texte) !important; -moz-appearance: textfield; appearance: textfield; }
.woocommerce-cart .product-quantity .quantity input.qty::-webkit-inner-spin-button, .woocommerce-cart .product-quantity .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce-cart .quantity button.mcp-pm { width: 38px; height: 38px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important;
	color: var(--mcp-accent) !important; font: 400 19px/1 "Harmattan", sans-serif !important; cursor: pointer; }
.woocommerce-cart .quantity button.mcp-pm:hover { background: var(--mcp-sable) !important; }
.woocommerce-cart table.shop_table.cart td.actions { display: none !important; }

/* Code promo */
.woocommerce-cart .coupon.e-cart-section { margin-top: 24px !important; width: 100% !important; max-width: none !important; }
.woocommerce-cart .coupon .coupon-col-start, .woocommerce-cart .coupon .coupon-col-end { padding: 0 !important; margin: 0 !important; width: auto !important; }
.woocommerce-cart .coupon .coupon-col { display: flex !important; gap: 10px; flex-wrap: nowrap !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.woocommerce-cart .coupon .coupon-col-start { flex: 1 1 auto !important; max-width: none !important; }
.woocommerce-cart .coupon .coupon-col-end { flex: none; }
.woocommerce-cart .coupon input#coupon_code { width: 100% !important; height: 46px; padding: 0 14px !important; border: 1px solid rgba(5, 42, 56, .25) !important; border-radius: 0 !important;
	background: #fff !important; font: 400 16px "Harmattan", sans-serif !important; }
.woocommerce-cart .coupon button.e-apply-coupon { height: 46px; padding: 0 22px !important; border: 1px solid var(--mcp-accent) !important; border-radius: 0 !important; background: transparent !important;
	color: var(--mcp-accent) !important; font: 500 13px/1 "Harmattan", sans-serif !important; letter-spacing: 2px !important; text-transform: uppercase !important; width: auto !important; }
.woocommerce-cart .coupon button.e-apply-coupon:hover { background: var(--mcp-accent) !important; color: #FFFBF7 !important; }

/* Récapitulatif */
.woocommerce-cart .e-cart-totals.e-cart-section { padding: 28px 28px 24px !important; background: var(--mcp-creme) !important; border: 1px solid var(--mcp-trait) !important; }
.woocommerce-cart .cart_totals h2 { margin: 0 0 14px !important; text-align: left !important; font: 500 28px/1.1 "Cormorant", serif !important; color: var(--mcp-accent) !important; text-transform: none !important; letter-spacing: 0 !important; }
.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; margin: 0 0 18px !important; }
.woocommerce-cart .cart_totals table.shop_table tr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--mcp-trait); }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { display: block; padding: 0 !important; border: 0 !important; background: none !important;
	font: 400 16px/1.4 "Harmattan", sans-serif !important; color: var(--mcp-texte) !important; text-transform: none !important; letter-spacing: 0 !important; text-align: right; }
.woocommerce-cart .cart_totals table.shop_table th { text-align: left; display: block !important; }
.woocommerce-cart .cart_totals td::before { display: none !important; }
.woocommerce-cart .cart_totals tr.shipping { display: block; }
.woocommerce-cart .cart_totals tr.shipping th { margin-bottom: 10px; }
.woocommerce-cart .cart_totals tr.shipping td { text-align: left; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td, .woocommerce-cart .cart_totals tr.order-total strong { font: 600 22px/1.3 "Cormorant", serif !important; }
.woocommerce-cart .cart_totals tr.order-total { border-bottom: 0; }
.woocommerce-cart ul#shipping_method { margin: 0 !important; padding: 0 !important; list-style: none; display: grid; gap: 8px; }
.woocommerce-cart ul#shipping_method li { position: relative; margin: 0 !important; padding: 0 !important; text-indent: 0 !important; }
.woocommerce-cart ul#shipping_method li input { position: absolute; left: 14px; top: 16px; margin: 0 !important; accent-color: var(--mcp-accent); width: 16px; height: 16px; }
.woocommerce-cart ul#shipping_method li label { display: block !important; margin: 0 !important; padding: 12px 14px 12px 42px !important; border: 1px solid var(--mcp-trait); background: #fff; cursor: pointer;
	font: 400 15.5px/1.4 "Harmattan", sans-serif !important; color: var(--mcp-texte) !important; text-transform: none !important; }
.woocommerce-cart ul#shipping_method li input:checked + label { border-color: var(--mcp-accent); box-shadow: inset 0 0 0 1px var(--mcp-accent); }
.woocommerce-cart ul#shipping_method li label .amount { font-weight: 600; }
.woocommerce-cart .mcp-mode-info { display: block; font-size: 13.5px; color: var(--mcp-doux); }
.woocommerce-cart .woocommerce-shipping-destination { display: none; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: flex !important; align-items: center; justify-content: center; gap: 10px; min-height: 56px; margin: 0 !important; padding: 16px 20px !important;
	border: 0 !important; border-radius: 0 !important; background: var(--mcp-accent) !important; color: #FFFBF7 !important;
	font: 500 14px/1.2 "Harmattan", sans-serif !important; letter-spacing: 2px !important; text-transform: uppercase !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before { content: ""; width: 16px; height: 16px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='5' y='10.5' width='14' height='9.5' rx='1.5'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='5' y='10.5' width='14' height='9.5' rx='1.5'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5'/%3E%3C/svg%3E") center / contain no-repeat; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { filter: brightness(1.15); }
.woocommerce-cart .cart_totals .mc-avis-panier { margin-top: 8px; }
.woocommerce-cart .mcp-page-sur { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--mcp-trait);
	font: 400 13.5px/1.4 "Harmattan", sans-serif; color: var(--mcp-doux); }
.woocommerce-cart .mcp-page-sur svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

/* Panier vide (page) */
.woocommerce-cart .cart-empty, .woocommerce-cart .wc-empty-cart-message { text-align: center; font: 500 26px/1.3 "Cormorant", serif; }

@media (min-width: 1025px) {
	.woocommerce-cart .e-cart__column-end .e-sticky-right-column { position: sticky; top: 110px; }
}
@media (max-width: 767px) {
	.woocommerce-cart .e-cart__container { gap: 28px; }
	.woocommerce-cart table.shop_table.cart tr.cart_item { grid-template-columns: 84px 1fr auto; grid-template-areas: "img nom nom" "img qte total" "img suppr suppr"; column-gap: 16px; row-gap: 10px; padding: 18px 0; }
	.woocommerce-cart table.shop_table.cart tbody, .woocommerce-cart table.shop_table.cart { display: block; width: 100%; }
	.woocommerce-cart td.product-name > a { font-size: 20px !important; }
	.woocommerce-cart td.product-remove { text-align: left !important; }
	.woocommerce-cart td.product-subtotal { min-width: 0; }
	.woocommerce-cart .e-cart-totals.e-cart-section { padding: 22px 18px 18px !important; }
}
