/*
 * cart-checkout.css — PPA Phase B, track B4 redesign (2026-04-19)
 *
 * Owns: /cart/, /checkout/, and the right-side legal slide-in panel that
 * replaces navigation-away behavior on the Terms/Privacy/Refund/Shipping
 * links inside the checkout.
 *
 * Palette: #0C0E10 obsidian · #EDE4D0 parchment · #4EA8A0 teal · #C4943A gold.
 * Typography: Cormorant Garamond (display), Barlow Condensed (UI), Barlow (body).
 *
 * Layout depends on ppa-phase-b-polish.css for the obsidian body bg — that
 * handle is the dep in the enqueue.
 */

/* ═══════════════════════════════════════════════════════════
   1 · Shared helpers — both cart + checkout
   ═══════════════════════════════════════════════════════════ */

/* Premium pass (William 2026-04-21): bumped 1560 → 1640 so the items
   column gets more breathing room and the parchment totals panel has
   presence. Prose-heavy pages stay at theme default. */
body.woocommerce-cart .ppa-page-content,
body.woocommerce-checkout .ppa-page-content {
	max-width: 1640px !important;
}

/* Mobile: the theme nests two .ppa-page-content with 24px padding each on
   top of MAIN's 24px padding — 72px wasted on a 390-px viewport. Tighten
   those for cart/checkout only so the items column has breathing room. */
@media (max-width: 767px) {
	body.woocommerce-cart .ppa-page-content,
	body.woocommerce-checkout .ppa-page-content {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
	body.woocommerce-cart main.ppa-page,
	body.woocommerce-checkout main.ppa-page {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}
}

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
	max-width: 1600px;
	margin: 0 auto;
	padding: 56px 32px 120px;
	min-height: calc(100vh - 260px);
	color: #EDE4D0;
	font-size: 18px;
	line-height: 1.55;
}

/* Top-of-page "X added / removed / updated" messages */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-NoticeGroup {
	background: rgba(78, 168, 160, 0.08);
	border: 1px solid rgba(78, 168, 160, 0.35);
	border-left: 3px solid #4EA8A0;
	color: #EDE4D0;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	padding: 14px 18px;
	margin: 0 0 24px;
	border-radius: 3px;
	list-style: none;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-error {
	background: rgba(196, 64, 64, 0.08);
	border-color: rgba(196, 64, 64, 0.45);
	border-left-color: #C44040;
}

.woocommerce-cart .woocommerce-message a,
.woocommerce-cart .woocommerce-info a,
.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-info a {
	color: #4EA8A0;
	text-decoration: none;
	border-bottom: 1px solid rgba(78, 168, 160, 0.5);
	padding-bottom: 1px;
}

.woocommerce-cart .woocommerce-message a:hover,
.woocommerce-checkout .woocommerce-message a:hover {
	color: #6BC4BC;
}

/* Page heading above the cart/checkout grid — pulled up close to announce bar.
   Premium pass: 40 → 56 Cormorant for presence; subtle gold eyebrow above. */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 56px;
	font-weight: 500;
	letter-spacing: 0.005em;
	line-height: 1.05;
	color: #EDE4D0;
	margin: 12px 0 36px;
	max-width: 1280px;
	padding: 0 32px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.woocommerce-cart .entry-title::before,
.woocommerce-checkout .entry-title::before,
.woocommerce-cart .page-title::before,
.woocommerce-checkout .page-title::before {
	content: '';
	display: block;
	width: 56px;
	height: 1px;
	background: linear-gradient(90deg, #C4943A, transparent);
	margin: 0 0 14px;
}

@media (max-width: 767px) {
	.woocommerce-cart .entry-title,
	.woocommerce-checkout .entry-title,
	.woocommerce-cart .page-title,
	.woocommerce-checkout .page-title {
		font-size: 38px;
		padding: 0 16px;
		margin: 8px 0 24px;
	}
}

/* ═══════════════════════════════════════════════════════════
   2 · Cart — desktop grid (≥ 768px)
   ═══════════════════════════════════════════════════════════ */

/* ── Cart layout: always side-by-side on desktop (William 2026-04-20) ──
   Items column left, parchment totals column right (sticky). Uses grid
   with an auto-placement override so the WC-emitted .woocommerce-notices-
   wrapper doesn't steal column 1. No item-count threshold anymore —
   the right column is sticky so short carts stay aligned visually too. */

@media (min-width: 768px) {
	.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: 1fr 440px;
		grid-template-rows: auto 1fr;
		gap: 0 40px;
		align-items: start;
	}

	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-cart .woocommerce > .woocommerce-message,
	.woocommerce-cart .woocommerce > .woocommerce-info,
	.woocommerce-cart .woocommerce > .woocommerce-error {
		grid-column: 1 / -1;
		grid-row: auto;
		margin-bottom: 24px;
	}

	.woocommerce-cart .woocommerce-cart-form {
		grid-column: 1;
		grid-row: auto / span 2;
		margin: 0;
	}

	.woocommerce-cart .cart-collaterals {
		grid-column: 2;
		grid-row: auto;
		margin: 0;
		position: sticky;
		top: 100px;
	}

	.woocommerce-cart .cross-sells {
		grid-column: 1 / -1;
		margin: 72px 0 0;
	}

	/* Empty-cart state cancels the grid so the call to return to shop centers */
	.woocommerce-cart .woocommerce:has(.cart-empty) {
		display: block;
	}
}

/* cart form (left column) — subtle parchment-tint surface. Eyebrow removed
   per William 2026-04-21 ("Ledger · 01" / "Your Armory · 01" confused him). */
.woocommerce-cart .woocommerce-cart-form {
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(196, 148, 58, 0.3);
	border-radius: 3px;
	padding: 28px 28px 28px;
	position: relative;
}

/* ── Cart items table ── */
.woocommerce-cart table.shop_table {
	width: 100%;
	border: none;
	background: transparent;
	color: #EDE4D0;
	border-collapse: collapse;
	margin: 0;
}

.woocommerce-cart table.shop_table thead {
	background: transparent;
	border-bottom: 1px solid rgba(78, 168, 160, 0.45);
}

.woocommerce-cart table.shop_table thead th {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(237, 228, 208, 0.72);
	padding: 12px 10px;
	text-align: left;
	background: transparent;
	border: none;
}

.woocommerce-cart table.shop_table thead th.product-price,
.woocommerce-cart table.shop_table thead th.product-subtotal {
	text-align: right;
}

.woocommerce-cart table.shop_table tbody tr.cart_item {
	border-bottom: 1px solid rgba(237, 228, 208, 0.08);
}

.woocommerce-cart table.shop_table tbody tr.cart_item:last-child {
	border-bottom: none;
}

.woocommerce-cart table.shop_table tbody td {
	padding: 26px 12px;
	background: transparent;
	color: #EDE4D0;
	border: none;
	font-family: 'Barlow', sans-serif;
	font-size: 18px;
	vertical-align: middle;
}

/* thumbnail column — big enough to actually see the product clearly */
.woocommerce-cart td.product-thumbnail {
	width: 156px;
}
.woocommerce-cart td.product-thumbnail a,
.woocommerce-cart td.product-thumbnail img {
	display: block;
}
.woocommerce-cart td.product-thumbnail a {
	width: 140px;
	height: 140px;
	background: #ffffff;
	border: 1px solid rgba(237, 228, 208, 0.14);
	border-radius: 2px;
	overflow: hidden;
	padding: 10px;
}
.woocommerce-cart td.product-thumbnail img,
.woocommerce-cart td.product-thumbnail a img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 !important;
	mix-blend-mode: normal !important;
}
/* when no thumb is emitted (the <a> wrapping is empty), show a fallback */
.woocommerce-cart td.product-thumbnail a:empty {
	background: #ffffff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='rgb(160,160,160)' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><rect x='6' y='6' width='28' height='28' rx='2'/><path d='M6 26l8-7 6 5 5-4 9 7'/><circle cx='14' cy='14' r='2.2'/></svg>") center/56% no-repeat;
}

/* name column */
.woocommerce-cart td.product-name a {
	color: #EDE4D0;
	text-decoration: none;
	font-weight: 500;
	font-size: 21px;
	line-height: 1.3;
	transition: color 160ms ease;
}
.woocommerce-cart td.product-name a:hover {
	color: #4EA8A0;
}
.woocommerce-cart td.product-name .variation {
	margin-top: 4px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	letter-spacing: 0.08em;
	color: rgba(237, 228, 208, 0.55);
	text-transform: uppercase;
}

/* price + subtotal columns */
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-size: 19px;
}
.woocommerce-cart td.product-subtotal {
	font-weight: 600;
	font-size: 22px;
}

/* quantity column */
.woocommerce-cart td.product-quantity {
	width: 120px;
}
.woocommerce-cart td.product-quantity .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid rgba(237, 228, 208, 0.22);
	border-radius: 3px;
	background: rgba(237, 228, 208, 0.02);
	overflow: hidden;
	transition: border-color 160ms ease;
}
.woocommerce-cart td.product-quantity .quantity:focus-within {
	border-color: #4EA8A0;
}
.woocommerce-cart td.product-quantity input.qty,
.woocommerce-cart td.product-quantity input[type="number"] {
	width: 56px;
	height: 40px;
	background: transparent;
	border: none;
	color: #EDE4D0;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
}
.woocommerce-cart td.product-quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart td.product-quantity input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.woocommerce-cart td.product-quantity input.qty:focus {
	outline: none;
}

/* remove (×) button */
.woocommerce-cart td.product-remove {
	width: 44px;
	text-align: center;
}
.woocommerce-cart a.remove,
.woocommerce-cart td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #4EA8A0 !important;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none !important;
	background: transparent !important;
	transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}
.woocommerce-cart a.remove:hover {
	background: rgba(78, 168, 160, 0.12) !important;
	color: #6BC4BC !important;
	transform: scale(1.05);
}

/* ── Coupon + Update row (the "actions" row inside the form) ── */
.woocommerce-cart td.actions {
	padding: 22px 10px 6px !important;
	border-top: 1px solid rgba(237, 228, 208, 0.14) !important;
}

.woocommerce-cart .coupon {
	display: inline-flex;
	gap: 10px;
	align-items: stretch;
	margin-right: 20px;
}
.woocommerce-cart .coupon label { display: none; }
.woocommerce-cart #coupon_code,
.woocommerce-cart input.input-text#coupon_code {
	height: 44px;
	background: rgba(237, 228, 208, 0.03);
	border: 1px solid rgba(237, 228, 208, 0.22);
	border-radius: 3px;
	color: #EDE4D0;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	padding: 0 14px;
	min-width: 200px;
	transition: border-color 160ms ease;
}
.woocommerce-cart #coupon_code::placeholder { color: rgba(237, 228, 208, 0.38); }
.woocommerce-cart #coupon_code:focus {
	outline: none;
	border-color: #4EA8A0;
}

/* Cart buttons on the dark-panel side (Apply Coupon, Update Cart) —
   these sit on obsidian so teal-fill / teal-outline still reads sharp. */
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-cart input.button,
.woocommerce-cart a.button {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border-radius: 2px;
	transition: background 200ms ease, color 200ms ease, border-color 200ms ease, transform 80ms ease, box-shadow 200ms ease;
	cursor: pointer;
	line-height: 1;
	padding: 0 28px;
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	border: 2px solid transparent;
	box-shadow: none;
	-webkit-font-smoothing: antialiased;
}

/* Update Cart = parchment outline (clear secondary action on dark bg) */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
	background: transparent;
	color: #EDE4D0;
	border-color: rgba(237, 228, 208, 0.55);
}
.woocommerce-cart button[name="update_cart"]:hover,
.woocommerce-cart input[name="update_cart"]:hover {
	color: #4EA8A0;
	border-color: #4EA8A0;
	background: rgba(78, 168, 160, 0.08);
}
.woocommerce-cart button[name="update_cart"]:disabled,
.woocommerce-cart input[name="update_cart"]:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* Apply Coupon — border + fill (matches site-wide button rule) */
.woocommerce-cart button[name="apply_coupon"],
.woocommerce-cart input[name="apply_coupon"] {
	background: rgba(78, 168, 160, 0.12);
	color: #EDE4D0;
	border-color: #4EA8A0;
	box-shadow: none;
}
.woocommerce-cart button[name="apply_coupon"]:hover,
.woocommerce-cart input[name="apply_coupon"]:hover {
	background: rgba(78, 168, 160, 0.22);
	color: #EDE4D0;
	border-color: #4EA8A0;
	box-shadow: none;
	transform: translateY(-1px);
}
.woocommerce-cart button[name="apply_coupon"]:active,
.woocommerce-cart input[name="apply_coupon"]:active {
	transform: translateY(0);
	box-shadow: none;
}

/* ═══════════════════════════════════════════════════════════
   3 · Cart totals panel (parchment)
   ═══════════════════════════════════════════════════════════ */

.woocommerce-cart .cart-collaterals .cart_totals {
	background: #EDE4D0;
	color: #0C0E10;
	border-radius: 3px;
	padding: 28px 32px 32px;
	width: 100%;
	float: none;
	box-shadow:
		0 12px 48px rgba(0, 0, 0, 0.5),
		0 1px 0 rgba(196, 148, 58, 0.5);
	position: relative;
	border: 1px solid rgba(196, 148, 58, 0.45);
}
/* Premium top accent — subtle teal hairline above the parchment totals
   echoes the brand's signature CTA underline. */
.woocommerce-cart .cart-collaterals .cart_totals::after {
	content: '';
	position: absolute;
	top: -1px;
	left: 24px;
	right: 24px;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(78, 168, 160, 0.6), transparent);
	pointer-events: none;
}

/* Eyebrow on cart totals removed per William 2026-04-21 — was "Ledger · 01",
   confused him. Heading "Cart totals" stands on its own now. */

.woocommerce-cart .cart_totals h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 38px;
	font-weight: 500;
	letter-spacing: 0.005em;
	line-height: 1.1;
	text-transform: none;
	color: #0C0E10;
	margin: 0 0 22px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(196, 148, 58, 0.35);
	position: relative;
}
/* Gold accent sub-hairline under heading */
.woocommerce-cart .cart_totals h2::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 40px;
	height: 1px;
	background: #C4943A;
}

/* totals table rows */
.woocommerce-cart .cart_totals table.shop_table_responsive,
.woocommerce-cart .cart_totals table.shop_table {
	width: 100%;
	border: none;
	background: transparent;
	border-collapse: collapse;
	color: #0C0E10;
	margin: 0;
}

.woocommerce-cart .cart_totals table tr {
	border-bottom: 1px solid rgba(196, 148, 58, 0.28); /* gold hairline */
}
.woocommerce-cart .cart_totals table tr:last-child { border-bottom: none; }

.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
	padding: 18px 0;
	background: transparent;
	color: #0C0E10;
	border: none;
	font-family: 'Barlow', sans-serif;
	font-size: 19px;
	vertical-align: middle;
}

.woocommerce-cart .cart_totals table th {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-align: left;
	color: rgba(12, 14, 16, 0.78);
}

