/* ==========================================================================
   PlayGuitar v3 — Checkout
   Lifted from design/od-checkout/screens/checkout-desktop.html, tokens-only,
   scoped under body.woocommerce-checkout so it wins over legacy woocommerce.css
   and the PG Order Bumps plugin sheet. Chrome (header / dark footer / .container)
   comes from marketing.css. Maps WC billing/payment/coupon markup + the
   pg-order-bump plugin classes onto the render look.
   ========================================================================== */

/* ── Bands ────────────────────────────────────────────────── */
/* Trust banner sits flush under the header (kill woocommerce.css's site-main top pad) */
body.woocommerce-checkout .site-main { padding-top: 0; }
/* v4: slim cream band, dark ink, only the lead phrase in green */
body.woocommerce-checkout .trust-banner { background: var(--paper-tint); color: var(--ink-muted); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
body.woocommerce-checkout .trust-banner-inner { padding: var(--space-3) 0; font-size: var(--text-sm); color: var(--ink-muted); line-height: var(--leading-snug); max-width: 900px; margin: 0 auto; text-align: center; }
body.woocommerce-checkout .trust-banner-inner strong { color: var(--accent); font-weight: var(--weight-semibold); }

/* v4.1: page head now lives in the left column so the summary top-aligns with it */
body.woocommerce-checkout .page-head { padding: 0 0 var(--space-6); }
body.woocommerce-checkout .page-head h1 { font-size: var(--h2); font-weight: var(--weight-semibold); }
body.woocommerce-checkout .page-head-sub { font-size: var(--text-base); color: var(--ink-muted); margin-top: var(--space-2); max-width: 56ch; }

body.woocommerce-checkout .trust-strip { border-top: 1px solid var(--hairline); background: var(--paper-tint); padding: var(--space-6) 0; text-align: center; }
body.woocommerce-checkout .trust-strip-line { font-size: var(--text-sm); color: var(--ink-muted); line-height: var(--leading-snug); max-width: 720px; margin: 0 auto; }
body.woocommerce-checkout .trust-strip-line a { color: var(--ink-body); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
body.woocommerce-checkout .trust-strip-line a:hover { color: var(--accent); }

/* ── Grid ─────────────────────────────────────────────────── */
body.woocommerce-checkout .checkout { padding: var(--space-8) 0 var(--space-16); }
body.woocommerce-checkout .checkout-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--space-16); align-items: start; }
body.woocommerce-checkout .checkout-left { min-width: 0; }
body.woocommerce-checkout form.checkout { margin: 0; }

/* ── Form sections ────────────────────────────────────────── */
body.woocommerce-checkout .form-section { padding: var(--space-8) 0; border-bottom: 1px solid var(--hairline); }
body.woocommerce-checkout .form-section:first-of-type { padding-top: 0; }
body.woocommerce-checkout .form-section h2 { font-size: var(--text-xl); font-weight: var(--weight-semibold); margin-bottom: var(--space-6); }

/* WC billing markup → the render's field look */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-account-fields,
body.woocommerce-checkout #customer_details .col2-set > .col-2,
body.woocommerce-checkout .woocommerce-shipping-fields { display: none; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { display: flex; flex-direction: column; gap: var(--space-2); margin: 0; padding: 0; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first { grid-column: 1; }
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 2; }
body.woocommerce-checkout .form-row label { font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--ink-heading); letter-spacing: 0; }
body.woocommerce-checkout .form-row .required { color: var(--brand-strong); border: 0; }
body.woocommerce-checkout .form-row .optional { color: var(--ink-light); }
body.woocommerce-checkout .form-row .woocommerce-input-wrapper { width: 100%; }

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row .select2-container .select2-selection,
body.woocommerce-checkout .form-row select {
	width: 100%; font-family: var(--font-body); font-size: var(--text-base); font-weight: var(--weight-normal);
	color: var(--ink-body); background: var(--paper); border: 1px solid var(--hairline);
	border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); line-height: var(--leading-snug);
	min-height: 48px; transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}
body.woocommerce-checkout .form-row input.input-text::placeholder { color: var(--ink-light); }
body.woocommerce-checkout .form-row input.input-text:hover,
body.woocommerce-checkout .form-row select:hover { border-color: var(--ink-muted); }
body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row select:focus {
	outline: none; border-color: var(--brand); box-shadow: var(--shadow-focus);
}
/* select2 (country) — neutralise its chrome to match the native inputs */
body.woocommerce-checkout .select2-container--default .select2-selection--single { border: 0; height: auto; }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: var(--leading-snug); padding: 0; color: var(--ink-body); }
body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: var(--space-3); }

