/**
 * Cart page only (woocommerce/cart/cart.php, cart-empty.php, cart-totals.php,
 * proceed-to-checkout-button.php). Loaded conditionally via
 * functions/conditional_assets.php — is_cart().
 * Also covers the WooCommerce Cart *block*, in case the Cart page uses the
 * block editor instead of the [woocommerce_cart] shortcode (see SETUP.md).
 */

.cart_table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--space-lg);
}

.cart_table th {
	text-align: left;
	padding: var(--space-xs) var(--space-sm);
	border-bottom: 2px solid var(--color-border);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-text-muted);
}

.cart_table td {
	padding: var(--space-sm);
	border-bottom: 1px solid var(--color-border);
	vertical-align: middle;
}

.cart_table img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--radius);
}

.cart_table .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: var(--color-bg-alt);
	color: var(--color-danger) !important;
	font-size: 1.1rem;
	text-decoration: none !important;
}

.cart_table .quantity input.qty {
	width: 56px;
	padding: 8px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius);
	text-align: center;
}

.cart_table .actions {
	padding-top: var(--space-md);
}

.cart_table .coupon {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

.cart_table .coupon .input-text {
	padding: 10px 12px;
	border: 1.5px solid var(--color-border);
	border-radius: var(--radius);
}

.cart_summary {
	background: var(--color-bg-alt);
	border-radius: var(--radius-lg);
	padding: var(--space-md);
}

.cart_empty {
	text-align: center;
	padding: var(--space-xl) 0;
}

.cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: var(--space-lg);
}

.cart_totals.cart_summary {
	max-width: 380px;
	width: 100%;
}

.cart_totals.cart_summary h2 {
	font-size: 1.2rem;
	margin-bottom: var(--space-sm);
}

.cart_totals.cart_summary table {
	width: 100%;
}

.cart_totals.cart_summary th,
.cart_totals.cart_summary td {
	padding: 8px 0;
	text-align: left;
}

.cart_totals.cart_summary td {
	text-align: right;
}

.cart_totals.cart_summary .order-total th,
.cart_totals.cart_summary .order-total td {
	font-weight: 800;
	font-size: 1.15rem;
	border-top: 2px solid var(--color-border);
	padding-top: var(--space-sm);
}

.wc-proceed-to-checkout {
	margin-top: var(--space-sm);
}

/* Cart block fallback. */
.wp-block-woocommerce-cart {
	font-family: var(--font-base);
}

.wp-block-woocommerce-cart .wc-block-components-button {
	background: var(--color-primary) !important;
	color: var(--color-dark) !important;
	border-radius: var(--radius) !important;
	font-weight: 700 !important;
}

.wp-block-woocommerce-cart .wc-block-components-button:hover {
	background: var(--color-primary-dark) !important;
	color: var(--color-white) !important;
}

.wp-block-woocommerce-cart .wc-block-components-product-name {
	color: var(--color-dark);
	font-weight: 700;
}

.wp-block-woocommerce-cart .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart .wc-block-components-formatted-money-amount {
	color: var(--color-primary-dark);
	font-weight: 700;
}

@media (max-width: 991px) {
	.cart-collaterals {
		justify-content: stretch;
	}

	.cart_totals.cart_summary {
		max-width: none;
	}
}