.woocommerce-cart .cart_totals table td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* grand-total row — premium pass: bumped 42 → 56 for Cormorant presence */
.woocommerce-cart .cart_totals .order-total th {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 16px;
	letter-spacing: 0.24em;
	font-weight: 700;
	color: #0C0E10;
}
.woocommerce-cart .cart_totals .order-total td {
	font-family: 'Cormorant Garamond', serif;
	font-size: 56px;
	font-weight: 600;
	color: #0C0E10;
	padding: 26px 0 22px;
	line-height: 1;
	letter-spacing: -0.01em;
}
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount {
	color: #0C0E10;
}

.woocommerce-cart .cart_totals .cart-subtotal td,
.woocommerce-cart .cart_totals .shipping td,
.woocommerce-cart .cart_totals .tax-rate td,
.woocommerce-cart .cart_totals .fee td {
	color: #0C0E10;
	font-weight: 500;
}

/* Theme's global `.woocommerce-Price-amount { color: #EDE4D0 }` leaks
   into the parchment cart/checkout totals — amounts render invisible.
   Force obsidian on every amount/bdi/currency span inside the parchment. */
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .woocommerce-Price-amount bdi,
.woocommerce-cart .cart_totals .woocommerce-Price-currencySymbol,
.woocommerce-checkout #order_review .woocommerce-Price-amount,
.woocommerce-checkout #order_review .woocommerce-Price-amount bdi,
.woocommerce-checkout #order_review .woocommerce-Price-currencySymbol {
	color: #0C0E10 !important;
}

.woocommerce-cart .cart_totals .includes_tax {
	display: block;
	font-size: 11px;
	color: rgba(12, 14, 16, 0.5);
	font-style: italic;
	margin-top: 4px;
}

/* ── Proceed-to-Checkout button (inside parchment panel) ── */
.woocommerce-cart .wc-proceed-to-checkout {
	padding: 20px 0 0;
	margin: 0;
}
/* Primary CTAs on parchment panels — obsidian fill + parchment text
   with a teal accent line. High-contrast pair that reads premium on the
   parchment surface (William 2026-04-20: teal-on-parchment looked
   cheap; obsidian ↔ parchment is the brand's native high-contrast pair). */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	width: 100% !important;
	height: 80px;
	align-items: center;
	justify-content: center;
	background: #0C0E10 !important;
	color: #EDE4D0 !important;
	border: 2px solid #0C0E10 !important;
	border-radius: 2px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.08),
		0 3px 0 rgba(78, 168, 160, 0.8),
		0 4px 0 rgba(12, 14, 16, 0.4);
	transition: background 200ms ease, color 200ms ease, transform 80ms ease, box-shadow 200ms ease;
	line-height: 1;
	padding: 0;
	-webkit-font-smoothing: antialiased;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
	content: '';
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 12px;
	height: 1px;
	background: rgba(78, 168, 160, 0.5);
	opacity: 0;
	transition: opacity 200ms ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: #0C0E10 !important;
	color: #4EA8A0 !important;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.1),
		0 3px 0 #4EA8A0,
		0 4px 0 rgba(12, 14, 16, 0.4);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::after {
	opacity: 1;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
	transform: translateY(2px);
	box-shadow:
		inset 0 2px 3px rgba(0, 0, 0, 0.3),
		0 1px 0 rgba(78, 168, 160, 0.5);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:active {
	transform: translateY(1px);
}

/* Inputs INSIDE the cart parchment panel (gift card, shipping calculator) */
.woocommerce-cart .cart_totals input[type="text"],
.woocommerce-cart .cart_totals input[type="email"],
.woocommerce-cart .cart_totals input.input-text,
.woocommerce-cart .cart_totals input[name="giftcard_code"],
.woocommerce-cart .giftcardswp-form input {
	background: #ffffff !important;
	border: 1px solid rgba(12, 14, 16, 0.2) !important;
	color: #0C0E10 !important;
	height: 42px !important;
	padding: 0 14px !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	border-radius: 3px !important;
	width: 100% !important;
	box-shadow: none !important;
}
.woocommerce-cart .cart_totals input::placeholder,
.woocommerce-cart .giftcardswp-form input::placeholder {
	color: rgba(12, 14, 16, 0.4) !important;
}
.woocommerce-cart .cart_totals input:focus,
.woocommerce-cart .giftcardswp-form input:focus {
	border-color: #4EA8A0 !important;
	outline: none !important;
}
.woocommerce-cart .cart_totals button,
.woocommerce-cart .giftcardswp-form button {
	background: #0C0E10 !important;
	color: #EDE4D0 !important;
	border: 2px solid #0C0E10 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	height: 52px !important;
	padding: 0 24px !important;
	border-radius: 2px !important;
	cursor: pointer;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.08),
		0 2px 0 rgba(78, 168, 160, 0.6) !important;
	-webkit-font-smoothing: antialiased;
	transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease, transform 80ms ease;
}
.woocommerce-cart .cart_totals button:hover,
.woocommerce-cart .giftcardswp-form button:hover {
	background: #0C0E10 !important;
	color: #4EA8A0 !important;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.1),
		0 2px 0 #4EA8A0 !important;
}
.woocommerce-cart .cart_totals button:active,
.woocommerce-cart .giftcardswp-form button:active {
	transform: translateY(1px);
	box-shadow:
		inset 0 2px 3px rgba(0, 0, 0, 0.3),
		0 0 0 rgba(78, 168, 160, 0.6) !important;
}

/* ── Up-front legal block (cart parchment panel) ──
   William (2026-04-20): "I don't want fine print. I want it very easy to
   find. Transparency right up front." So the treatment here is deliberately
   NOT small gray text — display-font heading, four fat clear links, and a
   normal-weight paragraph at body-size. Readable at arm's length. */
.woocommerce-cart .ppa-cart-legal {
	margin: 22px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid rgba(196, 148, 58, 0.35);
}
.woocommerce-cart .ppa-cart-legal-eyebrow {
	font-family: 'Cormorant Garamond', serif;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.005em;
	text-transform: none;
	color: #0C0E10;
	margin: 0 0 22px;
	line-height: 1.15;
	text-align: center;
}
.woocommerce-cart .ppa-cart-legal-links {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 16px;
}
.woocommerce-cart .ppa-cart-legal-links li {
	margin: 0;
	padding: 0;
}
.woocommerce-cart .ppa-cart-legal-links a {
	color: #0C0E10;
	text-decoration: none;
	font-family: 'Barlow', sans-serif;
	font-size: 18px;
	font-weight: 600;
	border-bottom: 2px solid #4EA8A0;
	padding: 5px 0 4px;
	cursor: pointer;
	transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
	display: inline-block;
}
.woocommerce-cart .ppa-cart-legal-links a:hover {
	color: #0C0E10;
	border-bottom-color: #0C0E10;
	background: rgba(78, 168, 160, 0.14);
}
.woocommerce-cart .ppa-cart-legal-fineprint {
	font-family: 'Barlow', sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: #0C0E10;
	margin: 0;
	font-weight: 400;
	text-align: left;
}
.woocommerce-cart .ppa-cart-legal-cta {
	margin: 12px 0 0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.woocommerce-cart .ppa-cart-legal-cta a {
	color: #0C0E10;
	text-decoration: none;
	border-bottom: 2px solid #4EA8A0;
	padding-bottom: 2px;
	transition: color 160ms ease, border-color 160ms ease;
}
.woocommerce-cart .ppa-cart-legal-cta a:hover {
	color: #4EA8A0;
	border-bottom-color: #0C0E10;
}

/* ── Shipping calculator inside cart totals (if present) ── */
.woocommerce-cart .shipping-calculator-form,
.woocommerce-cart .shipping-calculator-button {
	color: #0C0E10;
}
.woocommerce-cart .shipping-calculator-button {
	color: rgba(12, 14, 16, 0.7);
	text-decoration: none;
	border-bottom: 1px solid rgba(12, 14, 16, 0.25);
	padding-bottom: 1px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.woocommerce-cart .shipping-calculator-button:hover { color: #0C0E10; border-bottom-color: #0C0E10; }
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
	background: #ffffff;
	color: #0C0E10;
	border: 1px solid rgba(12, 14, 16, 0.25);
	border-radius: 3px;
	padding: 8px 10px;
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	margin-bottom: 8px;
	width: 100%;
}
.woocommerce-cart .shipping-calculator-form button.button {
	background: #0C0E10;
	color: #EDE4D0;
	border-color: #0C0E10;
}

/* cross-sells section below cart — tighten + style */
.woocommerce-cart .cross-sells {
	grid-column: 1 / -1;
	margin: 60px 0 0;
}
.woocommerce-cart .cross-sells > h2 {
	font-family: 'Cormorant Garamond', serif;
	font-size: 24px;
	font-weight: 500;
	color: #EDE4D0;
	margin: 0 0 18px;
}

/* ── Empty-cart state ── */
.woocommerce-cart .cart-empty {
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(237, 228, 208, 0.12);
	border-radius: 4px;
	padding: 50px 28px;
	text-align: center;
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	color: rgba(237, 228, 208, 0.78);
	margin: 0 0 22px;
}
.woocommerce-cart .return-to-shop {
	text-align: center;
	margin: 0;
}
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart .return-to-shop a {
	background: rgba(78, 168, 160, 0.12);
	color: #EDE4D0;
	border-color: #4EA8A0;
	height: 48px;
	padding: 0 32px;
	transition: background 0.18s ease, transform 0.18s ease;
}
.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart .return-to-shop a:hover {
	background: rgba(78, 168, 160, 0.22);
	transform: translateY(-1px);
}

/* ═══════════════════════════════════════════════════════════
   4 · Cart — mobile (≤ 767px)
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
	.woocommerce-cart .woocommerce {
		padding: 20px 8px 60px !important;
	}
	.woocommerce-cart .woocommerce-cart-form {
		padding: 12px !important;
	}
	.woocommerce-cart table.shop_table {
		display: block;
		width: 100% !important;
	}
	.woocommerce-cart table.shop_table thead {
		display: none;
	}
	.woocommerce-cart table.shop_table tbody {
		display: block;
		width: 100%;
	}
	.woocommerce-cart table.shop_table tbody tr.cart_item {
		padding: 16px 0;
		border-bottom: 1px solid rgba(237, 228, 208, 0.12);
		display: grid;
		width: 100% !important;
		grid-template-columns: 56px 1fr 32px;
		grid-template-areas:
			"thumb name     remove"
			"thumb meta     meta";
		column-gap: 12px;
		row-gap: 10px;
		align-items: start;
	}
	.woocommerce-cart tbody td {
		display: block;
		padding: 0 !important;
		border: none !important;
		background: transparent !important;
	}
	.woocommerce-cart tbody td.product-thumbnail {
		grid-area: thumb;
		width: 56px;
		align-self: start;
	}
	.woocommerce-cart tbody td.product-thumbnail a {
		width: 56px;
		height: 56px;
	}
	.woocommerce-cart tbody td.product-name {
		grid-area: name;
		font-size: 14px;
		line-height: 1.35;
		padding-right: 4px !important;
	}
	.woocommerce-cart tbody td.product-name a {
		font-size: 14px;
		font-weight: 500;
	}
	/* Price + Qty + Subtotal on one row under the name (meta area) */
	.woocommerce-cart tbody td.product-price,
	.woocommerce-cart tbody td.product-quantity,
	.woocommerce-cart tbody td.product-subtotal {
		display: none !important;
	}
	.woocommerce-cart tbody tr.cart_item::after {
		content: '';
		grid-area: meta;
		display: none;
	}
	/* Show qty + subtotal via a flex wrapper injected by JS isn't available here,
	   so we use grid auto-placement instead — promote qty + subtotal to meta row. */
	.woocommerce-cart tbody td.product-quantity {
		display: flex !important;
		grid-area: meta;
		align-items: center;
		gap: 14px;
		font-family: 'Barlow', sans-serif;
		font-size: 14px;
		color: rgba(237, 228, 208, 0.88);
	}
	.woocommerce-cart tbody td.product-quantity .quantity {
		flex-shrink: 0;
	}
	.woocommerce-cart tbody td.product-quantity input.qty {
		width: 52px;
		height: 36px;
		font-size: 14px;
	}
	/* Pull subtotal and price into the same row via css — show subtotal as text */
	.woocommerce-cart tbody td.product-subtotal {
		display: block !important;
		grid-area: meta;
		justify-self: end;
		align-self: center;
		text-align: right;
		font-size: 15px;
		font-weight: 600;
		color: #EDE4D0;
	}
	/* But both product-quantity and product-subtotal claim meta — grid will stack.
	   Fix by shifting subtotal to the far right of the meta row via flex parent.
	   Since they're siblings, use a subgrid approach: let meta row be flex container. */
	.woocommerce-cart tbody tr.cart_item {
		grid-template-areas:
			"thumb name     remove"
			"thumb meta     sub";
		grid-template-columns: 56px 1fr auto;
	}
	.woocommerce-cart tbody td.product-subtotal {
		grid-area: sub;
	}
	.woocommerce-cart tbody td.product-remove {
		grid-area: remove;
		text-align: right;
		align-self: start;
	}
	.woocommerce-cart tbody td.product-remove a.remove,
	.woocommerce-cart tbody a.remove {
		width: 32px;
		height: 32px;
		font-size: 18px;
	}

	.woocommerce-cart td.actions {
		display: block !important;
		padding: 20px 0 6px !important;
	}
	.woocommerce-cart .coupon {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 8px;
		margin: 0 0 14px;
		width: 100%;
	}
	.woocommerce-cart #coupon_code { min-width: 0; width: 100%; }
	.woocommerce-cart button[name="update_cart"],
	.woocommerce-cart input[name="update_cart"] {
		width: 100%;
	}
	.woocommerce-cart .cart-collaterals {
		margin-top: 20px;
	}
	.woocommerce-cart .cart_totals {
		padding: 20px 18px;
	}
}

/* ═══════════════════════════════════════════════════════════
   5 · Checkout — desktop grid (≥ 768px)
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout form.woocommerce-checkout,
.woocommerce-checkout form.checkout {
	padding: 0;
}

@media (min-width: 768px) {
	.woocommerce-checkout form.woocommerce-checkout,
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: 2fr 3fr;   /* v1.2.5 (William 2026-04-22 reconsider): 40/60 — billing narrower on left, order summary wider on right as the visual anchor. Billing at 40% still fits FirstName/LastName side-by-side. */
		gap: 0 48px;
		align-items: start;
	}

	.woocommerce-checkout #customer_details {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		float: none;
	}

	/* Single panel — heading is display: none, so this is the only right
	   column item. No grid-row gap can split anything anymore. */
	.woocommerce-checkout #order_review {
		grid-column: 2;
		grid-row: 1;
		width: 100%;
		float: none;
		position: sticky !important;
		top: 100px;
	}

	/* the col-1 / col-2 billing/shipping split WC emits by default */
	.woocommerce-checkout .col2-set,
	.woocommerce-checkout #customer_details .col2-set {
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
		width: 100%;
	}
	.woocommerce-checkout .col2-set .col-1,
	.woocommerce-checkout .col2-set .col-2 {
		width: 100%;
		float: none;
	}
}

/* ── Login / coupon prompt strips above checkout form ── */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin: 0 0 20px;
}

.woocommerce-checkout form.login,
.woocommerce-checkout form.checkout_coupon {
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(237, 228, 208, 0.12);
	border-radius: 4px;
	padding: 22px;
	margin: 0 0 24px;
}

