/*
 * Native WooCommerce transaction shell only.
 *
 * Replicates the visual and behavioural system of the Next.js public header
 * (see frontend/app/site-v2.tsx and frontend/app/zenauura-v2.css) for the
 * WooCommerce-owned /cart/, /checkout/ and /my-account/ pages.
 */

/* Site-wide shell heights (mirrors the Next frontend CSS variables).
 *
 * Note: no body padding-top is applied here. The transaction header is
 * `position: fixed` (matching the public Next <Header />) and the Woo
 * template renders `.z-inner-hero` first, with its own internal padding so
 * the title sits safely below the fixed header while the navy hero
 * background continues underneath the translucent header. Mirrors the
 * public Next stacking where body has no top padding.
 */
body.z-transaction-shell {
	--zen-announcement-height: 40px;
	--zen-site-header-height: 108px;
	--zen-site-header-height-scrolled: 84px;
	--zen-mobile-announcement-height: 46px;
}

/* ----------------------------------------------------------------------
 * Announcement
 * ---------------------------------------------------------------------- */
.z-transaction-announcement {
	position: fixed;
	top: var(--zen-admin-bar-height, 0px);
	left: 0;
	right: 0;
	z-index: 500;
	height: var(--zen-announcement-height);
	padding: 0 20px;
	background: var(--z-color-announcement);
	color: #f4ecdf;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-size: 13px;
	font-family: var(--z-family-body);
	letter-spacing: 0.025em;
	text-align: center;
}

.z-transaction-announcement b {
	color: #e6bf72;
}

.z-transaction-announcement svg {
	color: var(--z-color-gold);
	width: 15px;
	stroke-width: 2;
}

/* ----------------------------------------------------------------------
 * Header
 * ---------------------------------------------------------------------- */
.z-transaction-header {
	font-size: 17px;
	position: fixed;
	top: calc(var(--zen-admin-bar-height, 0px) + var(--zen-announcement-height));
	left: 0;
	right: 0;
	z-index: 490;
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) 178px;
	align-items: center;
	gap: 28px;
	height: var(--zen-site-header-height);
	padding: 0 clamp(24px, 4vw, 76px);
	background: linear-gradient(180deg, rgba(4, 16, 31, 0.84), rgba(4, 16, 31, 0.22) 76%, transparent);
	border-bottom: 1px solid rgba(255, 255, 255, 0.09);
	color: var(--z-color-ivory);
	transition: 0.35s ease;
}

.z-transaction-header.is-scrolled {
	height: var(--zen-site-header-height-scrolled);
	background: rgba(4, 16, 31, 0.94);
	backdrop-filter: blur(16px);
	box-shadow: var(--z-shadow-header);
	border-color: rgba(210, 175, 105, 0.2);
}

body.z-transaction-shell[data-scroll-down="true"] .z-transaction-header {
	background: rgba(4, 16, 31, 0.94);
}

/* Brand -------------------------------------------------------------- */
.z-transaction-header .z-brand {
	display: flex;
	align-items: center;
}

.z-transaction-header .z-brand img,
.z-transaction-header .z-brand .custom-logo {
	width: 200px;
	max-height: 76px;
	object-fit: contain;
}

/* Desktop primary nav ------------------------------------------------- */
.z-transaction-desktop-nav {
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: clamp(15px, 1.35vw, 27px);
}

.z-transaction-nav-item {
	position: relative;
	display: flex;
	align-items: center;
}

.z-transaction-nav-item > a {
	height: 100%;
	display: flex;
	align-items: center;
	gap: 5px;
	color: #fff;
	font-family: var(--z-family-body);
	font-size: 12.5px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.075em;
	text-transform: uppercase;
	white-space: nowrap;
	position: relative;
}

.z-transaction-nav-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 25px;
	height: 2px;
	background: var(--z-color-gold);
	transition: right 0.3s ease;
}

.z-transaction-nav-item:hover > a::after,
.z-transaction-nav-item:focus-within > a::after,
.z-transaction-nav-item.is-open > a::after {
	right: 0;
}

.z-transaction-nav-item > a svg {
	width: 13px;
	stroke-width: 2;
}

.z-transaction-nav-item.active > a::after {
	right: 0;
}

/* Services dropdown (mirrors .z-dropdown) --------------------------- */
.z-transaction-dropdown {
	position: absolute;
	top: calc(100% - 7px);
	left: -28px;
	width: 330px;
	padding: 20px;
	background: var(--z-color-white);
	color: var(--z-color-ink);
	border: 1px solid rgba(161, 109, 44, 0.2);
	box-shadow: var(--z-shadow-menu);
	opacity: 0;
	visibility: hidden;
	transform: translateY(13px);
	transition: var(--z-transition-ui);
}

.z-transaction-nav-item:hover .z-transaction-dropdown,
.z-transaction-nav-item:focus-within .z-transaction-dropdown,
.z-transaction-nav-item.is-open .z-transaction-dropdown {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.z-transaction-dropdown a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 13px 8px;
	border-bottom: 1px solid var(--z-line);
	font-family: var(--z-family-heading);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	color: var(--z-color-ink);
}

.z-transaction-dropdown a:last-child {
	border-bottom: 0;
}

.z-transaction-dropdown a svg {
	width: 17px;
	stroke-width: 2;
}

.z-transaction-dropdown a:hover,
.z-transaction-mega a:hover {
	color: var(--z-color-copper);
	padding-left: 14px;
}

/* Shop mega menu (mirrors .z-mega) ----------------------------------- */
.z-transaction-mega {
	position: absolute;
	top: calc(100% - 7px);
	left: -28px;
	background: var(--z-color-white);
	color: var(--z-color-ink);
	border: 1px solid rgba(161, 109, 44, 0.2);
	box-shadow: var(--z-shadow-menu);
	opacity: 0;
	visibility: hidden;
	transform: translateY(13px);
	transition: var(--z-transition-ui);
}

.z-transaction-nav-item:hover .z-transaction-mega,
.z-transaction-nav-item:focus-within .z-transaction-mega,
.z-transaction-nav-item.is-open .z-transaction-mega {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.z-transaction-mega {
	width: 690px;
	left: -270px;
	padding: 26px;
	display: grid;
	grid-template-columns: 1fr 1fr 210px;
	gap: 30px;
}

.z-transaction-mega small {
	display: block;
	color: var(--z-color-copper);
	font-size: 10px;
	letter-spacing: 0.16em;
	font-weight: 800;
	margin-bottom: 10px;
}

.z-transaction-mega a {
	display: block;
	padding: 5px 0;
	font-size: 14px;
	transition: var(--z-transition-fast);
	color: var(--z-color-ink);
}

.z-transaction-mega img {
	width: 210px;
	height: 210px;
	object-fit: cover;
}

/* Tools -------------------------------------------------------------- */
.z-transaction-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 13px;
	color: #fff;
}

.z-transaction-icon-button {
	position: relative;
	width: 32px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	padding: 0;
}

.z-transaction-icon-button svg {
	width: 23px;
	height: 23px;
	stroke-width: 1.7;
}

.z-transaction-icon-button:hover,
.z-transaction-icon-button:focus-visible {
	color: var(--z-color-gold-light);
}

.z-transaction-cart b,
.z-transaction-cart-link b,
.z-transaction-wishlist b {
	position: absolute;
	right: -3px;
	top: 2px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--z-color-copper);
	color: #fff;
	font-size: 9px;
	display: grid;
	place-items: center;
}

.z-transaction-cart-link {
	display: none;
}

.z-transaction-menu-button {
	display: none;
}

/* Search overlay (mirrors the current public .z-search-overlay) -------- */
.z-transaction-search-overlay {
	position: fixed;
	inset: 0;
	z-index: 900;
	padding: 45px 7vw;
	background: rgba(4, 16, 31, 0.98);
	color: #fff;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-12px);
	transition: 0.35s;
	overflow: auto;
	font-size: 17px;
	line-height: 1.75;
}

.z-transaction-search-overlay.open {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.z-transaction-search-overlay > button {
	position: absolute;
	right: 5vw;
	top: 45px;
	display: flex;
	align-items: center;
	gap: 8px;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	padding: 0;
}

.z-transaction-search-overlay > button svg {
	width: 24px;
	height: 24px;
	stroke-width: 2;
}

.z-transaction-search-overlay > img {
	width: 220px;
}

.z-transaction-search-overlay > div {
	max-width: 1050px;
	margin: 80px auto;
}

.z-transaction-search-overlay > div > small,
.z-transaction-search-overlay > div > p {
	color: var(--z-color-gold);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.15em;
}

.z-transaction-search-overlay label {
	display: grid;
	grid-template-columns: 45px 1fr;
	align-items: center;
	margin-top: 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}

.z-transaction-search-overlay label svg {
	width: 30px;
	stroke-width: 2;
}

.z-transaction-search-overlay input {
	height: 80px;
	border: 0;
	background: transparent;
	color: #fff;
	outline: none;
	padding: 0;
	font: 500 clamp(26px, 4vw, 55px) var(--z-family-heading);
}

.z-transaction-search-overlay input::placeholder {
	color: rgba(255, 255, 255, 0.35);
}

.z-transaction-search-overlay section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 30px;
}

.z-transaction-search-overlay section a {
	display: grid;
	grid-template-columns: 80px 1fr 30px;
	gap: 15px;
	align-items: center;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: #fff;
}

.z-transaction-search-overlay section img {
	width: 80px;
	height: 80px;
	object-fit: cover;
}

.z-transaction-search-overlay section small {
	color: var(--z-color-gold);
	font-size: 8px;
}

.z-transaction-search-overlay section h3 {
	margin: 2px 0;
	font: 600 24px var(--z-family-heading);
}

.z-transaction-search-overlay section svg {
	width: 19px;
}

/* ----------------------------------------------------------------------
 * Mobile menu drawer
 * ---------------------------------------------------------------------- */
