/**
 * Página del carrito (bloque de WooCommerce) — estilo Exit BCN.
 * TP 2026-09-16. Se carga solo en /carrito/ (inc/cart-block.php).
 * Mismo lenguaje que css/checkout-block.css: sin radios, bordes finos,
 * mayúscula condensada, precio una sola vez.
 * No se tocan anchos ni flex de las columnas del bloque (ver nota D5 en layout.v4.css).
 */

.woocommerce-cart #discount-floating-badge {
	display: none !important;
}

/* El contenedor de la página recorta con overflow:hidden y eso anula el sticky */
.woocommerce-cart .page-contenido--content {
	overflow: clip;
}

/* ------------------------------------------------------------------ */
/* Líneas de producto                                                   */
/* ------------------------------------------------------------------ */

/* Cabecera «Producto / Total»: fuera */
.woocommerce-cart .wc-block-cart-items__header {
	display: none !important;
}

.woocommerce-cart table.wc-block-cart-items {
	border-collapse: collapse;
	border-top: 1px solid var(--color-primary-100);
}

.woocommerce-cart .wc-block-cart-items__row {
	border: 0 !important;
	border-bottom: 1px solid var(--color-primary-100) !important;
}

.woocommerce-cart .wc-block-cart-items__row td {
	border: 0 !important;
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
	vertical-align: top !important;
}

/* Foto 3:4, entera */
.woocommerce-cart .wc-block-cart-item__image {
	width: 104px !important;
	padding-right: 1.25rem !important;
}

.woocommerce-cart .wc-block-cart-item__image a {
	display: block;
}

.woocommerce-cart .wc-block-cart-item__image img {
	display: block;
	width: 84px !important;
	max-width: none !important;
	height: 112px !important;
	object-fit: cover;
	border: 1px solid var(--color-primary-100);
	background: var(--color-white);
}

/* Nombre */
.woocommerce-cart .wc-block-cart-item__wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.375rem;
}

.woocommerce-cart .wp-block-woocommerce-cart a.wc-block-components-product-name {
	font-size: 1rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.02em !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

/* Precio unitario bajo el nombre: fuera (el total de la línea va a la derecha) */
.woocommerce-cart .wc-block-cart-item__wrap > .wc-block-cart-item__prices {
	display: none !important;
}

/* Variante: «Color: Negro · Talla: M» */
.woocommerce-cart .wc-block-components-product-metadata {
	margin: 0 !important;
}

.woocommerce-cart .wc-block-components-product-details {
	display: flex !important;
	flex-wrap: wrap;
	gap: 0 0.5rem;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.75rem !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-primary-500) !important;
}

.woocommerce-cart .wc-block-components-product-details > span > span:not([class]) {
	display: none;
}

.woocommerce-cart .wc-block-components-product-details > span + span::before {
	content: "·";
	margin-right: 0.5rem;
	color: var(--color-primary-300);
}

.woocommerce-cart .wc-block-components-product-details__name {
	font-weight: 700;
	color: var(--color-primary-600);
}

/* Cantidad y papelera en una fila, 40 px */
.woocommerce-cart .wc-block-cart-item__quantity {
	display: flex !important;
	align-items: center;
	gap: 0.75rem;
	margin-top: 0.625rem;
}

.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: stretch;
	width: auto !important;
	height: 40px;
	margin: 0 !important;
	border: 1px solid var(--color-primary-300) !important;
	border-radius: 0 !important;
	background: var(--color-white);
}

.woocommerce-cart .wc-block-components-quantity-selector::after {
	display: none !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
	width: 40px !important;
	min-width: 40px !important;
	height: 38px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--color-primary) !important;
	font-size: 1.125rem !important;
	line-height: 1 !important;
	opacity: 1 !important;
	cursor: pointer;
	transition: background-color 150ms ease;
}

.woocommerce-cart .wc-block-components-quantity-selector__button:hover:not(:disabled) {
	background: var(--color-primary-50) !important;
}

.woocommerce-cart .wc-block-components-quantity-selector__button:disabled {
	color: var(--color-primary-300) !important;
	cursor: not-allowed;
}

.woocommerce-cart .wc-block-components-quantity-selector__input {
	width: 40px !important;
	min-width: 40px !important;
	height: 38px !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--color-primary) !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	text-align: center !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid transparent !important;
	background: transparent !important;
	color: var(--color-primary-500) !important;
	cursor: pointer;
	transition: color 150ms ease, border-color 150ms ease;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover {
	color: var(--color-primary) !important;
	border-color: var(--color-primary-300) !important;
}

.woocommerce-cart .wc-block-cart-item__remove-link svg {
	width: 20px;
	height: 20px;
}

/* Total de la línea: a la altura del nombre */
.woocommerce-cart .wc-block-cart-item__total {
	text-align: right !important;
	white-space: nowrap;
}

.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price {
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	color: var(--color-primary) !important;
}

/* ------------------------------------------------------------------ */
/* Columna derecha: panel fijo                                          */
/* ------------------------------------------------------------------ */

@media (min-width: 768px) {
	.woocommerce-cart .wc-block-cart__sidebar {
		position: sticky !important;
		top: 132px; /* cabecera sticky: 108 px + aire */
		align-self: flex-start !important;
	}
}

