/* 50 — Classic cart + checkout (cart-spec.md, checkout-spec.md). */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
	padding-block: var(--space-block) var(--space-section);
}
.woocommerce-cart .page-header .entry-title,
.woocommerce-checkout .page-header .entry-title {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

/* ---------- Cart: items | sticky summary ---------- */
@media (min-width: 768px) {
	.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: var(--space-block);
		align-items: start;
	}
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-cart .woocommerce > .sensa-ship-bar { grid-column: 1 / -1; }
	.woocommerce-cart .cart-collaterals {
		position: sticky;
		inset-block-start: 24px;
		inline-size: auto;
	}
	.woocommerce-cart .cart-collaterals .cart_totals { inline-size: 100%; float: none; }
	.woocommerce-cart .cart-collaterals .cross-sells { display: none; } /* moved under items via CSS grid below */
}
.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--c-bg-surface);
	border-radius: var(--radius-md);
	padding: var(--space-block);
	box-shadow: var(--shadow-card);
}
.woocommerce-cart table.shop_table {
	background: var(--c-bg-surface);
	border: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}
.woocommerce-cart table.shop_table td { border-color: var(--c-border); padding-block: 16px; }
.woocommerce-cart table.cart img { inline-size: 72px; border-radius: var(--radius-sm); }
.woocommerce-cart table.cart .product-name a { color: var(--c-ink); font-weight: 600; }
.woocommerce a.remove {
	inline-size: 44px;
	block-size: 44px;
	line-height: 44px;
	font-size: 22px;
	color: var(--c-ink-muted) !important;
}
.woocommerce a.remove:hover { background: var(--c-bg-subtle); color: var(--c-error) !important; }
.woocommerce .quantity .qty { min-block-size: 44px; inline-size: 64px; border: 1px solid var(--c-border-strong); border-radius: var(--radius-sm); }

.sensa-coupon-toggle,
.sensa-notes-toggle {
	background: none;
	border: 0;
	padding: 8px 0;
	color: var(--c-primary);
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}
.woocommerce-cart .actions .coupon[hidden] { display: none !important; }
.woocommerce-cart .actions button[name="update_cart"] { display: none; } /* quantity updates via change + notice */

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	background: var(--c-accent);
	color: #fff;
	border-radius: var(--radius-sm);
	font-size: var(--fs-body);
	min-block-size: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover { background: var(--c-accent-hover); }
.sensa-pay-trust { margin: 8px 0 0; text-align: center; font-size: var(--fs-xs); color: var(--c-ink-muted); }

.sensa-empty-cart { margin-block: var(--space-block); display: grid; gap: var(--space-element); justify-items: start; }
.sensa-minicart-discreet { margin: 8px 0 0; text-align: center; font-size: var(--fs-xs); color: var(--c-ink-muted); }

/* Mobile: sticky total + CTA (cart-spec §5) */
@media (max-width: 767px) {
	.woocommerce-cart .wc-proceed-to-checkout {
		position: fixed;
		inset-inline: 0;
		inset-block-end: 0;
		z-index: 999;
		margin: 0;
		padding: 8px 16px calc(8px + env(safe-area-inset-bottom));
		background: var(--c-bg-surface);
		box-shadow: var(--shadow-overlay);
	}
	.woocommerce-cart .woocommerce { padding-block-end: 140px; }
	.woocommerce-cart .sensa-pay-trust { margin-top: 4px; }
}

/* ---------- Checkout: fields | sticky order review ---------- */
@media (min-width: 768px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: var(--space-block) var(--space-section);
		align-items: start;
	}
	.woocommerce-checkout form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 3; }
	.woocommerce-checkout form.checkout #customer_details .col-1,
	.woocommerce-checkout form.checkout #customer_details .col-2 { float: none; inline-size: 100%; }
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 2; }
	.woocommerce-checkout form.checkout #order_review {
		position: sticky;
		inset-block-start: 24px;
	}
}
.woocommerce-checkout #order_review {
	background: var(--c-bg-surface);
	border-radius: var(--radius-md);
	padding: var(--space-block);
	box-shadow: var(--shadow-card);
}
.woocommerce-checkout h3 { font-size: var(--fs-h3); margin-block: var(--space-element) var(--space-tight); }
.woocommerce form .form-row .description {
	display: block !important;
	position: static !important;
	background: none !important;
	color: var(--c-ink-muted) !important;
	padding: 2px 0 0 !important;
	font-size: var(--fs-xs);
}
.woocommerce form .form-row .description::before { display: none !important; }
.woocommerce-checkout #payment { background: transparent; }
.woocommerce-checkout #payment div.payment_box { background: var(--c-bg-subtle); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--c-bg-subtle); }
.woocommerce-checkout #place_order { inline-size: 100%; min-block-size: 56px; font-size: var(--fs-body-lg); }
.woocommerce-checkout .sensa-discretion--full { background: var(--c-bg-subtle); }
.woocommerce form .woocommerce-invalid input.input-text { border-color: var(--c-error); }

/* ---------- Thank you ---------- */
.sensa-thankyou {
	background: var(--c-bg-surface);
	border-radius: var(--radius-md);
	padding: var(--space-block);
	margin-block: var(--space-block);
}
.sensa-steps { padding-inline-start: 1.25em; display: grid; gap: var(--space-tight); }