/* ── Section headings (Billing details, Additional info, etc.) ──
   Bumped 26 → 34 per William 2026-04-21 (match parchment panel presence). */
.woocommerce-checkout h3,
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	font-family: 'Cormorant Garamond', serif;
	font-size: 34px;
	font-weight: 500;
	color: #EDE4D0;
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 1px solid rgba(196, 148, 58, 0.35); /* gold hairline */
	letter-spacing: 0.005em;
	line-height: 1.1;
}

.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3 label,
.woocommerce-checkout .woocommerce-shipping-fields h3 * {
	color: #EDE4D0 !important;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}
.woocommerce-checkout .woocommerce-shipping-fields h3 {
	margin: 0 0 8px;
	padding: 0;
	background: transparent;
	border: none;
}
/* Subtle prompt hint under the checkbox when it's visible */
.woocommerce-checkout .woocommerce-shipping-fields {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}

/* ── Billing form — labels + inputs ── */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(237, 228, 208, 0.12);
	border-radius: 4px;
	padding: 26px;
	margin: 0 0 24px;
}

.woocommerce-checkout p.form-row {
	margin: 0 0 14px;
	padding: 0;
	display: block;
	width: 100%;
}

@media (min-width: 640px) {
	.woocommerce-checkout p.form-row-first,
	.woocommerce-checkout p.form-row-last {
		width: calc(50% - 8px);
		display: inline-block;
		vertical-align: top;
	}
	.woocommerce-checkout p.form-row-first { margin-right: 14px; }
}

/* Billing-form field labels — scoped to the dark billing/shipping/additional
   panels so we don't bleed parchment text onto the parchment order-review.
   Bumped 13 → 14 + spacing + weight per William 2026-04-21 (match parchment). */
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label,
.woocommerce-checkout form.login label,
.woocommerce-checkout form.checkout_coupon label {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(237, 228, 208, 0.82);
	display: block;
	margin: 0 0 8px;
}
.woocommerce-checkout .required {
	color: #C4943A;
	text-decoration: none;
	font-weight: 400;
}

/* T&C checkbox "required" indicator — keep inline at the end of the label
   instead of wrapping to a second line. William 2026-04-23: "the word
   required is red, under 'I have read and agreed to the website terms and
   conditions'. Let's just put that at the end so we don't have a whole
   other line." Covers both the <abbr class="required"> and the newer
   <span class="required"> markup WC uses. */
.woocommerce-checkout .wc-terms-and-conditions .required,
.woocommerce-checkout .form-row.terms .required,
.woocommerce-checkout .wc-terms-and-conditions-checkbox-text .required,
.woocommerce-checkout label.checkbox .required,
.woocommerce-checkout label .woocommerce-terms-and-conditions-checkbox-text ~ .required,
.woocommerce-checkout label .woocommerce-terms-and-conditions-checkbox-text + .required,
.woocommerce-checkout label.ppa-terms-locked .required,
.woocommerce-checkout abbr.required {
	display: inline !important;
	float: none !important;
	margin: 0 0 0 6px !important;
	padding: 0 !important;
	color: #C4943A !important;
	font-weight: 500 !important;
	vertical-align: baseline !important;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	width: 100%;
	height: 58px;
	background: rgba(237, 228, 208, 0.03);
	border: 1px solid rgba(237, 228, 208, 0.25);
	border-radius: 2px;
	color: #EDE4D0;
	font-family: 'Barlow', sans-serif;
	font-size: 18px;
	padding: 0 14px;
	transition: border-color 160ms ease, background 160ms ease;
	box-shadow: none;
}
.woocommerce-checkout textarea {
	height: auto;
	min-height: 96px;
	padding: 12px 14px;
	line-height: 1.5;
}
.woocommerce-checkout input::placeholder,
.woocommerce-checkout textarea::placeholder {
	color: rgba(237, 228, 208, 0.32);
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection {
	outline: none;
	border-color: #4EA8A0;
	background: rgba(237, 228, 208, 0.05);
}

/* select2 overrides to match */
.woocommerce-checkout .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #EDE4D0;
	line-height: 1.4;
	padding: 0;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	top: 50%;
	transform: translateY(-50%);
	right: 10px;
	height: auto;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: rgba(237, 228, 208, 0.55) transparent transparent transparent;
}
.woocommerce-checkout .select2-dropdown {
	background: #141618;
	border: 1px solid rgba(237, 228, 208, 0.25);
	color: #EDE4D0;
}
.woocommerce-checkout .select2-container--default .select2-results__option {
	color: #EDE4D0;
	padding: 10px 14px;
}
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted {
	background: rgba(78, 168, 160, 0.2);
	color: #EDE4D0;
}
.woocommerce-checkout .select2-search--dropdown .select2-search__field {
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(237, 228, 208, 0.2);
	color: #EDE4D0;
	padding: 8px;
}

/* ── Order review panel — merged single parchment panel (William 2026-04-21).
   Previously had two panels (#order_review_heading + #order_review) which
   split open into a big black gap when #order_review went sticky on scroll.
   New: hide the WC-emitted heading entirely, render "Receipt · 01 / Your
   Order" as ::before pseudo on the single sticky panel. One panel, no gap. */

.woocommerce-checkout #order_review_heading {
	display: none !important;
}

.woocommerce-checkout #order_review {
	background: #EDE4D0;
	color: #0C0E10;
	border-radius: 3px;
	padding: 32px 32px 36px;
	box-shadow:
		0 12px 48px rgba(0, 0, 0, 0.5),
		0 1px 0 rgba(196, 148, 58, 0.5);
	position: relative;
	border: 1px solid rgba(196, 148, 58, 0.45);
}

/* Premium top accent — teal hairline glow above parchment. Echoes cart. */
.woocommerce-checkout #order_review::after {
	content: '';
	position: absolute;
	top: -1px;
	left: 24px;
	right: 24px;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(78, 168, 160, 0.6), transparent);
	pointer-events: none;
}

/* "Your Order" heading — match Billing Details (34px Cormorant + gold hairline).
   Round 7 (William 2026-04-21 night): "Receipt · 01" eyebrow removed so both
   column headings share the same format. */
.woocommerce-checkout #order_review::before {
	content: 'Your Order';
	display: block;
	font-family: 'Cormorant Garamond', serif;
	font-size: 34px;
	font-weight: 500;
	letter-spacing: 0.005em;
	line-height: 1.1;
	color: #0C0E10;
	margin: 0 0 22px;
	padding: 0 0 14px;
	border-bottom: 1px solid rgba(196, 148, 58, 0.35);
}

@media (max-width: 767px) {
	.woocommerce-checkout #order_review { padding: 24px 20px 28px; }
	.woocommerce-checkout #order_review::before { font-size: 28px; margin-bottom: 18px; padding-bottom: 12px; }
}

.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	width: 100%;
	border: none;
	background: transparent;
	color: #0C0E10;
	border-collapse: collapse;
	margin: 0 0 18px;
}

.woocommerce-checkout table.shop_table thead th {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(12, 14, 16, 0.6);
	padding: 12px 0;
	text-align: left;
	background: transparent;
	border: none;
	border-bottom: 1px solid rgba(12, 14, 16, 0.18);
}
.woocommerce-checkout table.shop_table thead th.product-total { text-align: right; }

.woocommerce-checkout table.shop_table tbody tr.cart_item {
	border-bottom: 1px solid rgba(196, 148, 58, 0.25); /* gold hairline */
}

.woocommerce-checkout table.shop_table tbody td {
	background: transparent;
	color: #0C0E10;
	border: none;
	padding: 18px 0;
	font-family: 'Barlow', sans-serif;
	font-size: 17px;
	vertical-align: top;
	line-height: 1.4;
}

.woocommerce-checkout table.shop_table td.product-name {
	padding-right: 14px;
	font-weight: 500;
	font-size: 17px;
}
.woocommerce-checkout table.shop_table td.product-name .product-quantity {
	display: inline-block;
	margin-left: 6px;
	color: rgba(12, 14, 16, 0.56);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.woocommerce-checkout table.shop_table td.product-total {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	font-size: 16px;
}

/* tfoot rows: subtotal / shipping / tax / TOTAL — +1px round 7 */
.woocommerce-checkout table.shop_table tfoot th,
.woocommerce-checkout table.shop_table tfoot td {
	background: transparent;
	color: #0C0E10;
	border: none;
	padding: 12px 0;
	font-family: 'Barlow', sans-serif;
	font-size: 17px;
	border-top: 1px solid rgba(196, 148, 58, 0.28);
}
.woocommerce-checkout table.shop_table tfoot tr:first-child th,
.woocommerce-checkout table.shop_table tfoot tr:first-child td {
	border-top: 1px solid rgba(12, 14, 16, 0.18);
	padding-top: 14px;
}
.woocommerce-checkout table.shop_table tfoot th {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(12, 14, 16, 0.72);
	text-align: left;
}
.woocommerce-checkout table.shop_table tfoot td {
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* grand total row */
.woocommerce-checkout table.shop_table tfoot tr.order-total th {
	font-size: 16px;
	letter-spacing: 0.22em;
	padding-top: 20px;
}
.woocommerce-checkout table.shop_table tfoot tr.order-total td {
	font-family: 'Cormorant Garamond', serif;
	font-size: 41px;
	font-weight: 600;
	color: #0C0E10;
	padding-top: 18px;
	line-height: 1;
}
.woocommerce-checkout table.shop_table tfoot tr.order-total td .woocommerce-Price-amount,
.woocommerce-checkout table.shop_table tfoot tr.order-total td bdi {
	color: #0C0E10;
}

/* ── Payment methods block ── */
.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin: 0;
}
.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	margin: 0;
	list-style: none;
	border: none;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: rgba(12, 14, 16, 0.05);
	border: 1px solid rgba(12, 14, 16, 0.12);
	border-radius: 3px;
	padding: 14px 16px;
	margin: 0 0 10px;
	color: #0C0E10;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
}
.woocommerce-checkout #payment ul.payment_methods li label {
	color: #0C0E10;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	text-transform: none;
	letter-spacing: 0;
	display: inline-block;
	margin: 0 0 0 6px;
	font-weight: 500;
}
.woocommerce-checkout #payment .payment_box {
	background: transparent;
	color: rgba(12, 14, 16, 0.78);
	font-size: 13px;
	margin: 10px 0 0;
	padding: 10px 0 0;
	border: none;
	border-top: 1px dashed rgba(12, 14, 16, 0.15);
}
.woocommerce-checkout #payment .payment_box::before { display: none; }

/* the "Checkout opens April 30" pre-launch message — replace default no-methods area */
.woocommerce-checkout .woocommerce-notice,
.woocommerce-checkout #payment > .wc_payment_methods.payment_methods:empty + p,
.woocommerce-checkout #payment p {
	color: rgba(12, 14, 16, 0.82);
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 10px;
}
.woocommerce-checkout #payment p a {
	color: #0C0E10;
	text-decoration: none;
	border-bottom: 1px solid #4EA8A0;
	padding-bottom: 1px;
	font-weight: 600;
}

/* ═══════════════════════════════════════════════════════════
   6 · Terms checkbox — custom styled
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	margin: 18px 0 16px;
	padding: 14px 0 0;
	border-top: 1px solid rgba(12, 14, 16, 0.15);
}

.woocommerce-checkout .wc-terms-and-conditions,
.woocommerce-checkout .form-row.validate-required .checkbox {
	margin: 0;
	padding: 0;
}

.woocommerce-checkout input#terms,
.woocommerce-checkout input[type="checkbox"]#terms,
.woocommerce-checkout #order_review input[type="checkbox"],
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px;
	max-width: 18px;
	max-height: 18px;
	border: 2px solid rgba(12, 14, 16, 0.4) !important;
	border-radius: 2px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	cursor: pointer;
	transition: border-color 200ms ease, background-color 200ms ease;
	position: relative;
	flex-shrink: 0;
	vertical-align: middle;
	margin: 2px 10px 0 0 !important;
	display: inline-block;
	box-shadow: none !important;
	padding: 0 !important;
}

.woocommerce-checkout input#terms:checked,
.woocommerce-checkout input[type="checkbox"]#terms:checked,
.woocommerce-checkout #order_review input[type="checkbox"]:checked,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked {
	background: #4EA8A0 !important;
	background-color: #4EA8A0 !important;
	background-image: none !important;
	border-color: #4EA8A0 !important;
}

.woocommerce-checkout input#terms:checked::after,
.woocommerce-checkout input[type="checkbox"]#terms:checked::after,
.woocommerce-checkout #order_review input[type="checkbox"]:checked::after,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 1px;
	left: 4px;
	width: 5px;
	height: 9px;
	border: 2px solid #EDE4D0;
	border-top: none;
	border-left: none;
	transform: rotate(45deg);
}

.woocommerce-checkout input#terms:focus-visible,
.woocommerce-checkout #order_review input[type="checkbox"]:focus-visible {
	outline: 2px solid #4EA8A0;
	outline-offset: 2px;
}

/* Wrapping label (no `for` attr — WC wraps checkbox + text in a single <label>) */
.woocommerce-checkout label.woocommerce-form__label-checkbox,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout label.checkbox,
.woocommerce-checkout #order_review label.checkbox,
.woocommerce-checkout #order_review label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 0 !important;
	cursor: pointer;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: rgba(12, 14, 16, 0.88) !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: color 200ms ease;
}
.woocommerce-checkout label.woocommerce-form__label-checkbox.ppa-terms-checked,
.woocommerce-checkout label.woocommerce-form__label-for-checkbox.ppa-terms-checked,
.woocommerce-checkout label.checkbox.ppa-terms-checked {
	color: #0C0E10 !important;
}

/* Span around "I have read and agree to the website" — inherit dark text */
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-checkout #order_review .woocommerce-terms-and-conditions-checkbox-text {
	flex: 1 !important;
	line-height: 1.5 !important;
	color: rgba(12, 14, 16, 0.88) !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	display: inline-block !important;
}

.woocommerce-checkout .woocommerce-terms-and-conditions-link,
.woocommerce-checkout .woocommerce-privacy-policy-link {
	color: #0C0E10;
	text-decoration: none;
	border-bottom: 0;
	padding-bottom: 0;
	font-weight: 700;
	cursor: pointer;
	transition: color 160ms ease;
}
.woocommerce-checkout .woocommerce-terms-and-conditions-link:hover,
.woocommerce-checkout .woocommerce-privacy-policy-link:hover {
	color: #4EA8A0;
}

/* Hide WC's inline terms scrollbox — our slide-in panel replaces it. */
.woocommerce-checkout .woocommerce-terms-and-conditions {
	display: none !important;
}

