/**
 * WooCommerce — cart page
 * ==========================================================================
 * Enqueued by inc/woocommerce.php on the cart and checkout, since the checkout
 * order summary reuses the cart line and totals components.
 *
 * The drawer, the line item and the totals live in components/cart.css instead,
 * because they render on every page — the drawer opens from the header.
 *
 * Implements UI-LAYOUTS.md §8 (Cart).
 *
 * @package Preloved
 * @since   1.0.0
 * ========================================================================== */

.cart-page { padding-block: var(--pl-space-6) var(--pl-space-10); }


/* ==========================================================================
   1. Two-column layout
   ========================================================================== */

.cart-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--pl-space-6);
	align-items: start;
}

@media (min-width: 1024px) {
	.cart-layout {
		/* Lines 62%, summary 38% — UI-LAYOUTS §8.1. */
		grid-template-columns: minmax(0, 1.63fr) minmax(0, 1fr);
		gap: var(--pl-space-8);
	}

	.cart-layout__summary {
		position: sticky;
		inset-block-start: calc(var(--pl-header-height) + var(--pl-space-5));
	}
}

.cart-layout__summary {
	padding: var(--pl-space-5);
	background-color: var(--pl-surface);
	border: 1px solid var(--pl-line-soft);
	border-radius: var(--pl-radius-md);
}

.cart-summary__title,
.checkout-summary__title {
	margin-block: 0 var(--pl-space-4);
	font-family: var(--pl-font-body);
	font-size: var(--pl-ui-sm);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: var(--pl-tracking-wide);
	color: var(--pl-text-muted);
}

.cart-layout__summary .btn--primary { margin-block-start: var(--pl-space-4); }

.cart-layout__summary .paytags {
	margin-block-start: var(--pl-space-4);
	justify-content: center;
}


/* ==========================================================================
   2. Continue shopping
   ========================================================================== */

.cart-region__foot {
	margin-block-start: var(--pl-space-5);
	padding-block-start: var(--pl-space-4);
	border-block-start: 1px solid var(--pl-line-soft);
}

.cart-region__continue {
	display: inline-flex;
	align-items: center;
	gap: var(--pl-space-2);
	color: var(--pl-text-secondary);
	font-size: var(--pl-body-sm);
	font-weight: 500;
	text-decoration: none;
}

.cart-region__continue:hover { color: var(--pl-primary); }


/* ==========================================================================
   3. No-JS update button
   ========================================================================== */

/*
 * Hidden only once main.js has confirmed it is running. Without scripting this
 * is the only way to commit a typed quantity, so it must not be display:none
 * in the base stylesheet.
 */
.js-ready .cart-form__update { display: none; }

.cart-form__update { margin-block-start: var(--pl-space-4); }


/* ==========================================================================
   4. Coupon
   ========================================================================== */

.coupon { border-block-end: 0; }

.coupon__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--pl-space-2);
	align-items: start;
}

.coupon__input { text-transform: uppercase; }

.coupon__status {
	grid-column: 1 / -1;
	margin: 0;
	font-size: var(--pl-caption);
	color: var(--pl-success);
	min-block-size: 1em;
}

.coupon__status.is-error { color: var(--pl-sale); }


/* ==========================================================================
   5. Product strips — cross-sell and recently viewed
   ========================================================================== */

.product-strip {
	margin-block-start: var(--pl-space-9);
	padding-block-start: var(--pl-space-7);
	border-block-start: 1px solid var(--pl-line-soft);
}

.product-strip__title {
	margin-block-end: var(--pl-space-5);
	font-size: var(--pl-h3);
}



/* Section 6 (empty state) moved to components/cart-empty.css in 1.1.0 — the
   drawer renders it on every page, and this file loads on the cart only. */
