/* ==========================================================================
   Aubrelia - Rediseno de la pagina del carrito (WooCommerce clasico).

   Mismo lenguaje que aubrelia-checkout.css: Poppins, #1F1830 sobre blanco,
   acento #7B4FD1, paneles #EFE9FB, bordes #E4D8F6, pildoras de 999px.
   Scope total: body.woocommerce-cart. No afecta ninguna otra pagina.
   ========================================================================== */

/* ---- Lienzo: fuera la barra lateral de Divi, contenedor a 1320 ---- */
body.woocommerce-cart #sidebar { display: none !important; }
body.woocommerce-cart:not(.et-tb-has-body) #left-area { width: 100% !important; float: none !important; padding: 0 !important; }
body.woocommerce-cart:not(.et-tb-has-body) #main-content .container {
	max-width: 1320px !important;
	width: 100% !important;
	padding: 0 clamp(20px, 4vw, 48px) clamp(64px, 7vw, 104px) !important;
	box-sizing: border-box;
}
body.woocommerce-cart #main-content .container:before { display: none !important; }
body.woocommerce-cart h1.entry-title { display: none !important; }
body.woocommerce-cart .entry-content { padding-top: 0 !important; }
body.woocommerce-cart #main-content { background: #FFFFFF; }

/* ---- Banda de titulo, igual que la del checkout ---- */
body.woocommerce-cart .aubck-hero {
	background: #D9CBF2;
	margin: 0 calc(50% - 50vw) clamp(40px, 5vw, 68px);
	padding: clamp(36px, 4vw, 56px) clamp(20px, 4vw, 48px);
}
body.woocommerce-cart .aubck-hero-in {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 16px;
	font-family: Poppins, sans-serif;
}
body.woocommerce-cart .aubck-miga { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: #4A3D6B; }
body.woocommerce-cart .aubck-miga a { color: #4A3D6B !important; text-decoration: none; }
body.woocommerce-cart .aubck-miga a:hover { color: #7B4FD1 !important; }
body.woocommerce-cart .aubck-miga span { color: #8A7BA8; }
body.woocommerce-cart .aubck-miga b { font-weight: 600; color: #1F1830; }
body.woocommerce-cart h1.aubck-titulo {
	margin: 0 !important; padding: 0 !important;
	font-family: Poppins, sans-serif;
	font-size: clamp(32px, 4.2vw, 54px);
	line-height: 1; letter-spacing: -0.045em; font-weight: 600; color: #1F1830;
}
body.woocommerce-cart .aubck-sub {
	margin: 0 !important; padding: 0 !important;
	font-family: Poppins, sans-serif;
	font-size: 16px; line-height: 1.6; color: #443860; max-width: 52ch;
}

/* ---- Tipografia base ---- */
body.woocommerce-cart .woocommerce,
body.woocommerce-cart .woocommerce *:not(svg):not(path) { font-family: Poppins, sans-serif; }
body.woocommerce-cart .woocommerce { color: #1F1830; }
body.woocommerce-cart .woocommerce a { color: #7B4FD1; text-decoration: none; }

/* ---- Columnas: las pone la fila del Theme Builder, no este CSS ----
   El layout et_body_layout 195 usa una fila 2_3 + 1_3 con los modulos
   et_pb_wc_cart_products y et_pb_wc_cart_totals. Aqui solo evitamos que
   los envoltorios de WooCommerce metan margenes o anchos propios.        */
body.woocommerce-cart .et-l--body .woocommerce { margin: 0; }
body.woocommerce-cart .woocommerce > form.woocommerce-cart-form { margin: 0; }
body.woocommerce-cart .cart-collaterals,
body.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100% !important;
	float: none !important;
}

/* ---- Tabla de articulos: sin aire de tabla, con aire de tarjeta ---- */
body.woocommerce-cart table.shop_table {
	border: 1px solid #E9E2F5 !important;
	border-radius: 22px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	overflow: hidden;
	background: #FFFFFF;
	margin: 0;
}
body.woocommerce-cart table.shop_table th {
	background: #F7F3FE;
	border: none !important;
	padding: 16px 20px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #9B90B0 !important;
	text-align: left;
}
body.woocommerce-cart table.shop_table td {
	border: none !important;
	border-top: 1px solid #F0EAFA !important;
	padding: 20px !important;
	vertical-align: middle;
	font-size: 14.5px;
	color: #1F1830;
}
body.woocommerce-cart table.shop_table tbody tr:first-child td { border-top: none !important; }

/* Miniatura */
body.woocommerce-cart td.product-thumbnail { width: 104px; }
body.woocommerce-cart td.product-thumbnail img {
	width: 84px; height: 84px; object-fit: cover;
	border-radius: 14px; display: block;
}

/* Nombre */
body.woocommerce-cart td.product-name a {
	font-size: 15.5px; font-weight: 600; letter-spacing: -0.01em; color: #1F1830 !important;
}
body.woocommerce-cart td.product-name a:hover { color: #7B4FD1 !important; }

/* Precios: el tachado del descuento por combinacion */
body.woocommerce-cart td.product-price,
body.woocommerce-cart td.product-subtotal { font-variant-numeric: tabular-nums; white-space: nowrap; }
body.woocommerce-cart td.product-subtotal { font-weight: 600; }
body.woocommerce-cart td.product-price del,
body.woocommerce-cart td.product-subtotal del { color: #9B90B0; font-weight: 400; margin-right: 6px; }
body.woocommerce-cart td.product-price ins,
body.woocommerce-cart td.product-subtotal ins { text-decoration: none; color: #1F1830; }

/* Cantidad */
body.woocommerce-cart .quantity input.qty {
	width: 68px; height: 44px;
	border: 1.5px solid #E4D8F6 !important;
	border-radius: 999px !important;
	background: #FFFFFF; color: #1F1830;
	text-align: center; font-size: 14.5px; font-weight: 500;
	box-shadow: none !important;
}
body.woocommerce-cart .quantity input.qty:focus {
	border-color: #7B4FD1 !important;
	box-shadow: 0 0 0 3px #EFE9FB !important;
	outline: none;
}

/* Quitar articulo */
body.woocommerce-cart td.product-remove { width: 56px; }
body.woocommerce-cart td.product-remove a.remove {
	width: 30px; height: 30px; line-height: 28px;
	border-radius: 999px;
	color: #9B90B0 !important;
	background: #F4EFFC !important;
	font-size: 18px; font-weight: 400;
	transition: background 0.18s ease, color 0.18s ease;
}
body.woocommerce-cart td.product-remove a.remove:hover {
	background: #FBE0EE !important; color: #C2417E !important;
}

/* ---- Fila de acciones: sin cupones (no hay ninguno creado) ---- */
body.woocommerce-cart td.actions { background: #FCFAFF; padding: 18px 20px !important; }
body.woocommerce-cart td.actions .coupon { display: none !important; }
body.woocommerce-cart td.actions button[name="update_cart"] {
	background: #FFFFFF !important;
	color: #1F1830 !important;
	border: 1.5px solid #E4D8F6 !important;
	border-radius: 999px !important;
	padding: 13px 24px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
body.woocommerce-cart td.actions button[name="update_cart"]:hover {
	background: #EFE9FB !important; border-color: #7B4FD1 !important;
}
body.woocommerce-cart td.actions button[name="update_cart"]:disabled { opacity: 0.45; }

/* ---- Caja de totales ---- */
body.woocommerce-cart .cart_totals {
	background: #EFE9FB;
	border-radius: 24px;
	padding: 26px;
	position: sticky;
	top: 104px;
}
body.woocommerce-cart .cart_totals h2 {
	margin: 0 0 18px !important; padding: 0 !important;
	font-size: 19px; font-weight: 600; letter-spacing: -0.02em; color: #1F1830;
	text-transform: none;
}
body.woocommerce-cart .cart_totals table.shop_table {
	border: none !important; border-radius: 0 !important; background: transparent; overflow: visible;
}
body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	background: transparent !important;
	border: none !important;
	padding: 11px 0 !important;
	font-size: 14px;
	text-transform: none;
	letter-spacing: 0;
	color: #443860 !important;
	font-weight: 500;
}
body.woocommerce-cart .cart_totals table.shop_table td { text-align: right; font-variant-numeric: tabular-nums; }

/* Fila del descuento por combinacion */
body.woocommerce-cart tr.aubrelia-bundle-discount th,
body.woocommerce-cart tr.aubrelia-bundle-discount td {
	color: #7B4FD1 !important; font-weight: 600 !important;
}
body.woocommerce-cart tr.aubrelia-bundle-discount td { white-space: nowrap; }

/* Total */
body.woocommerce-cart tr.order-total th,
body.woocommerce-cart tr.order-total td {
	border-top: 1px solid #DED0F5 !important;
	padding-top: 16px !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	color: #1F1830 !important;
	letter-spacing: -0.02em;
}
body.woocommerce-cart tr.order-total .woocommerce-Price-amount { font-size: 22px; }

/* ---- Boton de WhatsApp dentro de los totales ---- */
body.woocommerce-cart .wc-proceed-to-checkout { padding: 18px 0 0 !important; }
body.woocommerce-cart .wc-proceed-to-checkout .div_evowap_btn { margin: 0; }
body.woocommerce-cart .wc-proceed-to-checkout .evowap_btn {
	display: flex; align-items: center; justify-content: center; gap: 10px;
	width: 100%; box-sizing: border-box;
	background: #1F1830; color: #FFFFFF !important;
	font-size: 15.5px; font-weight: 600; line-height: 1.2;
	border-radius: 999px; padding: 19px 24px;
	text-decoration: none;
	transition: background 0.18s ease;
}
body.woocommerce-cart .wc-proceed-to-checkout .evowap_btn:hover { background: #7B4FD1; color: #FFFFFF !important; }
body.woocommerce-cart .wc-proceed-to-checkout .evowap_btn svg { width: 21px; height: 21px; flex: none; }

/* La calculadora de envio no aplica: el envio se coordina por WhatsApp */
body.woocommerce-cart .shipping-calculator-button,
body.woocommerce-cart .woocommerce-shipping-destination { display: none !important; }

/* ---- Avisos ---- */
body.woocommerce-cart .woocommerce-message,
body.woocommerce-cart .woocommerce-info,
body.woocommerce-cart .woocommerce-error {
	border-radius: 16px !important;
	border: none !important;
	background: #EFE9FB !important;
	color: #46396B !important;
	font-size: 14px;
	padding: 16px 20px !important;
}
body.woocommerce-cart .woocommerce-message:before,
body.woocommerce-cart .woocommerce-info:before,
body.woocommerce-cart .woocommerce-error:before { display: none !important; }
body.woocommerce-cart .woocommerce-error { background: #FBE0EE !important; color: #8A2B57 !important; }
body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-info .button {
	background: #1F1830 !important; color: #FFFFFF !important;
	border-radius: 999px !important; padding: 10px 20px !important;
	font-size: 13px !important; font-weight: 600 !important; text-transform: none !important;
}

/* ---- Carrito vacio: centrado, con aire y con ilustracion ---- */
body.woocommerce-cart .aub-vacio {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	max-width: 560px;
	margin: 0 auto;
	padding: clamp(48px, 7vw, 88px) 20px clamp(56px, 8vw, 96px);
}
body.woocommerce-cart .aub-vacio__arte { width: clamp(150px, 26vw, 200px); max-width: 200px; margin: 0 auto 28px; }
body.woocommerce-cart .aub-vacio__arte svg { width: 100%; max-width: 200px; height: auto; display: block; }
body.woocommerce-cart h2.aub-vacio__titulo {
	margin: 0 0 14px !important;
	padding: 0 !important;
	font-size: clamp(26px, 3.2vw, 34px);
	line-height: 1.1;
	letter-spacing: -0.035em;
	font-weight: 600;
	color: #1F1830;
}
body.woocommerce-cart .aub-vacio__texto {
	margin: 0 0 30px !important;
	padding: 0 !important;
	font-size: 15.5px;
	line-height: 1.65;
	color: #6A6080;
	max-width: 46ch;
}
body.woocommerce-cart .aub-vacio__texto strong { color: #1F1830; font-weight: 600; }
body.woocommerce-cart .aub-vacio__acciones {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}
body.woocommerce-cart .aub-vacio__cta {
	background: #1F1830;
	color: #FFFFFF !important;
	border-radius: 999px;
	padding: 17px 32px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.18s ease;
}
body.woocommerce-cart .aub-vacio__cta:hover { background: #7B4FD1; color: #FFFFFF !important; }
body.woocommerce-cart .aub-vacio__link {
	border: 1.5px solid #E4D8F6;
	border-radius: 999px;
	padding: 15.5px 28px;
	font-size: 15px;
	font-weight: 600;
	color: #1F1830 !important;
	text-decoration: none;
	transition: background 0.18s ease, border-color 0.18s ease;
}
body.woocommerce-cart .aub-vacio__link:hover { background: #EFE9FB; border-color: #7B4FD1; }

/* Restos del estado vacio por defecto de WooCommerce */
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .return-to-shop { display: none !important; }

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 980px) {
	/* Divi apila las columnas de la fila; la caja de totales deja de
	   ir pegada al scroll y toma aire respecto a los articulos. */
	body.woocommerce-cart .cart_totals { position: static; margin-top: 8px; }
}

/* Bajo 768px WooCommerce apila la tabla; la convertimos en tarjetas. */
@media (max-width: 768px) {
	body.woocommerce-cart .aub-vacio__acciones { flex-direction: column; align-items: stretch; width: 100%; }

	body.woocommerce-cart table.shop_table { border: none !important; border-radius: 0 !important; }
	body.woocommerce-cart table.shop_table thead { display: none; }
	body.woocommerce-cart table.shop_table tbody tr.cart_item {
		display: block;
		border: 1px solid #E9E2F5;
		border-radius: 20px;
		padding: 6px 4px;
		margin-bottom: 14px;
		background: #FFFFFF;
	}
	body.woocommerce-cart table.shop_table tbody tr.cart_item td {
		border-top: none !important;
		padding: 10px 16px !important;
		text-align: right !important;
		font-size: 14px;
	}
	body.woocommerce-cart table.shop_table tbody tr.cart_item td:before {
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		color: #9B90B0;
	}
	body.woocommerce-cart td.product-thumbnail { display: block !important; text-align: left !important; }
	body.woocommerce-cart td.product-thumbnail img { width: 96px; height: 96px; }
	body.woocommerce-cart td.product-remove { text-align: right !important; }
	body.woocommerce-cart td.actions { display: block; background: transparent; padding: 4px 0 0 !important; }
	body.woocommerce-cart td.actions button[name="update_cart"] { width: 100%; }
	body.woocommerce-cart .cart_totals { padding: 22px; }
}