/* Privacy policy paragraph above terms checkbox — match form body color */
.woocommerce-checkout .woocommerce-privacy-policy-text {
	margin: 0 0 14px;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p {
	color: rgba(12, 14, 16, 0.82);
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	line-height: 1.55;
	margin: 0;
}

.woocommerce-checkout .woocommerce-terms-and-conditions {
	background: rgba(12, 14, 16, 0.04);
	border: 1px solid rgba(12, 14, 16, 0.12);
	border-radius: 3px;
	padding: 14px;
	margin: 10px 0 0;
	max-height: 180px;
	overflow-y: auto;
	color: rgba(12, 14, 16, 0.82);
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	line-height: 1.55;
}

/* ── Place Order button — obsidian fill on parchment panel.
   Round 3 (4/21): 84 → 92, 24 → 30 Barlow Condensed, crisp rendering. ── */
.woocommerce-checkout #place_order {
	width: 100%;
	height: 92px;
	background: #0C0E10;
	color: #EDE4D0;
	border: 2px solid #0C0E10;
	border-radius: 2px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	cursor: pointer;
	margin: 28px 0 0;
	padding: 0;
	text-rendering: geometricPrecision;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.08),
		0 3px 0 rgba(78, 168, 160, 0.8),
		0 4px 0 rgba(12, 14, 16, 0.4);
	transition: background 200ms ease, color 200ms ease, transform 80ms ease, box-shadow 200ms ease, opacity 200ms ease;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	-webkit-font-smoothing: antialiased;
}
/* v1.2.8: match the Proceed-to-Checkout button's hover-in teal underline
   accent (cart-checkout.css:671) so both primary CTAs feel the same. */
.woocommerce-checkout #place_order::after {
	content: '';
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 12px;
	height: 1px;
	background: rgba(78, 168, 160, 0.5);
	opacity: 0;
	transition: opacity 200ms ease;
	pointer-events: none;
}
.woocommerce-checkout #place_order:hover:not(:disabled) {
	background: #0C0E10;
	color: #4EA8A0;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.1),
		0 3px 0 #4EA8A0,
		0 4px 0 rgba(12, 14, 16, 0.4);
}
.woocommerce-checkout #place_order:hover:not(:disabled)::after {
	opacity: 1;
}
.woocommerce-checkout #place_order:active:not(:disabled) {
	transform: translateY(2px);
	box-shadow:
		inset 0 2px 3px rgba(0, 0, 0, 0.3),
		0 1px 0 rgba(78, 168, 160, 0.5);
}
.woocommerce-checkout #place_order:disabled,
.woocommerce-checkout #place_order.disabled {
	opacity: 0.45;
	cursor: not-allowed;
	box-shadow: 0 2px 0 rgba(78, 168, 160, 0.3);
}

/* Loading / processing overlay spinner */
.woocommerce-checkout .blockUI.blockOverlay,
.woocommerce-cart .blockUI.blockOverlay {
	background: rgba(12, 14, 16, 0.55) !important;
}

/* ═══════════════════════════════════════════════════════════
   · Payroc trust block (below Place Order)
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .ppa-checkout-trust,
.woocommerce-cart .ppa-cart-trust-cart {
	margin: 18px 0 0;
	padding: 16px 0 0;
	border-top: 1px solid rgba(12, 14, 16, 0.15);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}

.woocommerce-cart .ppa-cart-trust-cart + .ppa-cart-legal {
	padding-top: 22px;
}

.woocommerce-checkout .ppa-checkout-trust-secure,
.woocommerce-cart .ppa-checkout-trust-secure {
	display: flex;
	align-items: center;
	gap: 8px;
	color: rgba(12, 14, 16, 0.82);
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	font-weight: 500;
}

.woocommerce-checkout .ppa-checkout-trust-secure svg,
.woocommerce-cart .ppa-checkout-trust-secure svg {
	color: #4EA8A0;
	flex-shrink: 0;
}

.woocommerce-checkout .ppa-checkout-trust-cards,
.woocommerce-cart .ppa-checkout-trust-cards {
	display: flex;
	gap: 8px;
	align-items: center;
}

.woocommerce-checkout .ppa-checkout-trust-cards .ppa-card,
.woocommerce-cart .ppa-checkout-trust-cards .ppa-card {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	height: 32px;
	padding: 0 10px;
	border: 2px solid rgba(12, 14, 16, 0.55);
	border-radius: 3px;
	background: #0C0E10;
	color: #EDE4D0;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1;
}
.ppa-checkout-trust-cards .ppa-card-visa { color: #1A1F71; background: #FFFFFF; border-color: #1A1F71; }
.ppa-checkout-trust-cards .ppa-card-mc { color: #EB001B; background: #FFFFFF; border-color: #EB001B; }
.ppa-checkout-trust-cards .ppa-card-amex { color: #2E77BB; background: #FFFFFF; border-color: #2E77BB; }
.ppa-checkout-trust-cards .ppa-card-disc { color: #FF6000; background: #FFFFFF; border-color: #FF6000; }

/* ═══════════════════════════════════════════════════════════
   6b · Inputs INSIDE the parchment order-review panel
   Gift card code, any other text input the parchment wraps — must be
   parchment-tinted with obsidian text, not dark-panel colored.
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout #order_review input[type="text"],
.woocommerce-checkout #order_review input[type="email"],
.woocommerce-checkout #order_review input[type="number"],
.woocommerce-checkout #order_review input.input-text,
.woocommerce-checkout .giftcardswp-form input,
.woocommerce-checkout input[name="giftcard_code"],
.woocommerce-checkout input[name="coupon_code"] {
	background: #ffffff !important;
	border: 1px solid rgba(12, 14, 16, 0.2) !important;
	color: #0C0E10 !important;
	height: 42px !important;
	padding: 0 14px !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	border-radius: 3px !important;
	width: 100% !important;
	box-shadow: none !important;
}
.woocommerce-checkout #order_review input[type="text"]::placeholder,
.woocommerce-checkout #order_review input.input-text::placeholder,
.woocommerce-checkout .giftcardswp-form input::placeholder {
	color: rgba(12, 14, 16, 0.4) !important;
}
.woocommerce-checkout #order_review input[type="text"]:focus,
.woocommerce-checkout #order_review input.input-text:focus,
.woocommerce-checkout .giftcardswp-form input:focus {
	border-color: #4EA8A0 !important;
	outline: none !important;
	background: #ffffff !important;
}

/* Gift card / coupon submit buttons inside the parchment panel */
.woocommerce-checkout #order_review button:not(#place_order),
.woocommerce-checkout .giftcardswp-form button,
.woocommerce-checkout button[name="apply_giftcard"],
.woocommerce-checkout button.giftcard-apply-btn {
	background: #0C0E10 !important;
	color: #EDE4D0 !important;
	border: 2px solid #0C0E10 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	height: 52px !important;
	padding: 0 22px !important;
	border-radius: 2px !important;
	cursor: pointer;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.08),
		0 2px 0 rgba(78, 168, 160, 0.6) !important;
	-webkit-font-smoothing: antialiased;
	transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease;
}
.woocommerce-checkout #order_review button:not(#place_order):hover,
.woocommerce-checkout .giftcardswp-form button:hover {
	background: #0C0E10 !important;
	color: #4EA8A0 !important;
	box-shadow:
		inset 0 1px 0 rgba(237, 228, 208, 0.1),
		0 2px 0 #4EA8A0 !important;
}

/* Place Order styling lives in the main #place_order rule above (round 3:
   obsidian, 92px tall, 30px Barlow Condensed). The old teal/56px override
   that used to live here was killed 2026-04-21 — it conflicted with the
   premium pass and undid the height/font bumps. */

/* Gift card form layout — stack label, input, button neatly */
.woocommerce-checkout .giftcardswp-form,
.woocommerce-checkout #giftcards-form,
.woocommerce-checkout .giftcards_wrapper {
	display: flex;
	gap: 8px;
	margin: 16px 0 12px;
	align-items: stretch;
}
.woocommerce-checkout .giftcardswp-form > * {
	min-width: 0;
}
.woocommerce-checkout .giftcardswp-form input {
	flex: 1;
}

/* "Have a coupon?" / "Returning customer?" strips at the top of checkout
   — refine into a single elegant row per strip with a teal-left accent. */
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin: 0 0 14px;
}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	background: rgba(78, 168, 160, 0.05);
	border: 1px solid rgba(78, 168, 160, 0.22);
	border-left: 3px solid #4EA8A0;
	color: rgba(237, 228, 208, 0.82);
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	padding: 12px 18px;
	margin: 0;
	border-radius: 3px;
	line-height: 1.4;
}
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin,
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
	color: #4EA8A0;
	text-decoration: none;
	border-bottom: 1px solid rgba(78, 168, 160, 0.45);
	padding-bottom: 1px;
	margin-left: 4px;
	font-weight: 600;
}
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin:hover,
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon:hover {
	color: #6BC4BC;
	border-bottom-color: #6BC4BC;
}

/* Inline validation error highlight */
.woocommerce-checkout .woocommerce-invalid input,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea {
	border-color: #C44040 !important;
}
.woocommerce-checkout .woocommerce-invalid label {
	color: #C44040;
}

/* ═══════════════════════════════════════════════════════════
   7 · Checkout — mobile (≤ 767px)
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
	.woocommerce-checkout .woocommerce {
		padding: 24px 16px 80px;
	}
	.woocommerce-checkout form.woocommerce-checkout,
	.woocommerce-checkout form.checkout {
		display: flex;
		flex-direction: column;
		gap: 0;
	}
	/* Order summary ABOVE billing form on mobile — easier scan */
	.woocommerce-checkout #order_review_heading { order: 1; margin-top: 0; }
	.woocommerce-checkout #order_review        { order: 2; margin-bottom: 28px; position: static; }
	.woocommerce-checkout #customer_details    { order: 3; }

	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .woocommerce-shipping-fields,
	.woocommerce-checkout .woocommerce-additional-fields {
		padding: 18px;
	}
	.woocommerce-checkout #order_review_heading { padding: 16px 20px 10px; }
	.woocommerce-checkout #order_review { padding: 18px 20px 22px; }
	.woocommerce-checkout p.form-row-first,
	.woocommerce-checkout p.form-row-last {
		width: 100%;
		display: block;
		margin-right: 0;
	}
}

/* ═══════════════════════════════════════════════════════════
   8 · Legal slide-in panel + overlay (checkout)
   ═══════════════════════════════════════════════════════════ */

.ppa-legal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 9997;
	opacity: 0;
	pointer-events: none;
	transition: opacity 300ms ease;
}
.ppa-legal-overlay.open {
	opacity: 1;
	pointer-events: auto;
}

.ppa-legal-panel {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(520px, 100vw);
	background: #0C0E10;
	color: #EDE4D0;
	border-left: 1px solid rgba(196, 148, 58, 0.38);
	box-shadow: -20px 0 60px rgba(0, 0, 0, 0.75);
	z-index: 9998;
	transform: translateX(110%);
	transition: transform 320ms cubic-bezier(0.25, 0.46, 0.45, 0.94);
	display: flex;
	flex-direction: column;
	outline: none;
	/* Subtle vignette in the panel itself — matches site */
	background-image:
		radial-gradient(circle at 100% 0%, rgba(78, 168, 160, 0.06), transparent 50%),
		radial-gradient(circle at 0% 100%, rgba(196, 148, 58, 0.04), transparent 50%);
}
.ppa-legal-panel.open {
	transform: translateX(0);
}

/* Gold top edge — sits just inside the panel, subtle but tactile */
.ppa-legal-panel::before {
	content: '';
	position: absolute;
	top: 0;
	left: 20px;
	right: 20px;
	height: 2px;
	background: linear-gradient(90deg, rgba(196, 148, 58, 0) 0%, #C4943A 50%, rgba(196, 148, 58, 0) 100%);
	pointer-events: none;
}

/* Corner brackets — top-left + bottom-right — the PPA signature */
.ppa-legal-panel::after {
	content: '';
	position: absolute;
	top: 18px;
	left: 18px;
	width: 22px;
	height: 22px;
	border-top: 1px solid rgba(196, 148, 58, 0.7);
	border-left: 1px solid rgba(196, 148, 58, 0.7);
	pointer-events: none;
}

.ppa-legal-panel-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 28px 28px 22px 28px;
	border-bottom: 1px solid rgba(237, 228, 208, 0.08);
	flex-shrink: 0;
	gap: 12px;
	position: relative;
}

/* Gold hairline just inside the bottom border of the head */
.ppa-legal-panel-head::after {
	content: '';
	position: absolute;
	bottom: -1px;
	left: 28px;
	width: 60px;
	height: 1px;
	background: #C4943A;
}

.ppa-legal-panel-title-wrap {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ppa-legal-panel-eyebrow {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #C4943A;
}

.ppa-legal-panel-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 28px;
	font-weight: 500;
	color: #EDE4D0;
	letter-spacing: 0.01em;
	line-height: 1.15;
}

.ppa-legal-panel-close {
	background: transparent;
	border: none;
	color: rgba(237, 228, 208, 0.7);
	font-size: 20px;
	cursor: pointer;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 2px;
	transition: color 160ms ease, background 160ms ease;
	font-family: 'Barlow', sans-serif;
	line-height: 1;
	flex-shrink: 0;
}
.ppa-legal-panel-close:hover,
.ppa-legal-panel-close:focus-visible {
	color: #4EA8A0;
	background: rgba(78, 168, 160, 0.08);
	outline: none;
}

.ppa-legal-panel-body {
	flex: 1;
	overflow-y: auto;
	padding: 28px 24px 40px;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	line-height: 1.7;
	color: rgba(237, 228, 208, 0.88);
}
.ppa-legal-panel-body h1,
.ppa-legal-panel-body h2,
.ppa-legal-panel-body h3,
.ppa-legal-panel-body h4 {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 500;
	color: #EDE4D0;
	margin: 28px 0 10px;
	letter-spacing: 0.01em;
	line-height: 1.3;
}
.ppa-legal-panel-body h1 { font-size: 24px; }
.ppa-legal-panel-body h2 { font-size: 22px; }
.ppa-legal-panel-body h3 { font-size: 18px; }
.ppa-legal-panel-body h1:first-child,
.ppa-legal-panel-body h2:first-child,
.ppa-legal-panel-body h3:first-child { margin-top: 0; }
.ppa-legal-panel-body p { margin: 0 0 14px; }
.ppa-legal-panel-body ul,
.ppa-legal-panel-body ol { margin: 0 0 14px; padding-left: 22px; }
.ppa-legal-panel-body li { margin: 0 0 6px; }
.ppa-legal-panel-body a {
	color: #4EA8A0;
	text-decoration: none;
	border-bottom: 1px solid rgba(78, 168, 160, 0.45);
	padding-bottom: 1px;
}
.ppa-legal-panel-body a:hover { color: #6BC4BC; }
.ppa-legal-panel-body strong { color: #EDE4D0; font-weight: 600; }
.ppa-legal-panel-body hr {
	border: none;
	border-top: 1px solid rgba(237, 228, 208, 0.12);
	margin: 22px 0;
}
.ppa-legal-panel-body .ppa-legal-panel-loading {
	color: rgba(237, 228, 208, 0.5);
	font-style: italic;
	text-align: center;
	padding: 40px 0;
}

/* When the panel is open, lock body scroll (added via JS class) */
body.ppa-legal-panel-open {
	overflow: hidden !important;
}

/* ═══════════════════════════════════════════════════════════
   9 · Misc — scroll safety, small bleed fixes
   ═══════════════════════════════════════════════════════════ */

/* Kill any trailing blank strip WC emits after the form on empty states */
.woocommerce-cart .woocommerce::after,
.woocommerce-checkout .woocommerce::after {
	content: none;
}

/* Order received / thankyou styling (shares checkout body class) */
.woocommerce-order .woocommerce {
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 24px 80px;
	color: #EDE4D0;
}
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: 'Cormorant Garamond', serif;
	font-size: 26px;
	font-weight: 500;
	color: #EDE4D0;
	margin: 0 0 20px;
}
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-customer-details,
.woocommerce-order .woocommerce-order-details {
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(237, 228, 208, 0.12);
	border-radius: 4px;
	padding: 24px;
	margin: 0 0 24px;
	list-style: none;
}

/* ═══════════════════════════════════════════════════════════
   10 · Round 2 polish (William 2026-04-21)
   - Real-color SVG card row (replaces text pills)
   - Order summary thumbnails
   - Force-click Terms gate (locked checkbox until panel opened)
   - Hide trailing radial gradients on parchment
   ═══════════════════════════════════════════════════════════ */

/* Real-color SVG card chips — replace the old text pill .ppa-card-visa etc.
   The PHP now renders <span class="ppa-card"><svg class="ppa-card-svg" ...></svg></span>
   so every card is a uniform pill containing a brand SVG. Use a clean white
   chip with a subtle border so each brand reads on parchment AND on obsidian. */
.ppa-checkout-trust-cards {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
}
.ppa-checkout-trust-cards .ppa-card {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 38px;
	padding: 0;
	background: #ffffff;
	border: 1px solid rgba(12, 14, 16, 0.18);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4) inset, 0 2px 6px rgba(0, 0, 0, 0.18);
	color: inherit;
	font-family: inherit;
	letter-spacing: 0;
	text-transform: none;
	font-weight: inherit;
}
.ppa-checkout-trust-cards .ppa-card-svg {
	width: 100%;
	height: 100%;
	display: block;
}
/* Slightly larger card row when above the cart legal panel for premium presence */
.woocommerce-cart .ppa-cart-trust-cart .ppa-checkout-trust-cards .ppa-card,
.woocommerce-checkout .ppa-checkout-trust .ppa-checkout-trust-cards .ppa-card {
	width: 64px;
	height: 40px;
}

