/* ==========================================================================
   Carnival Meat Lab — Carrito (/carrito/), opción A del 04/11/2026: «paso 0 del pago» (3.12.35).
   Se carga solo en is_cart() (includes/carrito-pagina.php), después de cml_master_styles.css. Mismo sistema que
   assets/pago/pago.css: granate #630d16, crema #f6f1ea, línea #e6e1da, Saira (títulos y cifras), Alfa Slab (H1),
   Montserrat (texto), esquinas rectas. El CSS viejo del carrito (cml_master_styles.css: «CARRITO — TABLA DE PRODUCTOS»,
   «CUPÓN Y BOTONES», «RESUMEN DE TOTALES», «5. /carrito/ EN MÓVIL», la regla de 25 % de .elementor-widget-shortcode
   ul.products) NO se borra: aquí se pisa con selectores acotados a body.cml-carrito, repitiendo la clase para ganar
   a sus !important. La lista nueva «Para acompañar» no usa ul.products, así que la regla de 25 % ya no la alcanza.
   Referencias: Shopify Dawn, Baymard, The Ginger Pig, maqueta opcion-a.html.
   ========================================================================== */

@font-face {
	font-family: "CML Alfa Slab One";
	src: url("/wp-content/plugins/carnival-meat-fixes/fonts/alfa-slab-one-400-latin.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

body.cml-carrito {
	--cc-g: #630d16;
	--cc-g2: #4d0a11;
	--cc-crema: #f6f1ea;
	--cc-linea: #e6e1da;
	--cc-gris: #6b6560;
	--cc-texto: #4a4a4a;
	--cc-negro: #1a1a1a;
	--cc-borde: #8f8780;
	--cc-saira: "CML Saira Semi Condensed", "Saira Semi Condensed", "Arial Narrow", sans-serif;
	--cc-mont: Montserrat, system-ui, sans-serif;
	--cc-suave: cubic-bezier(.22, 1, .36, 1);
	background: #fff;
}

/* --------------------------------------------------------------------------
   1. Una sola lista de recomendaciones: fuera el título y la grilla fija de Elementor (9fab5b4, ff94af8)
   -------------------------------------------------------------------------- */
body.cml-carrito .elementor-element-9fab5b4,
body.cml-carrito .elementor-element-ff94af8,
body.cml-carrito .woocommerce .cross-sells { display: none !important; }

/* --------------------------------------------------------------------------
   2. Marco: 16 px a los lados en móvil y tableta; en ≥ 900 px, lista + resumen (1fr + 380, como el pago)
   -------------------------------------------------------------------------- */
@media (max-width: 899px) {
	body.cml-carrito.cml-carrito { padding: 0 !important; }
	body.cml-carrito.cml-carrito #content-wrap.container { width: auto !important; max-width: none !important; margin: 0 16px !important; padding: 0 !important; }
}
body.cml-carrito.cml-carrito .elementor-element-2ac5b9b,
body.cml-carrito.cml-carrito .elementor-element-2ac5b9b > .elementor-widget-container,
body.cml-carrito.cml-carrito .elementor-element-2ac5b9b .elementor-shortcode { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.cml-carrito.cml-carrito .elementor-341 .e-con-inner,
body.cml-carrito.cml-carrito .elementor-341 .e-con { padding: 0 !important; } /* el contenedor de Elementor sumaba 12 px a los lados */
body.cml-carrito.cml-carrito .woocommerce:has(> .woocommerce-cart-form),
body.cml-carrito.cml-carrito .woocommerce:has(> .wc-empty-cart-message) {
	max-width: 1100px;
	margin: 0 auto !important;
	padding: 28px 0 72px !important;
	color: var(--cc-texto);
	font: 400 15px/1.55 var(--cc-mont);
}
@media (min-width: 900px) {
	body.cml-carrito.cml-carrito .woocommerce:has(> .woocommerce-cart-form) {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 380px;
		column-gap: 80px;
		align-items: start;
		padding-top: 48px !important;
	}
	body.cml-carrito.cml-carrito .woocommerce:has(> .woocommerce-cart-form) > * { grid-column: 1; min-width: 0; }
	body.cml-carrito.cml-carrito .woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals {
		grid-column: 2;
		grid-row: 1 / span 20;
		position: sticky;
		top: 24px;
	}
}
@media (min-width: 900px) and (max-width: 1099px) {
	body.cml-carrito.cml-carrito .woocommerce:has(> .woocommerce-cart-form) { grid-template-columns: minmax(0, 1fr) 340px; column-gap: 48px; }
}

/* H1 y número de productos */
body.cml-carrito .cml-carrito__cab { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin: 0 0 20px; }
body.cml-carrito.cml-carrito .cml-carrito__h1 {
	margin: 0 !important;
	padding: 0 !important;
	font: 400 32px/1.08 "CML Alfa Slab One", Georgia, serif !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--cc-negro) !important;
}
body.cml-carrito .cml-carrito__n { margin: 0; font: 500 14px/1.2 var(--cc-mont); color: var(--cc-gris); }
@media (min-width: 900px) {
	body.cml-carrito.cml-carrito .cml-carrito__h1 { font-size: 44px !important; }
	body.cml-carrito .cml-carrito__cab { margin-bottom: 28px; }
}

/* --------------------------------------------------------------------------
   3. Líneas de producto (sin tabla: foto · nombre, variante y unidad · cantidad + Quitar · total)
   -------------------------------------------------------------------------- */
body.cml-carrito.cml-carrito form.woocommerce-cart-form { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
body.cml-carrito.cml-carrito .cml-lineas {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--cc-linea) !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
body.cml-carrito.cml-carrito .cml-linea {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	grid-template-areas: "foto info total" "foto cant cant";
	column-gap: 20px;
	row-gap: 12px;
	margin: 0 !important;
	padding: 24px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cc-linea) !important;
	background: none !important;
	box-shadow: none !important;
}
@media (min-width: 600px) {
	body.cml-carrito.cml-carrito .cml-linea { grid-template-columns: 96px minmax(0, 1fr) auto 110px; grid-template-areas: "foto info cant total"; align-items: start; }
}
body.cml-carrito .cml-linea > div { padding: 0 !important; border: 0 !important; background: none !important; display: block; width: auto !important; text-align: left; }
body.cml-carrito .cml-linea::before,
body.cml-carrito .cml-linea > div::before { content: none !important; display: none !important; }
body.cml-carrito .cml-linea__foto { grid-area: foto; width: 96px; height: 96px; background: #f3eee7; }
body.cml-carrito.cml-carrito .cml-linea__foto img { display: block !important; width: 96px !important; height: 96px !important; max-width: none !important; object-fit: cover; margin: 0 !important; border-radius: 0 !important; }
@media (max-width: 599px) {
	body.cml-carrito.cml-carrito .cml-linea { grid-template-columns: 64px minmax(0, 1fr) auto; column-gap: 14px; padding: 20px 0 !important; }
	body.cml-carrito .cml-linea__foto,
	body.cml-carrito.cml-carrito .cml-linea__foto img { width: 64px !important; height: 64px !important; }
}
body.cml-carrito .cml-linea__info { grid-area: info; min-width: 0; }
body.cml-carrito.cml-carrito .cml-linea__nom { display: block; font: 600 16px/1.3 var(--cc-mont) !important; color: var(--cc-negro) !important; text-decoration: none !important; text-transform: none !important; letter-spacing: 0 !important; }
body.cml-carrito.cml-carrito a.cml-linea__nom:hover { text-decoration: underline !important; text-underline-offset: 3px; }
body.cml-carrito .cml-linea__var { display: block; margin-top: 2px; font: 400 13.5px/1.4 var(--cc-mont); color: var(--cc-texto); }
body.cml-carrito.cml-carrito .cml-linea__pu { display: block !important; margin-top: 2px; font: 400 13px/1.45 var(--cc-mont) !important; color: var(--cc-gris) !important; }
body.cml-carrito .cml-linea__extra { display: block; margin-top: 2px; font: 400 12.5px/1.4 var(--cc-mont); color: var(--cc-gris); }
body.cml-carrito .cml-linea__info .backorder_notification { margin: 4px 0 0; font-size: 12.5px; color: var(--cc-g); }
body.cml-carrito.cml-carrito .cml-linea__total {
	grid-area: total;
	text-align: right !important;
	white-space: nowrap;
	font: 800 19px/1.2 var(--cc-saira) !important;
	font-variant-numeric: tabular-nums lining-nums;
	color: var(--cc-negro) !important;
}
body.cml-carrito.cml-carrito .cml-linea__total .woocommerce-Price-amount,
body.cml-carrito.cml-carrito .cml-linea__total .woocommerce-Price-amount bdi,
body.cml-carrito.cml-carrito .cml-linea__total .woocommerce-Price-currencySymbol { font: inherit !important; color: var(--cc-negro) !important; }
@media (min-width: 600px) { body.cml-carrito.cml-carrito .cml-linea__total { padding-top: 12px !important; } }

/* Cantidad: −/+ y campo de 44 px, contorno de 3,6:1 (como los campos del pago) */
body.cml-carrito .cml-linea__cant { grid-area: cant; display: flex !important; align-items: center; gap: 16px; }
@media (min-width: 600px) { body.cml-carrito .cml-linea__cant { flex-direction: column; gap: 4px; } }
body.cml-carrito.cml-carrito .cml-linea .quantity {
	display: inline-flex !important;
	align-items: stretch !important;
	width: auto !important;
	height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--cc-borde) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	overflow: visible !important;
}
body.cml-carrito.cml-carrito .cml-linea .quantity .cml-qty-btn {
	display: grid !important;
	place-items: center !important;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--cc-negro) !important;
	font: 500 20px/1 var(--cc-mont) !important;
	cursor: pointer;
	transition: background-color 300ms var(--cc-suave) !important;
}
body.cml-carrito.cml-carrito .cml-linea .quantity .cml-qty-btn:hover { background: var(--cc-crema) !important; }
body.cml-carrito.cml-carrito .cml-linea .quantity input.qty {
	width: 48px !important;
	min-width: 48px !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid var(--cc-linea) !important;
	border-right: 1px solid var(--cc-linea) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	text-align: center !important;
	font: 600 16px/1 var(--cc-mont) !important;
	color: var(--cc-negro) !important;
	-moz-appearance: textfield;
}
body.cml-carrito .cml-linea .quantity input.qty::-webkit-inner-spin-button,
body.cml-carrito .cml-linea .quantity input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.cml-carrito.cml-carrito .cml-linea .quantity input.qty:focus { outline: 2px solid var(--cc-g) !important; outline-offset: -2px; }
body.cml-carrito.cml-carrito .cml-linea__quitar { display: inline-flex !important; padding: 0 !important; border: 0 !important; background: none !important; width: auto !important; }
body.cml-carrito.cml-carrito .cml-linea__quitar a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: 44px !important;
	min-width: 44px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: var(--cc-gris) !important;
	font: 500 13px/1 var(--cc-mont) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	text-indent: 0 !important;
	line-height: 44px !important;
}
body.cml-carrito.cml-carrito .cml-linea__quitar a.remove:hover { color: var(--cc-g) !important; background: none !important; }
body.cml-carrito.cml-carrito .cml-linea__quitar a.remove::before,
body.cml-carrito.cml-carrito .cml-linea__quitar a.remove::after { content: none !important; display: none !important; }