/* Save-details checkbox row */
body.woocommerce-checkout .checkbox-row { display: flex; align-items: flex-start; gap: var(--space-3); padding-top: var(--space-5); }
body.woocommerce-checkout .checkbox-row input[type="checkbox"] {
	flex: none; margin: 2px 0 0; width: 20px; height: 20px; border: 1px solid var(--ink-muted);
	border-radius: var(--radius-sm); background: var(--paper); cursor: pointer;
	appearance: none; -webkit-appearance: none; position: relative;
	transition: border-color var(--transition-fast), background var(--transition-fast);
}
body.woocommerce-checkout .checkbox-row input[type="checkbox"]:hover { border-color: var(--ink-heading); }
body.woocommerce-checkout .checkbox-row input[type="checkbox"]:checked { background: var(--accent); border-color: var(--accent); }
body.woocommerce-checkout .checkbox-row input[type="checkbox"]:checked::after { content: ""; position: absolute; left: 5px; top: 1px; width: 6px; height: 11px; border: solid var(--on-dark); border-width: 0 2px 2px 0; transform: rotate(45deg); }
body.woocommerce-checkout .checkbox-row input[type="checkbox"]:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
body.woocommerce-checkout .checkbox-row label { font-size: var(--text-base); color: var(--ink-body); line-height: var(--leading-snug); cursor: pointer; }

/* ── Payment ──────────────────────────────────────────────── */
body.woocommerce-checkout #payment { background: transparent; border: 0; }
body.woocommerce-checkout #payment .wc_payment_methods { list-style: none; margin: 0; padding: 0; border: 1px solid var(--hairline); border-radius: var(--radius-md); overflow: hidden; }
body.woocommerce-checkout #payment li.wc_payment_method { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--hairline); }
body.woocommerce-checkout #payment li.wc_payment_method:first-child { border-top: 0; }
body.woocommerce-checkout #payment li.wc_payment_method > label { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4); font-size: var(--text-base); font-weight: var(--weight-medium); color: var(--ink-heading); cursor: pointer; margin: 0; }
body.woocommerce-checkout #payment li.wc_payment_method > input[type="radio"] { accent-color: var(--brand); width: 18px; height: 18px; margin-left: var(--space-4); }
body.woocommerce-checkout #payment .payment_box { background: var(--paper-tint); border-top: 1px solid var(--hairline); padding: var(--space-4); font-size: var(--text-sm); color: var(--ink-body); line-height: var(--leading-snug); }
body.woocommerce-checkout #payment .payment_box p { margin: 0; }
body.woocommerce-checkout #payment .place-order--headless { padding: 0; margin: 0; border: 0; }
body.woocommerce-checkout #payment .place-order--headless .woocommerce-terms-and-conditions-wrapper { margin-top: var(--space-4); }

body.woocommerce-checkout .pay-meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-3); font-size: var(--text-sm); color: var(--ink-muted); }
body.woocommerce-checkout .pay-meta .brands { display: inline-flex; gap: var(--space-2); letter-spacing: 0.05em; font-weight: var(--weight-medium); color: var(--ink-muted); font-size: var(--text-xs); text-transform: uppercase; white-space: nowrap; }
body.woocommerce-checkout .wallets { font-size: var(--text-sm); color: var(--ink-muted); text-align: center; padding: var(--space-3) 0 0; }
body.woocommerce-checkout .wallets strong { color: var(--ink-body); font-weight: var(--weight-medium); }