/* ── Order summary thumbnails (checkout) ── */
.woocommerce-checkout #order_review .ppa-co-row {
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}
.woocommerce-checkout #order_review .ppa-co-thumb {
	flex: 0 0 80px;
	width: 80px;
	height: 80px;
	background: #ffffff;
	border: 1px solid rgba(12, 14, 16, 0.12);
	border-radius: 3px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
}
.woocommerce-checkout #order_review .ppa-co-thumb img,
.woocommerce-checkout #order_review .ppa-co-thumb a img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	display: block !important;
	margin: 0 !important;
	mix-blend-mode: normal !important;
}
.woocommerce-checkout #order_review .ppa-co-name {
	flex: 1 1 auto;
	min-width: 0;
	font-family: 'Barlow', sans-serif;
	font-size: 16px;
	font-weight: 500;
	color: #0C0E10;
	line-height: 1.3;
}
.woocommerce-checkout #order_review .ppa-co-name a {
	color: #0C0E10;
	text-decoration: none;
}
.woocommerce-checkout #order_review .ppa-co-name a:hover {
	color: #1A4F4A;
}
/* Order review table cells need vertical padding tuned for thumbnails.
   v1.2.6: td.product-name is now flex so thumb+name sit on the left and
   the qty stepper + remove-X push to the right (margin-left:auto on
   .ppa-co-qty-and-remove). Keeps everything on a single vertical-centered
   row instead of stacking into two. */
.woocommerce-checkout #order_review td.product-name {
	padding: 14px 0 !important;
	vertical-align: middle !important;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}
.woocommerce-checkout #order_review td.product-total {
	vertical-align: middle !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	font-variant-numeric: tabular-nums;
}

/* ── Force-click Terms gate (Payroc anti-dispute requirement) ──
   The #terms checkbox is JS-disabled until the user opens the Terms slide-in
   panel. Show a hint, dim the checkbox, and call out the link as the next
   action. Once unlocked, this all reverts to normal. */
.woocommerce-checkout label.ppa-terms-locked {
	position: relative;
}
.woocommerce-checkout label.ppa-terms-locked input[type="checkbox"]#terms {
	cursor: not-allowed !important;
	opacity: 0.45 !important;
	pointer-events: none !important;
	background: rgba(12, 14, 16, 0.05) !important;
	border-color: rgba(12, 14, 16, 0.25) !important;
	box-shadow: none !important;
}
.woocommerce-checkout label.ppa-terms-locked .woocommerce-terms-and-conditions-link {
	color: #0C0E10 !important;
	background: transparent !important;
	border-bottom: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	font-weight: 700 !important;
	animation: none !important;
}
/* Hint text removed 2026-04-21 — clicking the locked label opens Terms;
   the in-panel scroll prompt does the discovery work. */
.woocommerce-checkout .ppa-terms-hint { display: none !important; }

/* Defensive — the parchment surfaces should be flat (no radial-gradient
   wavy lines). Anything that injected one earlier is overridden here. */
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review {
	background-image: none !important;
}

/* ═══════════════════════════════════════════════════════════
   11 · Round 3 polish (William 2026-04-21 — Payroc prep)
   ═══════════════════════════════════════════════════════════ */

/* Card chips match real credit card aspect (~1.6:1). Zero padding so the
   SVG's own rounded-rect fills the chip edge-to-edge — no letterbox and
   the logos read at full size. Round 5 (2026-04-21): William flagged
   VISA looking squeezed — padding was eating ~8px of horizontal room. */
.ppa-checkout-trust-cards .ppa-card,
.woocommerce-cart .ppa-cart-trust-cart .ppa-checkout-trust-cards .ppa-card,
.woocommerce-checkout .ppa-checkout-trust .ppa-checkout-trust-cards .ppa-card {
	width: 90px !important;
	height: 56px !important;
	padding: 0 !important;
	border: 1px solid rgba(12, 14, 16, 0.14) !important;
	background: transparent !important;
}
.ppa-checkout-trust-cards .ppa-card-svg {
	width: 100%;
	height: 100%;
	display: block;
	shape-rendering: geometricPrecision;
	image-rendering: -webkit-optimize-contrast;
}

/* ── Kill the double-box: dark-bordered .woocommerce-info inside parchment ──
   The WC payment section renders "Checking payment options…" (now our
   Payment Options lockup) in a .woocommerce-info that inherited the dark
   teal-bordered notice styling intended for the obsidian body. Flatten. */
.woocommerce-checkout #order_review #payment,
.woocommerce-checkout #order_review .wc_payment_methods,
.woocommerce-checkout #order_review .wc_payment_methods li,
.woocommerce-checkout #order_review .woocommerce-checkout-payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	box-shadow: none !important;
}
.woocommerce-checkout #order_review .woocommerce-info,
.woocommerce-checkout #order_review #payment .woocommerce-info {
	background: transparent !important;
	border: none !important;
	border-left: none !important;
	color: #0C0E10 !important;
	padding: 0 !important;
	margin: 14px 0 0 !important;
	font-family: inherit !important;
	font-size: inherit !important;
	border-radius: 0 !important;
}

/* Payment Options lockup — dignified list under the total */
.woocommerce-checkout #order_review .ppa-payment-options {
	display: block;
	text-align: left;
	padding: 16px 0 18px;
	border-top: 1px solid rgba(12, 14, 16, 0.14);
	border-bottom: 1px solid rgba(12, 14, 16, 0.14);
	margin: 0 0 4px;
}
.woocommerce-checkout #order_review .ppa-payment-options-lead {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #C4943A;
	margin: 0 0 10px;
}
.woocommerce-checkout #order_review .ppa-payment-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 6px 0;
	border-bottom: 1px dashed rgba(12, 14, 16, 0.1);
}
.woocommerce-checkout #order_review .ppa-payment-line:last-child {
	border-bottom: none;
}
.woocommerce-checkout #order_review .ppa-payment-label {
	font-family: 'Barlow', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: #0C0E10;
}
.woocommerce-checkout #order_review .ppa-payment-status {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #4EA8A0;
}

/* ── Form error highlights (billing/shipping fields) ──
   WC adds .woocommerce-invalid to the <p> wrapper when a field is missed.
   Highlight the input in red + show a compact inline message under it. */
.woocommerce-checkout p.form-row.woocommerce-invalid > input,
.woocommerce-checkout p.form-row.woocommerce-invalid > textarea,
.woocommerce-checkout p.form-row.woocommerce-invalid > select,
.woocommerce-checkout p.form-row.woocommerce-invalid .select2-selection,
.woocommerce-checkout p.form-row.woocommerce-invalid .select2-container--default .select2-selection--single {
	border-color: #C44040 !important;
	box-shadow: 0 0 0 1px rgba(196, 64, 64, 0.45) !important;
	background: rgba(196, 64, 64, 0.06) !important;
}
.woocommerce-checkout p.form-row.woocommerce-invalid label {
	color: #E87A7A !important;
}
.woocommerce-checkout p.form-row .woocommerce-error-message,
.woocommerce-checkout p.form-row.woocommerce-invalid::after {
	display: block;
	content: attr(data-error) ' Required';
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #E87A7A;
	margin: 6px 0 0;
}
.woocommerce-checkout p.form-row.woocommerce-validated > input,
.woocommerce-checkout p.form-row.woocommerce-validated > textarea,
.woocommerce-checkout p.form-row.woocommerce-validated > select {
	border-color: rgba(78, 168, 160, 0.45) !important;
}

/* ── Visual cue: checkbox unlocks with a teal pulse ──
   When JS removes .ppa-terms-locked, we add .ppa-terms-ready for a brief
   moment — the checkbox breathes teal so the user sees it's interactive now. */
.woocommerce-checkout label.ppa-terms-ready input[type="checkbox"]#terms {
	animation: ppaTermsReady 1.6s ease-out 1;
	box-shadow: 0 0 0 0 rgba(78, 168, 160, 0.5);
}
@keyframes ppaTermsReady {
	0%   { box-shadow: 0 0 0 0 rgba(78, 168, 160, 0.7); transform: scale(1); }
	40%  { box-shadow: 0 0 0 10px rgba(78, 168, 160, 0);  transform: scale(1.12); }
	100% { box-shadow: 0 0 0 0 rgba(78, 168, 160, 0);     transform: scale(1); }
}
/* "Ready to agree" hint replaces the locked hint for ~2s after unlock */
.woocommerce-checkout .ppa-terms-ready-hint {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #4EA8A0;
	margin: 6px 0 0 32px;
	line-height: 1.3;
	animation: ppaReadyHintFade 3s ease-out forwards;
}
.woocommerce-checkout .ppa-terms-ready-hint::before {
	content: '✓ ';
	margin-right: 4px;
}
@keyframes ppaReadyHintFade {
	0%, 70% { opacity: 1; }
	100%    { opacity: 0; height: 0; margin: 0; }
}

/* ── Cart items: bump to feel premium per William 2026-04-21 ── */
.woocommerce-cart td.product-name a {
	font-size: 22px !important;
}
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal {
	font-size: 20px !important;
}
.woocommerce-cart td.product-subtotal {
	font-size: 23px !important;
}
/* Cart qty inputs — bigger target, easier to edit */
.woocommerce-cart td.product-quantity .qty,
.woocommerce-cart td.product-quantity input.qty {
	font-size: 18px !important;
	height: 42px !important;
}

/* Hide the now-redundant "Update cart" button — JS auto-submits on qty change.
   William 2026-04-21: "we now have to scroll to the bottom of the update cart". */
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart input[name="update_cart"] {
	display: none !important;
}
/* The actions row that held it can collapse */
.woocommerce-cart td.actions {
	padding: 0 !important;
	border: none !important;
}
.woocommerce-cart td.actions .coupon {
	margin: 12px 0 0 !important;
}

/* Billing details h3 — already bumped above; padding matches the parchment
   order panel heading line-for-line so both columns feel equal height. */
.woocommerce-checkout #customer_details {
	padding: 0;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	padding: 32px 32px 28px !important;
}

/* Force the round-3 size bumps to win against the theme's late-loaded
   style.css. Without !important the theme inputs kept their 14px / 56px. */
.woocommerce-checkout .woocommerce-billing-fields input[type="text"],
.woocommerce-checkout .woocommerce-billing-fields input[type="email"],
.woocommerce-checkout .woocommerce-billing-fields input[type="tel"],
.woocommerce-checkout .woocommerce-billing-fields input[type="password"],
.woocommerce-checkout .woocommerce-billing-fields input[type="number"],
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields .select2-selection,
.woocommerce-checkout .woocommerce-shipping-fields input[type="text"],
.woocommerce-checkout .woocommerce-shipping-fields input[type="email"],
.woocommerce-checkout .woocommerce-shipping-fields textarea,
.woocommerce-checkout .woocommerce-additional-fields textarea {
	font-size: 18px !important;
	height: 58px !important;
}
.woocommerce-checkout .woocommerce-additional-fields textarea {
	height: auto !important;
	min-height: 110px !important;
}
.woocommerce-checkout #place_order {
	font-size: 24px !important;
	height: 76px !important;
	background: #0C0E10 !important;
	color: #EDE4D0 !important;
	border-color: #0C0E10 !important;
	letter-spacing: 0.2em !important;
}
.woocommerce-checkout #place_order:hover:not(:disabled) {
	background: #0C0E10 !important;
	color: #4EA8A0 !important;
	border-color: #0C0E10 !important;
}

/* ═══════════════════════════════════════════════════════════
   12 · Round 4 polish (William 2026-04-21 evening)
   ═══════════════════════════════════════════════════════════ */

/* ── Bigger privacy paragraph + agree-checkbox text ──
   Default WC renders these at body size; on the parchment panel they
   read smaller than the surrounding type. Bump for clarity. */
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text,
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text p {
	font-family: 'Barlow', sans-serif !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
	color: #0C0E10 !important;
	margin: 16px 0 14px !important;
}
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text a {
	color: #0C0E10 !important;
	border-bottom: 1.5px solid #4EA8A0 !important;
	text-decoration: none !important;
	font-weight: 600 !important;
	padding-bottom: 1px;
}
/* Privacy reassurance lead — short gold line before the boilerplate */
.woocommerce-checkout #order_review .ppa-privacy-lead {
	display: inline;
	color: #8E6B29 !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
}
.woocommerce-checkout #order_review .woocommerce-terms-and-conditions-checkbox-text {
	font-family: 'Barlow', sans-serif !important;
	font-size: 17px !important;
	line-height: 1.5 !important;
	color: #0C0E10 !important;
}

/* ── Scroll indicator (round 7 — William 2026-04-21 night) ──
   Locked: three large cascading teal chevrons — clearly "SCROLL DOWN"
   motion, no visible bar.
   Ready: narrow gold vertical bar (14px) with rotated "You can close
   it now" text. Bar only appears in the ready state. */
.ppa-legal-scroll-prompt {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	padding: 0;
	pointer-events: none;
	z-index: 3;
	text-align: center;
	background: transparent;
	border: none;
	transition: background 240ms ease, border-color 240ms ease, width 240ms ease;
}