/* Cupón y «Actualizar carrito» de WooCommerce: siguen en el formulario (cart.js y el guardado automático los usan),
   fuera de la vista. El cupón visible está en el resumen. */
body.cml-carrito.cml-carrito .cml-lineas__acciones {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
body.cml-carrito.cml-carrito table.cml-lineas__extra { width: 100%; margin: 0 !important; border: 0 !important; }
body.cml-carrito.cml-carrito table.cml-lineas__extra:not(:has(td)) { display: none !important; }
body.cml-carrito .cml-carrito__seguir { margin: 16px 0 0; }
body.cml-carrito.cml-carrito .cml-carrito__seguir a,
body.cml-carrito.cml-carrito .cml-res .cml-cupon__abrir {
	display: inline-flex !important;
	align-items: center;
	min-height: 44px;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--cc-gris) !important;
	font: 500 13.5px/1.2 var(--cc-mont) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	cursor: pointer;
}
body.cml-carrito.cml-carrito .cml-carrito__seguir a:hover,
body.cml-carrito.cml-carrito .cml-res .cml-cupon__abrir:hover { color: var(--cc-g) !important; }

/* --------------------------------------------------------------------------
   4. Resumen (columna crema; en móvil, ancho completo)
   -------------------------------------------------------------------------- */