.z-transaction-mobile-scrim {
	display: none;
}

.z-transaction-mobile-menu {
	display: none;
}

@media (max-width: 1320px) {
	.z-transaction-header {
		grid-template-columns: 185px 1fr 160px;
		padding-inline: 25px;
		gap: 18px;
	.z-transaction-tools { gap: 10px; }
	}

	.z-transaction-header .z-brand img,
	.z-transaction-header .z-brand .custom-logo {
		width: 175px;
	}

	.z-transaction-desktop-nav {
		gap: 12px;
	}

	.z-transaction-nav-item > a {
		font-size: 10.3px;
	}
}

/* Compact transaction header: direct desktop-to-mobile switch at 1050px. */
@media (max-width: 1050px) {
	body.z-transaction-shell {
		--zen-site-header-height: 86px;
	}

	.z-transaction-header {
		font-size: 16px;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 16px;
		padding-inline: clamp(18px, 3vw, 32px);
		background: linear-gradient(180deg, rgba(4, 16, 31, 0.92), rgba(4, 16, 31, 0.3));
	}

	.z-transaction-announcement {
		font-size: 11px;
	}

	.z-transaction-search-overlay {
		font-size: 16px;
		line-height: 1.75;
	}

	.z-transaction-header .z-brand img,
	.z-transaction-header .z-brand .custom-logo {
		width: clamp(120px, 12.7vw, 130px);
		max-height: 56px;
	}

	.z-transaction-brand { justify-self: start; }

	.z-transaction-desktop-nav {
		display: none;
	}

	.z-transaction-tools {
		justify-self: end;
		gap: clamp(2px, 0.6vw, 6px);
	}

	.z-transaction-tools > button:first-child,
	.z-transaction-cart-link {
		display: none;
	}

	.z-transaction-icon-button {
		width: 40px;
		height: 42px;
	}

	.z-transaction-icon-button svg {
		width: 22px;
		height: 22px;
	}

	.z-transaction-cart b,
	.z-transaction-cart-link b,
	.z-transaction-wishlist b {
		top: 0;
	}

	.z-transaction-menu-button {
		display: grid;
	}

	.z-transaction-mobile-scrim {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(4, 16, 31, 0.55);
		opacity: 0;
		visibility: hidden;
		transition: var(--z-transition-ui);
		z-index: 880;
	}

	.z-transaction-mobile-scrim.is-active {
		opacity: 1;
		visibility: visible;
	}

	.z-transaction-mobile-menu {
		position: fixed;
		display: block;
		inset: -40px 0 0 auto;
		width: min(520px, 100vw);
		height: 100vh;
		background: var(--z-color-midnight);
		padding: 35px 30px;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform var(--z-transition-menu);
		overflow: auto;
		z-index: 890;
		color: var(--z-color-ivory);
		font-size: 16px;
		line-height: 1.75;
	}

	.z-transaction-mobile-menu.open {
		transform: none;
		visibility: visible;
	}

	.z-transaction-mobile-menu > div {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 25px;
	}

	.z-transaction-header .z-transaction-mobile-menu > div img {
		width: 200px;
		height: auto;
		max-height: none;
	}

	.z-transaction-mobile-menu > div button {
		width: 45px;
		height: 45px;
		border: 1px solid rgba(255, 255, 255, 0.2);
		background: transparent;
		color: inherit;
	}

	.z-transaction-mobile-menu > p {
		margin: 0;
		font-size: 9px;
		line-height: 1.7;
		color: var(--z-color-gold);
		letter-spacing: 0.16em;
	}

	.z-transaction-mobile-menu nav a {
		display: grid;
		grid-template-columns: 30px 1fr 25px;
		align-items: center;
		padding: 15px 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
		color: #fff;
	}

	.z-transaction-mobile-menu nav a small {
		color: var(--z-color-gold);
		font: 600 14px var(--z-family-heading);
	}

	.z-transaction-mobile-menu nav a span {
		font: 600 27px var(--z-family-heading);
	}

	.z-transaction-mobile-menu nav a svg {
		width: 18px;
		height: 18px;
		stroke-width: 2;
	}

	.z-transaction-mobile-search {
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		min-height: 48px;
		margin-top: 10px;
		padding: 0;
		border: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.14);
		background: transparent;
		color: #fff;
		font: 700 12px/1.2 var(--z-family-body);
		letter-spacing: 0.08em;
		text-align: left;
		text-transform: uppercase;
		cursor: pointer;
	}

	.z-transaction-mobile-search svg { width: 20px; height: 20px; }

	.z-transaction-mobile-menu nav .z-transaction-mobile-path {
		margin-top: 25px;
		min-height: 55px;
		padding: 0;
		border: 0;
		background: var(--z-color-copper);
		color: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 18px;
		font-family: var(--z-family-body);
		font-size: 11px;
		font-weight: 800;
		text-transform: uppercase;
	}
}

@media (max-width: 680px) {
	body.z-transaction-shell {
		--zen-announcement-height: var(--zen-mobile-announcement-height);
	}

	body.z-transaction-shell {
		--zen-site-header-height: 76px;
		--zen-site-header-height-scrolled: 70px;
	}

	.z-transaction-header {
		font-size: 15px;
		gap: 4px;
		padding-inline: 10px;
	}

	.z-transaction-mobile-menu {
		font-size: 15px;
		line-height: 1.7;
	}

	.z-transaction-header .z-brand img,
	.z-transaction-header .z-brand .custom-logo {
		width: clamp(105px, 31vw, 115px);
		max-height: 76px;
	}

	.z-transaction-tools {
		/* Mirrors frontend/app/header-responsive.css at <=680px. */
		gap: 4px;
	}

	.z-transaction-icon-button {
		width: 38px;
		height: 40px;
	}

	.z-transaction-icon-button svg {
		width: 22px;
	}

	.z-transaction-announcement {
		padding: 5px 12px;
		text-align: center;
		font-size: 9px;
		line-height: 1.4;
	}

	.z-transaction-announcement svg {
		display: none;
	}

	.z-transaction-search-overlay {
		font-size: 15px;
		line-height: 1.7;
		padding: 30px 20px;
	}

	.z-transaction-search-overlay > img {
		width: 175px;
	}

	.z-transaction-search-overlay > div {
		margin-top: 80px;
	}

	.z-transaction-search-overlay input {
		height: 65px;
		font-size: 27px;
	}

	.z-transaction-search-overlay section {
		grid-template-columns: 1fr;
	}
}

/* ----------------------------------------------------------------------
 * Lock body scroll while the mobile drawer is open.
 * ---------------------------------------------------------------------- */
body.z-transaction-shell.z-transaction-drawer-open,
body.z-transaction-shell.z-transaction-search-open {
	overflow: hidden;
}

body.z-transaction-shell.z-transaction-drawer-open .z-transaction-mobile-menu,
body.z-transaction-shell.z-transaction-drawer-open .z-transaction-mobile-menu * {
	pointer-events: auto;
}

@media (max-width: 600px) {
	body.admin-bar #wpadminbar {
		position: fixed;
	}
}

@media (max-width: 1050px) {
	body.admin-bar .z-transaction-mobile-menu {
		top: var(--zen-admin-bar-height, 46px);
		bottom: auto;
		height: calc(100vh - var(--zen-admin-bar-height, 46px));
	}
}

/* ----------------------------------------------------------------------
 * Native WooCommerce checkout redesign.
 *
 * Renderer: classic WooCommerce shortcode checkout (no Block checkout,
 * no FunnelKit checkout). The markup is rendered by
 * wp-content/plugins/woocommerce/templates/checkout/{form-checkout.php,
 * review-order.php, form-coupon.php, payment.php}.
 *
 * Scoped to body.z-transaction-shell.woocommerce-checkout so cart and
 * my-account are NOT touched.
 *
 * Layout targets (>=1100px):
 *   - overall content max-width  ~1260px, centered
 *   - left (form)  ~62-64%, right (order summary) ~36-38%
 *   - gap ~50px
 *   - hero depth ~190px (matches shared transaction hero system)
 * ----------------------------------------------------------------------*/
body.z-transaction-shell.woocommerce-checkout,
body.z-transaction-shell.woocommerce-checkout .z-main,
body.z-transaction-shell.woocommerce-checkout .z-woo-content {
	background: var(--z-ivory);
}

/* Checkout hero — keep the existing dark navy treatment, just reduce
 * vertical depth and let the form appear sooner. The overlay
 * architecture is preserved (announcement + fixed header sit on top of
 * the hero the same way the public Next header does). */
body.z-transaction-shell.woocommerce-checkout .z-inner-hero {
	min-height: 0;
	padding: calc(var(--zen-announcement-height, 40px) + var(--zen-site-header-height, 108px) + 36px) var(--z-section-x) 28px;
	align-items: flex-end;
}

body.z-transaction-shell.woocommerce-checkout .z-inner-hero > img {
	position: absolute;
	inset: 0;
	height: 100%;
}

body.z-transaction-shell.woocommerce-checkout .z-inner-hero > div:last-child {
	max-width: var(--z-content-heading);
}

body.z-transaction-shell.woocommerce-checkout .z-inner-hero h1 {
	margin: 10px 0 0;
	font-size: clamp(2.25rem, 1.4rem + 2.6vw, 3.5rem);
	line-height: 1.04;
}

body.z-transaction-shell.woocommerce-checkout .z-inner-hero p:not(.z-eyebrow) {
	max-width: 640px;
	font-size: var(--z-font-body);
	margin-top: 8px;
}

/* Two-column layout for the classic [woocommerce_checkout] form.
 * The deterministic markup is:
 *   form.checkout.woocommerce-checkout
 *     > .z-checkout-layout
 *       > .z-checkout-customer (col2-set + billing/shipping/additional)
 *       > .z-checkout-summary  (#order_review_heading + #order_review)
 * The outer .z-checkout-layout owns the 64/36 split. */