/* ══════════════════════════════════════════════════════════════════
   Terms-panel scroll prompts — 2026-04-22 round 3 rewrite
   ------------------------------------------------------------------
   William: five triangles (was three), smaller, slower, opacity-only
   lighting (no translate), applied to both states. Locked state keeps
   its position on the LEFT edge of the panel (arrows ▾ teal = scroll
   down). Ready state moves to the RIGHT edge of the panel (arrows ◂
   gold = close and go back to cart). Vertical column in both cases;
   panel body gets padding on BOTH sides so arrows never overlap text.
   ══════════════════════════════════════════════════════════════════ */

/* ── Shared arrow column ───────────────────────────────────────── */
.ppa-legal-scroll-prompt-arrows {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
	padding: 0 4px;
}
.ppa-legal-scroll-prompt-arrow {
	display: block;
	color: #4EA8A0;
	font-size: 30px;           /* smaller — was 48px */
	line-height: 0.55;
	font-weight: 400;
	opacity: 0.15;             /* base for when animation is paused */
	transform: none;           /* no translate cascade, pure opacity */
	filter: drop-shadow( 0 0 3px rgba( 78, 168, 160, 0.35 ) );
	animation: ppaSeqLightTeal 2.4s ease-in-out infinite;  /* slower */
}
/* 5-arrow staggered delays — top-down reveal over 2.4s cycle */
.ppa-legal-scroll-prompt-arrow:nth-child( 1 ) { animation-delay: 0s;    }
.ppa-legal-scroll-prompt-arrow:nth-child( 2 ) { animation-delay: 0.20s; }
.ppa-legal-scroll-prompt-arrow:nth-child( 3 ) { animation-delay: 0.40s; }
.ppa-legal-scroll-prompt-arrow:nth-child( 4 ) { animation-delay: 0.60s; }
.ppa-legal-scroll-prompt-arrow:nth-child( 5 ) { animation-delay: 0.80s; }

@keyframes ppaSeqLightTeal {
	0%, 100% {
		opacity: 0.15;
		filter: drop-shadow( 0 0 2px rgba( 78, 168, 160, 0.2 ) );
	}
	50% {
		opacity: 1;
		filter: drop-shadow( 0 0 10px rgba( 78, 168, 160, 0.85 ) );
	}
}

/* ── Ready state: five gold arrows — STAY on LEFT edge ────────── */
/* 2026-04-22 round 4 — William: "gold is all the way on the right-
   hand side instead of the left." Keep the ready column in the same
   spot as the locked column. Same stack, same delays; just swaps
   teal ▾ → gold ◂ and palette. */
.ppa-legal-scroll-prompt.is-ready {
	left: 0;
	right: auto;
	background: transparent;
	border: none;
	padding: 0;
}
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrows {
	flex-direction: column;    /* was row — now vertical like locked */
	padding: 0 4px;
	gap: 0;
}
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrow {
	color: #C4943A;            /* gold */
	animation: ppaSeqLightGold 2.4s ease-in-out infinite;
	filter: drop-shadow( 0 0 3px rgba( 196, 148, 58, 0.35 ) );
}
/* Same top-down delays — the column reads top-first regardless of
   which direction the glyph points. */
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrow:nth-child( 1 ) { animation-delay: 0s;    }
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrow:nth-child( 2 ) { animation-delay: 0.20s; }
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrow:nth-child( 3 ) { animation-delay: 0.40s; }
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrow:nth-child( 4 ) { animation-delay: 0.60s; }
.ppa-legal-scroll-prompt.is-ready .ppa-legal-scroll-prompt-arrow:nth-child( 5 ) { animation-delay: 0.80s; }

@keyframes ppaSeqLightGold {
	0%, 100% {
		opacity: 0.15;
		filter: drop-shadow( 0 0 2px rgba( 196, 148, 58, 0.2 ) );
	}
	50% {
		opacity: 1;
		filter: drop-shadow( 0 0 10px rgba( 196, 148, 58, 0.85 ) );
	}
}

/* ── Panel body gutters — clear arrows on BOTH edges ──────────── */
.ppa-legal-panel-body {
	padding-left: 48px !important;
	padding-right: 48px !important;
}
@media ( max-width: 640px ) {
	.ppa-legal-scroll-prompt-arrow { font-size: 24px; }
	.ppa-legal-panel-body {
		padding-left: 36px !important;
		padding-right: 36px !important;
	}
}

/* Footer link inside every legal slide-out — "Open the full X in a new tab".
   Appended after content render (round 9). Teal rule above, Barlow Condensed,
   centered so it reads as an end-of-content affordance. */
.ppa-legal-panel-body .ppa-legal-full-link {
	margin: 36px 0 12px !important;
	padding: 20px 0 0 !important;
	border-top: 1px solid rgba(78, 168, 160, 0.25);
	text-align: center;
}
.ppa-legal-panel-body .ppa-legal-full-link a {
	display: inline-block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #4EA8A0;
	text-decoration: none;
	border-bottom: 2px solid #4EA8A0;
	padding: 6px 2px 4px;
	transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}
.ppa-legal-panel-body .ppa-legal-full-link a:hover,
.ppa-legal-panel-body .ppa-legal-full-link a:focus-visible {
	color: #6BC4BC;
	border-bottom-color: #6BC4BC;
	background: rgba(78, 168, 160, 0.08);
	outline: none;
}

/* ═══════════════════════════════════════════════════════════
   13 · Round 10 — global scale-down (~10-12%) after William's
   browser zoom was reset. Earlier rounds bumped fonts to fix a
   perceived-too-small problem that turned out to be browser zoom.
   These overrides bring the display back to a sensible size without
   undoing the premium structural polish.
   ═══════════════════════════════════════════════════════════ */

/* Page titles */
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-cart .page-title,
.woocommerce-checkout .page-title                     { font-size: 48px !important; }
@media (max-width: 767px) {
	.woocommerce-cart .entry-title,
	.woocommerce-checkout .entry-title,
	.woocommerce-cart .page-title,
	.woocommerce-checkout .page-title                 { font-size: 34px !important; }
}

/* Billing + Your Order section headings — keep matched */
.woocommerce-checkout h3,
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review::before           { font-size: 30px !important; }

/* Cart totals heading + grand total */
.woocommerce-cart .cart_totals h2                     { font-size: 32px !important; }
.woocommerce-cart .cart_totals .order-total td        { font-size: 48px !important; }

/* Checkout order-review totals block */
.woocommerce-checkout table.shop_table tfoot th       { font-size: 13px !important; }
.woocommerce-checkout table.shop_table tfoot td       { font-size: 15px !important; }
.woocommerce-checkout table.shop_table tfoot tr.order-total th { font-size: 14px !important; }
.woocommerce-checkout table.shop_table tfoot tr.order-total td { font-size: 36px !important; }

/* Payment Options lockup */
.woocommerce-checkout #order_review .ppa-payment-options-lead { font-size: 12px !important; }
.woocommerce-checkout #order_review .ppa-payment-label        { font-size: 16px !important; }
.woocommerce-checkout #order_review .ppa-payment-status       { font-size: 12px !important; }

/* Privacy paragraph + agree-checkbox text */
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text,
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text p { font-size: 15px !important; }
.woocommerce-checkout #order_review .woocommerce-terms-and-conditions-checkbox-text { font-size: 15px !important; }

/* Place Order — was already reasonable at 24/76 but lower to 22/72 */
.woocommerce-checkout #place_order                    { font-size: 22px !important; height: 72px !important; }

/* Billing form fields */
.woocommerce-checkout .woocommerce-billing-fields input[type="text"],
.woocommerce-checkout .woocommerce-billing-fields input[type="email"],
.woocommerce-checkout .woocommerce-billing-fields input[type="tel"],
.woocommerce-checkout .woocommerce-billing-fields input[type="password"],
.woocommerce-checkout .woocommerce-billing-fields input[type="number"],
.woocommerce-checkout .woocommerce-billing-fields textarea,
.woocommerce-checkout .woocommerce-billing-fields select,
.woocommerce-checkout .woocommerce-billing-fields .select2-selection,
.woocommerce-checkout .woocommerce-shipping-fields input[type="text"],
.woocommerce-checkout .woocommerce-shipping-fields input[type="email"],
.woocommerce-checkout .woocommerce-shipping-fields textarea,
.woocommerce-checkout .woocommerce-additional-fields textarea { font-size: 16px !important; height: 52px !important; }
.woocommerce-checkout .woocommerce-additional-fields textarea { height: auto !important; min-height: 96px !important; }
.woocommerce-checkout .woocommerce-billing-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label,
.woocommerce-checkout form.login label,
.woocommerce-checkout form.checkout_coupon label      { font-size: 13px !important; }

/* Cart items */
.woocommerce-cart td.product-name a                   { font-size: 20px !important; }
.woocommerce-cart td.product-price,
.woocommerce-cart td.product-subtotal                 { font-size: 18px !important; }
.woocommerce-cart td.product-subtotal                 { font-size: 20px !important; }

/* Proceed to Checkout button */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { font-size: 19px !important; height: 72px !important; letter-spacing: 0.22em !important; }

/* Cart legal block */
.woocommerce-cart .ppa-cart-legal-eyebrow             { font-size: 26px !important; }
.woocommerce-cart .ppa-cart-legal-links a             { font-size: 16px !important; }
.woocommerce-cart .ppa-cart-legal-fineprint           { font-size: 15px !important; }

/* Card chips — back to 80x50 */
.ppa-checkout-trust-cards .ppa-card,
.woocommerce-cart .ppa-cart-trust-cart .ppa-checkout-trust-cards .ppa-card,
.woocommerce-checkout .ppa-checkout-trust .ppa-checkout-trust-cards .ppa-card {
	width: 80px !important;
	height: 50px !important;
}

/* Order summary thumbnails + names in checkout */
.woocommerce-checkout #order_review .ppa-co-name      { font-size: 15px !important; }
.woocommerce-checkout #order_review td.product-total  { font-size: 15px !important; }

/* ═══════════════════════════════════════════════════════════
   14 · State-check widget (shown on /shipping/ + inside the
   shipping slide-out panel via the_content REST pass-through)
   ═══════════════════════════════════════════════════════════ */

.ppa-state-check {
	margin: 32px 0 36px;
	padding: 28px 28px 30px;
	border: 1px solid rgba(196, 148, 58, 0.35);
	border-radius: 3px;
	background: rgba(237, 228, 208, 0.04);
	position: relative;
}
/* Teal top accent — matches parchment panel rule on cart/checkout */
.ppa-state-check::before {
	content: '';
	position: absolute;
	top: -1px;
	left: 20px;
	right: 20px;
	height: 2px;
	background: linear-gradient(90deg, transparent, rgba(78, 168, 160, 0.6), transparent);
	pointer-events: none;
}
.ppa-state-check .ppa-sc-eyebrow {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #C4943A;
	margin: 0 0 8px;
}
.ppa-state-check .ppa-sc-title {
	font-family: 'Cormorant Garamond', serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 10px;
	color: inherit;
	letter-spacing: 0.005em;
}
.ppa-state-check .ppa-sc-lead {
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	line-height: 1.55;
	margin: 0 0 18px;
	opacity: 0.88;
}
.ppa-state-check .ppa-sc-label {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	opacity: 0.75;
	margin: 0 0 8px;
}
.ppa-state-check .ppa-sc-select {
	width: 100%;
	max-width: 360px;
	height: 48px;
	padding: 0 14px;
	background: rgba(237, 228, 208, 0.04);
	border: 1px solid rgba(237, 228, 208, 0.28);
	border-radius: 2px;
	color: inherit;
	font-family: 'Barlow', sans-serif;
	font-size: 16px;
	cursor: pointer;
	transition: border-color 160ms ease, background 160ms ease;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%234EA8A0' stroke-width='1.8'><polyline points='1,1 6,7 11,1'/></svg>");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px;
}
.ppa-state-check .ppa-sc-select:hover,
.ppa-state-check .ppa-sc-select:focus {
	border-color: #4EA8A0;
	outline: none;
}
/* Dark-theme styling for the native dropdown popup when opened.
   Chrome, Edge, and Firefox honor these; Safari macOS partially honors
   (OS-level override). Keeps the palette consistent when clicked open. */
.ppa-state-check .ppa-sc-select option {
	background: #0C0E10;
	color: #EDE4D0;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	padding: 8px 10px;
}
.ppa-state-check .ppa-sc-select option:checked,
.ppa-state-check .ppa-sc-select option:hover {
	background: #0C0E10;
	color: #4EA8A0;
}
.ppa-state-check .ppa-sc-select option[value=""] {
	color: rgba(237, 228, 208, 0.55);
}

/* Results card */
.ppa-state-check .ppa-sc-results {
	margin: 20px 0 0;
}
.ppa-state-check .ppa-sc-results:empty {
	display: none;
}
.ppa-state-check .ppa-sc-card {
	padding: 18px 20px;
	border-radius: 3px;
	border: 1px solid rgba(78, 168, 160, 0.3);
	background: rgba(78, 168, 160, 0.06);
}
.ppa-state-check .ppa-sc-card.ppa-sc-restricted {
	border-color: rgba(196, 148, 58, 0.4);
	background: rgba(196, 148, 58, 0.07);
}
.ppa-state-check .ppa-sc-card-lead {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin: 0 0 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	color: inherit;
}
.ppa-state-check .ppa-sc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(78, 168, 160, 0.22);
	color: #4EA8A0;
	font-size: 14px;
	line-height: 1;
	flex-shrink: 0;
}
.ppa-state-check .ppa-sc-icon-warn {
	background: rgba(196, 148, 58, 0.22);
	color: #C4943A;
	font-size: 13px;
}
.ppa-state-check .ppa-sc-card-body {
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	line-height: 1.55;
	margin: 0;
	opacity: 0.9;
}
.ppa-state-check .ppa-sc-list {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
}
.ppa-state-check .ppa-sc-item {
	padding: 10px 0;
	border-bottom: 1px solid rgba(237, 228, 208, 0.1);
}
.ppa-state-check .ppa-sc-item:last-child {
	border-bottom: none;
}
.ppa-state-check .ppa-sc-item-title {
	display: block;
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 3px;
}
.ppa-state-check .ppa-sc-item-note {
	display: block;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	line-height: 1.45;
	opacity: 0.8;
}
.ppa-state-check .ppa-sc-card-foot {
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	font-style: italic;
	line-height: 1.5;
	margin: 12px 0 0;
	padding: 10px 0 0;
	border-top: 1px solid rgba(237, 228, 208, 0.12);
	opacity: 0.8;
}

/* Hide the theme's topographic-line background pattern on all policy pages
   (William 2026-04-21, pre-Payroc submission). Signature vignette + grain
   + ghost text overlays are untouched — this only kills the wavy topo div. */
.ppa-topo {
	display: none !important;
}

/* Inside the slide-out panel (obsidian background) — adjust colors so
   the widget reads clearly against the dark panel. */
.ppa-legal-panel-body .ppa-state-check {
	background: rgba(237, 228, 208, 0.03);
	color: #EDE4D0;
}
.ppa-legal-panel-body .ppa-state-check .ppa-sc-item-note,
.ppa-legal-panel-body .ppa-state-check .ppa-sc-card-foot,
.ppa-legal-panel-body .ppa-state-check .ppa-sc-card-body,
.ppa-legal-panel-body .ppa-state-check .ppa-sc-lead {
	color: rgba(237, 228, 208, 0.85);
}

/* ── Trust block legal-links row (above the cards) ──
   William 2026-04-21: card row had room above; put Terms · Privacy ·
   Shipping · Refunds in there as clickable slide-out triggers. */
