/**
 * ZohaClick Store — global skin (matches sign-in; radius ≤ 4px)
 */
:root {
	--zcl-r: 4px;
	--zcl-bg: #0a0a0b;
	--zcl-surface: #111113;
	--zcl-border: rgba(255, 255, 255, 0.08);
	--zcl-border-strong: rgba(255, 255, 255, 0.14);
	--zcl-text: #fafafa;
	--zcl-muted: #a1a1aa;
	--zcl-accent: #2dd4bf;
	--zcl-accent-hover: #5eead4;
	--zcl-danger: #fb7185;
	--zcl-field-bg: rgba(13, 13, 15, 0.78);
	--zcl-field-inner-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.06);
	--zcl-field-focus-ring: 0 0 0 3px rgba(45, 212, 191, 0.28);
	--zcl-checkout-field-r: 8px;
	--zcl-checkout-section-r: 10px;
	/* Scrollbars (DOM scroll areas only — native <select> option menus use OS UI) */
	--zcl-scrollbar-w: 8px;
	--zcl-scrollbar-track: rgba(255, 255, 255, 0.045);
	--zcl-scrollbar-thumb: rgba(45, 212, 191, 0.38);
	--zcl-scrollbar-thumb-hover: rgba(45, 212, 191, 0.58);
	--zcl-scrollbar-thumb-active: rgba(45, 212, 191, 0.78);
}

/*
 * Dark color scheme — browsers use this for native <select> popups (list + scrollbar)
 * where supported (Chromium, Safari). Pure CSS cannot theme the OS menu pixel-perfect.
 */
html {
	color-scheme: dark;
	scroll-behavior: smooth;
}

body {
	color-scheme: dark;
	background-color: var(--zcl-bg);
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.022) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.022) 1px, transparent 1px),
		radial-gradient(ellipse 80% 50% at 50% -25%, rgba(45, 212, 191, 0.08), transparent 55%);
	background-size: 24px 24px, 24px 24px, auto;
	background-attachment: fixed;
}

/* ——— Site header: logo + icons sized to one row ——— */
.zcl-site-header {
	--zcl-header-pad-y: 0.65rem;
	--zcl-header-pad-x: clamp(0.65rem, 3vw, 1.35rem);
	--zcl-header-logo-h: clamp(1.85rem, 4.4vw, 2.45rem);
	--zcl-header-tool: 2.5rem;
	--zcl-header-tool-icon: 1.35rem;
}

.zcl-site-header.alignfull {
	padding-top: max(var(--zcl-header-pad-y), env(safe-area-inset-top)) !important;
	padding-bottom: var(--zcl-header-pad-y) !important;
	padding-left: max(env(safe-area-inset-left), var(--zcl-header-pad-x)) !important;
	padding-right: max(env(safe-area-inset-right), var(--zcl-header-pad-x)) !important;
	box-sizing: border-box;
}

.zcl-site-header__bar.alignwide {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: clamp(0.35rem, 2vw, 0.85rem);
	width: 100%;
	max-width: min(var(--wp--style--global--wide-size, 1200px), 100%);
	margin-left: auto;
	margin-right: auto;
	min-height: calc(var(--zcl-header-tool) + 2px);
	box-sizing: border-box;
}

.zcl-site-header__bar .zcl-site-header__brand {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
}

.zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark {
	display: inline-flex;
	align-items: center;
	gap: clamp(0.5rem, 1.65vw, 0.8rem);
	min-width: 0;
	text-decoration: none;
	color: inherit;
}

.zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark__mark {
	display: block;
	height: var(--zcl-header-logo-h);
	width: auto;
	max-width: min(3.85rem, 24vw);
	object-fit: contain;
	flex-shrink: 0;
}

.zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark__text-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	line-height: 1.12;
}

.zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark__title {
	font-size: clamp(0.95rem, 2.35vw, 1.15rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark__subtitle {
	font-size: clamp(0.55rem, 1.15vw, 0.66rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--zcl-muted);
}

.zcl-site-header__tools {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.2rem;
	min-width: 0;
}

.zcl-site-header__tools > .wp-block-navigation {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}

/*
 * Open mobile overlay: Core maps “justify right” to --navigation-layout-justification-setting:flex-end
 * on a column flex, which pins links to the right. Reset to center for the site header menu only.
 */
.zcl-site-header nav.wp-block-navigation:has(.wp-block-navigation__responsive-container.is-menu-open) {
	--navigation-layout-justification-setting: center !important;
}

.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open {
	align-items: center !important;
	--navigation-layout-justification-setting: center !important;
}

.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list,
.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	--navigation-layout-justification-setting: center !important;
	align-items: center !important;
}

.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
	width: 100%;
	max-width: min(22rem, 88vw);
}

.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: inline-flex !important;
	text-align: center !important;
	justify-content: center !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/*
 * Cloned wordmark (JS): wrapper keeps .zcl-site-header__brand for semantics only.
 * Bar wordmark is scoped under .zcl-site-header__bar — large sizes apply here only (mobile overlay).
 */