body.z-transaction-shell.woocommerce-checkout .z-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 64fr) minmax(380px, 36fr);
	gap: 56px;
	align-items: start;
}

body.z-transaction-shell.woocommerce-checkout .z-checkout-customer,
body.z-transaction-shell.woocommerce-checkout .z-checkout-summary {
	float: none;
	width: auto;
	max-width: none;
	clear: none;
	min-width: 0;
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-checkout .z-checkout-customer { grid-column: 1; }

body.z-transaction-shell.woocommerce-checkout .z-checkout-summary {
	grid-column: 2;
	position: sticky;
	top: calc(var(--zen-admin-bar-height, 0px) + var(--zen-announcement-height) + var(--zen-site-header-height) + 16px);
	align-self: start;

	/* Viewport-derived max so the sticky card never extends below the footer.
	   100dvh is preferred (tall: 100vh fallback for older UAs). The sticky
	   top offset is subtracted from the same viewport height so the card's
	   visible window equals the scrollable viewport minus header + 32px. */
	max-height: calc(100dvh - var(--zen-admin-bar-height, 0px) - var(--zen-announcement-height) - var(--zen-site-header-height) - 32px);
	max-height: calc(100vh - var(--zen-admin-bar-height, 0px) - var(--zen-announcement-height) - var(--zen-site-header-height) - 32px);

	/* Flex column turns #order_review into a definite-height scroll owner:
	   the heading stays pinned while the table/totals/payment/terms/Place
	   Order scroll internally inside the card. */
	display: flex;
	flex-direction: column;
	min-height: 0;

	background: var(--z-white);
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	box-shadow: 0 14px 32px rgba(7, 26, 56, 0.06);
}

body.z-transaction-shell.woocommerce-checkout .col2-set .col-1,
body.z-transaction-shell.woocommerce-checkout .col2-set .col-2 {
	float: none;
	width: 100%;
	padding: 0;
}

body.z-transaction-shell.woocommerce-checkout #order_review_heading {
	position: static;
	margin: 0;
	padding: 20px 22px 14px;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--z-line);
	border-radius: 0;
	box-shadow: none;
	font-family: var(--z-family-heading);
	font-size: 26px;
	font-weight: 600;
	line-height: 1.1;
	letter-spacing: var(--z-track-section);
	color: var(--z-color-ink);
}

body.z-transaction-shell.woocommerce-checkout #order_review {
	/* Internal scroll owner. The parent .z-checkout-summary is now a flex
	   column, so this child gets a definite height (flex: 1 on a flex
	   parent with a bounded max-height) and can scroll its own content.
	   The sticky element itself is NOT the scroll container, which keeps
	   sticky positioning intact. */
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	margin: 0;
	padding: 8px 22px 22px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* Section headings inside the form (Contact / Shipping / Payment). */
body.z-transaction-shell.woocommerce-checkout h3,
body.z-transaction-shell.woocommerce-checkout .woocommerce-checkout h3 {
	font-family: var(--z-family-heading);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: var(--z-track-section);
	color: var(--z-color-ink);
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	text-transform: none;
}

body.z-transaction-shell.woocommerce-checkout #customer_details {
	display: grid;
	gap: 26px;
	margin-bottom: 28px;
}

body.z-transaction-shell.woocommerce-checkout #customer_details .col-1,
body.z-transaction-shell.woocommerce-checkout #customer_details .col-2 {
	padding: 24px 24px 22px;
	background: var(--z-white);
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	box-shadow: 0 14px 32px rgba(7, 26, 56, 0.04);
}

body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
body.z-transaction-shell.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 16px;
}

body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
body.z-transaction-shell.woocommerce-checkout .woocommerce-additional-fields__field-wrapper .form-row-wide,
body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last),
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row:not(.form-row-first):not(.form-row-last) {
	grid-column: 1 / -1;
}

body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last {
	float: none;
	width: 100%;
}

body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first { grid-column: 1; }
body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last { grid-column: 2; }

/* Inputs / selects / textareas — generous, calm. */
body.z-transaction-shell.woocommerce-checkout .form-row label,
body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields label,
body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields label {
	display: block;
	margin: 0 0 6px;
	color: var(--z-color-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* Ensure the required asterisk is visible in the transaction checkout.
   WooCommerce outputs <span class="required">*</span> when the field is required.
   The transaction scope targets it explicitly; do not affect normal pages. */
body.z-transaction-shell.woocommerce-checkout .form-row .required,
body.z-transaction-shell.woocommerce-checkout .required {
	color: var(--z-color-error);
	font-weight: 800;
	text-decoration: none;
	display: inline;
}

body.z-transaction-shell.woocommerce-checkout .form-row input.input-text,
body.z-transaction-shell.woocommerce-checkout .form-row textarea,
body.z-transaction-shell.woocommerce-checkout .form-row select,
body.z-transaction-shell.woocommerce-checkout #billing_email_field .input-text,
body.z-transaction-shell.woocommerce-checkout #billing_phone_field .input-text {
	width: 100%;
	min-height: 54px;
	padding: 0 16px;
	background: var(--z-white);
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-compact);
	color: var(--z-color-ink);
	font-family: var(--z-family-body);
	font-size: 15px;
	line-height: 1.4;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.z-transaction-shell.woocommerce-checkout .form-row textarea {
	min-height: 110px;
	padding: 14px 16px;
	resize: vertical;
}

body.z-transaction-shell.woocommerce-checkout .form-row select {
	background-image:
		linear-gradient(45deg, transparent 50%, var(--z-color-copper) 50%),
		linear-gradient(135deg, var(--z-color-copper) 50%, transparent 50%);
	background-position: calc(100% - 22px) 50%, calc(100% - 14px) 50%;
	background-size: 8px 8px, 8px 8px;
	background-repeat: no-repeat;
	-webkit-appearance: none;
	appearance: none;
	padding-right: 38px;
}

body.z-transaction-shell.woocommerce-checkout .form-row input.input-text:focus,
body.z-transaction-shell.woocommerce-checkout .form-row textarea:focus,
body.z-transaction-shell.woocommerce-checkout .form-row select:focus {
	border-color: var(--z-color-copper);
	box-shadow: 0 0 0 3px rgba(161, 109, 44, 0.18);
	outline: none;
}

body.z-transaction-shell.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
body.z-transaction-shell.woocommerce-checkout .form-row.woocommerce-invalid select,
body.z-transaction-shell.woocommerce-checkout .form-row.woocommerce-invalid textarea {
	border-color: var(--z-color-error);
}

body.z-transaction-shell.woocommerce-checkout .form-row .woocommerce-error,
body.z-transaction-shell.woocommerce-checkout .form-row.woocommerce-invalid .required {
	color: var(--z-color-error);
}

body.z-transaction-shell.woocommerce-checkout .woocommerce-Input[type="checkbox"],
body.z-transaction-shell.woocommerce-checkout .woocommerce-Input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 10px;
	accent-color: var(--z-color-copper);
}

body.z-transaction-shell.woocommerce-checkout .form-row label.checkbox,
body.z-transaction-shell.woocommerce-checkout .form-row.woocommerce-form-row--wide.create-account {
	display: flex;
	align-items: center;
	gap: 0;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--z-color-ink);
}

/* Ship-to-different-address toggle gets breathing room. */
body.z-transaction-shell.woocommerce-checkout #ship-to-different-address {
	font-size: 14px;
	font-weight: 600;
	margin: 0 0 14px;
	color: var(--z-color-ink);
}

/* Coupon + additional fields */
body.z-transaction-shell.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.z-transaction-shell.woocommerce-checkout .woocommerce-form-login-toggle {
	margin: 0 0 14px;
}

body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon {
	padding: 16px 18px;
	background: var(--z-color-cream);
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	display: flex;
	flex-wrap: wrap;
	gap: 10px 12px;
}

body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon .form-row {
	flex: 1 1 240px;
	min-width: 220px;
}

body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon input.input-text {
	min-height: 48px;
}

body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon button.button {
	min-height: 48px;
	padding: 0 22px;
	background: var(--z-color-copper);
	color: #fff;
	border: 0;
	border-radius: var(--z-radius-compact);
	font-family: var(--z-family-body);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s ease;
}

body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon button.button:hover {
	background: var(--z-color-copper-hover);
}

/* Payment container — only enough styling to feel native to the design. */
body.z-transaction-shell.woocommerce-checkout #payment.woocommerce-checkout-payment {
	margin: 0;
	padding: 24px;
	background: var(--z-white);
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	box-shadow: 0 14px 32px rgba(7, 26, 56, 0.04);
}

body.z-transaction-shell.woocommerce-checkout #payment .payment_methods {
	padding: 0;
	margin: 0 0 14px;
	list-style: none;
	border: 0;
}

body.z-transaction-shell.woocommerce-checkout #payment .payment_methods > li {
	padding: 12px 0;
	border-bottom: 1px solid var(--z-line);
}

body.z-transaction-shell.woocommerce-checkout #payment .payment_methods > li:last-child {
	border-bottom: 0;
}

body.z-transaction-shell.woocommerce-checkout #payment .payment_methods label {
	font-weight: 600;
	font-size: 15px;
	color: var(--z-color-ink);
}

body.z-transaction-shell.woocommerce-checkout #payment .payment_box {
	padding: 10px 14px 12px;
	margin: 8px 0 0;
	background: var(--z-color-cream);
	border-radius: var(--z-radius-compact);
	font-size: 14px;
	color: var(--z-color-ink);
	line-height: 1.6;
}

/* Hide the PayU gateway description text in the payment box.
   The PayU gateway ID is 'payubiz', which renders as
   #payment .payment_method_payubiz .payment_box.
   The title label and logo (rendered by the gateway itself)
   are NOT part of .payment_box, so they remain visible. */
body.z-transaction-shell.woocommerce-checkout #payment .payment_method_payubiz .payment_box {
	display: none;
}