/* Orden: resumen · Finalizar compra · pagos exprés · Seguir comprando */
.woocommerce-cart .wc-block-cart__sidebar {
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
}

.woocommerce-cart .wc-block-cart__sidebar > .wp-block-woocommerce-cart-order-summary-block { order: 1; }
.woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__submit { order: 2; }
.woocommerce-cart .wc-block-cart__sidebar > .wc-block-cart__payment-options { order: 3; }
.woocommerce-cart .wc-block-cart__sidebar > .exitbcn-cart-extra { order: 4; }

/* Panel del resumen */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
	margin: 0 !important;
	border: 1px solid var(--color-primary-200) !important;
	background: var(--color-white);
	overflow: hidden;
}

.woocommerce-cart .wc-block-cart__totals-title {
	margin: 0 !important;
	padding: 0.875rem 1.25rem !important;
	background: var(--color-primary) !important;
	color: var(--color-white) !important;
	font-size: 0.8125rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	text-align: left !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
	margin: 0 !important;
	padding: 1rem 1.25rem !important;
	border: 0 !important;
	border-top: 1px solid var(--color-primary-100) !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:first-of-type {
	border-top: 0 !important;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:empty {
	display: none !important;
}

/* Cupones como enlace */
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
	padding: 0 !important;
	margin: 0 !important;
	font-size: 0.75rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.1em !important;
}

.woocommerce-cart .wc-block-components-totals-coupon__button {
	border-radius: 0 !important;
	min-height: 44px !important;
}

/* Filas (envío) */
.woocommerce-cart .wc-block-components-totals-item {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.125rem 1rem;
	padding: 0 !important;
}

.woocommerce-cart .exitbcn-cart-shipping .wc-block-components-totals-item__label {
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--color-primary-600) !important;
}

.woocommerce-cart .exitbcn-cart-shipping .wc-block-components-totals-item__value {
	font-size: 0.875rem !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-primary) !important;
}

.woocommerce-cart .exitbcn-cart-shipping .wc-block-components-totals-item__description {
	flex: 0 0 100%;
	font-size: 0.75rem;
	color: var(--color-primary-500);
}

/* Si el envío es gratis, fuera la frase «El envío se calculará al finalizar la compra» */
.woocommerce-cart .exitbcn-cart--envio-gratis .wc-block-components-totals-footer-item-shipping {
	display: none !important;
}

/* Total: banda gris con la cifra grande */
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
	background: var(--color-primary-50);
	border-top: 1px solid var(--color-primary) !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 0.8125rem !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.14em !important;
	color: var(--color-primary) !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.5rem !important;
	font-weight: 900 !important;
	color: var(--color-primary) !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	flex: 0 0 100%;
}

.woocommerce-cart .wc-block-components-totals-footer-item-tax {
	margin: 0 !important;
	font-size: 0.75rem !important;
	color: var(--color-primary-500) !important;
}

/* ------------------------------------------------------------------ */
/* Botones                                                              */
/* ------------------------------------------------------------------ */

.woocommerce-cart .wc-block-cart__submit {
	margin: 0 !important;
}

.woocommerce-cart .wc-block-cart__submit-container {
	padding: 0 !important;
}

.woocommerce-cart .wc-block-cart__submit-button {
	min-height: 52px !important;
	font-size: 0.75rem !important;
	font-weight: 900 !important;
	letter-spacing: 0.16em !important;
}

/* Pagos exprés debajo: primero «o paga con», luego el botón */
.woocommerce-cart .wc-block-cart__payment-options {
	display: flex !important;
	flex-direction: column-reverse;
	gap: 0.75rem;
	margin: 0 !important;
}

.woocommerce-cart .wc-block-components-express-payment--cart {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.woocommerce-cart .wc-block-components-express-payment-continue-rule--cart {
	margin: 0 !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.12em !important;
	color: var(--color-primary-500) !important;
}

/* Seguir comprando + confianza */
.exitbcn-cart-extra {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.875rem;
	padding-top: 0.25rem;
}

.exitbcn-cart-extra__continue {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-primary) !important;
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

.exitbcn-cart-extra__continue:hover {
	color: var(--color-primary-600) !important;
}

.exitbcn-cart-extra__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.25rem 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.75rem;
	color: var(--color-primary-500);
}

.exitbcn-cart-extra__trust li {
	margin: 0;
	padding: 0;
}

.exitbcn-cart-extra__trust li + li::before {
	content: "·";
	margin-right: 0.5rem;
	color: var(--color-primary-300);
}

.exitbcn-cart-extra__trust a {
	color: var(--color-primary-600) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

/* ------------------------------------------------------------------ */
/* Móvil                                                                */
/* ------------------------------------------------------------------ */

@media (max-width: 767px) {
	.woocommerce-cart .wc-block-cart-item__image {
		width: 84px !important;
		padding-right: 0.875rem !important;
	}

	.woocommerce-cart .wc-block-cart-item__image img {
		width: 70px !important;
		height: 93px !important;
	}

	.woocommerce-cart .wc-block-cart__sidebar {
		position: static !important;
		margin-top: 1.5rem;
	}
}
