/*
 * carrito-checkout.css
 * SOLO estiliza las plantillas nativas de WooCommerce para el carrito y el
 * checkout (páginas "Carrito" y "Finalizar compra" gestionadas por
 * WooCommerce) — no se reescribe ni un solo hook de su lógica: pasarelas
 * (Wompi/Bold/contra entrega), envíos y cupones siguen funcionando igual.
 */

.woocommerce-cart .site-main,
.woocommerce-checkout .site-main {
	padding-block: var(--espacio-lg) var(--espacio-2xl);
}

/* ─── Notificaciones (errores, mensajes, cupón aplicado) ─── */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--color-fondo-alterno);
	border-left: 4px solid var(--color-primario);
	border-radius: var(--radio-sm);
	padding: var(--espacio-sm) var(--espacio-md);
	list-style: none;
	margin-bottom: var(--espacio-md);
}
.woocommerce-error { border-left-color: var(--color-error); }
.woocommerce-message .button {
	margin-left: var(--espacio-sm);
}

/* ─── Tabla del carrito ─── */
table.shop_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--espacio-md);
}
table.shop_table th {
	text-align: left;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--color-texto-suave);
	padding-bottom: var(--espacio-sm);
	border-bottom: 1px solid var(--color-borde);
}
table.shop_table td {
	padding: var(--espacio-sm) .5rem;
	border-bottom: 1px solid var(--color-borde);
	vertical-align: middle;
}
table.shop_table .product-thumbnail img {
	width: 72px;
	border-radius: var(--radio-sm);
}
table.shop_table .product-name a {
	font-weight: 600;
	color: var(--color-secundario);
}
table.shop_table .product-price,
table.shop_table .product-subtotal {
	font-weight: 600;
	color: var(--color-acento);
}
table.shop_table .quantity input {
	width: 60px;
	padding: .5rem;
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-sm);
	text-align: center;
}
a.remove {
	color: var(--color-error) !important;
	font-size: 1.3rem !important;
}

/* Cupón */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon {
	margin-bottom: var(--espacio-md);
}
.woocommerce-form-coupon .form-row {
	display: flex;
	gap: .5rem;
	flex-wrap: wrap;
}
.woocommerce-form-coupon input[type="text"] {
	flex: 1;
	min-width: 180px;
	padding: .75rem;
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-md);
}

/* Totales del carrito */
.cart_totals {
	background: var(--color-fondo-alterno);
	border-radius: var(--radio-md);
	padding: var(--espacio-md);
	max-width: 420px;
	margin-left: auto;
}
.cart_totals h2 { margin-bottom: var(--espacio-sm); }
.cart_totals table { width: 100%; }
.cart_totals table th { color: var(--color-texto-suave); font-weight: 500; }
.cart_totals .order-total .woocommerce-Price-amount {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--color-acento);
}
.wc-proceed-to-checkout .checkout-button {
	width: 100%;
	text-align: center;
	padding: 1rem !important;
	font-size: 1.05rem !important;
	margin-top: var(--espacio-sm);
}

/* Métodos de envío dentro del carrito/checkout */
.woocommerce-shipping-methods,
#shipping_method {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-shipping-methods li {
	padding: .5rem 0;
}

/* ─── Checkout ─── */
.woocommerce-checkout .col2-set,
.woocommerce-checkout-review-order {
	margin-bottom: var(--espacio-md);
}
.woocommerce-billing-fields h3,
#order_review_heading {
	margin-bottom: var(--espacio-sm);
}
.woocommerce-checkout .form-row {
	margin-bottom: var(--espacio-sm);
}
.woocommerce-checkout label {
	display: block;
	margin-bottom: .35rem;
	font-size: .9rem;
	font-weight: 500;
	color: var(--color-secundario);
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	width: 100%;
	padding: .8rem .9rem;
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-md);
	font-family: var(--fuente-cuerpo);
	font-size: 1rem;
}
.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus {
	outline: 2px solid var(--color-primario);
	outline-offset: 1px;
}

/* Resumen del pedido (tabla de la derecha) */
#order_review {
	background: var(--color-fondo-alterno);
	border-radius: var(--radio-md);
	padding: var(--espacio-md);
}
.woocommerce-checkout-review-order-table .product-name { font-weight: 500; }
.woocommerce-checkout-review-order-table .amount { font-weight: 600; }

/* Métodos de pago */
ul.wc_payment_methods {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.payment_methods li {
	border: 1px solid var(--color-borde);
	border-radius: var(--radio-md);
	padding: var(--espacio-sm);
	margin-bottom: .6rem;
}
ul.payment_methods li img { display: inline-block; height: 20px; vertical-align: middle; margin-left: .4rem; }
.payment_box {
	background: #fff;
	margin-top: .6rem;
	padding: var(--espacio-sm);
	border-radius: var(--radio-sm);
	font-size: .9rem;
	color: var(--color-texto-suave);
}

#place_order {
	width: 100%;
	padding: 1.1rem !important;
	font-size: 1.1rem !important;
}

@media (min-width: 1024px) {
	.woocommerce-cart .col2-set,
	.woocommerce-checkout .col2-set {
		display: grid;
		grid-template-columns: 1.3fr 1fr;
		gap: var(--espacio-lg);
		align-items: start;
	}
}