body.cml-carrito.cml-carrito .cart-collaterals { width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important; display: block !important; }
body.cml-carrito.cml-carrito .cart-collaterals .cart_totals.cml-res {
	float: none !important;
	width: auto !important;
	margin: 32px -16px 0 !important;
	padding: 28px 16px 24px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cc-crema) !important;
	box-shadow: none !important;
}
@media (min-width: 900px) {
	body.cml-carrito.cml-carrito .cart-collaterals .cart_totals.cml-res { margin: 0 !important; padding: 32px !important; }
}
body.cml-carrito.cml-carrito .cml-res .cml-res__t {
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font: 800 13px/1 var(--cc-saira) !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	color: var(--cc-gris) !important;
}
body.cml-carrito.cml-carrito .cml-res .cml-res__t::before,
body.cml-carrito.cml-carrito .cml-res .cml-res__t::after { content: none !important; }
body.cml-carrito .cml-res__lineas { margin: 0; padding: 0; }
body.cml-carrito .cml-res__lin { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14px; }
body.cml-carrito .cml-res__lin dt { margin: 0; font-weight: 500; color: var(--cc-texto); }
body.cml-carrito .cml-res__lin dt small { display: block; font-size: 12px; font-weight: 500; color: var(--cc-gris); }
body.cml-carrito .cml-res__lin dd { margin: 0; color: var(--cc-negro); font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
body.cml-carrito .cml-res__lin dd.cml-res__pend { font-weight: 500; color: var(--cc-gris); }
body.cml-carrito .cml-res__lin dd a.woocommerce-remove-coupon { display: inline-flex; min-height: 44px; align-items: center; color: var(--cc-g); font-weight: 500; }
body.cml-carrito.cml-carrito .cml-res .wc-proceed-to-checkout { margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; }

/* Aviso de mínimo / envío gratis / CP (pedido-minimo.php), versión cuadrada */
body.cml-carrito.cml-carrito .cml-res .cml-minorder {
	margin: 14px 0 0 !important;
	padding: 14px 16px !important;
	border: 1px solid var(--cc-linea) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	text-align: left !important;
}
body.cml-carrito.cml-carrito .cml-res .cml-minorder.cml-minorder--alert { box-shadow: inset 3px 0 0 var(--cc-g) !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__msg { margin: 0 !important; font: 500 14px/1.4 var(--cc-mont) !important; color: var(--cc-negro) !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__msg strong { font-weight: 700 !important; color: var(--cc-g) !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__meta { margin: 6px 0 0 !important; font: 400 13px/1.45 var(--cc-mont) !important; color: #5b5450 !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__bar { height: 6px !important; margin: 10px 0 8px !important; border-radius: 0 !important; background: #e7e2db !important; overflow: hidden; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__bar > span { display: block; height: 100%; width: var(--p) !important; border-radius: 0 !important; background: var(--cc-g) !important; }
body.cml-carrito.cml-carrito .cml-res form.cml-minorder__cp { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; margin: 12px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; gap: 0 !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__cp-label { grid-column: 1 / -1; display: block !important; margin: 0 0 6px !important; font: 600 12.5px/1.2 var(--cc-mont) !important; color: var(--cc-negro) !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__cp-input { min-width: 0 !important; width: 100% !important; height: 44px !important; margin: 0 !important; padding: 0 12px !important; border: 1px solid var(--cc-borde) !important; border-right: 0 !important; border-radius: 0 !important; background: #fff !important; font: 500 16px/1 var(--cc-mont) !important; color: var(--cc-negro) !important; box-shadow: none !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__cp-btn { height: 44px !important; margin: 0 !important; padding: 0 16px !important; border: 1px solid var(--cc-negro) !important; border-radius: 0 !important; background: var(--cc-negro) !important; color: #fff !important; font: 600 14px/1 var(--cc-mont) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; }
body.cml-carrito.cml-carrito .cml-res .cml-minorder__cp-error { grid-column: 1 / -1; margin: 6px 0 0 !important; font-size: 12.5px !important; color: #a8201a !important; }

/* Total estimado y botón */
body.cml-carrito .cml-res__tot { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 18px 0 0; padding: 18px 0 0; border-top: 1px solid var(--cc-linea); }
body.cml-carrito .cml-res__tot > span { font: 600 14px/1.2 var(--cc-mont); color: var(--cc-negro); text-align: left; }
body.cml-carrito .cml-res__tot small { display: block; margin-top: 3px; font-weight: 500; font-size: 12px; color: var(--cc-gris); }
body.cml-carrito.cml-carrito .cml-res__tot b,
body.cml-carrito.cml-carrito .cml-res__tot b .woocommerce-Price-amount,
body.cml-carrito.cml-carrito .cml-res__tot b bdi,
body.cml-carrito.cml-carrito .cml-res__tot b .woocommerce-Price-currencySymbol { font: 800 30px/1 var(--cc-saira) !important; font-variant-numeric: tabular-nums lining-nums; color: var(--cc-negro) !important; white-space: nowrap; }
body.cml-carrito.cml-carrito .cml-res .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
	min-height: 56px !important;
	margin: 20px 0 0 !important;
	padding: 0 24px 0 28px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cc-g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat right 22px center / 20px 20px !important;
	box-shadow: none !important;
	color: #fff !important;
	font: 600 17px/1 var(--cc-mont) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	transition: background-color 300ms var(--cc-suave), scale 160ms var(--cc-suave) !important;
}
body.cml-carrito.cml-carrito .cml-res .wc-proceed-to-checkout a.checkout-button:hover { background-color: var(--cc-g2) !important; }
body.cml-carrito.cml-carrito .cml-res .wc-proceed-to-checkout a.checkout-button:active { scale: .98; }
body.cml-carrito.cml-carrito .cml-res .wc-proceed-to-checkout a.checkout-button::before,
body.cml-carrito.cml-carrito .cml-res .wc-proceed-to-checkout a.checkout-button::after { content: none !important; }
body.cml-carrito .cml-res__nota { margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--cc-linea); font: 400 13px/1.5 var(--cc-mont); color: var(--cc-texto); }
body.cml-carrito .cml-res__nota b { color: var(--cc-negro); }

/* Cupón (tras enlace, como el pago) */
body.cml-carrito .cml-cupon { margin-top: 6px; }
body.cml-carrito .cml-cupon__form:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) 100px; margin-top: 4px; }
body.cml-carrito.cml-carrito .cml-cupon__input { min-width: 0 !important; width: 100% !important; height: 48px !important; margin: 0 !important; padding: 0 12px !important; border: 1px solid var(--cc-borde) !important; border-right: 0 !important; border-radius: 0 !important; background: #fff !important; font: 500 16px/1 var(--cc-mont) !important; color: var(--cc-negro) !important; box-shadow: none !important; }
body.cml-carrito.cml-carrito .cml-cupon__aplicar { height: 48px !important; margin: 0 !important; padding: 0 !important; border: 1px solid var(--cc-negro) !important; border-radius: 0 !important; background: var(--cc-negro) !important; color: #fff !important; font: 600 14px/1 var(--cc-mont) !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
body.cml-carrito .cml-cupon__error { grid-column: 1 / -1; margin: 6px 0 0; font: 500 12.5px/1.4 var(--cc-mont); color: #a8201a; }

/* --------------------------------------------------------------------------
   5. Barra fija en móvil (total + «Finalizar pedido»), oculta cuando el botón del resumen está a la vista
   -------------------------------------------------------------------------- */
body.cml-carrito .cml-barra-pago { display: none; }
@media (max-width: 899px) {
	body.cml-carrito .cml-barra-pago {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
		background: #fff;
		border-top: 1px solid var(--cc-linea);
		box-shadow: 0 -6px 18px rgba(0, 0, 0, .06);
		transition: transform 300ms var(--cc-suave);
	}
	body.cml-carrito .cml-barra-pago.is-oculta { transform: translateY(110%); }
	body.cml-carrito .cml-barra-pago__tot small { display: block; font: 500 12px/1.2 var(--cc-mont); color: var(--cc-gris); }
	body.cml-carrito.cml-carrito .cml-barra-pago__tot b,
	body.cml-carrito.cml-carrito .cml-barra-pago__tot b .woocommerce-Price-amount,
	body.cml-carrito.cml-carrito .cml-barra-pago__tot b bdi,
	body.cml-carrito.cml-carrito .cml-barra-pago__tot b .woocommerce-Price-currencySymbol { display: inline; font: 800 21px/1.1 var(--cc-saira) !important; color: var(--cc-negro) !important; }
	body.cml-carrito.cml-carrito .cml-barra-pago__btn { display: inline-flex !important; align-items: center; min-height: 48px; padding: 0 20px !important; background: var(--cc-g) !important; color: #fff !important; font: 600 15px/1 var(--cc-mont) !important; text-decoration: none !important; border-radius: 0 !important; }
	body.cml-carrito:has(.cml-barra-pago) #footer { padding-bottom: 76px; }
}

/* --------------------------------------------------------------------------
   6. Avisos (añadido, quitado con «Deshacer», cupón): sin botón «Ver carrito» dentro del carrito
   -------------------------------------------------------------------------- */
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-message,
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-info,
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-error,
body.cml-carrito.cml-carrito .woocommerce > .woocommerce-message,
body.cml-carrito.cml-carrito .woocommerce > .woocommerce-error {
	margin: 0 0 16px !important;
	padding: 14px 16px !important;
	border: 0 !important;
	border-left: 2px solid var(--cc-g) !important;
	border-radius: 0 !important;
	background: var(--cc-crema) !important;
	box-shadow: none !important;
	color: var(--cc-negro) !important;
	font: 500 14px/1.5 var(--cc-mont) !important;
	list-style: none !important;
}
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-error { border-left-color: #a8201a !important; background: #fbf3f2 !important; }
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-message::before,
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-info::before,
body.cml-carrito.cml-carrito .woocommerce-notices-wrapper .woocommerce-error::before { content: none !important; display: none !important; }
body.cml-carrito.cml-carrito .woocommerce-message a.wc-forward,
body.cml-carrito.cml-carrito .woocommerce-message a.button:not(.restore-item) { display: none !important; }
body.cml-carrito.cml-carrito .woocommerce-message a.restore-item { display: inline-flex; align-items: center; min-height: 44px; margin-left: 4px; color: var(--cc-g) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* --------------------------------------------------------------------------
   7. «Para acompañar» (lista compacta, debajo de los productos)
   -------------------------------------------------------------------------- */
body.cml-carrito .cml-acomp { margin-top: 48px; }
body.cml-carrito.cml-carrito .cml-acomp__t { margin: 0 0 16px !important; padding: 0 !important; font: 800 20px/1.1 var(--cc-saira) !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: var(--cc-negro) !important; }
body.cml-carrito .cml-acomp__lista { display: grid; gap: 0 32px; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cc-linea); }
@media (min-width: 600px) { body.cml-carrito .cml-acomp__lista { grid-template-columns: 1fr 1fr; } }
body.cml-carrito .cml-acomp__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--cc-linea); list-style: none; }
body.cml-carrito .cml-acomp__foto { display: block; width: 64px; height: 64px; background: #f3eee7; }
body.cml-carrito.cml-carrito .cml-acomp__foto img { display: block !important; width: 64px !important; height: 64px !important; object-fit: cover; margin: 0 !important; }
body.cml-carrito .cml-acomp__info { min-width: 0; }
body.cml-carrito.cml-carrito .cml-acomp__nom { display: block; font: 600 14px/1.3 var(--cc-mont) !important; color: var(--cc-negro) !important; text-decoration: none !important; }
body.cml-carrito.cml-carrito .cml-acomp__nom:hover { text-decoration: underline !important; text-underline-offset: 3px; }
body.cml-carrito .cml-acomp__pr { display: block; margin-top: 2px; font: 500 13.5px/1.3 var(--cc-mont); color: var(--cc-negro); }
body.cml-carrito.cml-carrito .cml-acomp__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 88px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid var(--cc-g) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--cc-g) !important;
	font: 600 14px/1 var(--cc-mont) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
	transition: background-color 300ms var(--cc-suave) !important;
}
body.cml-carrito.cml-carrito .cml-acomp__btn:hover { background: var(--cc-crema) !important; }
body.cml-carrito.cml-carrito .cml-acomp__btn.loading { opacity: .6; }
body.cml-carrito.cml-carrito .cml-acomp__btn::before,
body.cml-carrito.cml-carrito .cml-acomp__btn::after { content: none !important; display: none !important; }
body.cml-carrito.cml-carrito .cml-acomp a.added_to_cart { display: none !important; }

/* --------------------------------------------------------------------------
   8. Carrito vacío
   -------------------------------------------------------------------------- */
body.cml-carrito .cml-vacio { max-width: 720px; padding-top: 20px; }
body.cml-carrito .cml-vacio__b { margin: 14px 0 0; font: 400 15.5px/1.55 var(--cc-mont); color: var(--cc-texto); }
body.cml-carrito.cml-carrito .cml-vacio .return-to-shop { margin: 24px 0 0 !important; padding: 0 !important; }
body.cml-carrito.cml-carrito .cml-vacio__btn {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 0 52px 0 28px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--cc-g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat right 22px center / 18px 18px !important;
	color: #fff !important;
	font: 600 16px/1 var(--cc-mont) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}
body.cml-carrito.cml-carrito .cml-vacio__btn:hover { background-color: var(--cc-g2) !important; }
body.cml-carrito .cml-vacio__cats ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 40px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--cc-linea); }
@media (min-width: 600px) { body.cml-carrito .cml-vacio__cats ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
body.cml-carrito .cml-vacio__cats li { margin: 0; padding: 0; list-style: none; }
body.cml-carrito.cml-carrito .cml-vacio__cats a {
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	min-height: 52px;
	border-bottom: 1px solid var(--cc-linea);
	font: 800 15px/1 var(--cc-saira) !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--cc-negro) !important;
	text-decoration: none !important;
}
body.cml-carrito .cml-vacio__cats a::after { content: "›"; font: 500 20px/1 var(--cc-mont); }
body.cml-carrito.cml-carrito .cml-vacio__cats a:hover { color: var(--cc-g) !important; }

/* Foco visible y movimiento reducido */
body.cml-carrito.cml-carrito .woocommerce a:focus-visible,
body.cml-carrito.cml-carrito .woocommerce button:focus-visible { outline: 3px solid var(--cc-g) !important; outline-offset: 2px !important; }
@media (prefers-reduced-motion: reduce) {
	body.cml-carrito * { transition: none !important; }
}

/* Importes en negro, como la maqueta: cml_master_styles.css pinta .woocommerce-Price-amount de granate con !important. */
body.cml-carrito.cml-carrito .cml-res__lin dd .woocommerce-Price-amount,
body.cml-carrito.cml-carrito .cml-res__lin dd bdi,
body.cml-carrito.cml-carrito .cml-res__lin dd .woocommerce-Price-currencySymbol,
body.cml-carrito.cml-carrito .cml-acomp__pr .woocommerce-Price-amount { color: var(--cc-negro) !important; }

/* Enlaces de nombre: al menos 24 px de alto (WCAG 2.5.8); la foto también lleva al producto. */
body.cml-carrito.cml-carrito .cml-linea__nom,
body.cml-carrito.cml-carrito .cml-acomp__nom { padding: 3px 0 !important; }