@media (max-width: 599px) {
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone.zcl-site-header__brand {
		order: -10 !important;
		display: flex !important;
		align-items: center !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		justify-content: center !important;
		min-width: 0;
		padding-bottom: 0.75rem !important;
		margin-bottom: 0.25rem !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		box-sizing: border-box;
	}

	body.zcl-front-store .zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone.zcl-site-header__brand {
		border-bottom-color: rgba(15, 23, 42, 0.12);
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark {
		display: inline-flex;
		align-items: center;
		gap: clamp(0.9rem, 3vw, 1.4rem);
		min-width: 0;
		text-decoration: none;
		color: inherit;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark__text-wrap {
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-width: 0;
		line-height: 1.12;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark__mark {
		height: clamp(4rem, 10vw, 5.7rem);
		width: auto;
		max-width: min(9rem, 64vw);
		object-fit: contain;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark__title {
		font-size: clamp(1.8rem, 4.4vw, 2.2rem);
		font-weight: 600;
		letter-spacing: -0.02em;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark__subtitle {
		font-size: clamp(1.04rem, 2.2vw, 1.24rem);
		font-weight: 600;
		letter-spacing: 0.14em;
		text-transform: uppercase;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		color: var(--zcl-muted);
	}

	/* Wordmark is an <a> inside .wp-block-navigation — strip link “active/focus” chrome on the logo only */
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark,
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark:hover,
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark:focus,
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark:focus-visible,
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark:active {
		outline: none !important;
		box-shadow: none !important;
		border: none !important;
		text-decoration: none !important;
	}
}

/*
 * Hamburger: only below Core’s 600px breakpoint (matches overlayMenu “mobile”).
 * Do not set display on the toggle globally — it overrides Core’s desktop display:none.
 */
@media (min-width: 600px) {
	.zcl-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}

	.zcl-site-header__tools > .wp-block-woocommerce-mini-cart,
	.zcl-site-header__tools > .wc-block-mini-cart,
	.zcl-site-header__tools > .wp-block-woocommerce-customer-account,
	.zcl-site-header__tools > nav.wp-block-navigation,
	.zcl-site-header__tools > .wp-block-navigation {
		order: 0 !important;
	}

	/* Wider spacing between inline nav links (overlay / mobile unchanged below 600px) */
	.zcl-site-header__tools > nav.wp-block-navigation .wp-block-navigation__container,
	.zcl-site-header__tools > .wp-block-navigation .wp-block-navigation__container {
		gap: clamp(1rem, 1.6vw, 1.65rem) !important;
	}

	/* Shop all / Featured: markup is in nav for mobile overlay only — hide in desktop inline row */
	.zcl-site-header__tools > nav.wp-block-navigation .zcl-header-nav-mobile-ctas,
	.zcl-site-header__tools > .wp-block-navigation .zcl-header-nav-mobile-ctas {
		display: none !important;
	}
}

@media (min-width: 1024px) {
	.zcl-site-header__tools > nav.wp-block-navigation .wp-block-navigation__container,
	.zcl-site-header__tools > .wp-block-navigation .wp-block-navigation__container {
		gap: clamp(1.15rem, 1.9vw, 1.9rem) !important;
	}
}

@media (max-width: 599px) {
	/* DOM is Nav → Cart → Account; reorder so Cart (then Account) sit before the hamburger */
	.zcl-site-header__tools {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.zcl-site-header__tools > .wp-block-woocommerce-mini-cart,
	.zcl-site-header__tools > .wc-block-mini-cart {
		order: 1 !important;
	}

	.zcl-site-header__tools > .wp-block-woocommerce-customer-account {
		order: 2 !important;
	}

	.zcl-site-header__tools > nav.wp-block-navigation,
	.zcl-site-header__tools > .wp-block-navigation {
		order: 3 !important;
	}

	.zcl-site-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		min-width: var(--zcl-header-tool);
		min-height: var(--zcl-header-tool);
		padding: 0;
		margin: 0;
		vertical-align: middle;
	}

	.zcl-site-header .wp-block-navigation__responsive-container-open svg {
		width: var(--zcl-header-tool-icon);
		height: var(--zcl-header-tool-icon);
		display: block;
		flex-shrink: 0;
	}

	.zcl-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .zcl-header-nav-mobile-ctas {
		display: none !important;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-mobile-ctas.wp-block-buttons {
		order: 10;
		width: 100%;
		max-width: min(22rem, 88vw);
		align-self: center;
		margin-top: 1.25rem;
		padding-top: 1rem;
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		box-sizing: border-box;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.625rem !important;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-mobile-ctas .wp-block-button {
		width: 100%;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-mobile-ctas .wp-block-button__link {
		width: 100%;
		box-sizing: border-box;
		justify-content: center;
		text-align: center;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-cta--primary .wp-block-button__link {
		background: linear-gradient(120deg, #4f46e5 0%, #2563eb 46%, #0f766e 100%) !important;
		color: #ffffff !important;
		border: 1px solid #3f4ec9 !important;
		text-transform: none !important;
		font-weight: 600 !important;
		font-size: 0.9375rem !important;
		padding: 0.85rem 1.5rem !important;
		border-radius: var(--zcl-r) !important;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-cta--outline .wp-block-button__link {
		background: rgba(255, 255, 255, 0.08) !important;
		color: var(--zcl-text) !important;
		border: 1px solid var(--zcl-border-strong) !important;
		text-transform: none !important;
		font-weight: 600 !important;
		font-size: 0.9375rem !important;
		padding: 0.85rem 1.5rem !important;
		border-radius: var(--zcl-r) !important;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-cta--primary .wp-block-button__link:hover {
		background: linear-gradient(120deg, #4338ca 0%, #1d4ed8 46%, #0d9488 100%) !important;
		border-color: #3741b8 !important;
		color: #ffffff !important;
	}

	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-cta--outline .wp-block-button__link:hover {
		border-color: rgba(45, 212, 191, 0.45) !important;
		background: rgba(255, 255, 255, 0.12) !important;
	}

	body.zcl-front-store .zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-header-nav-mobile-ctas.wp-block-buttons {
		border-top-color: rgba(15, 23, 42, 0.12);
	}
}

.zcl-site-header .wc-block-mini-cart__button,
.zcl-site-header .wc-block-customer-account a {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: var(--zcl-header-tool) !important;
	min-height: var(--zcl-header-tool) !important;
	padding: 0 !important;
	margin: 0;
}

.zcl-site-header .wc-block-mini-cart__button .wc-block-mini-cart__icon {
	width: var(--zcl-header-tool-icon);
	height: var(--zcl-header-tool-icon);
	flex-shrink: 0;
}

.zcl-site-header .wc-block-mini-cart__button .wc-block-mini-cart__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.zcl-site-header .wc-block-customer-account svg {
	width: var(--zcl-header-tool-icon);
	height: var(--zcl-header-tool-icon);
	display: block;
}

@media (max-width: 380px) {
	.zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark__subtitle,
	.zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark__subtitle,
	.zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__subtitle {
		display: none;
	}
}

body.zcl-front-store .zcl-site-header__bar .zcl-site-header__brand .zcl-brand-wordmark__subtitle,
body.zcl-front-store .zcl-site-header .wp-block-navigation__responsive-container.is-menu-open .zcl-nav-mobile-brand-clone .zcl-brand-wordmark__subtitle {
	color: var(--zcl-dawn-muted, #5b6778);
}

body.zcl-front-store .zcl-site-header .wc-block-mini-cart__button,
body.zcl-front-store .zcl-site-header .wc-block-customer-account a {
	color: #111827 !important;
}

@media (max-width: 599px) {
	body.zcl-front-store .zcl-site-header .wp-block-navigation__responsive-container-open {
		color: #111827 !important;
	}
}

/* Hero CTA width on large screens */
@media (min-width: 600px) {
	.zcl-hero-cta {
		width: auto !important;
		min-width: 12rem;
	}

	.zcl-hero-cta-secondary {
		width: auto !important;
	}
}

/* ——— Homepage: Shopify-inspired light storefront (body.zcl-front-store) ——— */
body.zcl-front-store {
	--zcl-dawn-page-x: clamp(1.25rem, 4vw, 2.5rem);
	--zcl-dawn-border: #dbe5ef;
	--zcl-dawn-border-strong: #cfd9e8;
	--zcl-dawn-surface: #f4f8ff;
	--zcl-dawn-surface-elevated: #ffffff;
	--zcl-dawn-text: #111827;
	--zcl-dawn-muted: #5b6778;
	--zcl-dawn-accent: #0f766e;
	--zcl-dawn-accent-2: #4f46e5;
	--zcl-dawn-accent-3: #c026d3;
	--zcl-dawn-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04);
	--zcl-dawn-shadow-md: 0 12px 40px -28px rgba(0, 0, 0, 0.18);
	--zcl-dawn-radius: 4px;
	color-scheme: light;
	background-color: #f5f8ff;
	background-image:
		radial-gradient(ellipse 80% 65% at 8% -20%, rgba(79, 70, 229, 0.1), transparent 58%),
		radial-gradient(ellipse 75% 60% at 94% 8%, rgba(192, 38, 211, 0.08), transparent 52%),
		linear-gradient(180deg, #f8fbff 0%, #f2f7ff 42%, #eef7f7 100%);
	color: #111827;
}

body.zcl-front-store .wc-block-mini-cart__button,
body.zcl-front-store .wc-block-customer-account a {
	color: #121212 !important;
}

body.zcl-front-store .zcl-site-footer {
	border-top-color: #e8e8e8 !important;
}

body.zcl-front-store .zcl-site-footer .wp-block-site-title a,
body.zcl-front-store .zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark,
body.zcl-front-store .zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__title,
body.zcl-front-store .zcl-site-footer p,
body.zcl-front-store .zcl-site-footer .wp-block-navigation-item__content {
	color: #525252 !important;
}

body.zcl-front-store .zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__subtitle {
	color: #5b6778 !important;
}

body.zcl-front-store .zcl-site-footer a {
	color: #0d9488 !important;
}

body.zcl-front-store .zcl-site-footer .zcl-footer-bottom-links a {
	color: #0d9488 !important;
	opacity: 1;
}

main.zcl-home-dawn {
	background: transparent;
}

body.zcl-front-store main.zcl-home-dawn .alignwide {
	width: 100%;
	max-width: min(1200px, 100%);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.zcl-dawn-announce {
	position: relative;
	background: linear-gradient(96deg, #0b1224 0%, #1e1b4b 52%, #0f766e 100%);
	color: #f8fafc;
	letter-spacing: 0.01em;
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.16);
}

.zcl-dawn-announce p {
	margin: 0;
	line-height: 1.5;
}

.zcl-dawn-announce a {
	color: #5eead4;
}

.zcl-dawn-hero-wrap {
	position: relative;
	background:
		radial-gradient(circle at 12% 14%, rgba(79, 70, 229, 0.08), transparent 36%),
		radial-gradient(circle at 87% 12%, rgba(15, 118, 110, 0.1), transparent 34%),
		linear-gradient(180deg, #fbfcff 0%, #f5f8ff 48%, #ffffff 100%);
	overflow: clip;
	isolation: isolate;
}

.zcl-dawn-hero-wrap::after {
	content: "";
	position: absolute;
	left: var(--zcl-dawn-page-x);
	right: var(--zcl-dawn-page-x);
	bottom: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--zcl-dawn-border-strong) 12%,
		var(--zcl-dawn-border-strong) 88%,
		transparent 100%
	);
	opacity: 0.85;
	pointer-events: none;
	z-index: 3;
}

.zcl-dawn-hero-columns {
	align-items: center;
}

.zcl-dawn-hero-columns > .wp-block-column:first-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.zcl-dawn-hero-eyebrow {
	margin: 0 0 0.5rem !important;
	color: var(--zcl-dawn-accent);
}

.zcl-dawn-hero-title {
	margin-top: 0 !important;
	font-family: Georgia, "Times New Roman", Times, serif;
	color: #121212;
}

.zcl-dawn-hero-lede {
	margin-top: 0 !important;
	color: #525252;
	max-width: 36rem;
}

.zcl-dawn-hero-actions {
	width: 100%;
}

body.zcl-front-store .zcl-dawn-hero-columns.wp-block-columns {
	gap: 2.75rem clamp(2rem, 5vw, 4rem) !important;
}

.zcl-dawn-btn-shop .wp-block-button__link {
	background: linear-gradient(120deg, #4f46e5 0%, #2563eb 46%, #0f766e 100%) !important;
	color: #ffffff !important;
	border: 1px solid #3f4ec9 !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	padding: 0.85rem 1.5rem !important;
	border-radius: 4px !important;
}

.zcl-dawn-btn-shop .wp-block-button__link:hover {
	background: linear-gradient(120deg, #4338ca 0%, #1d4ed8 46%, #0d9488 100%) !important;
	border-color: #3741b8 !important;
	color: #ffffff !important;
}

.zcl-dawn-btn-ghost .wp-block-button__link {
	background: rgba(255, 255, 255, 0.72) !important;
	color: #1f2937 !important;
	border: 1px solid #cfd9e8 !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
	font-weight: 600 !important;
	font-size: 0.9375rem !important;
	padding: 0.85rem 1.5rem !important;
	border-radius: 4px !important;
}

.zcl-dawn-btn-ghost .wp-block-button__link:hover {
	border-color: #4f46e5 !important;
	background: #ffffff !important;
}

.zcl-dawn-search.wp-block-search {
	width: 100%;
	max-width: 22rem;
}

.zcl-dawn-search .wp-block-search__inside-wrapper {
	display: flex;
	align-items: stretch;
	border-radius: var(--zcl-dawn-radius);
	border: 1px solid var(--zcl-dawn-border-strong);
	background: var(--zcl-dawn-surface);
	overflow: hidden;
	box-shadow: var(--zcl-dawn-shadow-sm);
}

.zcl-dawn-search .wp-block-search__input {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #171717 !important;
	flex: 1;
	min-width: 0;
	padding: 0.65rem 0.85rem !important;
	font-size: 0.9375rem !important;
}

.zcl-dawn-search .wp-block-search__inside-wrapper:focus-within {
	border-color: #a3a3a3;
	box-shadow:
		var(--zcl-dawn-shadow-sm),
		0 0 0 1px rgba(18, 18, 18, 0.05);
}

.zcl-dawn-search .wp-block-search__button {
	border-radius: 0 !important;
	min-width: 2.75rem;
	background: #121212 !important;
	color: #ffffff !important;
	border: none !important;
}

.zcl-dawn-search .wp-block-search__button:hover {
	background: #2a2a2a !important;
	color: #ffffff !important;
}

.zcl-dawn-hero-product .wc-block-components-product-image {
	background: #f5f5f5;
	border-radius: var(--zcl-dawn-radius);
	padding: 0.5rem;
	box-sizing: border-box;
}

.zcl-dawn-hero-product .wc-block-product-template > li {
	background: var(--zcl-dawn-surface-elevated);
	border: 1px solid var(--zcl-dawn-border);
	border-radius: var(--zcl-dawn-radius);
	box-shadow: var(--zcl-dawn-shadow-md);
	padding: 1.125rem 1.125rem 1.25rem !important;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.zcl-dawn-hero-product .wc-block-product-template > li:hover {
	border-color: var(--zcl-dawn-border-strong);
	box-shadow: 0 20px 48px -32px rgba(0, 0, 0, 0.22);
}

.zcl-dawn-hero-product .wc-block-product-template .wp-block-post-title {
	margin-top: 1rem !important;
	margin-bottom: 0.25rem !important;
	text-align: center;
}

.zcl-dawn-hero-product .wc-block-product-template .wc-block-components-product-price {
	margin-bottom: 0 !important;
}

.zcl-dawn-hero-product .wc-block-product-template .wc-block-components-product-title,
.zcl-dawn-hero-product .wc-block-product-template .wp-block-post-title,
.zcl-dawn-hero-product .wc-block-product-template .wp-block-post-title a {
	color: #121212 !important;
}

.zcl-dawn-hero-product .wc-block-product-template .wc-block-components-product-price {
	color: var(--zcl-dawn-accent) !important;
}

/* Hero product slider: one visible until JS inits; then stack + crossfade (must beat li { display:flex } from above) */
body.zcl-front-store .zcl-dawn-hero-product:not(.zcl-hero-product-carousel--ready) .wc-block-product-template > li:not(:first-child) {
	display: none !important;
}

body.zcl-front-store .zcl-dawn-hero-product.zcl-hero-product-carousel--ready .wc-block-product-template.is-flex-container {
	display: block;
}

body.zcl-front-store .zcl-dawn-hero-product.zcl-hero-product-carousel--ready .wc-block-product-template {
	position: relative;
}

body.zcl-front-store .zcl-dawn-hero-product.zcl-hero-product-carousel--ready .wc-block-product-template > li {
	transition: opacity 0.45s ease;
}

body.zcl-front-store .zcl-dawn-hero-product.zcl-hero-product-carousel--ready .wc-block-product-template > li:not(.is-zcl-hero-slide--active) {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 0;
}

body.zcl-front-store .zcl-dawn-hero-product.zcl-hero-product-carousel--ready .wc-block-product-template > li.is-zcl-hero-slide--active {
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}

/* Hero copy: rotating eyebrow + headline + lede (same typography as static hero; edit slides in front-page.html). */
body.zcl-front-store .zcl-dawn-hero-copy-carousel {
	width: 100%;
	max-width: 100%;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__slides {
	position: relative;
	margin-bottom: 0.35rem;
	min-height: clamp(13rem, 36vw, 18rem);
}

body.zcl-front-store .zcl-dawn-hero-copy-slide .zcl-dawn-hero-eyebrow {
	margin: 0 0 0.5rem !important;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide .zcl-dawn-hero-title {
	margin-top: 0.625rem !important;
	margin-bottom: 1.125rem !important;
	font-size: clamp(2.5rem, 5.5vw, 3.75rem);
	font-weight: 400;
	letter-spacing: -0.03em;
	line-height: 1.02;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide .zcl-dawn-hero-lede {
	margin-bottom: 0 !important;
	font-size: 1.0625rem;
	line-height: 1.65;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel:not(.zcl-hero-copy-carousel--ready) .zcl-dawn-hero-copy-slide:not(:first-child) {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	body.zcl-front-store .zcl-dawn-hero-copy-carousel .zcl-dawn-hero-copy-slide ~ .zcl-dawn-hero-copy-slide {
		display: none !important;
	}

	body.zcl-front-store .zcl-dawn-hero-copy-carousel__nav {
		display: none !important;
	}
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel.zcl-hero-copy-carousel--ready .zcl-dawn-hero-copy-slide {
	transition: opacity 0.5s ease;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel.zcl-hero-copy-carousel--ready .zcl-dawn-hero-copy-slide:not(.is-zcl-hero-copy-slide--active) {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	z-index: 0;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel.zcl-hero-copy-carousel--ready .zcl-dawn-hero-copy-slide.is-zcl-hero-copy-slide--active {
	position: relative;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.4rem;
	margin-bottom: 1.5rem;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot {
	width: 0.4rem;
	height: 0.4rem;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: var(--zcl-dawn-border-strong);
	cursor: pointer;
	transition:
		background 0.2s ease,
		transform 0.2s ease;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot:hover {
	background: var(--zcl-dawn-muted);
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot[aria-selected="true"] {
	background: var(--zcl-dawn-accent);
	transform: scale(1.2);
}

/* Hero copy slides — per-slide accent (eyebrow / title / lede tint). */
body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-teal .zcl-dawn-hero-eyebrow {
	color: #0d9488;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-teal .zcl-dawn-hero-title {
	color: #0f172a;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-teal .zcl-dawn-hero-lede {
	color: #475569;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-indigo .zcl-dawn-hero-eyebrow {
	color: #4f46e5;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-indigo .zcl-dawn-hero-title {
	color: #312e81;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-indigo .zcl-dawn-hero-lede {
	color: #4338ca;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-rose .zcl-dawn-hero-eyebrow {
	color: #e11d48;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-rose .zcl-dawn-hero-title {
	color: #9f1239;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-rose .zcl-dawn-hero-lede {
	color: #9d174d;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-emerald .zcl-dawn-hero-eyebrow {
	color: #059669;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-emerald .zcl-dawn-hero-title {
	color: #064e3b;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-emerald .zcl-dawn-hero-lede {
	color: #047857;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-amber .zcl-dawn-hero-eyebrow {
	color: #d97706;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-amber .zcl-dawn-hero-title {
	color: #92400e;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-amber .zcl-dawn-hero-lede {
	color: #b45309;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-sky .zcl-dawn-hero-eyebrow {
	color: #0284c7;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-sky .zcl-dawn-hero-title {
	color: #0c4a6e;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-sky .zcl-dawn-hero-lede {
	color: #0369a1;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-violet .zcl-dawn-hero-eyebrow {
	color: #7c3aed;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-violet .zcl-dawn-hero-title {
	color: #4c1d95;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-violet .zcl-dawn-hero-lede {
	color: #5b21b6;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-fuchsia .zcl-dawn-hero-eyebrow {
	color: #c026d3;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-fuchsia .zcl-dawn-hero-title {
	color: #86198f;
}

body.zcl-front-store .zcl-dawn-hero-copy-slide--tone-fuchsia .zcl-dawn-hero-lede {
	color: #a21caf;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-teal[aria-selected="true"] {
	background: #0d9488;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-indigo[aria-selected="true"] {
	background: #4f46e5;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-rose[aria-selected="true"] {
	background: #e11d48;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-emerald[aria-selected="true"] {
	background: #059669;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-amber[aria-selected="true"] {
	background: #d97706;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-sky[aria-selected="true"] {
	background: #0284c7;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-violet[aria-selected="true"] {
	background: #7c3aed;
}

body.zcl-front-store .zcl-dawn-hero-copy-carousel__dot--tone-fuchsia[aria-selected="true"] {
	background: #c026d3;
}

.zcl-dawn-trust-row {
	background: var(--zcl-dawn-surface);
	border-top: 1px solid var(--zcl-dawn-border);
	border-bottom: 1px solid var(--zcl-dawn-border);
}

/* Trust row — carousel on mobile only; tablet/desktop = 4-column strip */
body.zcl-front-store .zcl-dawn-trust-carousel {
	max-width: min(
		var(--wp--style--global--wide-size, 75rem),
		100%
	);
	margin-left: auto;
	margin-right: auto;
}

/* Desktop / tablet: static four-up row (matches previous columns layout) */
@media (min-width: 782px) {
	body.zcl-front-store .zcl-dawn-trust-carousel__viewport {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
		overflow: visible;
		scroll-snap-type: none;
		border-radius: var(--zcl-dawn-radius);
		border: 1px solid var(--zcl-dawn-border);
		background: var(--zcl-dawn-surface-elevated);
		box-shadow: var(--zcl-dawn-shadow-sm);
		outline: none;
	}

	body.zcl-front-store .zcl-dawn-trust-slide {
		flex: 1 1 25%;
		min-width: 0;
		box-sizing: border-box;
		min-height: 0;
		padding: 1.375rem 1.25rem 1.5rem;
		position: relative;
	}

	body.zcl-front-store .zcl-dawn-trust-slide:not(:last-child) {
		border-right: 1px solid #f0f0f0;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__nav {
		display: none !important;
	}
}

/* Mobile: one slide at a time + dots / arrows (JS enables autoplay only here) */
@media (max-width: 781px) {
	body.zcl-front-store .zcl-dawn-trust-carousel__viewport {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: 0;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		border-radius: calc(var(--zcl-dawn-radius) + 2px);
		border: 1px solid var(--zcl-dawn-border);
		background: linear-gradient(165deg, #ffffff 0%, #f9f9f9 55%, #f4f4f4 100%);
		box-shadow:
			var(--zcl-dawn-shadow-sm),
			0 0 0 1px rgba(255, 255, 255, 0.7) inset;
		outline: none;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__viewport:focus-visible {
		box-shadow:
			var(--zcl-dawn-shadow-sm),
			0 0 0 2px var(--zcl-dawn-accent);
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__viewport::-webkit-scrollbar {
		display: none;
	}

	body.zcl-front-store .zcl-dawn-trust-slide {
		flex: 0 0 100%;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		box-sizing: border-box;
		min-height: 7.5rem;
		padding: 1.5rem clamp(1.15rem, 3.5vw, 1.75rem) 1.625rem;
		position: relative;
	}
}

body.zcl-front-store .zcl-dawn-trust-slide::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1rem;
	bottom: 1rem;
	width: 3px;
	border-radius: 2px;
	background: linear-gradient(
		180deg,
		var(--zcl-dawn-accent) 0%,
		rgba(100, 100, 100, 0.25) 100%
	);
	opacity: 0.9;
}

body.zcl-front-store .zcl-dawn-trust-slide__title {
	margin: 0 0 0.45rem !important;
	padding-left: 0.65rem;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	color: #121212 !important;
	line-height: 1.25;
}

body.zcl-front-store .zcl-dawn-trust-slide__text {
	margin: 0 !important;
	padding-left: 0.65rem;
	font-size: 0.875rem !important;
	line-height: 1.55 !important;
	color: var(--zcl-dawn-muted) !important;
	max-width: 38rem;
}

@media (max-width: 781px) {
	body.zcl-front-store .zcl-dawn-trust-carousel__nav {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.75rem;
		margin-top: 1rem;
		flex-wrap: wrap;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem;
		padding: 0;
		border: 1px solid #d6d6d6;
		border-radius: 999px;
		background: #ffffff;
		color: #171717;
		cursor: pointer;
		line-height: 1;
		transition:
			background 0.18s ease,
			border-color 0.18s ease,
			box-shadow 0.18s ease;
		box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__btn:hover {
		border-color: #171717;
		background: #fafafa;
		box-shadow: 0 6px 18px -10px rgba(0, 0, 0, 0.25);
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__btn:focus-visible {
		outline: 2px solid var(--zcl-dawn-accent);
		outline-offset: 2px;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__chev {
		font-size: 1.15rem;
		font-weight: 700;
		line-height: 1;
		opacity: 0.8;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__dots {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.4rem;
		min-height: 1.5rem;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__dot {
		width: 0.45rem;
		height: 0.45rem;
		padding: 0;
		border: none;
		border-radius: 999px;
		background: #c8c8c8;
		cursor: pointer;
		transition:
			background 0.2s ease,
			transform 0.2s ease,
			width 0.2s ease;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__dot:hover {
		background: #8a8a8a;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__dot[aria-selected="true"] {
		background: #121212;
		width: 1.35rem;
		border-radius: 999px;
	}
}

/* Reduced motion: stack on small screens only — desktop stays 4-up */
@media (prefers-reduced-motion: reduce) and (max-width: 781px) {
	body.zcl-front-store .zcl-dawn-trust-carousel__viewport {
		overflow: visible;
		flex-wrap: wrap;
		scroll-snap-type: none;
		gap: 0.75rem;
		padding: 0.25rem;
		background: transparent;
		border: none;
		box-shadow: none;
	}

	body.zcl-front-store .zcl-dawn-trust-slide {
		flex: 1 1 calc(50% - 0.5rem);
		min-width: min(100%, 16rem);
		min-height: 0;
		border: 1px solid var(--zcl-dawn-border);
		border-radius: var(--zcl-dawn-radius);
		background: var(--zcl-dawn-surface-elevated);
		box-shadow: var(--zcl-dawn-shadow-sm);
		scroll-snap-align: none;
	}

	body.zcl-front-store .zcl-dawn-trust-carousel__nav {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) and (max-width: 520px) {
	body.zcl-front-store .zcl-dawn-trust-slide {
		flex: 1 1 100%;
	}
}

.zcl-dawn-section-head {
	gap: 1rem 1.5rem !important;
	align-items: flex-end !important;
	padding-bottom: 1rem;
	margin-bottom: 0 !important;
	border-bottom: 1px solid var(--zcl-dawn-border);
}

.zcl-dawn-section-head .wp-block-heading {
	margin: 0 !important;
}

.zcl-dawn-section-head > .wp-block-group:first-child p {
	margin: 0 0 0.375rem !important;
	letter-spacing: 0.1em;
	color: var(--zcl-dawn-accent);
}

.zcl-dawn-section-head > .wp-block-group:first-child .wp-block-heading {
	margin: 0 !important;
}

.zcl-dawn-section-head > p {
	margin: 0 !important;
	align-self: center;
	text-align: right;
	max-width: 100%;
}

@media (min-width: 480px) {
	.zcl-dawn-section-head > p {
		white-space: nowrap;
	}
}

.zcl-dawn-collections-wrap {
	background: #ffffff;
}

.zcl-dawn-collections-wrap h2 {
	color: #121212;
}

.zcl-dawn-collections-wrap a {
	color: var(--zcl-dawn-accent);
}

/* Shop by category — layered panel + rail grid */
.zcl-dawn-collections-wrap.zcl-dawn-cat-section {
	position: relative;
	background:
		radial-gradient(ellipse 120% 82% at 8% -12%, rgba(79, 70, 229, 0.12) 0%, transparent 56%),
		radial-gradient(ellipse 92% 66% at 94% 20%, rgba(15, 118, 110, 0.13) 0%, transparent 46%),
		linear-gradient(180deg, #eef4ff 0%, #f7faff 24%, #fbfcff 72%, #ffffff 100%);
	border-top: 1px solid #d9e3f2;
	border-bottom: 1px solid var(--zcl-dawn-border);
}

.zcl-dawn-collections-wrap.zcl-dawn-cat-section::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: repeating-linear-gradient(
		-12deg,
		transparent,
		transparent 18px,
		rgba(255, 255, 255, 0.35) 18px,
		rgba(255, 255, 255, 0.35) 19px
	);
	opacity: 0.35;
}

.zcl-dawn-collections-wrap.zcl-dawn-cat-section > * {
	position: relative;
	z-index: 1;
}

.zcl-dawn-cat-head.zcl-dawn-section-head {
	padding-bottom: 1.25rem;
	margin-bottom: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
	position: relative;
}

.zcl-dawn-cat-head.zcl-dawn-section-head::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: min(20%, 6rem);
	height: 2px;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--zcl-dawn-accent), transparent);
	pointer-events: none;
}

.zcl-dawn-cat-head > .wp-block-group:first-child p {
	display: inline-block;
	width: fit-content;
	padding: 0.2rem 0.6rem !important;
	margin: 0 0 0.5rem !important;
	font-size: 0.625rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: #fafafa !important;
	background: linear-gradient(135deg, #1e1b4b 0%, #4f46e5 52%, #0f766e 100%) !important;
	border-radius: 999px;
	box-shadow: 0 2px 12px -4px rgba(0, 0, 0, 0.35);
}

.zcl-dawn-cat-head > .wp-block-group:first-child .wp-block-heading {
	letter-spacing: -0.038em !important;
}

.zcl-dawn-cat-head-cta {
	margin: 0 !important;
	align-self: center;
}

.zcl-dawn-cat-head-cta a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 1.35rem;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-decoration: none !important;
	color: #111827 !important;
	background: linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%);
	border: 1px solid #cfd9e8;
	border-radius: 999px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transition:
		border-color 0.2s ease,
		background 0.2s ease,
		box-shadow 0.2s ease;
}

.zcl-dawn-cat-head-cta a:hover {
	border-color: #4f46e5;
	background: #fafafa;
	box-shadow: 0 4px 14px -6px rgba(0, 0, 0, 0.18);
}

/* Same rhythm as trending block: no extra “double card” — tiles carry the elevation */
body.zcl-front-store .zcl-dawn-cat-section .zcl-dawn-cat-carousel {
	margin-top: 1.75rem !important;
	margin-bottom: 0 !important;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
	box-sizing: border-box;
	position: relative;
}

body.zcl-front-store .zcl-dawn-cat-carousel .wp-block-woocommerce-product-categories.zcl-dawn-cat-grid,
body.zcl-front-store .zcl-dawn-cat-carousel .wp-block-woocommerce-product-categories.wc-block-product-categories {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.zcl-front-store .wp-block-woocommerce-product-categories.zcl-dawn-cat-grid,
body.zcl-front-store .wp-block-woocommerce-product-categories.wc-block-product-categories {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

body.zcl-front-store .wc-block-product-categories-list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
	gap: 1.25rem;
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
	align-items: stretch;
}

@media (min-width: 600px) {
	body.zcl-front-store .wc-block-product-categories-list {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
		gap: 1.375rem 1.25rem;
	}
}

/* Shop by category — carousel strip (scrollbar hidden; same interaction as trust row) */
body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: clamp(0.75rem, 2vw, 1rem);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
	-ms-overflow-style: none;
	list-style: none !important;
	padding: 0.35rem 0 0.85rem !important;
	margin: 0 !important;
	align-items: stretch;
	-webkit-overflow-scrolling: touch;
	outline: none;
}

body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list:focus-visible {
	box-shadow: 0 0 0 2px var(--zcl-dawn-accent);
	border-radius: var(--zcl-dawn-radius);
}

body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list > li {
	flex: 0 0 clamp(11rem, 72vw, 15.75rem);
	max-width: clamp(11rem, 72vw, 15.75rem);
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}

/* Large viewports: center the rail when cards don’t fill the row */
@media (min-width: 960px) {
	body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list {
		justify-content: center;
	}
}

@supports (justify-content: safe center) {
	@media (min-width: 960px) {
		body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list {
			justify-content: safe center;
		}
	}
}

body.zcl-front-store .zcl-dawn-cat-carousel__nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	margin-top: 0.75rem;
	flex-wrap: wrap;
}

body.zcl-front-store .zcl-dawn-cat-carousel__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: 1px solid #121212;
	border-radius: 999px;
	background: #121212;
	color: #ffffff;
	cursor: pointer;
	line-height: 1;
	transition:
		background 0.18s ease,
		border-color 0.18s ease,
		box-shadow 0.18s ease;
	box-shadow: var(--zcl-dawn-shadow-sm);
}

body.zcl-front-store .zcl-dawn-cat-carousel__btn:hover {
	border-color: #2a2a2a;
	background: #2a2a2a;
	box-shadow: 0 10px 28px -16px rgba(0, 0, 0, 0.35);
}

body.zcl-front-store .zcl-dawn-cat-carousel__btn:focus-visible {
	outline: 2px solid var(--zcl-dawn-accent);
	outline-offset: 2px;
}

body.zcl-front-store .zcl-dawn-cat-carousel__chev {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
	opacity: 1;
}

body.zcl-front-store .zcl-dawn-cat-carousel__dots {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 1.5rem;
	flex-wrap: wrap;
	max-width: min(100%, 20rem);
}

body.zcl-front-store .zcl-dawn-cat-carousel__dot {
	width: 0.45rem;
	height: 0.45rem;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: #c8c8c8;
	cursor: pointer;
	transition:
		background 0.2s ease,
		transform 0.2s ease,
		width 0.2s ease;
}

body.zcl-front-store .zcl-dawn-cat-carousel__dot:hover {
	background: #8a8a8a;
}

body.zcl-front-store .zcl-dawn-cat-carousel__dot[aria-selected="true"] {
	background: var(--zcl-dawn-accent);
	width: 1.35rem;
	border-radius: 999px;
}

@media (prefers-reduced-motion: reduce) {
	body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list {
		flex-wrap: wrap;
		overflow: visible;
		scroll-snap-type: none;
		justify-content: center;
		padding-bottom: 0.25rem !important;
	}

	body.zcl-front-store .zcl-dawn-cat-carousel ul.wc-block-product-categories-list > li {
		flex: 1 1 min(11rem, calc(50% - 0.5rem));
		max-width: min(18rem, 100%);
		scroll-snap-align: none;
	}

	body.zcl-front-store .zcl-dawn-cat-carousel__nav {
		display: none;
	}
}

body.zcl-front-store .wc-block-product-categories-list--has-images .wc-block-product-categories-list-item {
	margin: 0 !important;
	display: flex;
	min-width: 0;
}

body.zcl-front-store .wc-block-product-categories-list-item a {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-start;
	text-align: left;
	gap: 0;
	padding: 0;
	border-radius: var(--zcl-dawn-radius);
	border: 1px solid #e0e0e0;
	background: #ffffff;
	color: #171717 !important;
	text-decoration: none !important;
	height: 100%;
	box-sizing: border-box;
	overflow: hidden;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 12px 36px -28px rgba(0, 0, 0, 0.2);
	transition:
		border-color 0.22s ease,
		box-shadow 0.22s ease,
		transform 0.22s ease;
}

body.zcl-front-store .wc-block-product-categories-list-item a:hover {
	border-color: #c4c4c4;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.95) inset,
		0 20px 44px -32px rgba(0, 0, 0, 0.22);
	transform: translateY(-2px);
}

body.zcl-front-store .wc-block-product-categories-list-item__image,
body.zcl-front-store .wc-block-product-categories-list-item__image--placeholder {
	display: block;
	width: 100%;
	margin: 0;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: linear-gradient(145deg, #ececec 0%, #f5f5f5 100%);
	position: relative;
}

body.zcl-front-store .wc-block-product-categories-list-item__image img,
body.zcl-front-store .wc-block-product-categories-list-item__image--placeholder img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

body.zcl-front-store .wc-block-product-categories-list-item a:hover .wc-block-product-categories-list-item__image img,
body.zcl-front-store .wc-block-product-categories-list-item a:hover .wc-block-product-categories-list-item__image--placeholder img {
	transform: scale(1.05);
}

body.zcl-front-store .wc-block-product-categories-list-item__name {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	padding: 0.95rem 1rem 1rem;
	margin: 0;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.3 !important;
	color: #171717 !important;
	border-top: 1px solid #f0f0f0;
	background: #fafafa;
	box-sizing: border-box;
}

body.zcl-front-store .wc-block-product-categories-list-item__name::after {
	content: "";
	display: block;
	width: 0.4rem;
	height: 0.4rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(-45deg);
	opacity: 0.35;
	flex-shrink: 0;
	margin-top: -0.1rem;
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}

body.zcl-front-store .wc-block-product-categories-list-item a:hover .wc-block-product-categories-list-item__name::after {
	opacity: 0.75;
	transform: rotate(-45deg) translate(2px, -2px);
}

/* Shop by category carousel — match trending product tiles (Popular right now) */
body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item a {
	background: var(--zcl-dawn-surface-elevated) !important;
	border: 1px solid var(--zcl-dawn-border) !important;
	box-shadow: var(--zcl-dawn-shadow-md) !important;
}

body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item a:hover {
	border-color: var(--zcl-dawn-border-strong) !important;
	box-shadow: 0 16px 44px -30px rgba(0, 0, 0, 0.2) !important;
	transform: translateY(-2px);
}

body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item__image,
body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item__image--placeholder {
	margin: 0.625rem 0.625rem 0;
	width: calc(100% - 1.25rem);
	max-width: none;
	align-self: center;
	background: #f5f5f5 !important;
	border-radius: var(--zcl-dawn-radius);
	padding: 0.5rem;
	box-sizing: border-box;
	aspect-ratio: 1;
	overflow: hidden;
}

body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item__image img,
body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item__image--placeholder img {
	object-fit: cover;
}

body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item__name {
	background: var(--zcl-dawn-surface-elevated) !important;
	border-top: 1px solid var(--zcl-dawn-border) !important;
	color: var(--zcl-dawn-text) !important;
}

body.zcl-front-store .zcl-dawn-cat-carousel .wc-block-product-categories-list-item a:hover .wc-block-product-categories-list-item__name::after {
	opacity: 0.95;
	border-right-color: var(--zcl-dawn-accent);
	border-bottom-color: var(--zcl-dawn-accent);
}

.zcl-dawn-featured-wrap {
	background:
		linear-gradient(180deg, #f6f9ff 0%, #f9fcff 42%, #f6fbfb 100%);
}

.zcl-dawn-featured-wrap .wp-block-heading,
.zcl-dawn-featured-wrap .zcl-dawn-section-head > p {
	color: #121212;
}

.zcl-dawn-featured-wrap a {
	color: var(--zcl-dawn-accent);
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template.is-flex-container {
	gap: clamp(1.25rem, 2.5vw, 1.75rem) !important;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template > li {
	background: var(--zcl-dawn-surface-elevated);
	border: 1px solid var(--zcl-dawn-border);
	border-radius: var(--zcl-dawn-radius);
	box-shadow: var(--zcl-dawn-shadow-md);
	padding: 0.875rem 0.875rem 1rem !important;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 100%;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template > li:hover {
	border-color: var(--zcl-dawn-border-strong);
	box-shadow: 0 16px 44px -30px rgba(0, 0, 0, 0.2);
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-components-product-image {
	background: #f5f5f5;
	border-radius: var(--zcl-dawn-radius);
	padding: 0.5rem;
	margin-bottom: 0.5rem;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wp-block-post-title {
	margin-top: 0.25rem !important;
	margin-bottom: 0.35rem !important;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wc-block-components-product-price {
	margin-top: 0 !important;
	margin-bottom: 0.625rem !important;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wp-block-woocommerce-product-button,
body.zcl-front-store .zcl-dawn-product-grid .wc-block-components-product-button {
	margin-top: auto;
	width: 100%;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wc-block-components-product-title,
body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wp-block-post-title,
body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wp-block-post-title a {
	color: var(--zcl-dawn-text) !important;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template .wc-block-components-product-price {
	color: var(--zcl-dawn-accent) !important;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-components-button,
body.zcl-front-store .zcl-dawn-product-grid .wp-block-woocommerce-product-button .wp-block-button__link {
	background: #121212 !important;
	color: #ffffff !important;
	border-color: #121212 !important;
	text-transform: none !important;
	letter-spacing: 0.02em !important;
	font-size: 0.8125rem !important;
	width: 100%;
	justify-content: center;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-components-button:hover,
body.zcl-front-store .zcl-dawn-product-grid .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	background: #2a2a2a !important;
	color: #ffffff !important;
}

.zcl-dawn-newsletter {
	background: linear-gradient(180deg, #f0f0f0 0%, #ebebeb 100%);
	border-top: 1px solid var(--zcl-dawn-border);
}

.zcl-dawn-newsletter-card {
	background: var(--zcl-dawn-surface-elevated);
	border: 1px solid var(--zcl-dawn-border);
	border-radius: var(--zcl-dawn-radius);
	padding: clamp(2rem, 5vw, 2.75rem) clamp(1.5rem, 4vw, 2rem) !important;
	margin-left: auto;
	margin-right: auto;
	box-shadow:
		var(--zcl-dawn-shadow-sm),
		0 0 0 1px rgba(255, 255, 255, 0.65) inset;
}

.zcl-dawn-newsletter-card h2,
.zcl-dawn-newsletter-card p {
	margin-left: auto;
	margin-right: auto;
	max-width: 28rem;
	color: #262626;
}

.zcl-dawn-newsletter-card h2 {
	margin-top: 0 !important;
}

.zcl-dawn-newsletter-card p {
	margin-bottom: 0 !important;
}

.zcl-dawn-newsletter-card .wp-block-buttons {
	margin-top: 1.5rem !important;
}

/*
 * Homepage (zcl-home-dawn) — containment + breakpoints so layouts hold at phone / tablet / desktop.
 */
body.zcl-front-store main.zcl-home-dawn {
	overflow-x: clip;
	max-width: 100%;
	min-width: 0;
}

body.zcl-front-store main.zcl-home-dawn .alignfull {
	max-width: 100%;
	box-sizing: border-box;
}

/* Hero H1: template pins min at 2.5rem — relax for narrow viewports, keep editorial scale up wide */
body.zcl-front-store .zcl-dawn-hero-title {
	font-size: clamp(1.6875rem, 4.2vw + 0.85rem, 3.5rem) !important;
	line-height: 1.06 !important;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

body.zcl-front-store .zcl-dawn-hero-columns.wp-block-columns .wp-block-column {
	min-width: 0;
}

@media (max-width: 781px) {
	body.zcl-front-store .zcl-dawn-hero-columns.wp-block-columns {
		flex-direction: column !important;
		gap: 2rem !important;
	}

	body.zcl-front-store .zcl-dawn-hero-columns .wp-block-column {
		flex-basis: 100% !important;
	}

	body.zcl-front-store .zcl-dawn-hero-columns > .wp-block-column:first-child {
		align-items: stretch;
	}

	body.zcl-front-store .zcl-dawn-hero-lede {
		max-width: none;
	}
}

@media (max-width: 540px) {
	body.zcl-front-store .zcl-dawn-hero-actions.wp-block-buttons {
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100%;
	}

	body.zcl-front-store .zcl-dawn-hero-actions .wp-block-button {
		width: 100%;
	}

	body.zcl-front-store .zcl-dawn-hero-actions .wp-block-button__link {
		width: 100%;
		justify-content: center;
		text-align: center;
	}

	body.zcl-front-store .zcl-dawn-search.wp-block-search {
		max-width: 100%;
	}
}

/* Section titles + “View all” / links: stack so nothing collides on narrow screens */
@media (max-width: 640px) {
	body.zcl-front-store .zcl-dawn-section-head.alignwide {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 1rem !important;
	}

	body.zcl-front-store .zcl-dawn-section-head > p {
		align-self: flex-start !important;
		text-align: left !important;
		white-space: normal !important;
	}

	body.zcl-front-store .zcl-dawn-cat-head-cta {
		width: 100%;
	}

	body.zcl-front-store .zcl-dawn-cat-head-cta a {
		display: flex !important;
		justify-content: center;
		width: 100%;
		box-sizing: border-box;
	}
}

/* Top promo line: readable when narrow */
@media (max-width: 480px) {
	body.zcl-front-store .zcl-dawn-announce {
		padding-left: max(1rem, env(safe-area-inset-left)) !important;
		padding-right: max(1rem, env(safe-area-inset-right)) !important;
	}

	body.zcl-front-store .zcl-dawn-announce p {
		font-size: 0.75rem !important;
		line-height: 1.45 !important;
	}
}

/* Featured grid: never spill past rail; images stay fluid */
body.zcl-front-store .zcl-dawn-featured-wrap .zcl-dawn-product-grid {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template.is-flex-container {
	min-width: 0;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-product-template > li {
	min-width: 0;
	max-width: 100%;
}

body.zcl-front-store .zcl-dawn-product-grid .wc-block-components-product-image img {
	width: 100%;
	height: auto;
}

/* Hero spotlight card: centered, bounded width when column is wide */
body.zcl-front-store .zcl-dawn-hero-product .wc-block-product-template {
	width: 100%;
	max-width: 26rem;
	margin-left: auto;
	margin-right: auto;
}

body.zcl-front-store .zcl-dawn-hero-product .wc-block-product-template > li {
	max-width: 100%;
}

/* Newsletter block: safe-area on small phones */
@media (max-width: 480px) {
	body.zcl-front-store .zcl-dawn-newsletter-card {
		padding-left: max(1.25rem, env(safe-area-inset-left)) !important;
		padding-right: max(1.25rem, env(safe-area-inset-right)) !important;
	}
}

/* Woo Multi Currency — keep switcher truly floating (viewport-fixed), not an in-flow block */
body > .woo-multi-currency.wmc-sidebar,
.woo-multi-currency.wmc-sidebar {
	position: fixed !important;
	z-index: 2147483000 !important;
	margin: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
}

/* Shop filter overlay (z-index 9999) must cover the currency rail while the drawer is open */
body:has(.zcl-shop-archive .wc-block-product-filters.is-overlay-opened) > .woo-multi-currency.wmc-sidebar,
body:has(.zcl-shop-archive .wc-block-product-filters.is-overlay-opened) .woo-multi-currency.wmc-sidebar {
	z-index: 9000 !important;
}

@media screen and (max-width: 768px) {
	.woo-multi-currency.wmc-sidebar.wmc-hover {
		top: 0 !important;
		transform: none !important;
	}
}

/* Hide plugin “+” expand control — show currency rail only (sidebar still toggles via hover / tap on the strip) */
.woo-multi-currency.wmc-sidebar .wmc-sidebar-open {
	display: none !important;
}

/* Do not add horizontal padding for the switcher — it sits fixed above the layout (padding made a visible “right column”). */

@media (min-width: 782px) and (max-width: 1199px) {
	body.zcl-front-store .zcl-dawn-hero-columns.wp-block-columns {
		gap: 2rem 2.5rem !important;
	}
}

/* Core buttons */
.wp-element-button,
.wp-block-button__link,
button:not(.components-button):not(.block-editor-button):not(.media-modal-close) {
	border-radius: var(--zcl-r) !important;
}


/* Desktop/editor edge case: overlay open */
@media (min-width: 600px) {
	.wp-block-navigation__responsive-container.is-menu-open,
	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--zcl-surface) !important;
		color: var(--zcl-text) !important;
		border: 1px solid var(--zcl-border);
		border-radius: var(--zcl-r);
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
		color: var(--zcl-text) !important;
	}
}

.wp-block-navigation-item__content {
	border-radius: var(--zcl-r);
}

/* ——— WooCommerce blocks ——— */
.wc-block-components-button:not(.is-link),
.wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
#place_order {
	border-radius: var(--zcl-r) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
}

.wc-block-components-button:not(.is-link):not(.wp-element-button) {
	background: var(--zcl-accent) !important;
	color: #042f2e !important;
	border: 1px solid transparent !important;
}

.wc-block-components-button:not(.is-link):hover {
	background: var(--zcl-accent-hover) !important;
	color: #022c22 !important;
}

/* Product grid cards */
.wc-block-grid__product,
.wp-block-woocommerce-product-collection .wc-block-grid__product,
.wp-block-woocommerce-product-collection .wc-block-components-product-image,
.wc-block-components-product-image {
	border-radius: var(--zcl-r);
}

.wc-block-grid__product {
	background: var(--zcl-surface);
	border: 1px solid var(--zcl-border);
	padding: 1rem !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wc-block-grid__product:hover {
	border-color: var(--zcl-border-strong);
	box-shadow: 0 0 0 1px rgba(45, 212, 191, 0.12);
}

.wc-block-grid__product .wc-block-grid__product-title,
.wc-block-grid__product-title {
	font-weight: 600;
	letter-spacing: -0.02em;
}

.wc-block-grid__product-price,
.wc-block-components-product-price {
	color: var(--zcl-accent) !important;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

/* Sale badge */
.wc-block-components-product-sale-badge,
.wc-block-grid__product-onsale {
	border-radius: var(--zcl-r) !important;
	background: rgba(251, 113, 133, 0.2) !important;
	color: #fecdd3 !important;
	border: 1px solid rgba(251, 113, 133, 0.45) !important;
	font-size: 0.625rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* Mini cart */
.wc-block-mini-cart__button,
.wc-block-mini-cart__icon {
	border-radius: var(--zcl-r) !important;
}

.wc-block-mini-cart__drawer,
.wc-block-mini-cart__template-part {
	--wc-block-mini-cart-background: var(--zcl-surface);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
	border-top: 1px solid var(--zcl-border);
}

/* Customer account block */
.wc-block-customer-account a {
	border-radius: var(--zcl-r);
}

/* Forms (checkout, cart coupons) */
.wc-block-components-text-input input,
.wc-block-components-combobox input,
.wc-block-components-form .input-text,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout input[type="password"],
.wc-block-checkout select,
.wc-block-components-address-form input,
textarea.wc-block-components-textarea {
	background: var(--zcl-field-bg) !important;
	border: 1px solid var(--zcl-border) !important;
	border-radius: var(--zcl-r) !important;
	box-shadow: var(--zcl-field-inner-highlight);
	color: var(--zcl-text) !important;
	padding: 0.65rem 0.85rem !important;
	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease;
}

.wc-block-components-text-input input:focus,
.wc-block-checkout input:focus,
.wc-block-checkout select:focus,
textarea:focus {
	border-color: var(--zcl-accent) !important;
	outline: none !important;
	box-shadow: var(--zcl-field-inner-highlight), var(--zcl-field-focus-ring) !important;
}

.wc-block-components-checkout-step__title {
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: var(--zcl-muted) !important;
}

/* Order summary */
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper {
	border: 1px solid var(--zcl-border);
	border-radius: var(--zcl-r);
	background: var(--zcl-surface);
}

/* Breadcrumbs */
.wc-block-breadcrumbs,
.woocommerce-breadcrumb {
	font-size: 0.75rem !important;
	color: var(--zcl-muted) !important;
}

.wc-block-breadcrumbs a {
	color: var(--zcl-muted) !important;
}

.wc-block-breadcrumbs a:hover {
	color: var(--zcl-accent) !important;
}

/* Pagination */
.wc-block-pagination,
nav.woocommerce-pagination {
	margin-top: 2rem;
}

.wc-block-pagination-page,
.page-numbers a,
.page-numbers span {
	border-radius: var(--zcl-r) !important;
	border: 1px solid var(--zcl-border) !important;
	background: var(--zcl-surface) !important;
}

.page-numbers .current {
	border-color: var(--zcl-accent) !important;
	color: var(--zcl-accent) !important;
}

/* Store notices */
.wc-block-components-notice-banner {
	border-radius: var(--zcl-r) !important;
	border-left-width: 4px !important;
}

/* Classic WooCommerce shortcodes (if any) */
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	border-radius: var(--zcl-r);
	background: rgba(9, 9, 11, 0.85);
	border: 1px solid var(--zcl-border);
	color: var(--zcl-text);
}

.woocommerce span.onsale {
	border-radius: var(--zcl-r);
	min-height: auto;
	line-height: 1.4;
}

.woocommerce div.product div.images img {
	border-radius: var(--zcl-r);
}

/* Tables */
.wc-block-cart-items,
.wc-block-cart__totals,
.shop_table,
.wc-block-components-order-summary-item {
	border-radius: var(--zcl-r);
}

table.shop_table {
	border: 1px solid var(--zcl-border) !important;
	border-radius: var(--zcl-r);
	overflow: hidden;
}

/* Single product template extras */
.wc-block-single-product {
	--wp--style--root--padding-top: 0;
}

/* Footer */
.zcl-site-footer {
	background: transparent;
}

/* Footer layout: columns + bottom bar */
.zcl-site-footer .zcl-footer-main {
	gap: clamp(1.5rem, 4vw, 2.5rem) clamp(1.25rem, 3vw, 2rem);
	row-gap: 1.75rem;
}

.zcl-site-footer .zcl-footer-col {
	min-width: min(100%, 11.5rem);
	flex: 1 1 auto;
}

.zcl-site-footer .zcl-footer-col--brand {
	min-width: min(100%, 18rem);
	flex: 1 1 14rem;
}

/* Same wordmark as header (mark + title + subtitle), scoped to footer brand column */
.zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark {
	display: inline-flex;
	align-items: center;
	gap: clamp(0.5rem, 1.65vw, 0.8rem);
	min-width: 0;
	max-width: 100%;
	text-decoration: none;
	color: var(--zcl-text);
}

.zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__mark {
	display: block;
	height: clamp(1.85rem, 4.4vw, 2.45rem);
	width: auto;
	max-width: min(3.85rem, 24vw);
	object-fit: contain;
	flex-shrink: 0;
}

.zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__text-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	line-height: 1.12;
}

.zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__title {
	font-size: clamp(0.95rem, 2.35vw, 1.15rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: inherit;
}

.zcl-site-footer .zcl-footer-col--brand .zcl-brand-wordmark__subtitle {
	font-size: clamp(0.55rem, 1.15vw, 0.66rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: var(--zcl-muted);
}

.zcl-site-footer .zcl-footer-col--legal {
	min-width: min(100%, 13.5rem);
	flex: 1 1 11rem;
}

.zcl-site-footer .zcl-footer-col > p + p {
	margin-top: 0.35rem !important;
}

.zcl-site-footer .zcl-footer-bottom {
	gap: 0.75rem 1.25rem;
}

.zcl-site-footer .zcl-footer-bottom-links {
	text-align: right;
}

.zcl-site-footer .zcl-footer-bottom-links a {
	text-decoration: none;
	opacity: 0.92;
}

.zcl-site-footer .zcl-footer-bottom-links a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
	opacity: 1;
}

@media (max-width: 599px) {
	.zcl-site-footer .zcl-footer-bottom {
		flex-direction: column;
		align-items: flex-start !important;
	}

	.zcl-site-footer .zcl-footer-bottom-links {
		text-align: left;
	}
}

/* Block quote / pullquote on blog */
.wp-block-quote,
.wp-block-pullquote {
	border-radius: var(--zcl-r);
	border: 1px solid var(--zcl-border);
}

/* Images */
.wp-block-image img,
.wp-block-post-featured-image img {
	border-radius: var(--zcl-r);
}

/* Search */
.wp-block-search__input {
	border-radius: var(--zcl-r) !important;
	background: var(--zcl-surface) !important;
	border: 1px solid var(--zcl-border) !important;
	color: var(--zcl-text) !important;
}

.wp-block-search__button {
	border-radius: var(--zcl-r) !important;
}

/* Cover inner spacing */
.wp-block-cover .wp-block-cover__inner-container {
	width: 100%;
}

/* ——— Single product (modern PDP / 2026 conversion layout) ——— */
.zcl-single-product {
	--zcl-pdp-radius: 12px;
	--zcl-pdp-pad: clamp(1.25rem, 4vw, 2.5rem);
}

.zcl-product-breadcrumb-row {
	padding-top: 0.5rem;
	padding-bottom: 0.25rem;
}

.zcl-product-hero-wrap {
	background:
		radial-gradient(ellipse 70% 55% at 70% 0%, rgba(45, 212, 191, 0.09), transparent 55%),
		linear-gradient(180deg, rgba(17, 17, 19, 0.65) 0%, transparent 40%);
	padding-top: clamp(0.75rem, 2vw, 1.5rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
	margin-bottom: 0 !important;
}

.zcl-product-hero {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.zcl-product-columns {
	align-items: flex-start;
	gap: clamp(1.5rem, 4vw, 3.5rem) !important;
}

/* Block + classic gallery wrappers (Woo uses wp-block-woocommerce-product-image-gallery) */
.zcl-product-gallery-col .wp-block-woocommerce-product-image-gallery,
.zcl-product-gallery-col .woocommerce-product-gallery {
	border-radius: var(--zcl-pdp-radius);
	overflow: hidden;
	border: 1px solid var(--zcl-border);
	background: linear-gradient(165deg, rgba(255, 255, 255, 0.04), transparent 42%);
	box-shadow:
		0 1px 0 rgba(255, 255, 255, 0.06) inset,
		0 24px 48px -32px rgba(0, 0, 0, 0.75);
}

.zcl-product-gallery-col .woocommerce-product-gallery__wrapper img,
.zcl-product-gallery-col .woocommerce-product-gallery .flex-viewport img,
.zcl-product-gallery-col .wc-block-components-product-gallery-large-image img {
	border-radius: calc(var(--zcl-pdp-radius) - 2px);
}

@media (min-width: 960px) {
	.zcl-product-summary-col {
		position: sticky;
		top: max(1rem, env(safe-area-inset-top));
		align-self: flex-start;
		padding: var(--zcl-pdp-pad);
		border-radius: var(--zcl-pdp-radius);
		border: 1px solid var(--zcl-border);
		background: rgba(17, 17, 19, 0.72);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		box-shadow: 0 24px 60px -40px rgba(0, 0, 0, 0.85);
	}
}

.zcl-product-price-wrap {
	margin-top: 0.35rem;
	margin-bottom: 0.25rem;
}

.zcl-product-summary-col .wp-block-post-excerpt {
	margin-top: 0.5rem;
	margin-bottom: 0.65rem;
	line-height: 1.55;
	color: var(--zcl-text);
}

.zcl-product-shipping-note {
	margin: 0 0 0.75rem;
	font-size: 0.8125rem !important;
	line-height: 1.45;
	color: var(--zcl-muted) !important;
}

.zcl-product-price-wrap .wc-block-components-product-price {
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}

.zcl-product-summary-col .wp-block-post-title {
	margin-bottom: 0.35rem;
}

.zcl-product-sep {
	border-color: var(--zcl-border-strong) !important;
	opacity: 1 !important;
	margin-top: 1.25rem !important;
	margin-bottom: 1.25rem !important;
}

/* Add to cart + quantity (blocks) */
.zcl-product-summary-col .wc-block-add-to-cart-form {
	margin-top: 0.25rem;
}

/* Stack quantity, then CTA row (Buy now is injected beside Add to cart in PHP). */
.zcl-product-summary-col .wc-block-add-to-cart-form form.cart {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: 0.75rem;
	grid-template-columns: none !important;
	grid-auto-flow: unset !important;
}

.zcl-product-summary-col .wc-block-add-to-cart-form form.cart > *:not(.zcl-pdp-cta-actions) {
	grid-column: unset !important;
	width: 100%;
}

.zcl-product-summary-col .wc-block-add-to-cart-form form.cart::before {
	display: none !important;
}

/*
 * Hide quantity UI on single product; inputs stay in the form so the default quantity still posts.
 * (Also targets customized templates that may omit .zcl-single-product on the wrapper.)
 */
.zcl-single-product .wc-block-add-to-cart-form .quantity,
body.single-product .wc-block-add-to-cart-form .quantity {
	display: none !important;
}

.zcl-pdp-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.65rem;
	width: 100%;
}

.zcl-product-summary-col .wc-block-add-to-cart-form .single_add_to_cart_button {
	width: 100%;
	justify-content: center;
	min-height: 3rem;
	padding-top: 0.85rem !important;
	padding-bottom: 0.85rem !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.08em !important;
}

.zcl-product-summary-col .wc-block-add-to-cart-form .zcl-pdp-cta-actions .wc-block-components-button,
.zcl-product-summary-col .wc-block-add-to-cart-form .zcl-pdp-cta-actions button[type="submit"],
.zcl-product-summary-col .wc-block-add-to-cart-form .zcl-pdp-cta-actions .single_add_to_cart_button {
	flex: 1 1 10rem;
	width: auto !important;
	min-width: 0;
	justify-content: center;
	min-height: 3rem;
	padding-top: 0.85rem !important;
	padding-bottom: 0.85rem !important;
	font-size: 0.9rem !important;
	letter-spacing: 0.08em !important;
}

/* When Buy now could not be inlined, full-width Add to cart */
.zcl-product-summary-col .wc-block-add-to-cart-form form.cart > .single_add_to_cart_button:not(.wc-block-components-button) {
	width: 100% !important;
}

/* Buy now + fallback stack */
.zcl-quick-buy {
	margin-top: 0.75rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.zcl-quick-buy__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex: 1 1 10rem;
	min-height: 3rem;
	min-width: 0;
	padding: 0.85rem 1rem;
	border-radius: var(--zcl-r);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--zcl-text) !important;
	background: transparent;
	border: 1px solid var(--zcl-border-strong);
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.zcl-pdp-cta-actions .zcl-quick-buy__btn {
	width: auto;
	flex: 1 1 10rem;
}

.zcl-quick-buy .zcl-quick-buy__btn {
	width: 100%;
}

.zcl-quick-buy__btn:hover {
	border-color: rgba(45, 212, 191, 0.55);
	background: rgba(45, 212, 191, 0.08);
	color: var(--zcl-accent) !important;
}

.zcl-quick-buy__btn:focus-visible {
	outline: 2px solid var(--zcl-accent);
	outline-offset: 3px;
}

/* Product meta */
.zcl-product-meta-inner {
	font-size: 0.75rem;
	color: var(--zcl-muted);
	gap: 0.35rem !important;
}

.zcl-product-meta-inner a {
	color: var(--zcl-accent) !important;
}

/* ——— Product tabs (Description / Additional information / Reviews) ——— */
.zcl-product-details-section {
	width: 100%;
	max-width: min(var(--wp--style--global--wide-size, 1200px), 100%);
	margin-top: clamp(1.5rem, 4vw, 2.75rem);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: clamp(1rem, 3vw, 2rem);
	padding-left: var(--wp--style--root--padding-left, 1.25rem);
	padding-right: var(--wp--style--root--padding-right, 1.25rem);
	box-sizing: border-box;
	border-top: 1px solid var(--zcl-border);
}

.zcl-product-details-section .wp-block-woocommerce-product-details {
	width: 100%;
	max-width: none;
}

.zcl-product-details-block {
	margin-top: 0 !important;
	padding-top: 0;
	border-top: none;
}

html body .zcl-single-product .zcl-product-details-section .woocommerce-tabs,
html body .zcl-single-product .wp-block-woocommerce-product-details .woocommerce-tabs {
	margin-bottom: 0;
}

html body .zcl-single-product .zcl-product-details-section .woocommerce-tabs.wc-tabs-wrapper,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal .woocommerce-tabs.wc-tabs-wrapper,
html body .zcl-single-product .wp-block-woocommerce-product-details .woocommerce-tabs.wc-tabs-wrapper {
	background: rgba(17, 17, 19, 0.85);
	border: 1px solid var(--zcl-border);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 24px 48px -36px rgba(0, 0, 0, 0.65);
}

/* Tab list: segmented control (beats WC minimal blocktheme + product-details.css) */
html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.25rem;
	margin: 0 !important;
	padding: 0.45rem !important;
	list-style: none !important;
	border: none !important;
	border-bottom: 1px solid var(--zcl-border) !important;
	background: rgba(9, 9, 11, 0.55) !important;
	overflow: visible;
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs::before,
html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs::after,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs::before,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs::after {
	display: none !important;
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	opacity: 1 !important;
	border-radius: 8px;
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li a,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li a,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li a {
	display: block;
	padding: 0.65rem 1rem !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: none !important;
	text-decoration: none !important;
	color: var(--zcl-muted) !important;
	border: none !important;
	border-radius: 8px;
	text-shadow: none !important;
	transition: color 0.15s ease, background 0.15s ease;
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li a:hover,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li a:hover,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li a:hover {
	color: var(--zcl-text) !important;
	background: rgba(255, 255, 255, 0.04);
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li.active a,
html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li.active a:hover,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li.active a,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li.active a:hover,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li.active a,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li.active a:hover {
	color: #042f2e !important;
	background: var(--zcl-accent) !important;
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li:focus-within a,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li:focus-within a,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li:focus-within a {
	outline: none;
}

html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li a:focus-visible,
html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li a:focus-visible,
html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li a:focus-visible {
	outline: 2px solid var(--zcl-accent);
	outline-offset: 2px;
}

/* Panels */
.zcl-single-product .zcl-product-details-section .woocommerce-Tabs-panel,
.zcl-single-product .wp-block-woocommerce-product-details .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: clamp(1.15rem, 3vw, 1.65rem) clamp(1.15rem, 3vw, 1.75rem) !important;
	border: none !important;
	border-radius: 0;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--zcl-text);
}

.zcl-single-product .zcl-product-details-section .woocommerce-Tabs-panel > h2:first-child,
.zcl-single-product .wp-block-woocommerce-product-details .woocommerce-Tabs-panel > h2:first-child {
	font-size: 0.6875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--zcl-muted) !important;
	margin: 0 0 0.85rem !important;
	padding: 0 !important;
}

.zcl-single-product .zcl-product-details-section .woocommerce-Tabs-panel p,
.zcl-single-product .wp-block-woocommerce-product-details .woocommerce-Tabs-panel p {
	margin-top: 0;
}

.zcl-single-product .zcl-product-details-section .woocommerce-Tabs-panel a,
.zcl-single-product .wp-block-woocommerce-product-details .woocommerce-Tabs-panel a {
	color: var(--zcl-accent);
}

/* Additional information table */
.zcl-single-product .zcl-product-details-section table.shop_attributes,
.zcl-single-product .wp-block-woocommerce-product-details table.shop_attributes {
	width: 100%;
	border: none;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.zcl-single-product .zcl-product-details-section table.shop_attributes th,
.zcl-single-product .zcl-product-details-section table.shop_attributes td,
.zcl-single-product .wp-block-woocommerce-product-details table.shop_attributes th,
.zcl-single-product .wp-block-woocommerce-product-details table.shop_attributes td {
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--zcl-border);
	vertical-align: top;
	text-align: left;
}

.zcl-single-product .zcl-product-details-section table.shop_attributes th,
.zcl-single-product .wp-block-woocommerce-product-details table.shop_attributes th {
	width: 38%;
	max-width: 14rem;
	color: var(--zcl-muted);
	font-weight: 500;
}

/* Reviews tab */
.zcl-single-product .zcl-product-details-section #reviews .commentlist,
.zcl-single-product .wp-block-woocommerce-product-details #reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
}

.zcl-single-product .zcl-product-details-section #reviews .comment_container,
.zcl-single-product .wp-block-woocommerce-product-details #reviews .comment_container {
	border: 1px solid var(--zcl-border);
	border-radius: var(--zcl-r);
	padding: 1rem;
	margin-bottom: 1rem;
	background: rgba(9, 9, 11, 0.35);
}

.zcl-single-product .zcl-product-details-section #review_form_wrapper textarea,
.zcl-single-product .zcl-product-details-section #review_form_wrapper input:not([type="submit"]),
.zcl-single-product .wp-block-woocommerce-product-details #review_form_wrapper textarea,
.zcl-single-product .wp-block-woocommerce-product-details #review_form_wrapper input:not([type="submit"]) {
	border-radius: var(--zcl-r);
	border: 1px solid var(--zcl-border) !important;
	background: rgba(9, 9, 11, 0.85) !important;
	color: var(--zcl-text) !important;
}

.zcl-single-product .zcl-product-details-section #respond input#submit,
.zcl-single-product .wp-block-woocommerce-product-details #respond input#submit {
	border-radius: var(--zcl-r) !important;
}

@media (max-width: 768px) {
	/* Override WooCommerce “minimal” mobile tab layout (left border + block) */
	html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li,
	html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li,
	html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li {
		display: flex !important;
		border-left-width: 0 !important;
		margin-bottom: 0 !important;
		flex: 1 1 calc(50% - 0.25rem);
		min-width: 0;
	}

	html body .zcl-single-product .zcl-product-details-section ul.tabs.wc-tabs li a,
	html body .zcl-single-product .wp-block-woocommerce-product-details.is-style-minimal ul.tabs.wc-tabs li a,
	html body .zcl-single-product .wp-block-woocommerce-product-details ul.tabs.wc-tabs li a {
		text-align: center;
		padding: 0.55rem 0.65rem !important;
		font-size: 0.75rem !important;
	}
}

/* Star rating visibility on dark */
.zcl-single-product .wc-block-components-product-rating__stars,
.zcl-single-product .star-rating {
	filter: brightness(1.15);
}

/* Related products — same wide rail as hero / tabs (pattern sat outside constrained groups before) */
.zcl-single-product .zcl-product-related-section {
	width: 100%;
	max-width: min(var(--wp--style--global--wide-size, 1200px), 100%);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--wp--style--root--padding-left, 1.25rem);
	padding-right: var(--wp--style--root--padding-right, 1.25rem);
	box-sizing: border-box;
}

.zcl-single-product .zcl-product-related-section .wp-block-woocommerce-product-collection,
.zcl-single-product .zcl-product-related-section .wp-block-woocommerce-related-products {
	width: 100% !important;
	max-width: 100% !important;
	margin-top: clamp(2rem, 5vw, 3.5rem) !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ——— Cart & Checkout (2026-style: clear hierarchy, sticky summary, trust cues) ——— */
.zcl-cart-page,
.zcl-checkout-page {
	padding-bottom: clamp(2.5rem, 6vw, 4rem);
}

.zcl-cart-checkout-hero {
	width: 100%;
	max-width: min(var(--wp--style--global--wide-size, 1200px), 100%);
	margin-left: auto;
	margin-right: auto;
	padding-top: clamp(1rem, 3vw, 1.75rem);
	padding-bottom: 0.5rem;
	padding-left: var(--wp--style--root--padding-left, 1.25rem);
	padding-right: var(--wp--style--root--padding-right, 1.25rem);
	box-sizing: border-box;
}

.zcl-cart-checkout-hero .wc-block-breadcrumbs {
	margin-bottom: 0.75rem;
}

.zcl-cart-checkout-hero h1.wp-block-heading {
	margin-top: 0;
	margin-bottom: 0.35rem;
	color: var(--zcl-text);
}

.zcl-cart-checkout-lede {
	margin: 0 0 0.25rem;
	color: var(--zcl-muted) !important;
	line-height: 1.45;
}

.zcl-checkout-intro-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem 0.55rem;
	margin-top: 0.8rem;
}

.zcl-checkout-pill {
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--zcl-accent-hover);
	background: rgba(45, 212, 191, 0.1);
	border: 1px solid rgba(45, 212, 191, 0.22);
}

.zcl-cart-checkout-inner {
	width: 100%;
	max-width: min(var(--wp--style--global--wide-size, 1200px), 100%);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--style--root--padding-left, 1.25rem);
	padding-right: var(--wp--style--root--padding-right, 1.25rem);
	padding-top: clamp(1rem, 3vw, 1.75rem);
	box-sizing: border-box;
}

/* Match checkout/cart block width to the inner layout (avoid core “content” / alignwide mismatch). */
.zcl-cart-page .zcl-cart-checkout-inner .wp-block-post-content,
.zcl-checkout-page .zcl-cart-checkout-inner .wp-block-post-content {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.zcl-cart-page .zcl-cart-checkout-inner .wp-block-post-content.alignwide,
.zcl-cart-page .zcl-cart-checkout-inner .wp-block-post-content.alignfull,
.zcl-checkout-page .zcl-cart-checkout-inner .wp-block-post-content.alignwide,
.zcl-checkout-page .zcl-cart-checkout-inner .wp-block-post-content.alignfull {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.zcl-cart-page .wp-block-woocommerce-cart,
.zcl-checkout-page .wp-block-woocommerce-checkout {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.zcl-cart-page .wc-block-cart,
.zcl-checkout-page .wc-block-checkout {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.zcl-checkout-page .wc-block-components-sidebar-layout,
.zcl-cart-page .wc-block-components-sidebar-layout {
	width: 100%;
	max-width: 100%;
}

/*
 * WooCommerce block checkout/cart use a fixed 65%/35% flex split on `.wc-block-components-*`.
 * That often reads as a “narrow” form with empty space on the right when the summary column
 * is empty, visually thin, or wraps under flex-wrap. Rebuild the row as a grid at the same
 * container breakpoint Woo uses (700px on the cart/checkout block) so the main column grows.
 */
@container (min-width: 700px) {
	.zcl-checkout-page .wc-block-components-sidebar-layout,
	.zcl-cart-page .wc-block-components-sidebar-layout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(272px, 34%);
		gap: clamp(1rem, 2.4vw, 1.75rem);
		align-items: start;
	}

	.zcl-checkout-page .wc-block-components-sidebar-layout .wc-block-components-main,
	.zcl-checkout-page .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.zcl-cart-page .wc-block-components-sidebar-layout .wc-block-components-main,
	.zcl-cart-page .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		width: 100% !important;
		max-width: none !important;
		min-width: 0;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}
}

/* Reinforce dark native controls inside Woo blocks (select popovers follow this in Chromium / WebKit). */
html body .zcl-checkout-page .wp-block-woocommerce-checkout,
html body .zcl-cart-page .wp-block-woocommerce-cart {
	color-scheme: dark;
}

/*
 * Block selects (`.wc-blocks-components-select`) — Woo ships high-specificity rules + loads
 * after many themes; duplicate under `.has-dark-controls` and force `!important` on paints.
 */
html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__container,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__container,
html body .zcl-checkout-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__container,
html body .zcl-cart-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__container {
	overflow: hidden !important;
	background: var(--zcl-field-bg) !important;
	background-color: var(--zcl-field-bg) !important;
	backdrop-filter: blur(12px) saturate(1.2) !important;
	-webkit-backdrop-filter: blur(12px) saturate(1.2) !important;
	border: 1px solid var(--zcl-border) !important;
	border-radius: var(--zcl-checkout-field-r) !important;
	box-shadow: var(--zcl-field-inner-highlight) !important;
	color: var(--zcl-text) !important;
	color-scheme: dark !important;
	min-height: 52px !important;
	line-height: normal !important;
	transition:
		border-color 0.18s ease,
		box-shadow 0.18s ease,
		background-color 0.18s ease !important;
}

html body .zcl-checkout-page .wc-blocks-components-select:focus-within .wc-blocks-components-select__container,
html body .zcl-cart-page .wc-blocks-components-select:focus-within .wc-blocks-components-select__container,
html body .zcl-checkout-page .has-dark-controls .wc-blocks-components-select:focus-within .wc-blocks-components-select__container,
html body .zcl-cart-page .has-dark-controls .wc-blocks-components-select:focus-within .wc-blocks-components-select__container {
	border-color: var(--zcl-accent) !important;
	box-shadow:
		var(--zcl-field-inner-highlight),
		var(--zcl-field-focus-ring) !important;
	background: var(--zcl-field-bg) !important;
	background-color: var(--zcl-field-bg) !important;
}

html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__select,
html body .zcl-checkout-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__select,
html body .zcl-cart-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__select {
	-webkit-appearance: none !important;
	appearance: none !important;
	color: var(--zcl-text) !important;
	color-scheme: dark !important;
	accent-color: var(--zcl-accent) !important;
	border: none !important;
	border-radius: calc(var(--zcl-checkout-field-r) - 1px) !important;
	background: transparent !important;
	background-color: transparent !important;
	height: 52px !important;
	min-height: 52px !important;
	line-height: 1.45 !important;
	padding: 1.35rem 2.5rem 0.35rem 0.75rem !important;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	font-variant-numeric: tabular-nums;
	text-rendering: optimizeLegibility;
}

html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select:focus,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__select:focus,
html body .zcl-checkout-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__select:focus,
html body .zcl-cart-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	color: var(--zcl-text) !important;
}

/*
 * <option>: padding/background apply in some engines (Firefox). Chromium often uses OS popup — then
 * color-scheme on html/select (above) is what improves list + scrollbar appearance.
 */
html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__select option,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__select option,
html body .zcl-checkout-page select option,
html body .zcl-cart-page select option {
	background-color: #121214 !important;
	color: #f4f4f5 !important;
	padding: 0.65rem 1rem !important;
	line-height: 1.45 !important;
}

html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__label,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__label,
html body .zcl-checkout-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__label,
html body .zcl-cart-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--zcl-muted) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	left: 0.75rem !important;
	top: 0.45rem !important;
	max-width: calc(100% - 3rem) !important;
}

html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__expand,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__expand,
html body .zcl-checkout-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__expand,
html body .zcl-cart-page .has-dark-controls .wc-blocks-components-select .wc-blocks-components-select__expand {
	color: var(--zcl-accent) !important;
	fill: currentColor !important;
	right: 0.65rem !important;
}

html body .zcl-checkout-page .wc-blocks-components-select .wc-blocks-components-select__expand svg,
html body .zcl-cart-page .wc-blocks-components-select .wc-blocks-components-select__expand svg {
	fill: currentColor !important;
	color: inherit !important;
}

/*
 * Country: comfortable width (capped, not full column). State/province: tighter, content-based width.
 * Native <select> popups follow the control width.
 */
html body .zcl-checkout-page .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-country-input,
html body .zcl-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-country-input,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-country-input {
	flex: 0 1 auto !important;
	width: 100% !important;
	max-width: min(100%, 26rem) !important;
	align-self: flex-start !important;
}

html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-country-input .wc-blocks-components-select,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-country-input .wc-blocks-components-select {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-country-input .wc-blocks-components-select__container,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-country-input .wc-blocks-components-select__container {
	width: 100% !important;
	max-width: 100% !important;
}

html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-country-input .wc-blocks-components-select__select,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-country-input .wc-blocks-components-select__select {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

html body .zcl-checkout-page .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-state-input,
html body .zcl-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-state-input,
html body .zcl-checkout-page .wc-block-checkout__billing-fields .wc-block-components-address-form .wc-block-components-select-input,
html body .zcl-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-address-form .wc-block-components-select-input,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-state-input,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-select-input {
	flex: 0 1 auto !important;
	width: fit-content !important;
	max-width: 100% !important;
	align-self: flex-start !important;
}

html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select,
html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select {
	width: max-content !important;
	max-width: 100% !important;
	min-width: min(100%, 11.5rem) !important;
}

html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__container,
html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select__container,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__container,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select__container {
	width: auto !important;
	max-width: 100% !important;
}

html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__select,
html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select__select,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__select,
html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select__select {
	width: auto !important;
	min-width: min(100%, 11.5rem) !important;
	max-width: 100% !important;
}

@supports (field-sizing: content) {
	html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__select,
	html body .zcl-checkout-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select__select,
	html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-state-input .wc-blocks-components-select__select,
	html body .zcl-cart-page .wc-block-components-address-form .wc-block-components-select-input .wc-blocks-components-select__select {
		field-sizing: content !important;
		min-width: 11.5rem !important;
	}
}

/* Native selects (if any) on checkout/cart */
html body .zcl-checkout-page .wc-block-checkout select:not(.wc-blocks-components-select__select),
html body .zcl-cart-page .wc-block-cart select:not(.wc-blocks-components-select__select) {
	background: var(--zcl-field-bg) !important;
	color: var(--zcl-text) !important;
	color-scheme: dark !important;
	accent-color: var(--zcl-accent) !important;
	border: 1px solid var(--zcl-border) !important;
	border-radius: var(--zcl-checkout-field-r) !important;
	min-height: 3rem;
	padding: 0.65rem 2.25rem 0.65rem 0.85rem !important;
	box-shadow: var(--zcl-field-inner-highlight) !important;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/*
 * Scrollable “dropdown” surfaces in the page (autocomplete, drawers). Uses thin pill thumb.
 * Native <select> open state is drawn by the OS — scrollbar CSS does not apply there.
 */
html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions {
	background: color-mix(in srgb, var(--zcl-field-bg) 96%, transparent) !important;
	backdrop-filter: blur(14px) saturate(1.15);
	-webkit-backdrop-filter: blur(14px) saturate(1.15);
	border: 1px solid var(--zcl-border-strong) !important;
	border-radius: var(--zcl-checkout-field-r) !important;
	box-shadow:
		0 20px 56px -24px rgba(0, 0, 0, 0.9),
		inset 0 1px 0 rgba(255, 255, 255, 0.06) !important;
	margin-top: 6px !important;
	overflow: hidden;
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list li,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list li {
	color: var(--zcl-text) !important;
	border-radius: calc(var(--zcl-checkout-field-r) - 2px);
	transition: background 0.12s ease, color 0.12s ease;
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list li:hover,
html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list li.active,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list li:hover,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list li.active {
	background: rgba(45, 212, 191, 0.12) !important;
	color: var(--zcl-text) !important;
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list,
html body .wc-block-mini-cart__drawer,
html body .wp-block-woocommerce-mini-cart-contents {
	scrollbar-width: thin;
	scrollbar-color: var(--zcl-scrollbar-thumb) var(--zcl-scrollbar-track);
	scrollbar-gutter: stable;
	color-scheme: dark;
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar,
html body .wc-block-mini-cart__drawer::-webkit-scrollbar,
html body .wp-block-woocommerce-mini-cart-contents::-webkit-scrollbar {
	width: var(--zcl-scrollbar-w);
	height: var(--zcl-scrollbar-w);
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-track,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-track,
html body .wc-block-mini-cart__drawer::-webkit-scrollbar-track,
html body .wp-block-woocommerce-mini-cart-contents::-webkit-scrollbar-track {
	background: var(--zcl-scrollbar-track);
	border-radius: 100px;
	margin: 4px 0;
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-thumb,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-thumb,
html body .wc-block-mini-cart__drawer::-webkit-scrollbar-thumb,
html body .wp-block-woocommerce-mini-cart-contents::-webkit-scrollbar-thumb {
	background: linear-gradient(
		180deg,
		var(--zcl-scrollbar-thumb) 0%,
		color-mix(in srgb, var(--zcl-scrollbar-thumb) 85%, #000) 100%
	);
	border-radius: 100px;
	border: 2px solid transparent;
	background-clip: padding-box;
	box-shadow: 0 0 12px -2px rgba(45, 212, 191, 0.35);
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-thumb:hover,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-thumb:hover,
html body .wc-block-mini-cart__drawer::-webkit-scrollbar-thumb:hover,
html body .wp-block-woocommerce-mini-cart-contents::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(
		180deg,
		var(--zcl-scrollbar-thumb-hover) 0%,
		color-mix(in srgb, var(--zcl-scrollbar-thumb-hover) 88%, #000) 100%
	);
}

html body .zcl-checkout-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-thumb:active,
html body .zcl-cart-page .wc-block-components-address-autocomplete-suggestions .suggestions-list::-webkit-scrollbar-thumb:active,
html body .wc-block-mini-cart__drawer::-webkit-scrollbar-thumb:active,
html body .wp-block-woocommerce-mini-cart-contents::-webkit-scrollbar-thumb:active {
	background: var(--zcl-scrollbar-thumb-active);
}

/* Multi-select lists (rare) — in-page scrollbars can be themed */
html body .zcl-checkout-page select[multiple],
html body .zcl-cart-page select[multiple] {
	scrollbar-width: thin;
	scrollbar-color: var(--zcl-scrollbar-thumb) var(--zcl-scrollbar-track);
	color-scheme: dark;
}

html body .zcl-checkout-page select[multiple]::-webkit-scrollbar,
html body .zcl-cart-page select[multiple]::-webkit-scrollbar {
	width: var(--zcl-scrollbar-w);
}

html body .zcl-checkout-page select[multiple]::-webkit-scrollbar-thumb,
html body .zcl-cart-page select[multiple]::-webkit-scrollbar-thumb {
	background: var(--zcl-scrollbar-thumb);
	border-radius: 100px;
}

html body .zcl-checkout-page select[multiple]::-webkit-scrollbar-thumb:hover,
html body .zcl-cart-page select[multiple]::-webkit-scrollbar-thumb:hover {
	background: var(--zcl-scrollbar-thumb-hover);
}

/* Checkout: section cards, hierarchy, spacing (block checkout UI) */
html body .zcl-checkout-page .wc-block-components-form .wc-block-components-checkout-step {
	margin-bottom: clamp(1.25rem, 3vw, 1.85rem) !important;
	padding: clamp(1.15rem, 2.6vw, 1.5rem) clamp(1.1rem, 2.4vw, 1.45rem) !important;
	border-radius: var(--zcl-checkout-section-r);
	background: linear-gradient(
		165deg,
		rgba(255, 255, 255, 0.04) 0%,
		rgba(255, 255, 255, 0.015) 42%,
		rgba(0, 0, 0, 0.12) 100%
	) !important;
	border: 1px solid var(--zcl-border) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.05),
		0 12px 40px -28px rgba(0, 0, 0, 0.85);
}

html body .zcl-checkout-page .wc-block-components-checkout-step__heading-container {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.5rem !important;
	margin: 0 0 1.35rem !important;
	padding: 0 0 1rem !important;
	border-bottom: 1px solid var(--zcl-border-strong) !important;
}

html body .zcl-checkout-page .wc-block-components-checkout-step__heading {
	margin: 0 !important;
	padding: 0 !important;
}

html body .zcl-checkout-page .wc-block-components-checkout-step__title {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	line-height: 1.35 !important;
	color: rgba(250, 250, 250, 0.95) !important;
}

html body .zcl-checkout-page .wc-block-components-checkout-step__heading-content {
	font-size: 0.8125rem !important;
	line-height: 1.45 !important;
	color: var(--zcl-muted) !important;
}

html body .zcl-checkout-page .wc-block-components-checkout-step__description {
	margin-top: 0.35rem !important;
	padding: 0.65rem 0.9rem !important;
	border-radius: calc(var(--zcl-checkout-field-r) - 1px);
	background: rgba(45, 212, 191, 0.07);
	border: 1px solid rgba(45, 212, 191, 0.16);
	color: var(--zcl-muted) !important;
	font-size: 0.8125rem !important;
	line-height: 1.5 !important;
}

html body .zcl-checkout-page .wc-block-components-checkout-step__content > * {
	margin-bottom: 1.125rem !important;
}

html body .zcl-checkout-page .wc-block-components-checkout-step__content > *:last-child {
	margin-bottom: 0 !important;
}

html body .zcl-checkout-page .has-error .wc-blocks-components-select .wc-blocks-components-select__container {
	border-color: rgba(251, 113, 133, 0.65) !important;
	box-shadow: 0 0 0 1px rgba(251, 113, 133, 0.35) !important;
}

html body .zcl-checkout-page .wc-block-components-text-input input,
html body .zcl-checkout-page .wc-block-components-address-form input,
html body .zcl-checkout-page textarea.wc-block-components-textarea {
	border-radius: var(--zcl-checkout-field-r) !important;
	padding: 0.75rem 0.95rem !important;
	min-height: 3rem;
}

html body .zcl-checkout-page .wc-block-components-address-form__address_2-toggle {
	margin-top: 0.5rem !important;
	padding: 0.45rem 0.75rem !important;
	border-radius: 6px !important;
	font-size: 0.8125rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	color: var(--zcl-accent) !important;
	background: rgba(45, 212, 191, 0.09) !important;
	border: 1px solid rgba(45, 212, 191, 0.22) !important;
	transition:
		background 0.18s ease,
		border-color 0.18s ease,
		color 0.18s ease;
}

html body .zcl-checkout-page .wc-block-components-address-form__address_2-toggle:hover {
	background: rgba(45, 212, 191, 0.14) !important;
	border-color: rgba(45, 212, 191, 0.38) !important;
	color: var(--zcl-accent-hover) !important;
}

html body .zcl-checkout-page .wc-block-components-checkbox .wc-block-components-checkbox__label,
html body .zcl-checkout-page .wc-block-components-checkbox label {
	font-size: 0.875rem;
	line-height: 1.45;
}

html body .zcl-checkout-page .wc-block-components-checkbox input[type="checkbox"] {
	border-radius: 4px !important;
	accent-color: var(--zcl-accent);
}

@container (min-width: 700px) {
	html body .zcl-checkout-page .wc-block-checkout__shipping-fields .wc-block-components-address-form,
	html body .zcl-checkout-page .wc-block-checkout__billing-fields .wc-block-components-address-form {
		gap: 14px 18px !important;
	}
}

/* Cart / checkout block surfaces */
.zcl-cart-page .wc-block-cart,
.zcl-checkout-page .wc-block-checkout {
	border-radius: 12px;
}

.zcl-cart-page .wp-block-woocommerce-cart,
.zcl-checkout-page .wp-block-woocommerce-checkout {
	background: rgba(17, 17, 19, 0.45);
	border: 1px solid var(--zcl-border);
	border-radius: 12px;
	padding: clamp(1rem, 3vw, 1.5rem) !important;
	box-shadow: 0 24px 60px -40px rgba(0, 0, 0, 0.75);
}

@media (min-width: 960px) {
	.zcl-checkout-page .wc-block-checkout {
		gap: clamp(1.25rem, 3vw, 2rem);
	}

	/* Sticky order summary on wide screens */
	.zcl-checkout-page .wc-block-checkout__sidebar {
		position: sticky;
		top: max(1rem, env(safe-area-inset-top));
		align-self: flex-start;
	}
}

.zcl-cart-page .wc-block-cart__main,
.zcl-checkout-page .wc-block-checkout__main {
	padding-top: 0.25rem;
}

.zcl-cart-page .wc-block-cart-items,
.zcl-checkout-page .wc-block-components-sidebar-layout .wc-block-components-panel {
	border-radius: var(--zcl-r);
}

/* Modern payment method cards */
.zcl-checkout-page .wc-block-checkout__payment-method,
.zcl-checkout-page .wc-block-components-radio-control__option {
	border: 1px solid var(--zcl-border) !important;
	border-radius: 10px !important;
	background: rgba(255, 255, 255, 0.02) !important;
	padding: 0.8rem 0.9rem !important;
	transition:
		border-color 0.16s ease,
		background 0.16s ease,
		box-shadow 0.16s ease;
}

.zcl-checkout-page .wc-block-checkout__payment-method:hover,
.zcl-checkout-page .wc-block-components-radio-control__option:hover {
	border-color: rgba(45, 212, 191, 0.34) !important;
	background: rgba(45, 212, 191, 0.06) !important;
}

.zcl-checkout-page .wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option,
.zcl-checkout-page .wc-block-checkout__payment-method.is-active,
.zcl-checkout-page .wc-block-checkout__payment-method[aria-checked="true"] {
	border-color: rgba(45, 212, 191, 0.56) !important;
	background: linear-gradient(145deg, rgba(45, 212, 191, 0.12), rgba(17, 17, 19, 0.45)) !important;
	box-shadow:
		0 0 0 1px rgba(45, 212, 191, 0.28),
		0 14px 34px -24px rgba(0, 0, 0, 0.75);
}

.zcl-checkout-page .wc-block-components-radio-control__label-group,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__label-group {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.zcl-checkout-page .wc-block-components-radio-control__label {
	font-weight: 600 !important;
	color: var(--zcl-text) !important;
	font-size: 0.9rem !important;
}

.zcl-checkout-page .wc-block-components-radio-control__description,
.zcl-checkout-page .wc-block-components-payment-method-label__description {
	color: var(--zcl-muted) !important;
	font-size: 0.8rem !important;
	line-height: 1.45 !important;
}

.zcl-checkout-page .wc-block-components-payment-method-icons {
	gap: 0.35rem !important;
}

.zcl-checkout-page .wc-block-components-payment-method-icons img,
.zcl-checkout-page .wc-block-components-payment-method-icons svg {
	height: 18px !important;
	width: auto !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__input {
	accent-color: var(--zcl-accent) !important;
}

.zcl-checkout-page .wc-block-checkout__terms,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-checkbox__label {
	font-size: 0.82rem !important;
	color: var(--zcl-muted) !important;
}

/* Payment form spacing polish */
.zcl-checkout-page .wc-block-checkout__payment-methods,
.zcl-checkout-page .wc-block-checkout__payment-methods .wc-block-components-radio-control {
	display: grid;
	gap: 0.8rem;
}

.zcl-checkout-page .wc-block-checkout__payment-method {
	margin-bottom: 0.25rem !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-payment-method-label {
	padding-top: 0.65rem !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-text-input,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-field,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-checkbox {
	margin-bottom: 0.75rem !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-text-input:last-child,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-field:last-child,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-checkbox:last-child {
	margin-bottom: 0 !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method input[type="text"],
.zcl-checkout-page .wc-block-checkout__payment-method input[type="tel"],
.zcl-checkout-page .wc-block-checkout__payment-method input[type="number"] {
	min-height: 3.1rem !important;
}

.zcl-cart-page .wc-block-cart-items__row,
.zcl-checkout-page .wc-block-components-order-summary-item {
	border-color: var(--zcl-border) !important;
}

/* Primary actions */
.zcl-cart-page .wc-block-cart__submit-container,
.zcl-checkout-page .wc-block-checkout__actions {
	padding-top: 0.5rem;
}

.zcl-cart-page .wc-block-cart__submit-button,
.zcl-checkout-page .wc-block-components-checkout-place-order-button {
	min-height: 3rem;
	font-size: 0.9rem !important;
}

.zcl-checkout-page .wc-block-components-checkout-place-order-button {
	border-radius: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	background: linear-gradient(135deg, #2dd4bf 0%, #0d9488 100%) !important;
	color: #031717 !important;
	box-shadow: 0 16px 32px -22px rgba(13, 148, 136, 0.75);
}

.zcl-checkout-page .wc-block-components-checkout-place-order-button:hover {
	filter: brightness(1.04);
	transform: translateY(-1px);
}

.zcl-checkout-footer-help {
	margin-top: 1.1rem;
	padding-top: 0.9rem;
	border-top: 1px dashed var(--zcl-border-strong);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.55rem;
	font-size: 0.8125rem;
	color: var(--zcl-muted);
}

.zcl-checkout-footer-help a {
	color: var(--zcl-accent-hover);
	text-decoration: none;
}

.zcl-checkout-footer-help a:hover {
	color: var(--zcl-accent);
	text-decoration: underline;
}

@media (max-width: 699px) {
	.zcl-checkout-page .wp-block-woocommerce-checkout {
		padding: 0.85rem !important;
	}
	.zcl-checkout-page .wc-block-components-checkout-step__title {
		font-size: 0.76rem !important;
	}
	.zcl-checkout-page .wc-block-components-radio-control__label {
		font-size: 0.86rem !important;
	}
}

/* Stripe plugin checkout form cleanup (classic + block rendered containers) */
.zcl-checkout-page .wc-stripe-simple-form,
.zcl-checkout-page .wc-stripe-minimalist-form,
.zcl-checkout-page .wc-stripe-gateway-container,
.zcl-checkout-page .wc-stripe_cc-new-method-container {
	margin-top: 0.85rem !important;
	padding: 0.95rem 1rem !important;
	border: 1px solid rgba(45, 212, 191, 0.24) !important;
	border-radius: 10px !important;
	background: rgba(14, 14, 18, 0.72) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.04),
		0 12px 30px -24px rgba(0, 0, 0, 0.8) !important;
}

.zcl-checkout-page .wc-stripe-simple-form .row,
.zcl-checkout-page .wc-stripe-minimalist-form .row,
.zcl-checkout-page .wc-stripe-simple-form .field,
.zcl-checkout-page .wc-stripe-minimalist-form .field {
	margin-bottom: 0.85rem !important;
}

.zcl-checkout-page .wc-stripe-simple-form .field:last-child,
.zcl-checkout-page .wc-stripe-minimalist-form .field:last-child {
	margin-bottom: 0 !important;
}

.zcl-checkout-page .wc-stripe-simple-form label,
.zcl-checkout-page .wc-stripe-minimalist-form label,
.zcl-checkout-page .wc-stripe-label-payment-type {
	color: var(--zcl-text) !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em !important;
	margin-bottom: 0.35rem !important;
}

.zcl-checkout-page .wc-stripe-simple-form .input,
.zcl-checkout-page .wc-stripe-minimalist-form .input,
.zcl-checkout-page .wc-stripe-simple-form .StripeElement,
.zcl-checkout-page .wc-stripe_cc-container .wc-stripe-simple-form .StripeElement,
.zcl-checkout-page .wc-stripe-minimalist-form .StripeElement {
	min-height: 3rem !important;
	border-radius: 8px !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	background: rgba(255, 255, 255, 0.05) !important;
	color: var(--zcl-text) !important;
	padding: 0.72rem 0.85rem !important;
	box-shadow: none !important;
}

.zcl-checkout-page .wc-stripe-save-source {
	margin-top: 0.65rem !important;
	padding-top: 0.5rem !important;
	border-top: 1px dashed rgba(255, 255, 255, 0.18) !important;
}

.zcl-checkout-page .wc-stripe-save-source label {
	font-size: 0.8rem !important;
	color: var(--zcl-muted) !important;
}

.zcl-checkout-page .wc-stripe-card-icons-container {
	display: inline-flex !important;
	align-items: center !important;
	gap: 0.28rem !important;
}

.zcl-checkout-page .wc-stripe-card-icon {
	height: 16px !important;
	width: auto !important;
}

.zcl-checkout-page .wc-block-checkout__main,
.zcl-checkout-page .wc-block-components-main {
	gap: 1rem !important;
}

body:not(.zcl-front-store) .zcl-checkout-page .wp-block-woocommerce-checkout {
	background: rgba(10, 10, 13, 0.82) !important;
	border-color: rgba(255, 255, 255, 0.12) !important;
}

/* Fix payment header overlap/clipping in Woo blocks + Stripe labels */
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-payment-method-label,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__option-layout {
	display: flex !important;
	align-items: center !important;
	gap: 0.62rem !important;
	width: 100% !important;
	position: relative !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__input,
.zcl-checkout-page .wc-block-components-radio-control__option .wc-block-components-radio-control__input {
	position: absolute !important;
	left: 0.7rem !important;
	top: 0.82rem !important;
	transform: none !important;
	margin: 0 !important;
	width: 1.05rem !important;
	height: 1.05rem !important;
	flex: 0 0 auto !important;
	z-index: 2 !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__label-group {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	padding-left: 1.55rem !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__label {
	line-height: 1.32 !important;
	color: #f3f4f6 !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control__description,
.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-payment-method-label__description {
	color: #cbd5e1 !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-payment-method-icons {
	margin-left: auto !important;
	flex: 0 0 auto !important;
	padding-left: 0.35rem !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
	margin: 0 !important;
}

.zcl-checkout-page .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option + .wc-block-components-radio-control-accordion-option {
	margin-top: 0.75rem !important;
}

.zcl-checkout-page .wc-block-checkout__payment-methods .wc-block-components-radio-control__option {
	overflow: visible !important;
}

.zcl-checkout-page .wc-stripe-gateway-desc,
.zcl-checkout-page .wc-stripe-gateway-desc * {
	color: #dbe2ea !important;
}

/* Static pages — outer padding only; inner constrained group aligns title + content (templates/page.html) */
.zcl-page-shell {
	box-sizing: border-box;
}

.zcl-page-shell > .wp-block-group.is-layout-constrained {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.zcl-page-shell .wp-block-post-title {
	text-align: left;
	text-wrap: balance;
}

.zcl-page-shell .wp-block-post-content > :first-child {
	margin-top: 0;
}

.zcl-page-shell .wp-block-post-featured-image:first-child + .wp-block-post-title {
	margin-top: 0;
}

/* Legal pages (Privacy, Terms, Cookies, Returns) */
.zcl-legal-doc {
	max-width: 52rem;
	margin-inline: auto;
}
.zcl-legal-doc h2 {
	margin-top: 2rem;
	margin-bottom: 0.75rem;
	font-size: clamp(1.1rem, 2.5vw, 1.35rem);
	font-weight: 600;
	letter-spacing: -0.02em;
}
.zcl-legal-doc h3 {
	margin-top: 1.25rem;
	margin-bottom: 0.5rem;
	font-size: 1rem;
	font-weight: 600;
}
.zcl-legal-doc p,
.zcl-legal-doc li {
	font-size: 0.9375rem;
	line-height: 1.65;
}
.zcl-legal-doc .zcl-legal-meta {
	font-size: 0.875rem;
	opacity: 0.9;
	margin-bottom: 1.5rem;
}
.zcl-legal-doc table {
	width: 100%;
	font-size: 0.8125rem;
	line-height: 1.5;
	border-color: var(--zcl-border, rgba(255, 255, 255, 0.12)) !important;
	background: rgba(17, 17, 19, 0.35);
	border-radius: 8px;
	overflow: hidden;
}
.zcl-legal-doc th,
.zcl-legal-doc td {
	border-color: var(--zcl-border, rgba(255, 255, 255, 0.12)) !important;
	vertical-align: top;
	padding: 0.65rem 0.75rem !important;
}
.zcl-legal-doc th {
	text-align: left;
	font-weight: 600;
	background: rgba(45, 212, 191, 0.08);
}
.zcl-legal-doc caption {
	padding-top: 0.5rem;
	opacity: 0.85;
}
.zcl-legal-doc a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.zcl-legal-doc .zcl-contact-lead {
	font-size: 1.0625rem;
	line-height: 1.55;
	margin-bottom: 1.5rem;
	opacity: 0.95;
}

/* ——— Contact page (modern layout) ——— */
.zcl-legal-doc.zcl-contact {
	max-width: min(52rem, 100%);
	margin-inline: auto;
}

/* Contact page: shortcode block fills the content column (same width as HTML blocks above) */
.page-contact .wp-block-shortcode {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.zcl-contact-hero {
	margin-bottom: clamp(2rem, 5vw, 3rem);
	padding-bottom: clamp(1.5rem, 4vw, 2rem);
	border-bottom: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.08));
}

.zcl-contact-hero__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-contact-hero__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.75rem, 5vw, 2.35rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.1;
	color: var(--zcl-text, #fafafa);
}

.zcl-contact-hero__meta {
	margin-top: 0;
	margin-bottom: 1rem;
}

.zcl-contact-hero__lead {
	margin-bottom: 0;
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	line-height: 1.6;
	max-width: 52ch;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-contact-section {
	margin-bottom: clamp(2rem, 4vw, 2.75rem);
}

.zcl-contact-section--formintro {
	margin-bottom: clamp(0.5rem, 2vw, 1rem);
}

.zcl-contact-section--muted {
	padding: clamp(1.25rem, 3vw, 1.65rem);
	border-radius: var(--zcl-checkout-section-r, 10px);
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.08));
}

.zcl-contact-section__title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin: 0 0 0.65rem;
	font-size: clamp(1.05rem, 2.4vw, 1.2rem);
	font-weight: 650;
	letter-spacing: -0.02em;
}

.zcl-contact-section__badge {
	display: inline-block;
	padding: 0.2rem 0.5rem;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 999px;
	background: rgba(45, 212, 191, 0.15);
	color: var(--zcl-accent-hover, #5eead4);
	border: 1px solid rgba(45, 212, 191, 0.28);
}

.zcl-contact-section__intro {
	margin: 0 0 1rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--zcl-muted, #a1a1aa);
	max-width: 50ch;
}

.zcl-contact-tiles {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.65rem;
}

@media (min-width: 600px) {
	.zcl-contact-tiles {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.75rem;
	}
}

@media (min-width: 960px) {
	.zcl-contact-tiles {
		grid-template-columns: repeat(2, 1fr);
	}
}

.zcl-contact-tiles > li {
	margin: 0;
}

.zcl-contact-tile {
	display: flex;
	align-items: center;
	gap: 0.85rem 1rem;
	padding: 0.85rem 1rem;
	min-height: 3.25rem;
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	background: rgba(17, 17, 19, 0.55);
	border: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.1));
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		transform 0.15s ease,
		box-shadow 0.18s ease;
}

.zcl-contact-tile:hover {
	border-color: rgba(45, 212, 191, 0.35);
	background: rgba(45, 212, 191, 0.06);
	transform: translateY(-1px);
	box-shadow: 0 12px 28px -18px rgba(0, 0, 0, 0.5);
}

.zcl-contact-tile:focus-visible {
	outline: 2px solid var(--zcl-accent, #2dd4bf);
	outline-offset: 2px;
}

.zcl-contact-tile__icon {
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
	background: rgba(45, 212, 191, 0.12);
	border: 1px solid rgba(45, 212, 191, 0.22);
	position: relative;
}

.zcl-contact-tile__icon--ship::after {
	content: "";
	position: absolute;
	inset: 28% 22%;
	border: 2px solid var(--zcl-accent, #2dd4bf);
	border-radius: 3px 3px 5px 5px;
	border-top: none;
	box-sizing: border-box;
}

.zcl-contact-tile__icon--ship::before {
	content: "";
	position: absolute;
	left: 30%;
	right: 30%;
	top: 32%;
	height: 2px;
	background: var(--zcl-accent, #2dd4bf);
	border-radius: 1px;
}

.zcl-contact-tile__icon--return::after {
	content: "↩";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	color: var(--zcl-accent, #2dd4bf);
	line-height: 1;
}

.zcl-contact-tile__icon--faq::after {
	content: "?";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-contact-tile__icon--account::after {
	content: "";
	position: absolute;
	left: 32%;
	right: 32%;
	top: 28%;
	bottom: 28%;
	border: 2px solid var(--zcl-accent, #2dd4bf);
	border-radius: 50%;
	box-sizing: border-box;
}

.zcl-contact-tile__icon--about::after {
	content: "";
	position: absolute;
	inset: 26%;
	border: 2px solid var(--zcl-accent, #2dd4bf);
	border-radius: 4px;
	box-sizing: border-box;
	transform: rotate(12deg);
}

.zcl-contact-tile__text {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.zcl-contact-tile__label {
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: var(--zcl-text, #fafafa);
}

.zcl-contact-tile__hint {
	font-size: 0.75rem;
	line-height: 1.35;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-contact-tile__chev {
	flex: 0 0 auto;
	width: 1.5rem;
	text-align: center;
	color: var(--zcl-accent, #2dd4bf);
	opacity: 0.7;
	font-size: 1.35rem;
	font-weight: 300;
	line-height: 1;
}

.zcl-contact-tile__chev::after {
	content: "\203A";
}

.zcl-contact-checklist {
	margin: 0.5rem 0 0;
	padding-left: 1.15rem;
}

.zcl-contact-checklist li {
	margin-bottom: 0.5rem;
	padding-left: 0.15rem;
}

.zcl-contact-checklist li::marker {
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-contact-inline-links {
	list-style: none;
	margin: 0.5rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.zcl-contact-inline-links a {
	font-weight: 500;
	text-decoration: none;
	color: var(--zcl-accent-hover, #5eead4);
	border-bottom: 1px solid rgba(94, 234, 212, 0.35);
	padding-bottom: 1px;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.zcl-contact-inline-links a:hover {
	border-bottom-color: var(--zcl-accent-hover, #5eead4);
	color: var(--zcl-text, #fafafa);
}

.zcl-contact--afterform {
	margin-top: clamp(2rem, 5vw, 3rem);
	padding-top: clamp(1.5rem, 4vw, 2rem);
	border-top: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.08));
}

/* ——— About page ——— */
.zcl-legal-doc.zcl-about {
	max-width: min(52rem, 100%);
	margin-inline: auto;
}

.zcl-about-hero {
	margin-bottom: clamp(2rem, 5vw, 3rem);
	padding-bottom: clamp(1.5rem, 4vw, 2rem);
	border-bottom: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.08));
}

.zcl-about-hero__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-about-hero__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.65rem, 4.5vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.12;
	color: var(--zcl-text, #fafafa);
	text-wrap: balance;
}

.zcl-about-hero__meta {
	margin-top: 0;
	margin-bottom: 1rem;
}

.zcl-about-hero__lead {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	line-height: 1.65;
	max-width: 58ch;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-about-hero__lead strong {
	color: var(--zcl-text, #fafafa);
	font-weight: 600;
}

.zcl-about-section {
	margin-bottom: clamp(2rem, 4vw, 2.85rem);
}

.zcl-about-section__title {
	margin: 0 0 0.6rem;
	font-size: clamp(1.05rem, 2.4vw, 1.2rem);
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--zcl-text, #fafafa);
}

.zcl-about-section__intro {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--zcl-muted, #a1a1aa);
	max-width: 48ch;
}

.zcl-about-pillars {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1rem;
}

@media (min-width: 700px) {
	.zcl-about-pillars {
		grid-template-columns: repeat(3, 1fr);
		gap: 1rem 1.1rem;
	}
}

.zcl-about-pillar {
	margin: 0;
	padding: clamp(1.1rem, 2.5vw, 1.35rem);
	border-radius: 14px;
	background: rgba(17, 17, 19, 0.55);
	border: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.1));
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-height: 100%;
	transition:
		border-color 0.18s ease,
		background 0.18s ease,
		box-shadow 0.18s ease;
}

.zcl-about-pillar:hover {
	border-color: rgba(45, 212, 191, 0.28);
	background: rgba(45, 212, 191, 0.05);
	box-shadow: 0 16px 36px -24px rgba(0, 0, 0, 0.45);
}

.zcl-about-pillar__icon {
	flex-shrink: 0;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 12px;
	background: rgba(45, 212, 191, 0.12);
	border: 1px solid rgba(45, 212, 191, 0.22);
	position: relative;
}

.zcl-about-pillar__icon--quality::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 45%;
	width: 0.45rem;
	height: 0.72rem;
	border: solid var(--zcl-accent, #2dd4bf);
	border-width: 0 2.5px 2.5px 0;
	transform: translate(-50%, -50%) rotate(40deg);
	box-sizing: border-box;
}

.zcl-about-pillar__icon--transparency::after {
	content: "";
	position: absolute;
	inset: 28% 32%;
	border: 2px solid var(--zcl-accent, #2dd4bf);
	border-radius: 50%;
	box-sizing: border-box;
}

.zcl-about-pillar__icon--transparency::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 22%;
	bottom: 38%;
	width: 2px;
	margin-left: -1px;
	background: var(--zcl-accent, #2dd4bf);
	border-radius: 1px;
}

.zcl-about-pillar__icon--security::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 24%;
	width: 0.55rem;
	height: 0.4rem;
	border: 2px solid var(--zcl-accent, #2dd4bf);
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	transform: translateX(-50%);
	box-sizing: border-box;
}

.zcl-about-pillar__icon--security::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 46%;
	width: 0.95rem;
	height: 0.72rem;
	border: 2px solid var(--zcl-accent, #2dd4bf);
	border-radius: 3px;
	transform: translate(-50%, -20%);
	box-sizing: border-box;
}

.zcl-about-pillar__title {
	margin: 0;
	font-size: 1rem;
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--zcl-text, #fafafa);
}

.zcl-about-pillar__text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.58;
	color: var(--zcl-muted, #a1a1aa);
	flex-grow: 1;
}

.zcl-about-pillar__text a {
	color: var(--zcl-accent-hover, #5eead4);
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid rgba(94, 234, 212, 0.35);
}

.zcl-about-pillar__text a:hover {
	color: var(--zcl-text, #fafafa);
	border-bottom-color: var(--zcl-accent-hover, #5eead4);
}

.zcl-about-section--prose .zcl-about-prose {
	font-size: 0.9375rem;
	line-height: 1.68;
	color: var(--zcl-muted, #a1a1aa);
	max-width: 58ch;
}

.zcl-about-section--prose .zcl-about-prose p {
	margin: 0;
}

.zcl-about-cta-panel {
	margin-top: clamp(2rem, 5vw, 2.75rem);
	padding: clamp(1.5rem, 4vw, 2rem);
	border-radius: 16px;
	background: linear-gradient(
		135deg,
		rgba(45, 212, 191, 0.1) 0%,
		rgba(17, 17, 19, 0.75) 45%,
		rgba(14, 14, 16, 0.9) 100%
	);
	border: 1px solid rgba(45, 212, 191, 0.22);
	box-shadow: 0 20px 48px -28px rgba(0, 0, 0, 0.55);
}

.zcl-about-cta-panel__inner {
	max-width: 36rem;
}

.zcl-about-cta-panel__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--zcl-text, #fafafa);
}

.zcl-about-cta-panel__text {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-about-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.85rem;
	align-items: center;
}

.zcl-about-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	padding: 0 1.35rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	letter-spacing: -0.01em;
	text-decoration: none;
	border-radius: 10px;
	transition:
		transform 0.15s ease,
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

.zcl-about-cta-btn--primary {
	color: #061010;
	background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 100%);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

.zcl-about-cta-btn--primary:hover {
	transform: translateY(-1px);
	filter: brightness(1.06);
	color: #042f2e;
}

.zcl-about-cta-btn--ghost {
	color: var(--zcl-text, #fafafa);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--zcl-border-strong, rgba(255, 255, 255, 0.14));
}

.zcl-about-cta-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(45, 212, 191, 0.35);
	color: var(--zcl-accent-hover, #5eead4);
}

.zcl-about-cta-btn:focus-visible {
	outline: 2px solid var(--zcl-accent, #2dd4bf);
	outline-offset: 2px;
}

/* About — light storefront body (if used) */
body.zcl-front-store .zcl-about-pillar {
	background: #fafafa;
	border-color: #e5e5e5;
}

body.zcl-front-store .zcl-about-pillar:hover {
	background: #f0fdfa;
	border-color: rgba(15, 118, 110, 0.35);
}

body.zcl-front-store .zcl-about-pillar__title,
body.zcl-front-store .zcl-about-hero__title,
body.zcl-front-store .zcl-about-section__title,
body.zcl-front-store .zcl-about-cta-panel__title {
	color: #0a0a0a;
}

body.zcl-front-store .zcl-about-hero__lead,
body.zcl-front-store .zcl-about-section__intro,
body.zcl-front-store .zcl-about-pillar__text,
body.zcl-front-store .zcl-about-section--prose .zcl-about-prose,
body.zcl-front-store .zcl-about-cta-panel__text {
	color: #525252;
}

body.zcl-front-store .zcl-about-hero__lead strong {
	color: #171717;
}

body.zcl-front-store .zcl-about-cta-panel {
	background: linear-gradient(135deg, rgba(15, 118, 110, 0.12) 0%, #ffffff 50%);
	border-color: rgba(15, 118, 110, 0.25);
}

body.zcl-front-store .zcl-about-cta-btn--primary {
	color: #ffffff;
	background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%);
}

body.zcl-front-store .zcl-about-cta-btn--primary:hover {
	color: #ffffff;
}

/* ——— Shipping & delivery page ——— */
.zcl-legal-doc.zcl-shipping {
	max-width: min(52rem, 100%);
	margin-inline: auto;
}

.zcl-shipping-hero {
	margin-bottom: clamp(2rem, 5vw, 3rem);
	padding-bottom: clamp(1.5rem, 4vw, 2rem);
	border-bottom: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.08));
}

.zcl-shipping-hero__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-shipping-hero__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.65rem, 4.5vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.12;
	color: var(--zcl-text, #fafafa);
	text-wrap: balance;
}

.zcl-shipping-hero__meta {
	margin-top: 0;
	margin-bottom: 1rem;
}

.zcl-shipping-hero__lead {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	line-height: 1.65;
	max-width: 60ch;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-shipping-hero__lead strong {
	color: var(--zcl-text, #fafafa);
	font-weight: 600;
}

.zcl-shipping-section {
	margin-bottom: clamp(2rem, 4vw, 2.85rem);
}

.zcl-shipping-section__title {
	margin: 0 0 0.6rem;
	font-size: clamp(1.05rem, 2.4vw, 1.2rem);
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--zcl-text, #fafafa);
}

.zcl-shipping-section__intro {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--zcl-muted, #a1a1aa);
	max-width: 55ch;
}

.zcl-shipping-section p,
.zcl-shipping-section li {
	font-size: 0.9375rem;
	line-height: 1.65;
}

.zcl-shipping-section ul:not(.zcl-shipping-steps) {
	margin: 0.75rem 0 0;
	padding-left: 1.15rem;
}

.zcl-shipping-section ul:not(.zcl-shipping-steps) li {
	margin-bottom: 0.5rem;
}

.zcl-shipping-section ul:not(.zcl-shipping-steps) li::marker {
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-shipping-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.85rem;
}

@media (min-width: 640px) {
	.zcl-shipping-steps {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
}

.zcl-shipping-steps__item {
	margin: 0;
	padding: 1rem 1.1rem;
	border-radius: 12px;
	background: rgba(17, 17, 19, 0.5);
	border: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.1));
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-shipping-steps__label {
	display: block;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--zcl-accent-hover, #5eead4);
	margin-bottom: 0.35rem;
}

.zcl-shipping-cta-panel {
	margin-top: clamp(2rem, 5vw, 2.75rem);
	padding: clamp(1.5rem, 4vw, 2rem);
	border-radius: 16px;
	background: linear-gradient(
		135deg,
		rgba(45, 212, 191, 0.1) 0%,
		rgba(17, 17, 19, 0.75) 45%,
		rgba(14, 14, 16, 0.9) 100%
	);
	border: 1px solid rgba(45, 212, 191, 0.22);
	box-shadow: 0 20px 48px -28px rgba(0, 0, 0, 0.55);
}

.zcl-shipping-cta-panel__inner {
	max-width: 36rem;
}

.zcl-shipping-cta-panel__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--zcl-text, #fafafa);
}

.zcl-shipping-cta-panel__text {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-shipping-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.85rem;
	align-items: center;
}

.zcl-shipping-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	padding: 0 1.35rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	letter-spacing: -0.01em;
	text-decoration: none;
	border-radius: 10px;
	transition:
		transform 0.15s ease,
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

.zcl-shipping-cta-btn--primary {
	color: #061010;
	background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 100%);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

.zcl-shipping-cta-btn--primary:hover {
	transform: translateY(-1px);
	filter: brightness(1.06);
	color: #042f2e;
}

.zcl-shipping-cta-btn--ghost {
	color: var(--zcl-text, #fafafa);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--zcl-border-strong, rgba(255, 255, 255, 0.14));
}

.zcl-shipping-cta-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(45, 212, 191, 0.35);
	color: var(--zcl-accent-hover, #5eead4);
}

.zcl-shipping-cta-btn:focus-visible {
	outline: 2px solid var(--zcl-accent, #2dd4bf);
	outline-offset: 2px;
}

body.zcl-front-store .zcl-shipping-hero__title,
body.zcl-front-store .zcl-shipping-section__title,
body.zcl-front-store .zcl-shipping-cta-panel__title {
	color: #0a0a0a;
}

body.zcl-front-store .zcl-shipping-hero__lead,
body.zcl-front-store .zcl-shipping-section__intro,
body.zcl-front-store .zcl-shipping-section p,
body.zcl-front-store .zcl-shipping-section li,
body.zcl-front-store .zcl-shipping-cta-panel__text {
	color: #525252;
}

body.zcl-front-store .zcl-shipping-hero__lead strong {
	color: #171717;
}

body.zcl-front-store .zcl-shipping-steps__item {
	background: #fafafa;
	border-color: #e5e5e5;
}

body.zcl-front-store .zcl-shipping-cta-panel {
	background: linear-gradient(135deg, rgba(15, 118, 110, 0.12) 0%, #ffffff 50%);
	border-color: rgba(15, 118, 110, 0.25);
}

body.zcl-front-store .zcl-shipping-cta-btn--primary {
	color: #ffffff;
	background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%);
}

body.zcl-front-store .zcl-shipping-cta-btn--primary:hover {
	color: #ffffff;
}

/* ——— FAQ page ——— */
.zcl-legal-doc.zcl-faq {
	max-width: min(52rem, 100%);
	margin-inline: auto;
}

.zcl-faq-hero {
	margin-bottom: clamp(2rem, 5vw, 3rem);
	padding-bottom: clamp(1.5rem, 4vw, 2rem);
	border-bottom: 1px solid var(--zcl-border, rgba(255, 255, 255, 0.08));
}

.zcl-faq-hero__eyebrow {
	margin: 0 0 0.5rem;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-faq-hero__title {
	margin: 0 0 0.75rem;
	font-size: clamp(1.65rem, 4.5vw, 2.25rem);
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.12;
	color: var(--zcl-text, #fafafa);
	text-wrap: balance;
}

.zcl-faq-hero__meta {
	margin-top: 0;
	margin-bottom: 1rem;
}

.zcl-faq-hero__lead {
	margin: 0;
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	line-height: 1.65;
	max-width: 60ch;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-faq-hero__lead strong {
	color: var(--zcl-text, #fafafa);
	font-weight: 600;
}

.zcl-faq-hero__lead a {
	color: var(--zcl-accent-hover, #5eead4);
	text-decoration-color: rgba(45, 212, 191, 0.45);
}

.zcl-faq-hero__lead a:hover {
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-faq-section {
	margin-bottom: clamp(2rem, 4vw, 2.85rem);
}

.zcl-faq-section__title {
	margin: 0 0 0.6rem;
	font-size: clamp(1.05rem, 2.4vw, 1.2rem);
	font-weight: 650;
	letter-spacing: -0.02em;
	color: var(--zcl-text, #fafafa);
}

.zcl-faq-section__intro {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--zcl-muted, #a1a1aa);
	max-width: 55ch;
}

.zcl-faq-section p,
.zcl-faq-section li {
	font-size: 0.9375rem;
	line-height: 1.65;
}

.zcl-faq-section ul:not(.zcl-faq-toc) {
	margin: 0.75rem 0 0;
	padding-left: 1.15rem;
}

.zcl-faq-section ul:not(.zcl-faq-toc) li {
	margin-bottom: 0.5rem;
}

.zcl-faq-section ul:not(.zcl-faq-toc) li::marker {
	color: var(--zcl-accent, #2dd4bf);
}

.zcl-faq-toc {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

@media (min-width: 640px) {
	.zcl-faq-toc {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.5rem 1.25rem;
	}
}

.zcl-faq-toc a {
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--zcl-accent-hover, #5eead4);
	text-decoration: none;
	border-bottom: 1px solid rgba(45, 212, 191, 0.35);
	padding-bottom: 0.1rem;
}

.zcl-faq-toc a:hover {
	color: var(--zcl-accent, #2dd4bf);
	border-bottom-color: rgba(45, 212, 191, 0.55);
}

.zcl-faq-q {
	margin: 1.35rem 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 1.35;
	color: var(--zcl-text, #fafafa);
}

.zcl-faq-section__title + .zcl-faq-q {
	margin-top: 1rem;
}

.zcl-faq-cta-panel {
	margin-top: clamp(2rem, 5vw, 2.75rem);
	padding: clamp(1.5rem, 4vw, 2rem);
	border-radius: 16px;
	background: linear-gradient(
		135deg,
		rgba(45, 212, 191, 0.1) 0%,
		rgba(17, 17, 19, 0.75) 45%,
		rgba(14, 14, 16, 0.9) 100%
	);
	border: 1px solid rgba(45, 212, 191, 0.22);
	box-shadow: 0 20px 48px -28px rgba(0, 0, 0, 0.55);
}

.zcl-faq-cta-panel__inner {
	max-width: 36rem;
}

.zcl-faq-cta-panel__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	color: var(--zcl-text, #fafafa);
}

.zcl-faq-cta-panel__text {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--zcl-muted, #a1a1aa);
}

.zcl-faq-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 0.85rem;
	align-items: center;
}

.zcl-faq-cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.85rem;
	padding: 0 1.35rem;
	font-size: 0.875rem;
	font-weight: 600;
	font-family: inherit;
	letter-spacing: -0.01em;
	text-decoration: none;
	border-radius: 10px;
	transition:
		transform 0.15s ease,
		background 0.15s ease,
		border-color 0.15s ease,
		color 0.15s ease;
}

.zcl-faq-cta-btn--primary {
	color: #061010;
	background: linear-gradient(135deg, #2dd4bf 0%, #14b8a6 100%);
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
}

.zcl-faq-cta-btn--primary:hover {
	transform: translateY(-1px);
	filter: brightness(1.06);
	color: #042f2e;
}

.zcl-faq-cta-btn--ghost {
	color: var(--zcl-text, #fafafa);
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid var(--zcl-border-strong, rgba(255, 255, 255, 0.14));
}

.zcl-faq-cta-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(45, 212, 191, 0.35);
	color: var(--zcl-accent-hover, #5eead4);
}

.zcl-faq-cta-btn:focus-visible {
	outline: 2px solid var(--zcl-accent, #2dd4bf);
	outline-offset: 2px;
}

body.zcl-front-store .zcl-faq-hero__title,
body.zcl-front-store .zcl-faq-section__title,
body.zcl-front-store .zcl-faq-q,
body.zcl-front-store .zcl-faq-cta-panel__title {
	color: #0a0a0a;
}

body.zcl-front-store .zcl-faq-hero__lead,
body.zcl-front-store .zcl-faq-section__intro,
body.zcl-front-store .zcl-faq-section p,
body.zcl-front-store .zcl-faq-section li,
body.zcl-front-store .zcl-faq-cta-panel__text {
	color: #525252;
}

body.zcl-front-store .zcl-faq-hero__lead strong {
	color: #171717;
}

body.zcl-front-store .zcl-faq-hero__lead a {
	color: #0f766e;
}

body.zcl-front-store .zcl-faq-hero__lead a:hover {
	color: #0d9488;
}

body.zcl-front-store .zcl-faq-toc a {
	color: #0f766e;
	border-bottom-color: rgba(15, 118, 110, 0.4);
}

body.zcl-front-store .zcl-faq-toc a:hover {
	color: #0d9488;
}

body.zcl-front-store .zcl-faq-cta-panel {
	background: linear-gradient(135deg, rgba(15, 118, 110, 0.12) 0%, #ffffff 50%);
	border-color: rgba(15, 118, 110, 0.25);
}

body.zcl-front-store .zcl-faq-cta-btn--primary {
	color: #ffffff;
	background: linear-gradient(135deg, #0f766e 0%, #0d9488 100%);
}

body.zcl-front-store .zcl-faq-cta-btn--primary:hover {
	color: #ffffff;
}

/* ——— Checkout visibility helpers (digital + tax exempt) ——— */
.zcl-checkout-digital-notice {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	border: 1px solid rgba(45, 212, 191, 0.28);
	background: linear-gradient(135deg, rgba(45, 212, 191, 0.12) 0%, rgba(17, 17, 19, 0.58) 100%);
	color: var(--zcl-text, #fafafa);
	font-size: 0.875rem;
	line-height: 1.55;
}

.zcl-checkout-digital-notice strong {
	color: var(--zcl-accent-hover, #5eead4);
}

.zcl-checkout-tax-wrap {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border-radius: 10px;
	border: 1px solid var(--zcl-border-strong, rgba(255, 255, 255, 0.14));
	background: rgba(17, 17, 19, 0.52);
}

.zcl-checkout-tax-label {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	cursor: pointer;
	margin: 0;
}

.zcl-checkout-tax-label input[type="checkbox"] {
	margin-top: 0.15rem;
	accent-color: var(--zcl-accent, #2dd4bf);
}

.zcl-checkout-tax-label span {
	display: grid;
	gap: 0.2rem;
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--zcl-text, #fafafa);
}

.zcl-checkout-tax-label small {
	font-size: 0.75rem;
	color: var(--zcl-muted, #a1a1aa);
	line-height: 1.45;
}

body.zcl-front-store .zcl-checkout-digital-notice {
	border-color: rgba(15, 118, 110, 0.3);
	background: linear-gradient(135deg, rgba(15, 118, 110, 0.12) 0%, #ffffff 100%);
	color: #262626;
}

body.zcl-front-store .zcl-checkout-digital-notice strong {
	color: #0f766e;
}

body.zcl-front-store .zcl-checkout-tax-wrap {
	border-color: #d4d4d4;
	background: #ffffff;
}

body.zcl-front-store .zcl-checkout-tax-label span {
	color: #171717;
}

body.zcl-front-store .zcl-checkout-tax-label small {
	color: #525252;
}

/* ——— Shop / archive: WooCommerce product filters (block theme) ——— */
.zcl-shop-archive .wc-block-product-filters > .zcl-shop-active-filters-bar {
	margin-block: 0 0.85rem;
}

.zcl-shop-archive .zcl-shop-active-filters-bar__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.zcl-shop-archive .zcl-shop-active-filters-bar__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	max-width: 100%;
	padding: 0.35rem 0.65rem 0.35rem 0.75rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.14));
	background: rgba(45, 212, 191, 0.1);
	color: var(--wp--preset--color--zcl-text, #fafafa);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.zcl-shop-archive .zcl-shop-active-filters-bar__chip:hover {
	border-color: rgba(45, 212, 191, 0.45);
	background: rgba(45, 212, 191, 0.16);
	color: var(--wp--preset--color--zcl-accent, #2dd4bf);
}

.zcl-shop-archive .zcl-shop-active-filters-bar__label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zcl-shop-archive .zcl-shop-active-filters-bar__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.15rem;
	font-size: 1.1rem;
	line-height: 1;
	font-weight: 600;
	opacity: 0.85;
}

.zcl-shop-archive .wp-block-woocommerce-product-collection .wc-block-product-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 0.75rem;
	margin-block-end: 1.25rem;
}

.zcl-shop-archive .wc-block-product-filters > .zcl-shop-active-filters-bar {
	flex: 1 1 100%;
}

.zcl-shop-archive .wc-block-product-filters > .zcl-shop-filter-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem;
	flex: 1 1 100%;
	margin-inline-start: auto;
}

.zcl-shop-archive .zcl-shop-filter-actions__trending {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.5rem;
	border-radius: var(--wp--custom--radius, 8px);
	border: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.12));
	background: var(--wp--preset--color--zcl-surface, #111113);
	color: var(--wp--preset--color--zcl-text, #fafafa);
	text-decoration: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.zcl-shop-archive .zcl-shop-filter-actions__trending:hover {
	border-color: rgba(45, 212, 191, 0.45);
	color: var(--wp--preset--color--zcl-accent, #2dd4bf);
}

.zcl-shop-archive .zcl-shop-filter-actions__trending.is-active {
	border-color: rgba(45, 212, 191, 0.35);
	background: rgba(45, 212, 191, 0.12);
	color: var(--wp--preset--color--zcl-accent, #2dd4bf);
}

.zcl-shop-archive .zcl-shop-filter-actions__icon {
	display: block;
	flex-shrink: 0;
}

.zcl-shop-archive .wc-block-product-filters__open-overlay {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 0.5rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	border-radius: var(--wp--custom--radius, 8px);
	border: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.12));
	background: var(--wp--preset--color--zcl-surface, #111113);
	color: var(--wp--preset--color--zcl-text, #fafafa);
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.zcl-shop-archive .wc-block-product-filters__open-overlay > span {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.zcl-shop-archive .wc-block-product-filters__open-overlay:hover {
	border-color: rgba(45, 212, 191, 0.45);
	color: var(--wp--preset--color--zcl-accent, #2dd4bf);
}

.zcl-shop-archive .wc-block-product-filters__overlay {
	--wc-product-filters-text-color: var(--wp--preset--color--zcl-text, #fafafa);
	--wc-product-filters-background-color: var(--wp--preset--color--zcl-surface, #111113);
}

.zcl-shop-archive .wc-block-product-filters__overlay-dialog {
	border-radius: 12px;
	border: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.1));
	box-shadow: 0 24px 48px rgba(0, 0, 0, 0.55);
}

.zcl-shop-archive .wc-block-product-filters__overlay-header,
.zcl-shop-archive .wc-block-product-filters__overlay-footer {
	border-color: var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.08));
}

.zcl-shop-archive .wc-block-product-filters__overlay-content .wp-block-heading {
	font-size: 1rem;
	letter-spacing: -0.02em;
}

.zcl-shop-archive .wc-block-product-filters__overlay-content .wc-block-product-filter {
	margin-block-end: 1.25rem;
	padding-block-end: 1.25rem;
	border-block-end: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.06));
}

.zcl-shop-archive .wc-block-product-filters__overlay-content .wc-block-product-filter:last-child {
	border-block-end: none;
	margin-block-end: 0;
	padding-block-end: 0;
}

.zcl-shop-archive .wc-block-product-filters__apply {
	border-radius: var(--wp--custom--radius, 4px);
}

.zcl-shop-archive .wc-block-product-filter-removable-chips__items {
	gap: 0.4rem;
}

.zcl-shop-archive .wc-block-product-filter-removable-chips__item {
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.12));
	background: rgba(255, 255, 255, 0.04);
}

/*
 * WooCommerce ≥601px: product-filters-style.css inlines the panel (overlay as flow layout).
 * Restore overlay mode, then use a right-edge desktop sheet (not a narrow centered column).
 */
@media (min-width: 601px) {
	.zcl-shop-archive .wc-block-product-filters {
		--zcl-filter-sheet-w: min(28rem, calc(100vw - 1.5rem));
	}

	/*
	 * Overlay is a flex child; keep full-viewport fixed positioning for BOTH open and closed.
	 * (If fixed only applied when :not(.is-overlay-opened), opening dropped fixed and collapsed the sheet.)
	 */
	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay {
		flex: 0 0 100% !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		top: var(--top-padding, var(--wp-admin--admin-bar--height, 0px)) !important;
		width: 100vw !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}

	.zcl-shop-archive .wc-block-product-filters:not(.is-overlay-opened) .wc-block-product-filters__overlay {
		background-color: transparent !important;
		color: inherit !important;
		pointer-events: none !important;
		transition: background-color 0.35s ease !important;
		z-index: auto !important;
	}

	.zcl-shop-archive .wc-block-product-filters:not(.is-overlay-opened) .wc-block-product-filters__overlay-wrapper {
		height: 100% !important;
		width: 100% !important;
		max-width: none !important;
		position: relative !important;
		background: transparent !important;
		color: inherit !important;
	}

	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay-dialog {
		position: absolute !important;
		inset: unset !important;
		top: var(--top-padding, var(--wp-admin--admin-bar--height, 0px)) !important;
		right: 0 !important;
		bottom: 0 !important;
		left: auto !important;
		width: var(--zcl-filter-sheet-w) !important;
		max-width: min(32rem, calc(100vw - 1.5rem)) !important;
		height: auto !important;
		max-height: none !important;
		min-height: calc(100dvh - var(--top-padding, 0px)) !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		background-color: var(--wc-product-filters-overlay-background-color, var(--wc-product-filters-background-color, var(--wp--preset--color--zcl-surface, #111113))) !important;
		color: var(--wc-product-filters-overlay-text-color, var(--wc-product-filters-text-color, var(--wp--preset--color--zcl-text, #fafafa))) !important;
		border-radius: 14px 0 0 14px !important;
		border: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.12)) !important;
		border-right: none !important;
		box-shadow: -16px 0 56px rgba(0, 0, 0, 0.55) !important;
		transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1) !important;
		will-change: transform;
	}

	.zcl-shop-archive .wc-block-product-filters:not(.is-overlay-opened) .wc-block-product-filters__overlay-dialog {
		transform: translate3d(100%, 0, 0) !important;
		pointer-events: none !important;
	}

	.zcl-shop-archive .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog {
		transform: translate3d(0, 0, 0) !important;
		pointer-events: auto !important;
	}

	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay-content {
		flex-grow: 1 !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding: 0.5rem 1.25rem 1.5rem !important;
		-webkit-overflow-scrolling: touch;
	}

	.zcl-shop-archive .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay {
		background-color: rgba(0, 0, 0, 0.52) !important;
		pointer-events: auto !important;
		z-index: 9999 !important;
		transition: background-color 0.35s ease !important;
	}

	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay-header,
	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay-footer {
		display: flex !important;
		flex-shrink: 0 !important;
	}

	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay-header {
		position: sticky !important;
		top: 0 !important;
		z-index: 2 !important;
		padding: 0.65rem 1rem 0.85rem 1.25rem !important;
		margin: 0 !important;
		background: var(--wc-product-filters-overlay-background-color, var(--wc-product-filters-background-color, var(--wp--preset--color--zcl-surface, #111113))) !important;
		border-bottom: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.1)) !important;
		box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
	}

	.zcl-shop-archive .wc-block-product-filters .wc-block-product-filters__overlay-footer {
		margin-top: auto !important;
		padding: 1rem 1.25rem 1.25rem !important;
		background: var(--wc-product-filters-overlay-background-color, var(--wc-product-filters-background-color, var(--wp--preset--color--zcl-surface, #111113))) !important;
		border-top: 1px solid var(--wp--preset--color--zcl-border, rgba(255, 255, 255, 0.1)) !important;
		box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.25);
	}
}

@media (min-width: 1200px) {
	.zcl-shop-archive .wc-block-product-filters {
		--zcl-filter-sheet-w: min(32rem, calc(100vw - 2rem));
	}
}
