/* ==========================================================================
   Rumifay – Carrito paso 1 (premium, sin tablas anidadas)
   ========================================================================== */

.rf-checkout-multistep-active.rf-woo-cart-page {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.rf-checkout-multistep-active.rf-woo-cart-page .rf-woo-shell {
	background: #f8f9fc !important;
	padding-top: 16px;
	padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
}

.rf-checkout-multistep-active.rf-woo-cart-page .rf-woo-shell__inner {
	max-width: 960px;
	margin: 0 auto;
}

/* Layout: productos arriba, totales abajo (una columna limpia) */
.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart-collaterals {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	grid-template-columns: unset !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart-collaterals::before,
.rf-checkout-multistep-active.rf-woo-cart-page .cart-collaterals::after {
	display: none !important;
}

/* Tabla productos */
.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form {
	background: #fff;
	border: none !important;
	border-radius: 20px;
	box-shadow: 0 2px 16px rgba(11, 27, 58, 0.06);
	margin-bottom: 0 !important;
	overflow: hidden;
}

.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart {
	border: none !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart thead {
	background: #f8fafc;
}

.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart th {
	font-family: Inter, sans-serif;
	font-size: 11px;
	font-weight: 600;
	color: #9ca3af;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	border: none !important;
	padding: 12px 16px;
}

.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart td {
	border: none !important;
	border-bottom: 1px solid #f1f5f9 !important;
	padding: 16px;
	font-family: Inter, sans-serif;
}

.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart tr:last-child td {
	border-bottom: none !important;
}

/* Acciones cupón / actualizar */
.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	padding: 14px 16px;
	background: #f8fafc;
	border-top: 1px solid #f1f5f9;
}

.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form .actions .coupon {
	display: flex;
	flex: 1 1 220px;
	gap: 8px;
	padding: 0;
	margin: 0;
}

.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form .actions .coupon input {
	flex: 1;
	min-height: 44px;
	height: 44px;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 0 12px;
	font-size: 14px;
}

.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form .actions .button {
	min-height: 44px;
	height: 44px;
	border-radius: 10px !important;
	font-family: Inter, sans-serif;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	padding: 0 16px !important;
	box-shadow: none !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form .actions > .button {
	margin-left: auto;
}

/* --- Total del carrito: UNA sola tarjeta, SIN tabla visible --- */
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals {
	background: #fff !important;
	border: none !important;
	border-radius: 20px !important;
	box-shadow: 0 2px 16px rgba(11, 27, 58, 0.06) !important;
	padding: 20px 20px 16px !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
}

@media (min-width: 768px) {
	.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals {
		max-width: 380px;
		margin-left: auto !important;
	}
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals h2 {
	font-family: Inter, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: #0b1b3a;
	margin: 0 0 12px;
	padding: 0;
	border: none;
}

/* Eliminar apariencia de tabla WC */
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table,
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table.shop_table {
	display: block !important;
	width: 100% !important;
	border: none !important;
	border-collapse: collapse !important;
	margin: 0 !important;
	background: transparent !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table thead,
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table tfoot,
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table tbody {
	display: block !important;
	width: 100% !important;
	border: none !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table tr {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	width: 100% !important;
	padding: 10px 0;
	margin: 0;
	border: none !important;
	border-bottom: 1px solid #f1f5f9 !important;
	background: transparent !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table tr:last-child {
	border-bottom: none !important;
	padding-top: 14px;
	margin-top: 4px;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table th,
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table td {
	display: block !important;
	width: auto !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	font-family: Inter, sans-serif;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table th {
	font-size: 0.875rem;
	font-weight: 500;
	color: #6b7280;
	text-align: left;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals table td {
	font-size: 0.875rem;
	font-weight: 600;
	color: #0b1b3a;
	text-align: right;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals .order-total th,
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals .order-total td {
	font-size: 1.0625rem;
	font-weight: 700;
	color: #0b1b3a;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals .order-total .amount,
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals .order-total td {
	color: #0057ff !important;
	font-size: 1.25rem;
}

/* Ocultar filas vacías / shipping calculator duplicado */
.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals .shipping-calculator-form {
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid #f1f5f9;
}

.rf-checkout-multistep-active.rf-woo-cart-page .cart_totals .shipping-calculator-form .form-row {
	margin-bottom: 10px;
}

/* Botón ir a pagar – solo escritorio (móvil usa sticky) */
.rf-checkout-multistep-active.rf-woo-cart-page .wc-proceed-to-checkout {
	padding: 14px 0 0 !important;
	margin: 0 !important;
	border: none !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .wc-proceed-to-checkout::before,
.rf-checkout-multistep-active.rf-woo-cart-page .wc-proceed-to-checkout::after {
	display: none !important;
}

.rf-checkout-multistep-active.rf-woo-cart-page .wc-proceed-to-checkout .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 52px !important;
	height: 52px !important;
	border-radius: 999px !important;
	font-family: Inter, sans-serif !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	background: #0057ff !important;
	border: none !important;
	box-shadow: 0 4px 14px rgba(0, 87, 255, 0.32) !important;
}

@media (max-width: 767px) {
	.rf-checkout-multistep-active.rf-woo-cart-page .wc-proceed-to-checkout {
		display: none !important;
	}

	/* Un solo botón Continuar: barra flotante (ocultar del resumen lateral) */
	.rf-checkout-multistep-active.rf-woo-cart-page .cart-collaterals .rf-falabella-summary > a.rf-falabella-cta {
		display: none !important;
	}

	/* El total flotante no debe colapsar */
	.rf-checkout-multistep-active.rf-woo-cart-page [data-rf-sticky-bar] .rumifay-sticky-cart-total:empty::before {
		content: '—';
		color: #64748b;
	}
}

/* Cross-sells fuera del flujo si existe */
.rf-checkout-multistep-active.rf-woo-cart-page .cart-collaterals .cross-sells {
	width: 100%;
	margin-bottom: 16px;
	order: -1;
}

/* Móvil: filas producto tipo card */
@media (max-width: 767px) {
	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart thead {
		display: none;
	}

	/* Anular modo responsive WC (etiquetas "Producto:" + texto alineado a la derecha) */
	.rf-checkout-multistep-active.rf-woo-cart-page table.shop_table_responsive.cart .cart_item td {
		display: block;
		text-align: left !important;
		padding: 0 !important;
		border: none !important;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page table.shop_table_responsive.cart .cart_item td::before {
		display: none !important;
		content: none !important;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart tbody tr.cart_item {
		display: grid;
		grid-template-columns: 72px minmax(0, 1fr);
		grid-template-rows: auto auto auto auto;
		gap: 8px 12px;
		padding: 16px 44px 16px 16px;
		position: relative;
		align-items: start;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-thumbnail {
		grid-column: 1;
		grid-row: 1 / -1;
		align-self: start;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-thumbnail img {
		width: 72px;
		height: 72px;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-name {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.45;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-name a {
		display: block;
		color: #0b1b3a;
		word-break: normal;
		overflow-wrap: break-word;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-price {
		grid-column: 2;
		grid-row: 2;
		font-size: 0.8125rem;
		color: #6b7280;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-quantity {
		grid-column: 2;
		grid-row: 3;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-subtotal {
		grid-column: 2;
		grid-row: 4;
		font-weight: 700;
		color: #0057ff;
		text-align: left;
		padding-top: 8px;
		margin-top: 4px;
		border-top: 1px solid #f1f5f9;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .shop_table.cart .product-remove {
		position: absolute;
		right: 12px;
		top: 12px;
	}

	.rf-checkout-multistep-active.rf-woo-cart-page .woocommerce-cart-form .actions > .button[name="update_cart"] {
		width: 100%;
		margin-left: 0;
	}
}