/* ── Coupon (WC-native, styled as the render's collapsed toggle) ── */
body.woocommerce-checkout .checkout-coupon-zone { padding: var(--space-5) 0 0; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle { margin: 0; }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent; border: 0; padding: 0; margin: 0; font-size: var(--text-sm); color: var(--ink-muted); }
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
body.woocommerce-checkout a.showcoupon { color: var(--ink-body); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--hairline); font-weight: var(--weight-medium); }
body.woocommerce-checkout a.showcoupon:hover { color: var(--accent); }
body.woocommerce-checkout form.checkout_coupon { margin: var(--space-3) 0 0; padding: var(--space-5); background: var(--paper-tint); border: 1px solid var(--hairline); border-radius: var(--radius-md); max-width: 420px; }
body.woocommerce-checkout form.checkout_coupon p:first-child { font-size: var(--text-sm); color: var(--ink-muted); margin: 0 0 var(--space-3); }
body.woocommerce-checkout form.checkout_coupon .form-row { display: inline-block; margin: 0; }
body.woocommerce-checkout form.checkout_coupon #coupon_code { font-family: var(--font-body); font-size: var(--text-base); color: var(--ink-body); background: var(--paper); border: 1px solid var(--hairline); border-radius: var(--radius-md); padding: var(--space-2) var(--space-3); min-height: 44px; width: 220px; max-width: 100%; }
body.woocommerce-checkout form.checkout_coupon #coupon_code:focus { outline: none; border-color: var(--brand); box-shadow: var(--shadow-focus); }
body.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"] { background: var(--paper); color: var(--ink-heading); border: 1px solid var(--ink-heading); border-radius: var(--radius-md); padding: 0 var(--space-5); min-height: 44px; margin-left: var(--space-2); font-size: var(--text-sm); font-weight: var(--weight-semibold); font-family: var(--font-body); cursor: pointer; transition: background var(--transition-fast), color var(--transition-fast); }
body.woocommerce-checkout form.checkout_coupon button[name="apply_coupon"]:hover { background: var(--ink-heading); color: var(--on-dark); }

/* ── Summary (v4: warm-paper card, green as accents only) ─── */
body.woocommerce-checkout .summary {
	background: var(--paper-tint); color: var(--ink-body);
	border: 1px solid var(--hairline); border-top: 4px solid var(--accent); border-radius: var(--radius-lg);
	padding: var(--space-8); position: sticky; top: 96px;
	display: flex; flex-direction: column; gap: var(--space-6); box-shadow: var(--shadow-md);
}
body.woocommerce-checkout .summary h2 { font-family: var(--font-heading); color: var(--accent); font-size: var(--text-xl); font-weight: var(--weight-semibold); letter-spacing: var(--track-tight); }
body.woocommerce-checkout .summary-dynamic { display: flex; flex-direction: column; gap: var(--space-6); }
body.woocommerce-checkout .summary-list { display: flex; flex-direction: column; gap: var(--space-4); }
body.woocommerce-checkout .summary-line { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); font-size: var(--text-base); color: var(--ink-body); }
body.woocommerce-checkout .summary-line .name { font-weight: var(--weight-medium); color: var(--ink-heading); }
body.woocommerce-checkout .summary-line .line-end { display: inline-flex; align-items: baseline; gap: var(--space-3); white-space: nowrap; }
body.woocommerce-checkout .summary-line .price { font-family: var(--font-heading); font-weight: var(--weight-semibold); color: var(--ink-heading); white-space: nowrap; }
body.woocommerce-checkout .summary-line .price .woocommerce-Price-amount { color: var(--ink-heading); }
/* woosb bundle children: nested + lighter + "Included". Their real charge is $0
   (fixed bundle), so we show "Included" instead of woosb's inflated value price —
   otherwise the summary reads as a double charge. Savings shown once on the parent. */
body.woocommerce-checkout .summary-line.is-bundle-parent { margin-bottom: calc(-1 * var(--space-2)); }
body.woocommerce-checkout .summary-line.summary-bundle-child { padding-left: var(--space-4); font-size: var(--text-sm); color: var(--ink-muted); }
body.woocommerce-checkout .summary-line.summary-bundle-child .name { font-weight: var(--weight-normal); color: var(--ink-body); }
body.woocommerce-checkout .summary-line.summary-bundle-child .name::before { content: "↳ "; color: var(--ink-light); }
body.woocommerce-checkout .summary-line.summary-bundle-child .price { font-family: var(--font-body); font-weight: var(--weight-medium); color: var(--ink-light); }
body.woocommerce-checkout .summary-line.summary-bundle-child .price-included { font-family: var(--font-body); font-weight: var(--weight-medium); color: var(--ink-light); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.05em; }
body.woocommerce-checkout .summary-bundle-savings { padding-left: var(--space-4); font-size: var(--text-sm); font-weight: var(--weight-semibold); color: var(--accent); }
/* On-sale line: struck regular price beside the sale price + a green savings pill,
   mirroring the sales page so the deal is reinforced at the point of payment. */