.ppa-checkout-trust-legal {
	list-style: none;
	margin: 14px 0 0;
	padding: 14px 0 0;
	border-top: 1px solid rgba(12, 14, 16, 0.12);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px 22px;
	width: 100%;
}
.ppa-checkout-trust-legal li { margin: 0; padding: 0; }
.ppa-checkout-trust-legal a {
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #0C0E10;
	text-decoration: none;
	border-bottom: 2px solid #4EA8A0;
	padding: 2px 0 2px;
	cursor: pointer;
	transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
}
.ppa-checkout-trust-legal a:hover {
	background: rgba(78, 168, 160, 0.14);
	border-bottom-color: #0C0E10;
}
/* Slightly more breathing room above the cards now that legal links sit
   between Place Order and the card row. */
.woocommerce-checkout .ppa-checkout-trust .ppa-checkout-trust-cards {
	margin-top: 14px;
}

/* ── Chrome autofill: kill the white background ──
   Chrome paints autofilled inputs white with black text by default. On
   our dark form that breaks the entire palette. The transition trick
   defers the autofill bg paint past lifetime; -webkit-text-fill-color
   forces our parchment color over Chrome's black. */
.woocommerce-checkout input:-webkit-autofill,
.woocommerce-checkout input:-webkit-autofill:hover,
.woocommerce-checkout input:-webkit-autofill:focus,
.woocommerce-checkout input:-webkit-autofill:active,
.woocommerce-checkout select:-webkit-autofill,
.woocommerce-checkout textarea:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 1000px rgba(237, 228, 208, 0.03) inset !important;
	box-shadow: 0 0 0 1000px rgba(237, 228, 208, 0.03) inset !important;
	-webkit-text-fill-color: #EDE4D0 !important;
	caret-color: #EDE4D0 !important;
	transition: background-color 9999s ease-out, color 9999s ease-out !important;
	border: 1px solid rgba(237, 228, 208, 0.25) !important;
}

/* ── Hide the empty shipping-fields box ──
   When ship-to-different-address is unchecked (default), WC still emits
   the .woocommerce-shipping-fields container but with no children. Our
   CSS gave it parchment-tint + padding, so it rendered as an unlabeled
   box between Email and Additional Information. Hide when empty. */
.woocommerce-checkout .woocommerce-shipping-fields:empty,
.woocommerce-checkout .woocommerce-shipping-fields:not(:has(*)) {
	display: none !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	background: transparent !important;
}
/* Belt-and-suspenders for browsers without :has() */
.woocommerce-checkout .woocommerce-shipping-fields > h3:only-child,
.woocommerce-checkout .woocommerce-shipping-fields > div:only-child:empty {
	display: none;
}

/* ═══════════════════════════════════════════════════════════
   SHIPPING METHODS RADIO LIST (order-review "Shipment" row)
   2026-04-22 — William shipped ppa-shipping-zones v1.0.0 and
   the 4-tier Continental 48 method list rendered as 4 unlabeled
   $ values next to black-square radio inputs (WC default styles
   on the dark theme). This block gives the list a proper
   parchment-on-dark layout with teal radio accents.
   ═══════════════════════════════════════════════════════════ */
.woocommerce-checkout ul#shipping_method,
.woocommerce-cart ul#shipping_method,
.woocommerce-checkout .woocommerce-shipping-methods,
.woocommerce-cart .woocommerce-shipping-methods {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.woocommerce-checkout ul#shipping_method li,
.woocommerce-cart ul#shipping_method li {
	margin: 0 0 10px !important;
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	background: transparent !important;
	border: none !important;
	list-style: none !important;
}
.woocommerce-checkout ul#shipping_method li::before,
.woocommerce-cart ul#shipping_method li::before,
.woocommerce-checkout ul#shipping_method li::marker,
.woocommerce-cart ul#shipping_method li::marker {
	content: none !important;
	display: none !important;
}
.woocommerce-checkout ul#shipping_method li:last-child,
.woocommerce-cart ul#shipping_method li:last-child {
	margin-bottom: 0 !important;
}
.woocommerce-checkout ul#shipping_method input[type="radio"],
.woocommerce-cart ul#shipping_method input[type="radio"] {
	appearance: auto !important;
	-webkit-appearance: radio !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	accent-color: #4EA8A0 !important;
	cursor: pointer !important;
	opacity: 1 !important;
	position: static !important;
	flex: 0 0 auto !important;
}
/* Labels + amounts are inside the PARCHMENT order_review/cart_totals
   panel, so text must be obsidian (#0C0E10) to be readable — parchment-
   on-parchment was invisible in the first pass 2026-04-22. Matches how
   other totals rows (Subtotal, Sales Tax) are styled in this panel. */
.woocommerce-checkout ul#shipping_method label,
.woocommerce-cart ul#shipping_method label {
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	color: #0C0E10 !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.4 !important;
	flex: 1 1 auto !important;
	display: inline-flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	gap: 12px !important;
}
.woocommerce-checkout ul#shipping_method label .woocommerce-Price-amount,
.woocommerce-checkout ul#shipping_method label bdi,
.woocommerce-cart ul#shipping_method label .woocommerce-Price-amount,
.woocommerce-cart ul#shipping_method label bdi {
	color: #0C0E10 !important;
	font-weight: 700 !important;
	font-family: 'Barlow', sans-serif !important;
}

/* The "Shipment" row th/heading (e.g. SHIPMENT label in the left column
   of the row) — Barlow Condensed uppercase + obsidian, matching the other
   totals-row labels on the parchment panel. */
.woocommerce-checkout tr.shipping > th,
.woocommerce-cart tr.shipping > th,
.woocommerce-checkout .wc-block-components-totals-shipping__title {
	color: #0C0E10 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	vertical-align: top !important;
}

/* ═══════════════════════════════════════════════════════════
   BACK-TO-TOP OVERRIDE ON CART + CHECKOUT
   2026-04-22 — The theme's .ppa-back-to-top formula
   `calc(50% - 760px)` positions the button just past the
   1400-wide content grid. But cart + checkout order-summary
   columns extend further right than a product grid would, so
   the button still overlapped the cart panel. Hug the viewport
   edge on these two pages only.
   ═══════════════════════════════════════════════════════════ */
body.woocommerce-cart .ppa-back-to-top,
body.woocommerce-checkout .ppa-back-to-top {
	/* 2026-04-22 round 2 — William: "get that a little closer to the center
	   without going over the parchment side." Cart column right edge lives
	   around x=1700 on 1920 viewport; 220px gap to viewport edge. Center the
	   44px button in that gap → right:100px (button left=1776, 76px clear of
	   cart, 100px from viewport right). Keeps the button visibly ON the page
	   margin, not flush to the edge. */
	right: 100px !important;
}
@media ( max-width: 1440px ) {
	body.woocommerce-cart .ppa-back-to-top,
	body.woocommerce-checkout .ppa-back-to-top {
		right: 40px !important;
	}
}
@media ( max-width: 1100px ) {
	body.woocommerce-cart .ppa-back-to-top,
	body.woocommerce-checkout .ppa-back-to-top {
		right: 20px !important;
	}
}

/* (2026-04-22 round 2 scroll-prompt override block removed in round 3 —
   its `opacity: 0.22 !important` blocked the keyframe opacity values,
   so the arrows stayed faded. The canonical rule now lives at line 2646
   where the original block was rewritten for pure-opacity animation. */

/* ═══════════════════════════════════════════════════════════
   EVEN 2×2 "SHOP WITH CONFIDENCE" POLICY LINK GRID
   2026-04-22 round 2 — William: "make sure the four menus
   under Shop with Confidence are kind of more even." Force
   every cell to the same min-height so "Terms & Conditions"
   wrapping to two lines doesn't blow out the row.
   ═══════════════════════════════════════════════════════════ */
.woocommerce-cart .ppa-cart-legal-links {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	column-gap: 14px !important;
	row-gap: 10px !important;
	margin: 10px 0 18px !important;
	padding: 0 !important;
	list-style: none !important;
}
.woocommerce-cart .ppa-cart-legal-links li {
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	list-style: none !important;
}
.woocommerce-cart .ppa-cart-legal-links li::before,
.woocommerce-cart .ppa-cart-legal-links li::marker {
	content: none !important;
	display: none !important;
}
.woocommerce-cart .ppa-cart-legal-links a {
	display: flex !important;
	width: 100% !important;
	min-height: 56px !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	padding: 10px 12px !important;
	color: #0C0E10 !important;
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.18 !important;
	letter-spacing: 0.01em !important;
	text-decoration: none !important;
	border-bottom: 1px solid rgba( 78, 168, 160, 0.45 ) !important;
	transition: border-color 180ms ease, color 180ms ease !important;
}
.woocommerce-cart .ppa-cart-legal-links a:hover {
	border-color: var( --ppa-gold, #C4943A ) !important;
	color: #0C0E10 !important;
}

/* ═══════════════════════════════════════════════════════════
   PROCEED-TO-CHECKOUT BUTTON — round 2 polish
   2026-04-22 — William: "just the bottom teal border, want
   it nicer." Give it a solid obsidian body, symmetric teal
   hairlines top + bottom that expand from center on hover,
   and a subtle teal ring + shadow.
   ═══════════════════════════════════════════════════════════ */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	background: #0C0E10 !important;
	background-color: #0C0E10 !important;
	color: #EDE4D0 !important;
	border: 2px solid #0C0E10 !important;
	box-shadow:
		0 0 0 1px rgba( 78, 168, 160, 0.28 ),
		0 10px 24px -14px rgba( 12, 14, 16, 0.85 ) !important;
	display: flex !important;
	width: 100% !important;
	min-height: 76px !important;
	height: auto !important;
	padding: 18px 24px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 12px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.22em !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	position: relative !important;
	overflow: hidden !important;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		letter-spacing 220ms ease !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
	content: '' !important;
	position: absolute !important;
	left: 20px !important;
	right: 20px !important;
	height: 1px !important;
	background: rgba( 78, 168, 160, 0.55 ) !important;
	transform: scaleX( 0.25 ) !important;
	transform-origin: center !important;
	transition: transform 260ms ease, background 200ms ease !important;
	opacity: 1 !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::before {
	top: 10px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after {
	bottom: 10px !important;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	border-color: var( --ppa-teal, #4EA8A0 ) !important;
	box-shadow:
		0 0 0 1px rgba( 78, 168, 160, 0.7 ),
		0 16px 36px -14px rgba( 78, 168, 160, 0.35 ) !important;
	letter-spacing: 0.26em !important;
}
/* ═══════════════════════════════════════════════════════════
   15 · Qty +/- steppers on cart + checkout (William 2026-04-22)
   Mirrors the mini-cart slide-out's stepper UX so the customer can
   adjust quantity from anywhere in the purchase flow.
   ═══════════════════════════════════════════════════════════ */

/* Cart page: WC's input.qty wrapped in our stepper. .quantity div gets
   the .ppa-cart-stepper-wrap class via JS. */
.woocommerce-cart .product-quantity .quantity.ppa-cart-stepper-wrap {
	display: inline-flex !important;
	align-items: stretch !important;
	border: 1px solid rgba(237, 228, 208, 0.22);
	border-radius: 3px;
	overflow: hidden;
	background: rgba(78, 168, 160, 0.04);
	height: 44px;
	width: auto !important;
	max-width: 132px;
}
.woocommerce-cart .ppa-cart-qty-btn {
	background: transparent;
	border: none;
	color: rgba(237, 228, 208, 0.78);
	width: 36px;
	height: 100%;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 160ms ease, background 160ms ease;
	padding: 0;
}
.woocommerce-cart .ppa-cart-qty-btn:hover,
.woocommerce-cart .ppa-cart-qty-btn:focus-visible {
	color: #6BC4BC;
	background: rgba(78, 168, 160, 0.12);
	outline: none;
}
.woocommerce-cart .product-quantity .quantity.ppa-cart-stepper-wrap input.qty {
	width: 48px !important;
	min-width: 48px !important;
	height: 100% !important;
	text-align: center !important;
	background: transparent !important;
	border: none !important;
	border-left: 1px solid rgba(237, 228, 208, 0.18) !important;
	border-right: 1px solid rgba(237, 228, 208, 0.18) !important;
	color: #EDE4D0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	padding: 0 !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: textfield !important;
	appearance: none !important;
}
/* Hide the native number-input spinners (we have our own steppers) */
.woocommerce-cart .product-quantity input.qty::-webkit-outer-spin-button,
.woocommerce-cart .product-quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Checkout: order_review row qty becomes a tiny stepper inside the
   strong.product-quantity element (parchment surface). */
.woocommerce-checkout #order_review .ppa-co-stepper {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid rgba(12, 14, 16, 0.18);
	border-radius: 3px;
	overflow: hidden;
	background: rgba(12, 14, 16, 0.04);
	height: 30px;
	margin-left: 6px;
	vertical-align: middle;
}
.woocommerce-checkout #order_review .ppa-co-stepper.is-loading {
	opacity: 0.55;
	pointer-events: none;
}
.woocommerce-checkout #order_review .ppa-co-stepper-btn {
	background: transparent;
	border: none;
	color: rgba(12, 14, 16, 0.7);
	width: 26px;
	height: 100%;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: color 160ms ease, background 160ms ease;
	padding: 0;
}
.woocommerce-checkout #order_review .ppa-co-stepper-btn:hover,
.woocommerce-checkout #order_review .ppa-co-stepper-btn:focus-visible {
	color: #1A4F4A;
	background: rgba(78, 168, 160, 0.18);
	outline: none;
}
.woocommerce-checkout #order_review .ppa-co-stepper-num {
	min-width: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: #0C0E10;
	border-left: 1px solid rgba(12, 14, 16, 0.14);
	border-right: 1px solid rgba(12, 14, 16, 0.14);
	padding: 0 6px;
	background: rgba(255, 255, 255, 0.5);
}
/* Drop the "× " prefix WC normally puts in front of the quantity since
   the stepper's number replaces it cleanly. */
.woocommerce-checkout #order_review strong.product-quantity[data-cart-item-key] {
	display: inline-block;
	font-weight: normal;
	margin-left: 6px;
}

/* (Existing rule retained, was the last block before this addition.) */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::before,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover::after {
	transform: scaleX( 1 ) !important;
	background: rgba( 78, 168, 160, 0.9 ) !important;
}

/* ═══════════════════════════════════════════════════════════
   v1.2.9 · Place Order button — full clone of Proceed to Checkout
   Replicates the glow-ring + soft-drop + expanding-hairlines +
   letter-spacing-expand hover treatment so both primary CTAs feel
   identical. William 2026-04-23: "place order doesn't do what the
   other one does. It got closed, but not good enough."
   ═══════════════════════════════════════════════════════════ */