/* Hide WooCommerce checkout privacy paragraph only.
   Do NOT hide .woocommerce-terms-and-conditions (the T&C checkbox/label) —
   the privacy text is a separate sibling inside .woocommerce-terms-and-conditions-wrapper,
   rendered as <div class="woocommerce-privacy-policy-text">. */
body.z-transaction-shell.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
	display: none;
}

/* Place order button — copper/gold, full-width, premium height. */
body.z-transaction-shell.woocommerce-checkout #payment .place-order {
	padding: 18px 0 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: stretch;
}

body.z-transaction-shell.woocommerce-checkout #payment .place-order .woocommerce-terms-and-conditions-wrapper {
	margin: 0;
}

body.z-transaction-shell.woocommerce-checkout #payment .place-order #place_order,
body.z-transaction-shell.woocommerce-checkout #payment .place-order button[type="submit"] {
	width: 100%;
	min-height: 56px;
	padding: 0 28px;
	background: var(--z-color-copper);
	color: #fff;
	border: 0;
	border-radius: var(--z-radius-soft);
	font-family: var(--z-family-body);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: var(--z-shadow-button);
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

body.z-transaction-shell.woocommerce-checkout #payment .place-order #place_order:hover,
body.z-transaction-shell.woocommerce-checkout #payment .place-order button[type="submit"]:hover {
	background: var(--z-color-copper-hover);
	transform: translateY(-1px);
	box-shadow: 0 18px 36px rgba(87, 52, 14, 0.28);
}

body.z-transaction-shell.woocommerce-checkout #payment .place-order #place_order:focus-visible,
body.z-transaction-shell.woocommerce-checkout #payment .place-order button[type="submit"]:focus-visible {
	outline: 2px solid var(--z-color-gold-light);
	outline-offset: 3px;
}

body.z-transaction-shell.woocommerce-checkout #payment .place-order #place_order:disabled,
body.z-transaction-shell.woocommerce-checkout #payment .place-order button[type="submit"]:disabled {
	opacity: 0.55;
	cursor: not-allowed;
	transform: none;
}