body.woocommerce-checkout .summary-line .price-was { font-family: var(--font-heading); font-weight: var(--weight-medium); font-size: var(--text-sm); color: var(--ink-muted); text-decoration: line-through; text-decoration-color: var(--ink-light); text-decoration-thickness: 1.5px; }
body.woocommerce-checkout .summary-line .price-was .woocommerce-Price-amount { color: var(--ink-muted); }
body.woocommerce-checkout .summary-item-savings { display: inline-block; align-self: flex-start; margin-top: calc(-1 * var(--space-2)); font-family: var(--font-body); font-size: var(--text-xs); font-weight: var(--weight-bold); letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); background: var(--accent-soft); padding: 3px 10px; border-radius: var(--radius-pill); }
body.woocommerce-checkout .summary-item-savings .woocommerce-Price-amount { white-space: nowrap; }
body.woocommerce-checkout .summary-item-savings .woocommerce-Price-amount { color: var(--accent); }
/* small × remove control */
body.woocommerce-checkout .summary-remove { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border-radius: 50%; font-size: var(--text-lg); line-height: 1; color: var(--ink-light); text-decoration: none; transition: color var(--transition-fast), background var(--transition-fast); }
body.woocommerce-checkout .summary-remove:hover { color: var(--brand-strong); background: var(--brand-soft); }
body.woocommerce-checkout .summary-remove[aria-busy="true"] { opacity: 0.4; pointer-events: none; }
/* On the mobile compact summary, keep the remove control reachable too. */
body.woocommerce-checkout .summary-mobile-top .summary-remove { color: var(--ink-light); }
body.woocommerce-checkout .summary-divider { height: 1px; background: var(--hairline); }
body.woocommerce-checkout .summary-totals { display: flex; flex-direction: column; gap: var(--space-3); font-size: var(--text-base); }
body.woocommerce-checkout .summary-totals .subtotal,
body.woocommerce-checkout .summary-totals .tax { display: flex; justify-content: space-between; color: var(--ink-muted); }
body.woocommerce-checkout .summary-totals .subtotal .woocommerce-Price-amount,
body.woocommerce-checkout .summary-totals .tax .woocommerce-Price-amount { color: var(--ink-muted); }
body.woocommerce-checkout .summary-totals .total {
	display: flex; justify-content: space-between; align-items: baseline; color: var(--accent);
	font-family: var(--font-heading); font-weight: var(--weight-semibold); font-size: var(--text-xl);
	padding-top: var(--space-3); border-top: 1px solid var(--hairline);
}
body.woocommerce-checkout .summary-totals .total .woocommerce-Price-amount { color: var(--accent); }

body.woocommerce-checkout .btn-buy {
	display: inline-flex; align-items: center; justify-content: center; width: 100%;
	background: var(--brand); color: var(--on-dark); font-family: var(--font-body);
	font-size: var(--text-md); font-weight: var(--weight-semibold); border: 0; border-radius: var(--radius-md);
	padding: var(--space-5) var(--space-6); min-height: 56px; cursor: pointer;
	transition: background var(--transition-fast); text-align: center; line-height: var(--leading-snug);
}
body.woocommerce-checkout .btn-buy:hover { background: var(--brand-hover); color: var(--on-dark); }
body.woocommerce-checkout .btn-buy:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255,255,255,0.4), 0 0 0 6px var(--brand); }
body.woocommerce-checkout .summary-trust { font-size: var(--text-sm); color: var(--ink-muted); line-height: var(--leading-snug); text-align: center; }