.woocommerce-checkout #place_order {
	background: #0C0E10 !important;
	background-color: #0C0E10 !important;
	color: #EDE4D0 !important;
	border: 2px solid #0C0E10 !important;
	box-shadow:
		0 0 0 1px rgba( 78, 168, 160, 0.28 ),
		0 10px 24px -14px rgba( 12, 14, 16, 0.85 ) !important;
	display: flex !important;
	width: 100% !important;
	min-height: 84px !important;
	height: auto !important;
	padding: 20px 24px !important;
	align-items: center !important;
	justify-content: center !important;
	text-transform: uppercase !important;
	letter-spacing: 0.22em !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	position: relative !important;
	overflow: hidden !important;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		letter-spacing 220ms ease !important;
}
.woocommerce-checkout #place_order::before,
.woocommerce-checkout #place_order::after {
	content: '' !important;
	position: absolute !important;
	left: 20px !important;
	right: 20px !important;
	height: 1px !important;
	background: rgba( 78, 168, 160, 0.55 ) !important;
	transform: scaleX( 0.25 ) !important;
	transform-origin: center !important;
	transition: transform 260ms ease, background 200ms ease !important;
	opacity: 1 !important;
	pointer-events: none !important;
}
.woocommerce-checkout #place_order::before { top: 10px !important; }
.woocommerce-checkout #place_order::after  { bottom: 10px !important; }
.woocommerce-checkout #place_order:hover:not(:disabled) {
	background: #0C0E10 !important;
	color: #EDE4D0 !important;
	border-color: #4EA8A0 !important;
	box-shadow:
		0 0 0 1px rgba( 78, 168, 160, 0.7 ),
		0 16px 36px -14px rgba( 78, 168, 160, 0.35 ) !important;
	letter-spacing: 0.26em !important;
}
.woocommerce-checkout #place_order:hover:not(:disabled)::before,
.woocommerce-checkout #place_order:hover:not(:disabled)::after {
	transform: scaleX( 1 ) !important;
	background: rgba( 78, 168, 160, 0.9 ) !important;
}
.woocommerce-checkout #place_order:disabled,
.woocommerce-checkout #place_order.disabled {
	opacity: 0.45 !important;
	cursor: not-allowed !important;
	letter-spacing: 0.22em !important;
}

/* ═══════════════════════════════════════════════════════════
   v1.2.9 · Unify the qty stepper cells so the middle "1" matches
   the "-" and "+" visually. William 2026-04-23: "the quantity
   box has different colors in it — where it's 1, it's different
   than the plus and minus. Looks hokey."
   ═══════════════════════════════════════════════════════════ */
body.woocommerce-checkout #order_review .ppa-co-stepper-num {
	color: rgba(12, 14, 16, 0.78) !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	border-left: none !important;
	border-right: none !important;
	background: transparent !important;
	padding: 0 10px !important;
	min-width: 28px !important;
}

/* ═══════════════════════════════════════════════════════════
   16 · Round 12 fixes (William 2026-04-22 evening)
   ═══════════════════════════════════════════════════════════ */

/* ── Stepper buttons — beat the order_review "all buttons get obsidian fill"
   rule via higher-specificity + !important. Without this, +/- buttons
   inherit the giftcard/coupon button styling and render as solid black
   blocks flanking the qty number.
   Specificity boost via :not(#place_order) — that pseudo adds 1 ID to the
   selector's score, beating the existing 2-ID rule. ── */
body.woocommerce-checkout #order_review .ppa-co-stepper button.ppa-co-stepper-btn:not(#place_order),
body.woocommerce-checkout #order_review .ppa-co-stepper .ppa-co-stepper-btn:not(#place_order) {
	background: transparent !important;
	color: rgba(12, 14, 16, 0.78) !important;
	border: none !important;
	border-radius: 0 !important;
	width: 26px !important;
	height: 100% !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-transform: none !important;
	box-shadow: none !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}
body.woocommerce-checkout #order_review .ppa-co-stepper button.ppa-co-stepper-btn:not(#place_order):hover,
body.woocommerce-checkout #order_review .ppa-co-stepper button.ppa-co-stepper-btn:not(#place_order):focus-visible {
	background: rgba(78, 168, 160, 0.18) !important;
	color: #1A4F4A !important;
	border-color: transparent !important;
	transform: none !important;
	outline: none !important;
}

/* ── Hide the CusRev "would you like a review invitation" opt-in row.
   Plugin: customer-reviews-woocommerce. The wrapping <p> uses the class
   `cr-customer-consent` (NOT the standard form-row class). */
.woocommerce-checkout p.cr-customer-consent,
.woocommerce-checkout p.form-row:has(input[name="cr_customer_consent_field"]),
.woocommerce-checkout p.form-row:has(input[name^="cr_customer_consent"]) {
	display: none !important;
}

/* ── Apply Gift Card button — current default is white WP form-button,
   reads as a stray light element on parchment. Restyle as a quiet
   teal-ghost CTA so it sits naturally inside the order panel. ── */
.woocommerce-checkout #pwgc-redeem-button,
.woocommerce-checkout input#pwgc-redeem-button {
	background: transparent !important;
	color: #1A4F4A !important;
	border: 1.5px solid rgba(78, 168, 160, 0.55) !important;
	height: 38px !important;
	min-height: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 0 18px !important;
	border-radius: 2px !important;
	cursor: pointer !important;
	box-shadow: none !important;
	width: auto !important;
	margin: 8px 0 0 !important;
	display: inline-block !important;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease !important;
}
.woocommerce-checkout #pwgc-redeem-button:hover,
.woocommerce-checkout #pwgc-redeem-button:focus {
	background: rgba(78, 168, 160, 0.12) !important;
	border-color: #4EA8A0 !important;
	color: #0C0E10 !important;
}
/* Tighten the gift-card form layout above */
.woocommerce-checkout #pwgc-redeem-gift-card-form label[for="pwgc-redeem-gift-card-number"] {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: rgba(12, 14, 16, 0.78) !important;
	margin-bottom: 6px !important;
	display: block;
}

/* ── Privacy paragraph: shrink to small-print + repositioned below trust
   block by JS (see enhanceCheckoutPrivacyPosition). The "We never sell"
   lead stays bold/dark for emphasis, body line dims to secondary. ── */
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text,
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text p {
	font-family: 'Barlow', sans-serif !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
	color: rgba(12, 14, 16, 0.7) !important;
	margin: 14px 0 0 !important;
	text-align: center;
}
.woocommerce-checkout #order_review .ppa-privacy-lead {
	display: inline !important;
	color: #0C0E10 !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	font-size: 12px !important;
}
.woocommerce-checkout #order_review .woocommerce-privacy-policy-text a {
	color: rgba(12, 14, 16, 0.85) !important;
	border-bottom: 1px solid rgba(78, 168, 160, 0.55) !important;
	font-weight: 600 !important;
	font-size: 12px !important;
}

/* ═══════════════════════════════════════════════════════════
   Mini-cart "KEEP SHOPPING" tab — fix text overflow + chevron pulse
   2026-04-22 round 4 — William: "'Keep' is not within the box
   parameters … little triangle could blink/glow." The tab is 110px
   tall but 13 chars × ~13px = ~169px of text, so the top chars got
   clipped. Bump to 170px + tighten letter-spacing; add a soft
   ppaChevronPulse on the arrow so the discoverability signal is
   visible without being obnoxious.
   ═══════════════════════════════════════════════════════════ */
.ppa-mc-handle {
	height: 180px !important;
	left: -40px !important;
	width: 40px !important;
	padding: 12px 0 !important;
	gap: 10px !important;
}
.ppa-mc-handle-label {
	font-size: 10px !important;
	letter-spacing: 0.14em !important;
	line-height: 1.1 !important;
}
.ppa-mc-handle-arrow {
	animation: ppaChevronPulse 1.8s ease-in-out infinite !important;
}
@keyframes ppaChevronPulse {
	0%, 100% {
		opacity: 0.55;
		transform: translateX( 0 );
		text-shadow: 0 0 0 rgba( 78, 168, 160, 0 );
	}
	50% {
		opacity: 1;
		transform: translateX( 2px );
		text-shadow: 0 0 8px rgba( 78, 168, 160, 0.7 );
	}
}
/* Hover: let the existing hover state (color + 2px translate) win
   by suspending the pulse so the intentional user-triggered effect
   reads cleanly. */
.ppa-mc-handle:hover .ppa-mc-handle-arrow,
.ppa-mc-handle:focus-visible .ppa-mc-handle-arrow {
	animation: none !important;
}

/* Belt-and-suspenders for the anti-flash critical CSS in wp_head —
   these rules also live in the plugin's main stylesheet so once
   cart-checkout.css has loaded the panels remain hidden-by-default
   regardless of class state. */
.ppa-legal-panel:not( .open ) {
	transform: translateX( 100% );
	opacity: 0;
	pointer-events: none;
}
.ppa-legal-overlay:not( .open ) {
	opacity: 0 !important;
	pointer-events: none !important;
}

/* ═══════════════════════════════════════════════════════════
   17 · Welcome line above the checkout columns
   William 2026-04-22 evening — short warm acknowledgement at the top of
   /checkout/. Italic Cormorant in parchment with a small gold dash above.
   ═══════════════════════════════════════════════════════════ */
.woocommerce-checkout .ppa-checkout-welcome {
	max-width: 760px;
	margin: 0 auto 36px;
	padding: 0 24px;
	text-align: center;
}
.woocommerce-checkout .ppa-checkout-welcome::before {
	content: '';
	display: block;
	width: 48px;
	height: 1px;
	background: linear-gradient(90deg, transparent, #C4943A, transparent);
	margin: 0 auto 14px;
}
.woocommerce-checkout .ppa-checkout-welcome p {
	font-family: 'Cormorant Garamond', serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.005em;
	font-style: italic;
	color: rgba(237, 228, 208, 0.92);
	margin: 0;
}
@media (max-width: 640px) {
	.woocommerce-checkout .ppa-checkout-welcome p {
		font-size: 18px;
	}
	.woocommerce-checkout .ppa-checkout-welcome {
		margin-bottom: 24px;
	}
}

/* ═══════════════════════════════════════════════════════════
   v1.2.8 · Persistent "CART" peek tab
   (always-visible right-edge handle when mini-cart is closed;
   hides automatically when mini-cart opens)
   ═══════════════════════════════════════════════════════════ */
body > .ppa-mc-peek,
.ppa-mc-peek {
	position: fixed !important;
	top: 180px !important;
	right: 0 !important;
	left: auto !important;
	bottom: auto !important;
	z-index: 9997 !important;
	width: 40px !important;
	max-width: 40px !important;
	height: 180px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	margin: 0 !important;
	padding: 12px 0 !important;
	background: #0C0E10 !important;
	color: #EDE4D0 !important;
	border: 1px solid rgba(78, 168, 160, 0.35) !important;
	border-right: none !important;
	border-radius: 4px 0 0 4px !important;
	cursor: pointer;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.16em !important;
	box-shadow: -8px 0 16px rgba(0, 0, 0, 0.45);
	transition: background 180ms ease, color 180ms ease, transform 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
	user-select: none;
}
.ppa-mc-peek:hover,
.ppa-mc-peek:focus-visible {
	background: rgba(78, 168, 160, 0.12);
	color: #4EA8A0;
	transform: translateX(-6px);
	box-shadow: -10px 0 22px rgba(0, 0, 0, 0.55), inset 0 0 0 1px rgba(78, 168, 160, 0.3);
	outline: none;
}
.ppa-mc-peek-arrow {
	font-size: 18px;
	line-height: 1;
	color: #4EA8A0;
	animation: ppaMcPeekPulse 1.8s ease-in-out infinite;
}
.ppa-mc-peek-label {
	writing-mode: vertical-lr;
	transform: rotate(180deg);
	line-height: 1;
}
@keyframes ppaMcPeekPulse {
	0%, 100% { opacity: 0.6; transform: translateX(0); }
	50%      { opacity: 1;   transform: translateX(-3px); }
}

/* Hide when the mini-cart is open so the two handles don't fight for space. */
body.ppa-mini-cart-open .ppa-mc-peek {
	opacity: 0;
	pointer-events: none;
	transform: translateX(30px);
}

/* Mobile — smaller but still present */
@media (max-width: 640px) {
	.ppa-mc-peek {
		height: 140px;
		width: 34px;
		font-size: 9px;
	}
}

/* Fade-out scroll prompt for non-terms slide-outs (Privacy/Shipping/Refund).
   Terms keeps its unlock-gated behavior; these just fade away as user scrolls. */
.ppa-legal-scroll-prompt.ppa-legal-scroll-prompt-simple {
	transition: opacity 180ms ease;
}
.ppa-legal-scroll-prompt.ppa-legal-scroll-prompt-simple.is-faded {
	opacity: 0;
	pointer-events: none;
}

/* ═══════════════════════════════════════════════════════════
   v1.2.5 · Checkout order-review row — qty stepper + remove-X
   (thumb sizing handled at line 2271, name/row layout at 2265)
   ═══════════════════════════════════════════════════════════ */

/* Price numbers — tabular-nums so 6s/8s/9s don't visually collide.
   Also bump the font-size slightly on the order-review prices per
   William 2026-04-22: "price is just slightly bigger because they
   run into each other a little bit, the sixes and nines." */
.woocommerce-checkout #order_review .woocommerce-Price-amount,
.woocommerce-checkout #order_review td.product-total,
.woocommerce-checkout #order_review .product-total .woocommerce-Price-amount {
	font-variant-numeric: tabular-nums !important;
	font-feature-settings: 'tnum' 1 !important;
	letter-spacing: 0.015em;
}

.woocommerce-checkout #order_review tr.cart_item td.product-total {
	font-size: 17px !important;
	font-weight: 600;
}

/* Center the qty stepper vertically within its row so it's not off-center
   relative to the thumbnail. */
.woocommerce-checkout #order_review .ppa-co-qty-and-remove {
	align-self: center;
	vertical-align: middle;
}

.woocommerce-checkout #order_review .ppa-co-stepper {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	vertical-align: middle !important;
}

.woocommerce-checkout #order_review .ppa-co-stepper-num {
	min-width: 28px;
	text-align: center;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}

/* Qty stepper + remove button grouped, right-aligned on the row */
.woocommerce-checkout #order_review .ppa-co-qty-and-remove {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
	flex: 0 0 auto;
}

.woocommerce-checkout #order_review .ppa-co-qty-and-remove .product-quantity {
	font-weight: 500;
	color: rgba(12, 14, 16, 0.78);
}

/* The × remove-X link. Rendered as <a role="button"> so the theme's generic
   button-styling rule (cart-checkout.css:1858) doesn't touch it. */
.woocommerce-checkout #order_review a.ppa-co-remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	background: transparent;
	border: 1px solid rgba(12, 14, 16, 0.25);
	color: rgba(12, 14, 16, 0.55);
	font-family: 'Barlow', sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	cursor: pointer;
	box-shadow: none;
	transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.woocommerce-checkout #order_review a.ppa-co-remove:hover,
.woocommerce-checkout #order_review a.ppa-co-remove:focus-visible {
	background: rgba(178, 34, 52, 0.08);
	border-color: rgba(178, 34, 52, 0.45);
	color: #B22234;
	outline: none;
	transform: scale(1.08);
	text-decoration: none;
}

.woocommerce-checkout #order_review a.ppa-co-remove.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

.woocommerce-checkout #order_review .ppa-co-remove.is-loading {
	opacity: 0.45;
	pointer-events: none;
}

@media (max-width: 640px) {
	.woocommerce-checkout #order_review .ppa-co-thumb {
		flex-basis: 64px !important;
		width: 64px !important;
		height: 64px !important;
	}
}