/* Order summary table — clean, scannable. */
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table thead {
	display: none;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot {
	display: block;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 10px 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--z-line);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:last-child,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr:last-child {
	border-bottom: 0;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr td,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr td {
	display: block;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	font-family: var(--z-family-body);
	font-size: 14px;
	color: var(--z-color-ink);
	line-height: 1.45;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	min-width: 0;
	font-size: 0;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .z-checkout-product-media,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name img,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .attachment-woocommerce_thumbnail {
	grid-column: 1;
	grid-row: 1 / span 3;
	display: block;
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--z-radius-compact);
	background: var(--z-color-cream);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > a,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .product-name-text,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > strong,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .z-checkout-product-title {
	grid-column: 2;
	min-width: 0;
	font-family: var(--z-family-heading);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--z-color-ink);
	letter-spacing: var(--z-track-section);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .product-quantity {
	grid-column: 2;
	display: block;
	margin-top: 6px;
	color: var(--z-color-muted);
	font-family: var(--z-family-body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .product-quantity::before {
	content: "Qty ";
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--z-color-ink);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .variation,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .wc-item-meta {
	grid-column: 2;
	margin-top: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	list-style: none;
	font-size: 12px;
	color: var(--z-color-muted);
	line-height: 1.55;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .variation dt,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .wc-item-meta .wc-item-meta-label {
	display: inline;
	font-weight: 700;
	color: var(--z-color-ink);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 11px;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .variation dd,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .wc-item-meta li {
	display: inline;
	margin: 0;
	padding: 0;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .variation dd::after,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .wc-item-meta li + li::before {
	content: " · ";
	color: var(--z-color-muted);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .variation dd:last-child::after,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name .wc-item-meta li:last-child::before {
	content: "";
}

/* Structured description elements are suppressed as a defensive fallback.
 * Raw prose is removed before rendering by the checkout-only Woo filter in
 * inc/woocommerce.php; CSS cannot hide a text node selectively. */
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > .product-description,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > .woocommerce-product-details__short-description,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > p,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > ul:not(.wc-item-meta):not(.variation),
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > .star-rating,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name > .category {
	display: none;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-total {
	text-align: right;
	font-weight: 600;
	color: var(--z-color-ink);
	font-size: 15px;
	white-space: nowrap;
}

/* Totals — clear hierarchy. */
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr th {
	color: var(--z-color-muted);
	font-weight: 600;
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.cart-subtotal th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.cart-discoupon th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.cart-discount th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.shipping th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.fee th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.tax-rate th,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.tax-total th {
	font-size: 14px;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr td {
	text-align: right;
	font-size: 14px;
	color: var(--z-color-ink);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total {
	margin-top: 6px;
	padding: 18px 16px;
	border-top: 1px solid var(--z-line);
	border-bottom: 0;
	background: var(--z-color-cream);
	border-radius: var(--z-radius-soft);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 14px;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total th {
	font-family: var(--z-family-heading);
	font-size: 18px;
	font-weight: 600;
	color: var(--z-color-ink);
	text-transform: none;
	letter-spacing: var(--z-track-section);
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td {
	font-family: var(--z-family-heading);
	font-size: 24px;
	font-weight: 700;
	color: var(--z-color-copper-dark);
	white-space: nowrap;
}

body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td .amount,
body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot tr.order-total td strong {
	color: inherit;
	font-weight: inherit;
}

/* Wider viewports: keep the two-column layout. */
@media (min-width: 1100px) {
	body.z-transaction-shell.woocommerce-checkout .z-checkout-layout {
		grid-template-columns: minmax(0, 64fr) minmax(380px, 36fr);
		gap: 56px;
	}
}

/* Tablet — narrower grid, single sticky summary. */
@media (max-width: 1050px) and (min-width: 900px) {
	body.z-transaction-shell.woocommerce-checkout .z-checkout-layout {
		grid-template-columns: minmax(0, 55fr) minmax(320px, 45fr);
		gap: 28px;
	}
}

/* Mobile — single column, summary becomes a top block. */
@media (max-width: 899px) {
	body.z-transaction-shell.woocommerce-checkout .z-woo-content {
		padding: 24px 18px 72px;
	}

	body.z-transaction-shell.woocommerce-checkout .z-inner-hero {
		padding: calc(var(--zen-announcement-height, 40px) + var(--zen-site-header-height, 108px) + 24px) 18px 22px;
	}

	body.z-transaction-shell.woocommerce-checkout .z-checkout-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body.z-transaction-shell.woocommerce-checkout .z-checkout-summary {
		grid-column: 1;
		position: static;
		top: auto;
		max-height: none;
		display: block;
		flex-direction: column;
		min-height: 0;
		overflow: visible;
	}

	body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,
	body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,
	body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,
	body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last {
		grid-column: 1;
	}

	body.z-transaction-shell.woocommerce-checkout #order_review_heading,
	body.z-transaction-shell.woocommerce-checkout #order_review {
		grid-column: 1;
		position: static;
	}

	body.z-transaction-shell.woocommerce-checkout #order_review_heading,
	body.z-transaction-shell.woocommerce-checkout #order_review,
	body.z-transaction-shell.woocommerce-checkout .col2-set {
		order: initial;
	}

	body.z-transaction-shell.woocommerce-checkout #order_review {
		flex: 1 1 auto;
		min-height: 0;
		max-height: none;
		min-width: 0;
		overflow: visible;
		overscroll-behavior: auto;
		scrollbar-gutter: normal;
		margin-bottom: 24px;
		margin-top: 0;
		padding: 8px 22px 22px;
	}

	body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon input.input-text,
	body.z-transaction-shell.woocommerce-checkout .checkout_coupon.woocommerce-form-coupon button.button {
		min-height: 46px;
	}

	body.z-transaction-shell.woocommerce-checkout #payment .place-order #place_order,
	body.z-transaction-shell.woocommerce-checkout #payment .place-order button[type="submit"] {
		min-height: 48px;
	}

	body.z-transaction-shell.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
	body.z-transaction-shell.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper,
	body.z-transaction-shell.woocommerce-checkout .woocommerce-additional-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name {
		grid-template-columns: 72px minmax(0, 1fr);
	}

	body.z-transaction-shell.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr .product-name img {
		width: 72px;
		height: 72px;
	}
}

@media (max-width: 600px) {
	body.z-transaction-shell.woocommerce-checkout .z-woo-content {
		padding: 18px 14px 60px;
	}

	body.z-transaction-shell.woocommerce-checkout .z-inner-hero {
		padding: calc(var(--zen-announcement-height, 46px) + var(--zen-site-header-height, 76px) + 18px) 14px 18px;
	}

	body.z-transaction-shell.woocommerce-checkout .z-inner-hero h1 {
		font-size: clamp(1.75rem, 1.2rem + 3.2vw, 2.25rem);
	}

	body.z-transaction-shell.woocommerce-checkout #customer_details .col-1,
	body.z-transaction-shell.woocommerce-checkout #customer_details .col-2,
	body.z-transaction-shell.woocommerce-checkout #payment.woocommerce-checkout-payment,
	body.z-transaction-shell.woocommerce-checkout #order_review {
		padding: 18px 16px;
	}

	body.z-transaction-shell.woocommerce-checkout .form-row input.input-text,
	body.z-transaction-shell.woocommerce-checkout .form-row textarea,
	body.z-transaction-shell.woocommerce-checkout .form-row select {
		min-height: 50px;
		font-size: 16px;
	}

	body.z-transaction-shell.woocommerce-checkout #payment .place-order #place_order,
	body.z-transaction-shell.woocommerce-checkout #payment .place-order button[type="submit"] {
		min-height: 48px;
	}
}

/* Unified commerce body: compact cart/checkout intro and progress. */
body.z-transaction-shell.woocommerce-cart .z-inner-hero.z-commerce-intro,
body.z-transaction-shell.woocommerce-checkout .z-inner-hero.z-commerce-intro {
	min-height: 0;
	padding: calc(var(--zen-announcement-height, 40px) + var(--zen-site-header-height, 108px) + 30px) var(--z-section-x) 30px;
	align-items: flex-end;
}

body.z-transaction-shell.woocommerce-cart .z-inner-hero.z-commerce-intro > div:last-child,
body.z-transaction-shell.woocommerce-checkout .z-inner-hero.z-commerce-intro > div:last-child {
	width: 100%;
	max-width: 1260px;
}

body.z-transaction-shell.woocommerce-cart .z-inner-hero.z-commerce-intro h1,
body.z-transaction-shell.woocommerce-checkout .z-inner-hero.z-commerce-intro h1 {
	margin: 8px 0 18px;
	font-size: clamp(2rem, 1.35rem + 2vw, 3rem);
	line-height: 1;
}

body.z-transaction-shell.woocommerce-cart .z-commerce-progress,
body.z-transaction-shell.woocommerce-checkout .z-commerce-progress {
	display: grid;
	grid-template-columns: auto minmax(42px, 1fr) auto minmax(42px, 1fr) auto;
	align-items: center;
	gap: 12px;
	max-width: 560px;
	margin: 0;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.13em;
	line-height: 1;
	text-transform: uppercase;
}

body.z-transaction-shell.woocommerce-cart .z-commerce-progress a,
body.z-transaction-shell.woocommerce-checkout .z-commerce-progress a,
body.z-transaction-shell.woocommerce-cart .z-commerce-progress > span:last-child,
body.z-transaction-shell.woocommerce-checkout .z-commerce-progress > span:last-child {
	color: rgba(255, 255, 255, 0.58);
	text-decoration: none;
	white-space: nowrap;
}

body.z-transaction-shell.woocommerce-cart .z-commerce-progress a.is-active,
body.z-transaction-shell.woocommerce-checkout .z-commerce-progress a.is-active {
	color: var(--z-color-gold-light);
}

body.z-transaction-shell.woocommerce-cart .z-commerce-progress > span:not(:last-child),
body.z-transaction-shell.woocommerce-checkout .z-commerce-progress > span:not(:last-child) {
	display: block;
	height: 1px;
	background: rgba(255, 255, 255, 0.35);
}

body.z-transaction-shell.woocommerce-cart .z-woo-content,
body.z-transaction-shell.woocommerce-checkout .z-woo-content,
body.z-transaction-shell.woocommerce-account .z-woo-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 38px var(--z-section-x) 96px;
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce,
body.z-transaction-shell.woocommerce-checkout .z-woo-content > .woocommerce,
body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce {
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
}

/* Cart layout: native cart form and collaterals remain authoritative.
 * The classic shortcode's .woocommerce wrapper contains the form and
 * collaterals as siblings, so that wrapper owns the 70/30 split. */
body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 70fr) minmax(320px, 30fr);
	gap: 52px;
	align-items: start;
}

body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce > .woocommerce-cart-form,
body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce > .cart-collaterals {
	float: none;
	width: auto;
	max-width: none;
	clear: none;
	min-width: 0;
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce > .cart-collaterals { grid-column: 2; }

body.z-transaction-shell.woocommerce-checkout .z-woo-content > .woocommerce > form.woocommerce-checkout {
	width: 100%;
}

body.z-transaction-shell.woocommerce-cart .cart-collaterals .cart_totals,
body.z-transaction-shell.woocommerce-cart .cart-collaterals .cross-sells {
	float: none;
	width: 100%;
	max-width: none;
}

body.z-transaction-shell.woocommerce-cart table.cart {
	width: 100%;
	table-layout: fixed;
	margin: 0;
	border: 1px solid var(--z-line);
	border-spacing: 0;
	background: var(--z-white);
}

body.z-transaction-shell.woocommerce-cart table.cart th,
body.z-transaction-shell.woocommerce-cart table.cart td {
	padding: 18px 12px;
	border: 0;
	border-bottom: 1px solid var(--z-line);
	vertical-align: middle;
}

body.z-transaction-shell.woocommerce-cart table.cart thead th {
	padding-top: 16px;
	padding-bottom: 16px;
	color: var(--z-color-muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-align: left;
	text-transform: uppercase;
}

body.z-transaction-shell.woocommerce-cart table.cart th.product-remove,
body.z-transaction-shell.woocommerce-cart table.cart td.product-remove { width: 48px; padding-right: 0; padding-left: 14px; }
body.z-transaction-shell.woocommerce-cart table.cart th.product-thumbnail,
body.z-transaction-shell.woocommerce-cart table.cart td.product-thumbnail { width: 100px; }
body.z-transaction-shell.woocommerce-cart table.cart th.product-price,
body.z-transaction-shell.woocommerce-cart table.cart td.product-price,
body.z-transaction-shell.woocommerce-cart table.cart th.product-subtotal,
body.z-transaction-shell.woocommerce-cart table.cart td.product-subtotal { width: 100px; }
body.z-transaction-shell.woocommerce-cart table.cart th.product-quantity,
body.z-transaction-shell.woocommerce-cart table.cart td.product-quantity { width: 142px; }

body.z-transaction-shell.woocommerce-cart table.cart td.product-thumbnail img {
	display: block;
	width: 92px;
	height: 92px;
	object-fit: cover;
	border-radius: var(--z-radius-compact);
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-name {
	min-width: 0;
	font-family: var(--z-family-heading);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.25;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-name .z-cart-product-title,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name a {
	color: var(--z-color-ink);
	text-decoration: none;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-name .z-cart-product-title:hover,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name a:hover {
	color: var(--z-color-copper-dark);
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-name .variation,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name .wc-item-meta {
	margin: 7px 0 0;
	padding: 0;
	color: var(--z-color-muted);
	font-family: var(--z-family-body);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-name .variation dt,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name .variation dd,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name .wc-item-meta li {
	display: inline;
	margin: 0;
	padding: 0;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-name > p:not(.backorder_notification),
body.z-transaction-shell.woocommerce-cart table.cart td.product-name > .product-description,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name > .woocommerce-product-details__short-description,
body.z-transaction-shell.woocommerce-cart table.cart td.product-name > ul:not(.wc-item-meta):not(.variation) { display: none; }

body.z-transaction-shell.woocommerce-cart table.cart td.product-price,
body.z-transaction-shell.woocommerce-cart table.cart td.product-subtotal {
	color: var(--z-color-ink);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

body.z-transaction-shell.woocommerce-cart .z-cart-quantity-control {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	border: 1px solid rgba(7, 26, 56, 0.24);
	border-radius: var(--z-radius-compact);
	background: var(--z-white);
	overflow: hidden;
}

body.z-transaction-shell.woocommerce-cart .z-cart-quantity-control .quantity {
	display: flex;
	align-items: center;
	min-height: 40px;
	margin: 0;
}

body.z-transaction-shell.woocommerce-cart .z-cart-quantity-step {
	display: inline-grid;
	place-items: center;
	width: 34px;
	min-width: 34px;
	height: 40px;
	padding: 0;
	border: 0;
	background: var(--z-color-cream);
	color: var(--z-color-midnight);
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.z-transaction-shell.woocommerce-cart .z-cart-quantity-step--decrease { border-right: 1px solid var(--z-line); }
body.z-transaction-shell.woocommerce-cart .z-cart-quantity-step--increase { border-left: 1px solid var(--z-line); }

body.z-transaction-shell.woocommerce-cart .z-cart-quantity-step:hover {
	background: var(--z-color-copper);
	color: #fff;
}

body.z-transaction-shell.woocommerce-cart .z-cart-quantity-step:focus-visible {
	position: relative;
	z-index: 1;
	outline: 2px solid var(--z-color-copper);
	outline-offset: -2px;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-quantity .qty {
	width: 48px;
	min-height: 40px;
	padding: 0 6px;
	border: 0;
	appearance: textfield;
	text-align: center;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-quantity .qty::-webkit-inner-spin-button,
body.z-transaction-shell.woocommerce-cart table.cart td.product-quantity .qty::-webkit-outer-spin-button { margin: 0; appearance: none; }

body.z-transaction-shell.woocommerce-cart table.cart td.product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 32px;
	min-width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--z-color-midnight);
	color: #fff !important;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-remove a.remove:hover {
	background: var(--z-color-copper);
	color: #fff !important;
	transform: scale(1.06);
}

body.z-transaction-shell.woocommerce-cart table.cart td.product-remove a.remove:focus-visible {
	outline: 2px solid var(--z-color-copper);
	outline-offset: 3px;
}

body.z-transaction-shell.woocommerce-cart table.cart tr:last-child td { border-bottom: 0; }
body.z-transaction-shell.woocommerce-cart table.cart td.actions { padding: 18px; text-align: right; }
body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon { display: inline-flex; float: left; gap: 8px; }
body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon input.input-text {
	width: 180px;
	min-height: 46px;
	padding: 0 12px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-compact);
}

body.z-transaction-shell.woocommerce-cart table.cart td.actions .button,
body.z-transaction-shell.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 48px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--z-radius-compact);
	background: var(--z-color-copper);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.z-transaction-shell.woocommerce-cart .cart_totals {
	position: sticky;
	top: calc(var(--zen-admin-bar-height, 0px) + var(--zen-announcement-height) + var(--zen-site-header-height) + 20px);
	padding: 24px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-white);
	box-shadow: 0 14px 32px rgba(7, 26, 56, 0.06);
}

body.z-transaction-shell.woocommerce-cart .cart_totals h2 {
	margin: 0 0 18px;
	font-family: var(--z-family-heading);
	font-size: 24px;
	font-weight: 600;
}

body.z-transaction-shell.woocommerce-cart .cart_totals table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

body.z-transaction-shell.woocommerce-cart .cart_totals th,
body.z-transaction-shell.woocommerce-cart .cart_totals td {
	padding: 11px 0;
	border: 0;
	border-bottom: 1px solid var(--z-line);
	font-size: 14px;
	text-align: left;
}
body.z-transaction-shell.woocommerce-cart .cart_totals td { color: var(--z-color-ink); text-align: right; }
body.z-transaction-shell.woocommerce-cart .cart_totals tr.order-total th,
body.z-transaction-shell.woocommerce-cart .cart_totals tr.order-total td {
	padding-top: 18px;
	border-bottom: 0;
	font-family: var(--z-family-heading);
	font-size: 20px;
	font-weight: 700;
}
body.z-transaction-shell.woocommerce-cart .wc-proceed-to-checkout { margin-top: 20px; }
body.z-transaction-shell.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 56px;
	margin: 0;
	text-align: center;
	text-decoration: none;
}

@media (max-width: 1050px) and (min-width: 900px) {
body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr) minmax(300px, 320px);
		gap: 24px;
	}
	body.z-transaction-shell.woocommerce-cart table.cart th.product-thumbnail,
	body.z-transaction-shell.woocommerce-cart table.cart td.product-thumbnail { width: 78px; }
	body.z-transaction-shell.woocommerce-cart table.cart th.product-price,
	body.z-transaction-shell.woocommerce-cart table.cart td.product-price,
	body.z-transaction-shell.woocommerce-cart table.cart th.product-subtotal,
	body.z-transaction-shell.woocommerce-cart table.cart td.product-subtotal { width: 76px; }
	body.z-transaction-shell.woocommerce-cart table.cart th.product-quantity,
	body.z-transaction-shell.woocommerce-cart table.cart td.product-quantity { width: 120px; }
	body.z-transaction-shell.woocommerce-cart table.cart td.product-thumbnail img { width: 70px; height: 70px; }
}

@media (max-width: 899px) {
	body.z-transaction-shell.woocommerce-cart .z-inner-hero.z-commerce-intro,
	body.z-transaction-shell.woocommerce-checkout .z-inner-hero.z-commerce-intro {
		padding: calc(var(--zen-announcement-height, 40px) + var(--zen-site-header-height, 108px) + 22px) 18px 24px;
	}
	body.z-transaction-shell.woocommerce-cart .z-woo-content,
	body.z-transaction-shell.woocommerce-checkout .z-woo-content { padding: 24px 18px 72px; }
	body.z-transaction-shell.woocommerce-cart .z-commerce-progress,
	body.z-transaction-shell.woocommerce-checkout .z-commerce-progress { width: 100%; gap: 8px; font-size: 10px; }
	body.z-transaction-shell.woocommerce-cart .z-woo-content > .woocommerce { display: block; }
	body.z-transaction-shell.woocommerce-cart .cart-collaterals { margin-top: 24px; }
	body.z-transaction-shell.woocommerce-cart .cart_totals { position: static; }
	body.z-transaction-shell.woocommerce-cart table.cart {
		display: block;
		table-layout: auto;
		overflow: visible;
	}

	body.z-transaction-shell.woocommerce-cart table.cart thead { display: none; }
	body.z-transaction-shell.woocommerce-cart table.cart tbody { display: block; }

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item {
		display: grid;
		grid-template-columns: clamp(72px, 11vw, 96px) minmax(0, 1fr) auto;
		grid-template-areas:
			"thumbnail name remove"
			"thumbnail price remove"
			"quantity quantity subtotal";
		gap: 8px 12px;
		padding: 16px;
		border-bottom: 1px solid var(--z-line);
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td {
		display: block;
		width: auto !important;
		min-width: 0;
		padding: 0;
		border: 0;
		text-align: left !important;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-name,
	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-price,
	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-subtotal {
		background: transparent !important;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td::before {
		display: none !important;
		content: none !important;
		float: none;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-remove {
		grid-area: remove;
		align-self: start;
		justify-self: end;
		text-align: right !important;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-thumbnail {
		grid-area: thumbnail;
		display: block !important;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.product-thumbnail a {
		display: block;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.product-thumbnail img {
		display: block;
		width: clamp(72px, 11vw, 96px);
		height: clamp(72px, 11vw, 96px);
		object-fit: cover;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-name {
		grid-area: name;
		font-size: 16px;
		line-height: 1.3;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-price {
		grid-area: price;
		font-size: 14px;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-quantity {
		display: flex;
		grid-area: quantity;
		align-items: center;
		gap: 8px;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-quantity::before {
		display: inline-block !important;
		content: attr(data-title) !important;
		float: none;
		color: var(--z-color-muted);
		font-size: 11px;
		font-weight: 800;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}

	body.z-transaction-shell.woocommerce-cart table.cart tr.cart_item td.product-subtotal {
		grid-area: subtotal;
		align-self: center;
		justify-self: end;
		text-align: right !important;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions {
		display: grid;
		gap: 12px;
		padding: 16px;
		text-align: left !important;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: stretch;
		float: none;
		gap: 10px;
		width: 100%;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon input.input-text,
	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon .button,
	body.z-transaction-shell.woocommerce-cart table.cart td.actions button[name="update_cart"] {
		min-height: 46px;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon input.input-text {
		float: none;
		width: 100%;
		min-width: 0;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon .button {
		float: none;
		width: auto;
		min-width: 150px;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions button[name="update_cart"] {
		float: none;
		width: 100%;
	}

	body.z-transaction-shell.woocommerce-cart .cart-collaterals {
		width: 100%;
		margin-top: 24px;
	}

	body.z-transaction-shell.woocommerce-cart .cart_totals {
		width: 100%;
		max-width: none;
	}

	body.z-transaction-shell.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		min-height: 48px;
	}
}

@media (max-width: 600px) {
	body.z-transaction-shell.woocommerce-cart .z-inner-hero.z-commerce-intro,
	body.z-transaction-shell.woocommerce-checkout .z-inner-hero.z-commerce-intro { padding: calc(var(--zen-announcement-height, 46px) + var(--zen-site-header-height, 76px) + 18px) 14px 20px; }
	body.z-transaction-shell.woocommerce-cart .z-woo-content,
	body.z-transaction-shell.woocommerce-checkout .z-woo-content { padding: 18px 14px 60px; }
	body.z-transaction-shell.woocommerce-cart .z-commerce-progress,
	body.z-transaction-shell.woocommerce-checkout .z-commerce-progress {
		grid-template-columns: auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto;
		gap: 6px;
		font-size: 9px;
		letter-spacing: 0.08em;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions {
		gap: 10px;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon input.input-text {
		width: 100%;
	}

	body.z-transaction-shell.woocommerce-cart table.cart td.actions .coupon .button {
		width: 100%;
		min-width: 0;
	}
}

/* ============================================================================
 * My Account dashboard, login/register, and account endpoint screens.
 *
 * Scope notes:
 *   - WooCommerce owns authentication, validation, order/address/account
 *     persistence, and PayU callbacks. This block is presentation only.
 *   - Native Woo markup is reused (.woocommerce-MyAccount-navigation and
 *     .woocommerce-MyAccount-content are siblings from
 *     templates/myaccount/my-account.php).
 *   - No template overrides were introduced.
 *
 * Layout targets:
 *   - overall content max-width ~1260px, centered
 *   - desktop >=1100px: 260px nav / fluid content, gap ~48px
 *   - tablet 900-1099px: narrower split, no overflow
 *   - mobile <=899px:   nav becomes a horizontal scroll-safe row,
 *                       content stacks full width
 * ========================================================================== */

body.z-transaction-shell.woocommerce-account {
	background: var(--z-color-ivory);
}

/* My Account inner hero matches the calm, branded commerce hero. */
body.z-transaction-shell.woocommerce-account .z-inner-hero {
	min-height: 0;
	padding: calc(var(--zen-announcement-height, 40px) + var(--zen-site-header-height, 108px) + 32px) var(--z-section-x) 26px;
}

body.z-transaction-shell.woocommerce-account .z-inner-hero h1 {
	margin: 10px 0 0;
	font-family: var(--z-family-heading);
	font-size: clamp(2.25rem, 1.4rem + 2.6vw, 3.5rem);
	font-weight: 500;
	line-height: var(--z-line-h1);
	color: var(--z-color-midnight);
	letter-spacing: var(--z-track-section);
}

body.z-transaction-shell.woocommerce-account .z-inner-hero p:not(.z-eyebrow) {
	max-width: 640px;
	margin: 14px 0 0;
	font-family: var(--z-family-body);
	font-size: var(--z-font-body);
	line-height: var(--z-line-body);
	color: var(--z-color-ink);
}

/* Login/Register area lives on the same wrapper. When registration is
 * disabled by Woo settings, only .u-column1 (login) renders — the layout
 * still works because the parent uses flex rather than a fixed grid. */
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content {
	display: block;
	float: none;
	width: auto;
	max-width: none;
	clear: none;
	min-width: 0;
	font-family: var(--z-family-body);
	color: var(--z-color-ink);
}

/* --- Customer navigation ------------------------------------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: auto;
	max-width: none;
	clear: none;
	margin: 0 0 28px;
	padding: 12px 0 0;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-color-white);
	box-shadow: 0 14px 30px rgba(7, 26, 56, 0.06);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation::before {
	display: block;
	padding: 10px 18px 12px;
	border-bottom: 1px solid var(--z-line);
	content: 'My account';
	color: var(--z-color-midnight);
	font-family: var(--z-family-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 4px 0;
	list-style: none;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0 10px;
	border-bottom: 1px solid var(--z-line);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 8px;
	border: 0;
	border-left: 2px solid transparent;
	border-radius: 0;
	background: transparent;
	color: var(--z-color-ink);
	font-family: var(--z-family-body);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color var(--z-transition-fast), color var(--z-transition-fast), border-color var(--z-transition-fast);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
	border-left-color: var(--z-color-copper);
	background: var(--z-color-cream);
	color: var(--z-color-midnight);
	outline: none;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
	border-color: var(--z-color-copper);
	box-shadow: 0 0 0 3px rgba(161, 109, 44, 0.18);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--is-active a {
	border-left-color: var(--z-color-copper);
	background: rgba(161, 109, 44, 0.08);
	color: var(--z-color-midnight);
	font-weight: 600;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	margin-top: 8px;
	color: var(--z-color-muted);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:focus-visible {
	color: var(--z-color-error);
}

/* --- Dashboard split layout (desktop) ------------------------------------ */

body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
	min-width: 0;
}

body.z-transaction-shell.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	margin: 0 0 4px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1; }
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content { grid-column: 2; }

@media (min-width: 1100px) {
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation {
		align-self: center;
	}

	body.z-transaction-shell.woocommerce-edit-account .woocommerce-MyAccount-navigation {
		position: sticky;
		top: calc(var(--zen-admin-bar-height, 0px) + var(--zen-announcement-height) + var(--zen-site-header-height) + 24px);
		align-self: start;
	}
}

/* Logged-out users receive the native login/register surface only. */
body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
	display: block;
	max-width: 840px;
}

body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) .woocommerce-MyAccount-content {
	grid-column: auto;
}

@media (min-width: 1100px) and (max-width: 1280px) {
	body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce { gap: 40px; }
}

/* --- Card surface used by every endpoint content block ------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-MyAccount-content-inner,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > h2,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > h3,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > form,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > table,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .addresses {
	display: block;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > h2,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > h3 {
	margin: 0 0 18px;
	padding: 0;
	font-family: var(--z-family-heading);
	color: var(--z-color-midnight);
	font-weight: 500;
	letter-spacing: var(--z-track-section);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > h2 { font-size: clamp(1.625rem, 1.35rem + 0.6vw, 2rem); line-height: 1.12; }
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > h3 { font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem); line-height: 1.18; }

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p {
	margin: 0 0 16px;
	font-size: 15px;
	line-height: var(--z-line-body);
	color: var(--z-color-ink);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > form,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .addresses,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > table.woocommerce-orders-table,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns {
	padding: 26px 28px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-color-white);
	box-shadow: 0 14px 30px rgba(7, 26, 56, 0.06);
	box-sizing: border-box;
}

/* Dashboard greeting and links read as a calm intro card. */
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
	margin-top: 0;
	font-family: var(--z-family-heading);
	font-size: clamp(1.375rem, 1.15rem + 0.5vw, 1.75rem);
	font-weight: 500;
	color: var(--z-color-midnight);
	line-height: 1.2;
	letter-spacing: var(--z-track-section);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a {
	color: var(--z-color-copper-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type a:hover { color: var(--z-color-copper-hover); }

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p strong {
	font-weight: 600;
	color: var(--z-color-midnight);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p a {
	color: var(--z-color-copper-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > p a:hover { color: var(--z-color-copper-hover); }

/* Native dashboard text remains above these real account destination cards. */
body.z-transaction-shell.woocommerce-account .z-myaccount-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 30px 0 0;
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 144px;
	padding: 24px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-color-white);
	box-shadow: 0 14px 30px rgba(7, 26, 56, 0.06);
	color: var(--z-color-ink);
	text-decoration: none;
	transition: border-color var(--z-transition-fast), box-shadow var(--z-transition-fast), transform var(--z-transition-fast);
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action::before {
	width: 28px;
	height: 2px;
	margin-bottom: auto;
	background: var(--z-color-copper);
	content: '';
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action:hover,
body.z-transaction-shell.woocommerce-account .z-myaccount-action:focus-visible {
	border-color: var(--z-color-copper);
	box-shadow: 0 18px 34px rgba(7, 26, 56, 0.11);
	color: var(--z-color-midnight);
	outline: none;
	transform: translateY(-2px);
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action:focus-visible {
	box-shadow: 0 0 0 3px rgba(161, 109, 44, 0.18), 0 18px 34px rgba(7, 26, 56, 0.11);
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action__label {
	font-family: var(--z-family-heading);
	font-size: clamp(1.25rem, 1.1rem + 0.35vw, 1.5rem);
	font-weight: 500;
	line-height: 1.1;
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action__description {
	margin-top: 8px;
	font-family: var(--z-family-body);
	font-size: 13px;
	line-height: 1.5;
	color: var(--z-color-muted);
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action--logout {
	background: var(--z-color-white);
}

body.z-transaction-shell.woocommerce-account .z-myaccount-action--logout:hover,
body.z-transaction-shell.woocommerce-account .z-myaccount-action--logout:focus-visible {
	border-color: var(--z-color-error);
}

/* --- Form fields (login, register, account details) ---------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-form-row {
	display: block;
	margin: 0 0 16px;
	padding: 0;
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-row label,
body.z-transaction-shell.woocommerce-account .form-row label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--z-family-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--z-color-midnight);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-row .required,
body.z-transaction-shell.woocommerce-account .form-row .required {
	color: var(--z-color-copper-dark);
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-row input.input-text,
body.z-transaction-shell.woocommerce-account .form-row input.input-text,
body.z-transaction-shell.woocommerce-account .woocommerce-form-row textarea,
body.z-transaction-shell.woocommerce-account .form-row select {
	width: 100%;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-compact);
	background: var(--z-color-ivory);
	color: var(--z-color-ink);
	font-family: var(--z-family-body);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	transition: border-color var(--z-transition-fast), background-color var(--z-transition-fast), box-shadow var(--z-transition-fast);
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-row textarea {
	min-height: 110px;
	padding: 12px 14px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-row input.input-text:focus,
body.z-transaction-shell.woocommerce-account .form-row input.input-text:focus,
body.z-transaction-shell.woocommerce-account .woocommerce-form-row textarea:focus,
body.z-transaction-shell.woocommerce-account .form-row select:focus {
	border-color: var(--z-color-copper);
	background: var(--z-color-white);
	outline: none;
	box-shadow: 0 0 0 3px rgba(161, 109, 44, 0.18);
}

body.z-transaction-shell.woocommerce-account .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--z-family-body);
	font-size: 14px;
	font-weight: 500;
	color: var(--z-color-ink);
	text-transform: none;
	letter-spacing: 0;
}

body.z-transaction-shell.woocommerce-account .woocommerce-form__label-for-checkbox input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--z-color-copper);
	cursor: pointer;
}

/* Primary submit button — matches the copper ZENAUURA checkout button. */
body.z-transaction-shell.woocommerce-account .woocommerce-form-login__submit,
body.z-transaction-shell.woocommerce-account .woocommerce-form-register__submit,
body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm button[type="submit"],
body.z-transaction-shell.woocommerce-account .woocommerce-address-fields button[type="submit"],
body.z-transaction-shell.woocommerce-account .woocommerce-orders-table__cell-order-actions .button,
body.z-transaction-shell.woocommerce-account .woocommerce-button--next,
body.z-transaction-shell.woocommerce-account .woocommerce-button--previous {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 26px;
	border: 1px solid transparent;
	border-radius: var(--z-radius-soft);
	background: var(--z-button-background);
	color: #fff;
	font-family: var(--z-family-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: var(--z-track-button);
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--z-transition-fast), transform var(--z-transition-fast), box-shadow var(--z-transition-fast);
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-login__submit:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-form-register__submit:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-address-fields button[type="submit"]:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-button--next:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-button--previous:hover {
	background: var(--z-button-hover-background);
	color: #fff;
}

body.z-transaction-shell.woocommerce-account .woocommerce-form-login__submit:focus-visible,
body.z-transaction-shell.woocommerce-account .woocommerce-form-register__submit:focus-visible,
body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm button[type="submit"]:focus-visible,
body.z-transaction-shell.woocommerce-account .woocommerce-address-fields button[type="submit"]:focus-visible,
body.z-transaction-shell.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:focus-visible,
body.z-transaction-shell.woocommerce-account .woocommerce-button--next:focus-visible,
body.z-transaction-shell.woocommerce-account .woocommerce-button--previous:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(161, 109, 44, 0.32);
}

body.z-transaction-shell.woocommerce-account .woocommerce-LostPassword {
	margin: 14px 0 0;
	font-size: 14px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-LostPassword a {
	color: var(--z-color-copper-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-LostPassword a:hover { color: var(--z-color-copper-hover); }

/* --- Login / Register layout -------------------------------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns > .u-column1,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns > .u-column2 {
	padding: 28px 30px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-color-white);
	box-shadow: 0 14px 30px rgba(7, 26, 56, 0.06);
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns > .u-column1 h2,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns > .u-column2 h2 {
	margin: 0 0 8px;
	font-family: var(--z-family-heading);
	font-size: clamp(1.5rem, 1.2rem + 0.5vw, 1.875rem);
	font-weight: 500;
	color: var(--z-color-midnight);
	line-height: 1.12;
	letter-spacing: var(--z-track-section);
}

body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns > .u-column1 h2 + p.woocommerce-info,
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns > .u-column2 h2 + p.woocommerce-info {
	margin: -4px 0 16px;
}

/* When Woo registration is disabled only the login column renders; let it
 * stay readable instead of stretching to fill a phantom second slot. */
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns.col2-set:not(:has(.u-column2)),
body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns.col2-set:has(.u-column2) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

body.z-transaction-shell.woocommerce-account .woocommerce-form-row--form-wide + .form-row,
body.z-transaction-shell.woocommerce-account .woocommerce-form-login__submit + .woocommerce-LostPassword { display: block; }

/* --- Notices (success / info / error) ----------------------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-message,
body.z-transaction-shell.woocommerce-account .woocommerce-info,
body.z-transaction-shell.woocommerce-account .woocommerce-error {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 0 18px;
	padding: 16px 20px;
	border: 1px solid var(--z-line);
	border-left-width: 4px;
	border-radius: var(--z-radius-compact);
	background: var(--z-color-white);
	color: var(--z-color-ink);
	font-family: var(--z-family-body);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	box-shadow: 0 10px 24px rgba(7, 26, 56, 0.05);
}

body.z-transaction-shell.woocommerce-account .woocommerce-message {
	border-left-color: var(--z-color-success);
	background: linear-gradient(180deg, rgba(55, 116, 82, 0.06), var(--z-color-white));
}

body.z-transaction-shell.woocommerce-account .woocommerce-info {
	border-left-color: var(--z-color-sapphire);
	background: linear-gradient(180deg, rgba(21, 58, 104, 0.06), var(--z-color-white));
}

body.z-transaction-shell.woocommerce-account .woocommerce-error {
	border-left-color: var(--z-color-error);
	background: linear-gradient(180deg, rgba(163, 59, 59, 0.06), var(--z-color-white));
}

body.z-transaction-shell.woocommerce-account .woocommerce-message a.button,
body.z-transaction-shell.woocommerce-account .woocommerce-info a.button,
body.z-transaction-shell.woocommerce-account .woocommerce-error a.button {
	align-self: flex-start;
	margin-top: 4px;
	min-height: 40px;
	padding: 0 18px;
	background: var(--z-button-background);
	color: #fff;
}

body.z-transaction-shell.woocommerce-account .woocommerce-message a.button:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-info a.button:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-error a.button:hover {
	background: var(--z-button-hover-background);
	color: #fff;
}

body.z-transaction-shell.woocommerce-account .woocommerce-error li {
	margin: 0;
	padding: 0;
}

/* --- Orders list --------------------------------------------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table {
	width: 100%;
	margin: 0;
	border: 1px solid var(--z-line);
	border-spacing: 0;
	background: var(--z-color-white);
	font-family: var(--z-family-body);
	font-size: 14px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table th,
body.z-transaction-shell.woocommerce-account .woocommerce-orders-table td {
	padding: 16px 18px;
	border: 0;
	border-bottom: 1px solid var(--z-line);
	color: var(--z-color-ink);
	text-align: left;
	vertical-align: middle;
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table thead th {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--z-color-muted);
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table tbody tr:last-child td { border-bottom: 0; }

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	font-family: var(--z-family-heading);
	font-size: 17px;
	font-weight: 600;
	color: var(--z-color-midnight);
	text-decoration: none;
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover { color: var(--z-color-copper-dark); }

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table time { color: var(--z-color-ink); }

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-status {
	font-weight: 600;
	color: var(--z-color-midnight);
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	white-space: nowrap;
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
	margin: 0 6px 0 0;
	padding: 0 16px;
	min-height: 40px;
	font-size: 13px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button:last-child { margin-right: 0; }

body.z-transaction-shell.woocommerce-account .woocommerce-pagination {
	display: flex;
	gap: 10px;
	margin: 18px 0 0;
}

/* --- Address list ------------------------------------------------------- */

/* Woo's .col2-set clearfix injects ::before/::after with `display: table` as
 * real children of the container. Once the container is `display: grid` those
 * pseudos become grid items and push the two address cards into row 2 / column 1
 * (the diagonal "Billing upper-right, Shipping lower-left" layout). Hide them
 * here so the two address cards are the only grid children. */
body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses::before,
body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses::after {
	content: none;
	display: none;
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-auto-rows: auto;
	grid-auto-flow: row;
	column-gap: 22px;
	row-gap: 22px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.z-transaction-shell.woocommerce-account .addresses > .woocommerce-column__title {
	grid-column: 1 / -1;
	margin: 0 0 -6px;
	font-family: var(--z-family-heading);
	font-size: clamp(1.25rem, 1.1rem + 0.4vw, 1.5rem);
	font-weight: 500;
	color: var(--z-color-midnight);
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses > .woocommerce-Address {
	/* Force DOM-order placement so the clearfix pseudos (if any other rule
	 * re-introduces them) cannot push the cards around. Scoped strictly to
	 * the My Account Addresses container. */
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: stretch;
	/* Neutralize Woo's .col2-set .col-1 / .col-2 legacy float/width/clear.
	 * Theme specificity (0,6,0) already beats Woo (0,2,0), but the !important
	 * here also guards against any later-injected style. */
	float: none !important;
	width: auto !important;
	max-width: none !important;
	clear: none !important;
	min-width: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 220px;
	padding: 22px 24px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-color-white);
	box-shadow: 0 14px 30px rgba(7, 26, 56, 0.06);
	box-sizing: border-box;
}

/* Second address card stays on row 1 but takes column 2, so Billing is row 1
 * col 1 and Shipping is row 1 col 2. */
body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses > .woocommerce-Address + .woocommerce-Address {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses .woocommerce-Address-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 16px;
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses h2 {
	margin: 0;
	font-family: var(--z-family-heading);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--z-color-midnight);
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses address {
	margin: 0;
	font-style: normal;
	color: var(--z-color-ink);
	font-size: 14px;
	line-height: 1.6;
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses address strong { color: var(--z-color-midnight); font-weight: 600; }

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses .edit {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 16px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-compact);
	background: var(--z-color-white);
	color: var(--z-color-midnight);
	font-family: var(--z-family-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--z-transition-fast), color var(--z-transition-fast), border-color var(--z-transition-fast);
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses .edit:hover,
body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses .edit:focus-visible {
	background: var(--z-color-copper);
	border-color: var(--z-color-copper);
	color: #fff;
	outline: none;
}

body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses .edit:focus-visible { box-shadow: 0 0 0 3px rgba(161, 109, 44, 0.32); }

/* --- Account details form ----------------------------------------------- */

body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm fieldset {
	margin: 22px 0 8px;
	padding: 22px 24px;
	border: 1px solid var(--z-line);
	border-radius: var(--z-radius-soft);
	background: var(--z-color-ivory);
	box-sizing: border-box;
}

body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm fieldset legend {
	display: inline-block;
	margin: 0 0 10px;
	padding: 0 6px;
	font-family: var(--z-family-heading);
	font-size: 1.125rem;
	font-weight: 500;
	color: var(--z-color-midnight);
	background: var(--z-color-ivory);
}

body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm .form-row { margin-bottom: 16px; }

@media (min-width: 768px) {
	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 18px;
		width: 100%;
		max-width: none;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm .form-row-first,
	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm .form-row-last {
		float: none;
		width: auto;
		clear: none;
		grid-column: auto;
		margin-top: 0;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm .form-row-wide,
	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm fieldset,
	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm > p:last-of-type {
		grid-column: 1 / -1;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm > .clear { display: none; }
}

body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] { margin-top: 12px; }

/* --- Responsive --------------------------------------------------------- */

/* Tablet: keep two columns but tighten the split. */
@media (max-width: 1050px) {
	body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce {
		grid-template-columns: 220px minmax(0, 1fr);
		gap: 32px;
	}
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > form,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .addresses,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns {
		padding: 24px 22px;
	}
	body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses { gap: 18px; }
}

/* Mobile: nav becomes a horizontal scroll-safe row, content stacks full width. */
@media (max-width: 899px) {
	body.z-transaction-shell.woocommerce-account .z-woo-content {
		padding: 24px 18px 72px;
	}

	body.z-transaction-shell.woocommerce-account .z-woo-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content {
		grid-column: 1 / -1;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation {
		padding: 0;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		gap: 6px;
		padding: 10px;
		min-width: max-content;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation a {
		min-height: 40px;
		padding: 8px 14px;
		border: 1px solid transparent;
		border-radius: var(--z-radius-compact);
		white-space: nowrap;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { margin-top: 0; }

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation::before,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-navigation li { border: 0; }

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > form,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .addresses,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns {
		padding: 22px 20px;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns {
		grid-template-columns: minmax(0, 1fr);
	}

	body.z-transaction-shell.woocommerce-account .z-myaccount-actions { gap: 14px; }
	body.z-transaction-shell.woocommerce-account .z-myaccount-action { min-height: 132px; padding: 20px; }

	body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses {
		grid-template-columns: minmax(0, 1fr);
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses > .woocommerce-Address { min-height: 0; }

	/* Mobile: release the forced desktop grid placement so the cards stack
	 * naturally (Billing first, Shipping second) instead of overlapping at (1,1). */
	body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses > .woocommerce-Address,
	body.z-transaction-shell.woocommerce-account .woocommerce-Addresses.addresses > .woocommerce-Address + .woocommerce-Address {
		grid-column: auto !important;
		grid-row: auto !important;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table thead { display: none; }

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table,
	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table tbody,
	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table tr,
	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table th,
	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table td {
		display: block;
		width: auto !important;
		padding: 0;
		border: 0;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table tr {
		padding: 16px 0;
		border-bottom: 1px solid var(--z-line);
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table tr:last-child { border-bottom: 0; }

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		padding: 4px 0;
		font-size: 14px;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table td::before {
		content: attr(data-title);
		flex: 0 0 auto;
		max-width: 45%;
		font-size: 11px;
		font-weight: 700;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		color: var(--z-color-muted);
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-number { padding-top: 6px; }

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
		flex-direction: column;
		align-items: flex-end;
		gap: 6px;
		white-space: normal;
		padding-top: 10px;
	}

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before { display: none; }

	body.z-transaction-shell.woocommerce-account .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
		margin: 0;
		width: auto;
		min-height: 40px;
	}
}

@media (max-width: 600px) {
	body.z-transaction-shell.woocommerce-account .z-woo-content {
		padding: 18px 14px 60px;
	}
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > form,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .addresses,
	body.z-transaction-shell.woocommerce-account .woocommerce-MyAccount-content > .u-columns {
		padding: 18px 16px;
	}

	body.z-transaction-shell.woocommerce-account .z-myaccount-actions { grid-template-columns: minmax(0, 1fr); }

	body.z-transaction-shell.woocommerce-account .woocommerce-EditAccountForm button[type="submit"] {
		width: 100%;
	}
}