/* ── Order bump (plugin classes → render .bump look) ──────── */
body.woocommerce-checkout .bumps { display: flex; flex-direction: column; gap: var(--space-5); }
body.woocommerce-checkout .bumps:empty { display: none; }
body.woocommerce-checkout .pg-order-bump--card {
	background: var(--paper); color: var(--ink-body); border: 2px dashed var(--brand);
	border-radius: var(--radius-md); overflow: hidden; display: flex; flex-direction: column; margin: 0;
}
body.woocommerce-checkout .pg-order-bump__tag,
body.woocommerce-checkout .pg-order-bump__arrow,
body.woocommerce-checkout .pg-order-bump__image { display: none; }
body.woocommerce-checkout .pg-order-bump__header { background: var(--brand-soft); padding: var(--space-4) var(--space-5); border-bottom: 1px dashed var(--brand); margin: 0; }
body.woocommerce-checkout .pg-order-bump__label { display: flex; align-items: flex-start; gap: var(--space-3); cursor: pointer; margin: 0; }
body.woocommerce-checkout .pg-order-bump__checkbox {
	flex: none; margin: 1px 0 0; width: 22px; height: 22px; border: 1.5px solid var(--brand-strong);
	border-radius: var(--radius-sm); background: var(--paper); cursor: pointer;
	appearance: none; -webkit-appearance: none; position: relative;
	transition: border-color var(--transition-fast), background var(--transition-fast);
}
body.woocommerce-checkout .pg-order-bump__checkbox:hover { border-color: var(--brand-hover); }
body.woocommerce-checkout .pg-order-bump__checkbox:checked { background: var(--accent); border-color: var(--accent); }
body.woocommerce-checkout .pg-order-bump__checkbox:checked::after { content: ""; position: absolute; left: 6px; top: 2px; width: 6px; height: 12px; border: solid var(--on-dark); border-width: 0 2px 2px 0; transform: rotate(45deg); }
body.woocommerce-checkout .pg-order-bump__checkbox:focus-visible { outline: none; box-shadow: var(--shadow-focus); }
body.woocommerce-checkout .pg-order-bump__cta { font-size: var(--text-base); font-weight: var(--weight-bold); color: var(--ink-heading); line-height: var(--leading-snug); }
body.woocommerce-checkout .pg-order-bump__body { padding: var(--space-5) var(--space-5) var(--space-6); }
body.woocommerce-checkout .pg-order-bump__content { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2) var(--space-4); align-items: baseline; }
body.woocommerce-checkout .pg-order-bump__headline { grid-column: 1; font-family: var(--font-heading); font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--brand-strong); letter-spacing: var(--track-tight); line-height: var(--leading-tight); margin: 0; }
body.woocommerce-checkout .pg-order-bump__price-row { grid-column: 2; justify-self: end; font-family: var(--font-heading); font-size: var(--text-lg); font-weight: var(--weight-semibold); color: var(--ink-heading); white-space: nowrap; }
body.woocommerce-checkout .pg-order-bump__original-price { color: var(--ink-light); text-decoration: line-through; font-weight: var(--weight-normal); font-size: var(--text-base); margin-right: var(--space-2); }
body.woocommerce-checkout .pg-order-bump__original-price .woocommerce-Price-amount { color: var(--ink-light); }
body.woocommerce-checkout .pg-order-bump__bump-price .woocommerce-Price-amount { color: var(--ink-heading); }
body.woocommerce-checkout .pg-order-bump__tagline,
body.woocommerce-checkout .pg-order-bump__desc { grid-column: 1 / -1; font-size: var(--text-base); color: var(--ink-body); line-height: var(--leading-loose); margin: var(--space-2) 0 0; }
body.woocommerce-checkout .pg-order-bump--loading { opacity: 0.6; pointer-events: none; }

/* ── Mobile-only blocks (hidden on desktop) ───────────────── */
body.woocommerce-checkout .summary-mobile-top,
body.woocommerce-checkout .mobile-section,
body.woocommerce-checkout .mobile-cta { display: none; }

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1024px) { body.woocommerce-checkout .checkout-grid { gap: var(--space-10); } }

@media (max-width: 860px) {
	body.woocommerce-checkout .page-head { padding: var(--space-8) 0 var(--space-4); }
	body.woocommerce-checkout .checkout-grid { grid-template-columns: 1fr; gap: var(--space-6); }
	body.woocommerce-checkout .summary { display: none; }

	body.woocommerce-checkout .summary-mobile-top {
		display: flex; flex-direction: column; gap: var(--space-4);
		background: var(--paper-tint); color: var(--ink-body);
		border: 1px solid var(--hairline); border-top: 4px solid var(--accent); border-radius: var(--radius-lg);
		padding: var(--space-5); box-shadow: var(--shadow-md); margin-bottom: var(--space-6);
	}
	body.woocommerce-checkout .summary-mobile-top h2 { font-family: var(--font-heading); color: var(--accent); font-size: var(--text-lg); font-weight: var(--weight-semibold); letter-spacing: var(--track-tight); }
	body.woocommerce-checkout .summary-mobile-top .summary-totals .total { display: flex; justify-content: space-between; font-family: var(--font-heading); font-weight: var(--weight-semibold); font-size: var(--text-lg); color: var(--accent); }

	body.woocommerce-checkout .mobile-section { display: block; padding-top: var(--space-6); border-top: 1px solid var(--hairline); margin-top: var(--space-6); }
	body.woocommerce-checkout .mobile-section h2 { font-family: var(--font-heading); color: var(--ink-heading); font-size: var(--text-xl); font-weight: var(--weight-semibold); letter-spacing: var(--track-tight); margin-bottom: var(--space-3); }
	body.woocommerce-checkout .mobile-section .section-sub { font-size: var(--text-base); color: var(--ink-muted); margin-bottom: var(--space-6); line-height: var(--leading-snug); }
	body.woocommerce-checkout .mobile-final-section { border-top: 0; padding-top: 0; }

	body.woocommerce-checkout .mobile-final-totals {
		background: var(--paper-tint); color: var(--ink-body);
		border: 1px solid var(--hairline); border-top: 4px solid var(--accent); border-radius: var(--radius-lg);
		padding: var(--space-5); display: flex; flex-direction: column; gap: var(--space-3); box-shadow: var(--shadow-md);
	}
	body.woocommerce-checkout .mobile-final-totals .subtotal,
	body.woocommerce-checkout .mobile-final-totals .tax { display: flex; justify-content: space-between; color: var(--ink-muted); font-size: var(--text-base); }
	body.woocommerce-checkout .mobile-final-totals .subtotal .woocommerce-Price-amount,
	body.woocommerce-checkout .mobile-final-totals .tax .woocommerce-Price-amount { color: var(--ink-muted); }
	body.woocommerce-checkout .mobile-final-totals .total { display: flex; justify-content: space-between; align-items: baseline; color: var(--accent); font-family: var(--font-heading); font-weight: var(--weight-semibold); font-size: var(--text-xl); padding-top: var(--space-3); border-top: 1px solid var(--hairline); }
	body.woocommerce-checkout .mobile-final-totals .total .woocommerce-Price-amount { color: var(--accent); }

	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last { grid-column: 1; }

	body.woocommerce-checkout { padding-bottom: 104px; }

	body.woocommerce-checkout .mobile-cta {
		display: flex; flex-direction: column; gap: var(--space-2);
		position: fixed; left: 0; right: 0; bottom: 0; background: var(--paper);
		border-top: 1px solid var(--hairline);
		padding: var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));
		z-index: var(--z-sticky); box-shadow: 0 -4px 16px rgba(27,25,22,0.08);
	}
	body.woocommerce-checkout .mobile-cta-row { display: grid; grid-template-columns: auto 1fr; gap: var(--space-4); align-items: center; }
	body.woocommerce-checkout .mobile-cta-total { display: flex; flex-direction: column; line-height: 1.15; }
	body.woocommerce-checkout .mobile-cta-total .label { font-size: var(--text-xs); color: var(--ink-muted); text-transform: uppercase; letter-spacing: var(--track-eyebrow); font-weight: var(--weight-semibold); }
	body.woocommerce-checkout .mobile-cta-total .amount { font-family: var(--font-heading); font-size: var(--text-xl); font-weight: var(--weight-semibold); color: var(--ink-heading); letter-spacing: var(--track-tight); }
	body.woocommerce-checkout .mobile-cta-total .amount .woocommerce-Price-amount { color: var(--ink-heading); }
	body.woocommerce-checkout .mobile-cta .btn-buy { width: 100%; min-height: 52px; font-size: var(--text-base); padding: var(--space-3) var(--space-4); }
	body.woocommerce-checkout .mobile-cta-trust { font-size: var(--text-xs); color: var(--ink-muted); text-align: center; line-height: var(--leading-snug); }
}

@media (max-width: 480px) {
	body.woocommerce-checkout .form-section { padding: var(--space-6) 0; }
	body.woocommerce-checkout .form-section h2 { font-size: var(--text-lg); }
	body.woocommerce-checkout .pg-order-bump__body { padding: var(--space-4) var(--space-4) var(--space-5); }
	body.woocommerce-checkout .pg-order-bump__header { padding: var(--space-3) var(--space-4); }
	body.woocommerce-checkout .pg-order-bump__content { grid-template-columns: 1fr; }
	body.woocommerce-checkout .pg-order-bump__price-row { grid-column: 1; justify-self: start; }
	body.woocommerce-checkout .pay-meta { flex-direction: column; align-items: flex-start; gap: var(--space-2); }
}
