/**
 * WCE Theme - Frontend Styles (Functional Only)
 *
 * Minimal CSS for functional elements only.
 * Visual styling is left to the user via the Site Editor.
 *
 * @package WCE_Theme
 */

/* ========================================
   Accessibility
   ======================================== */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

.wce-skip-link:focus {
	background: #000;
	color: #fff;
	padding: 0.5rem 1rem;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100001;
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
}

/* ========================================
   Delivery Countdown Timer
   ======================================== */

.wce-countdown-timer {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 500;
}

.wce-countdown-timer__icon {
	flex-shrink: 0;
}

.wce-countdown-timer[hidden],
.wce-countdown-banner[hidden] {
	display: none;
}

.wce-countdown-banner {
	text-align: center;
	padding: 0.75rem 1rem;
	font-size: 0.875rem;
	font-weight: 500;
}

/* ========================================
   Shipping Banner Cards
   ======================================== */

.wce-shipping-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
}

.wce-shipping-card__icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
}

.wce-shipping-card__icon svg {
	width: 24px;
	height: 24px;
}

.wce-shipping-card__content {
	gap: 0.125rem;
}

.wce-shipping-card__content p {
	margin: 0;
}

.wce-shipping-card__title {
	font-size: 0.9375rem;
}

.wce-shipping-card__subtitle {
	opacity: 0.7;
}

/* ========================================
   Cookie Consent Banner
   ======================================== */

#wce-cookie-consent {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 99999;
	padding: 1.25rem;
	background: #fff;
	border-top: 1px solid #e0e0e0;
	box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
}

#wce-cookie-consent[hidden] {
	display: none;
}

.wce-cookie-consent__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.wce-cookie-consent__text {
	flex: 1;
	min-width: 200px;
	font-size: 0.875rem;
	line-height: 1.5;
}

.wce-cookie-consent__actions {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.wce-cookie-consent__actions button {
	padding: 0.5rem 1.25rem;
	border-radius: 6px;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid #ccc;
	background: #fff;
	transition: background 0.2s;
}

.wce-cookie-consent__actions button[data-consent="all"] {
	background: #000;
	color: #fff;
	border-color: #000;
}

#wce-cookie-settings {
	width: 100%;
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px solid #e0e0e0;
}

#wce-cookie-settings label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
	font-size: 0.875rem;
}

/* ========================================
   Age Verification Modal
   ======================================== */

.wce-age-gate {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.85);
	backdrop-filter: blur(8px);
}

.wce-age-gate[hidden] {
	display: none;
}

.wce-age-gate__dialog {
	background: #fff;
	border-radius: 16px;
	padding: 2.5rem;
	max-width: 440px;
	width: 90%;
	text-align: center;
}

.wce-age-gate__title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
}

.wce-age-gate__text {
	font-size: 0.9375rem;
	margin: 0 0 1.5rem;
	opacity: 0.8;
	line-height: 1.5;
}

.wce-age-gate__actions {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
}

.wce-age-gate__actions button {
	padding: 0.75rem 2rem;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid #ccc;
	background: #fff;
}

.wce-age-gate__actions button[data-age-confirm="yes"] {
	background: #000;
	color: #fff;
	border-color: #000;
}

.wce-age-gate__disclaimer {
	font-size: 0.75rem;
	margin-top: 1rem;
	opacity: 0.6;
}

/* ========================================
   Quantity Stepper
   ======================================== */

.wce-qty-stepper {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	height: 52px;
}

.wce-qty-stepper__btn,
.wp-block-button .wce-qty-stepper__btn,
button.wce-qty-stepper__btn {
	width: 44px;
	height: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	border: 0 !important;
	cursor: pointer;
	font-size: 1.25rem !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 0 !important;
	color: var(--wp--preset--color--foreground) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-width: 0;
}

.wce-qty-stepper__btn:hover {
	background: var(--wp--preset--color--surface-alt) !important;
	color: var(--wp--preset--color--primary) !important;
}

.wce-qty-stepper input.qty {
	width: 48px;
	text-align: center;
	border: 0;
	border-left: 1px solid var(--wp--preset--color--border);
	border-right: 1px solid var(--wp--preset--color--border);
	background: transparent;
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	padding: 0;
	-moz-appearance: textfield;
	min-height: 0;
	height: auto;
	border-radius: 0;
}

.wce-qty-stepper input.qty:focus {
	outline: none;
	background: var(--wp--preset--color--surface-alt);
}

.wce-qty-stepper input.qty::-webkit-inner-spin-button,
.wce-qty-stepper input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ========================================
   Discount Banner
   ======================================== */

.wce-discount-banner {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	border-radius: 8px;
	font-size: 0.875rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	margin-bottom: 1rem;
}

.wce-discount-banner svg {
	flex-shrink: 0;
}

/* ========================================
   Global shell — Phase 1 (oxblood & chartreuse)
   ======================================== */

body {
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body::before {
	content: "";
	position: fixed;
	inset: 0;
	background-image: var(--wp--custom--wce--grain);
	background-size: 200px 200px;
	opacity: 0.5;
	pointer-events: none;
	z-index: 9999;
	mix-blend-mode: overlay;
}

::selection {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
}

:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--wce--glow-primary);
	border-radius: var(--wp--custom--wce--border-radius-small);
}

/* Logo wordmark — used in header + footer */
.wce-logo {
	display: inline-flex;
	align-items: baseline;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 1.375rem;
	letter-spacing: -0.03em;
	line-height: 1;
	text-decoration: none;
	color: var(--wp--preset--color--foreground);
	white-space: nowrap;
}

.wce-logo-brand {
	color: var(--wp--preset--color--foreground);
}

.wce-logo-tld {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.wce-logo--footer {
	font-size: 1.25rem;
}

/* ========================================
   Header
   ======================================== */

.wce-site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--wp--preset--color--border);
	backdrop-filter: saturate(160%) blur(12px);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	background-color: color-mix(in srgb, var(--wp--preset--color--surface) 88%, transparent);
}

.wce-announcement-bar {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.wce-announcement-bar p {
	margin: 0;
}

.wce-header-main {
	max-width: var(--wp--style--global--wide-size, 1400px);
	margin: 0 auto;
	width: 100%;
	gap: 2rem;
}

.wce-header-left,
.wce-header-actions {
	flex: 0 0 auto;
}

.wce-primary-nav {
	flex: 1 1 auto;
}

.wce-header-actions {
	gap: 0.75rem;
	align-items: center;
}

.wce-header-actions .wp-block-search__inside-wrapper {
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	overflow: hidden;
}

.wce-header-actions .wp-block-search__button {
	background: transparent;
	color: var(--wp--preset--color--foreground);
	border: 0;
	padding: 0.5rem 0.75rem;
}

.wce-header-actions .wp-block-search__button:hover {
	color: var(--wp--preset--color--primary);
	background: transparent;
}

.wce-header-actions .wc-block-mini-cart__button,
.wce-header-actions .wc-block-customer-account {
	color: var(--wp--preset--color--foreground);
	background: transparent;
	padding: 0.5rem;
}

.wce-header-actions .wc-block-mini-cart__button:hover,
.wce-header-actions .wc-block-customer-account:hover {
	color: var(--wp--preset--color--primary);
}

.wce-header-actions .wc-block-mini-cart__badge {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	font-weight: 700;
}

@media (max-width: 860px) {
	.wce-header-main {
		gap: 1rem;
		flex-wrap: nowrap;
	}
	.wce-primary-nav {
		order: 3;
		flex-basis: 100%;
	}
	.wce-logo {
		font-size: 1.125rem;
	}
	.wce-announcement-bar p {
		font-size: 0.625rem !important;
		letter-spacing: 0.1em !important;
	}
}

/* ========================================
   Footer
   ======================================== */

.wce-site-footer {
	margin-top: var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--foreground);
}

.wce-footer-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--50);
	align-items: start;
}

.wce-footer-split > * {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

@media (min-width: 900px) {
	.wce-footer-split {
		grid-template-columns: 1fr 1fr;
		gap: var(--wp--preset--spacing--60);
	}
}

.wce-footer-pitch__title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--foreground);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.wce-footer-pitch > * {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wce-footer-pitch p {
	color: var(--wp--preset--color--foreground-muted);
	max-width: 44ch;
	line-height: 1.6;
}

.wce-footer-pitch p + p {
	margin-top: var(--wp--preset--spacing--20) !important;
}

.wce-footer-cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
	align-items: start;
}

@media (max-width: 640px) {
	.wce-footer-cols {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--30);
	}
}

.wce-footer-cols > * {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	min-width: 0;
}

.wce-footer-col {
	display: flex;
	flex-direction: column;
}

.wce-footer-col > * {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wce-footer-col .wce-kicker {
	color: var(--wp--preset--color--foreground-muted);
	margin: 0 0 var(--wp--preset--spacing--20);
}

.wce-kicker {
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker);
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.wce-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.wce-footer-links a {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	font-size: 0.95rem;
	transition: color var(--wp--custom--wce--transition-fast);
}

.wce-footer-links a:hover {
	color: var(--wp--preset--color--primary);
}

.wce-footer-legal {
	margin-top: var(--wp--preset--spacing--60);
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--border);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.wce-footer-legal > * {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wce-footer-legal p {
	margin: 0;
	max-width: 90ch;
	color: var(--wp--preset--color--foreground-muted);
}

.wce-footer-legal-links {
	display: flex;
	gap: var(--wp--preset--spacing--30);
	flex-wrap: wrap;
	margin-top: var(--wp--preset--spacing--20);
}

.wce-legal-link {
	background: transparent;
	border: 0;
	padding: 0;
	color: var(--wp--preset--color--foreground-muted);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	font: inherit;
	font-size: 0.8125rem;
	cursor: pointer;
	transition: color var(--wp--custom--wce--transition-fast);
}

.wce-legal-link:hover {
	color: var(--wp--preset--color--primary);
}

/* ========================================
   Core block surface tuning
   ======================================== */

.wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	transition: var(--wp--custom--wce--transition-fast);
}

.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary);
}

.wp-block-search__input {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--foreground);
	border-radius: var(--wp--custom--wce--border-radius-pill);
}

.wp-block-search__input::placeholder {
	color: var(--wp--preset--color--foreground-muted);
}

hr.wp-block-separator {
	border-color: var(--wp--preset--color--border);
	opacity: 1;
}

/* ========================================
   Homepage — Phase 2
   ======================================== */

.wce-home {
	--section-max: 1400px;
}

/* Section rhythm */
.wce-section {
	position: relative;
}

.wce-section__head {
	max-width: var(--section-max);
	margin: 0 auto var(--wp--preset--spacing--30);
	width: 100%;
	align-items: flex-end;
	gap: 1rem;
}

.wce-section__head .wce-kicker {
	margin-bottom: 0.5rem;
}

.wce-section__head h2 {
	margin: 0;
}

.wce-section__head a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.02em;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-section__head a:hover {
	color: var(--wp--preset--color--primary-dark);
	letter-spacing: 0.04em;
}

/* Hero */
.wce-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	min-height: clamp(420px, 60vh, 680px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.wce-hero::before {
	content: "";
	position: absolute;
	inset: auto -20% -60% auto;
	width: 80%;
	height: 120%;
	background: radial-gradient(circle at center, color-mix(in srgb, var(--wp--preset--color--primary) 28%, transparent) 0%, transparent 60%);
	filter: blur(40px);
	z-index: -1;
	pointer-events: none;
}

.wce-hero::after {
	content: "";
	position: absolute;
	inset: -20% auto auto -10%;
	width: 50%;
	height: 60%;
	background: radial-gradient(circle at center, color-mix(in srgb, var(--wp--preset--color--accent) 22%, transparent) 0%, transparent 65%);
	filter: blur(60px);
	z-index: -1;
	pointer-events: none;
}

.wce-hero > * {
	max-width: var(--section-max);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.wce-hero__kicker {
	margin: 0 auto 1rem;
}

.wce-hero__title {
	max-width: 14ch;
}

.wce-hero__title-accent {
	color: var(--wp--preset--color--primary);
	font-style: italic;
	display: inline-block;
	position: relative;
}

.wce-hero__lede {
	max-width: 52ch;
	margin-left: 0;
}

.wce-hero__cta {
	gap: 0.75rem;
}

/* Button styles: filled + outline */
.wp-block-button.is-style-fill .wp-block-button__link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	padding: 0.9rem 2rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8125rem;
	border: 2px solid var(--wp--preset--color--primary);
	transition: var(--wp--custom--wce--transition-fast);
}

.wp-block-button.is-style-fill .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	box-shadow: var(--wp--custom--wce--glow-primary);
	transform: translateY(-1px);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--foreground);
	border: 2px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	padding: 0.9rem 2rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.8125rem;
	transition: var(--wp--custom--wce--transition-fast);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 8%, transparent);
}

/* Editorial stats */
.wce-editorial__cols {
	max-width: var(--section-max);
	margin: 0 auto;
	gap: var(--wp--preset--spacing--50);
}

.wce-stats {
	gap: var(--wp--preset--spacing--30) !important;
}

.wce-stat {
	padding: 1.5rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	gap: 0.25rem !important;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-stat:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-2px);
}

.wce-stat h3 {
	margin: 0;
	line-height: 1;
}

.wce-stat p {
	margin: 0;
}

/* Shipping banner cards */
.wce-shipping-card {
	padding: 1.25rem 1.5rem;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	gap: 1rem !important;
	align-items: center;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-shipping-card:hover {
	border-color: var(--wp--preset--color--primary);
}

.wce-shipping-card__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: var(--wp--custom--wce--border-radius-small);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent);
	color: var(--wp--preset--color--primary);
}

.wce-shipping-card__content {
	gap: 0 !important;
}

.wce-shipping-card__title {
	margin: 0;
	color: var(--wp--preset--color--foreground);
	font-weight: 700;
}

.wce-shipping-card__subtitle {
	margin: 0;
	color: var(--wp--preset--color--foreground-muted);
}

/* Discounted products banner surface */
.wce-section--banner {
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.wce-discount-banner {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
}

.wce-discount-banner strong {
	color: var(--wp--preset--color--accent);
}

/* WooCommerce classic .product card tuning on homepage.
 * MPL cards are styled globally in assets/css/wce-mpl.css. */
.wce-section .product {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	overflow: hidden;
	transition: var(--wp--custom--wce--transition);
}

.wce-section .product:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-4px);
	box-shadow: var(--wp--custom--wce--box-shadow-hover);
}

@media (max-width: 860px) {
	.wce-hero {
		min-height: 480px;
		text-align: left;
	}
	.wce-hero__title {
		max-width: 100%;
	}
	.wce-editorial__cols {
		gap: var(--wp--preset--spacing--30);
	}
	.wce-stats {
		grid-template-columns: 1fr 1fr !important;
	}
	.wce-section__head {
		align-items: flex-start;
	}
}

/* ========================================
   Product single — Phase 3
   ======================================== */

.wce-product {
	--gallery-radius: var(--wp--custom--wce--border-radius-large);
}

/* .wce-breadcrumbs rules moved — see Pass-N consolidated block at EOF. */

.wce-shipping-progress {
	margin-bottom: var(--wp--preset--spacing--20);
}

/* Layout */
.wce-product__layout {
	align-items: flex-start;
}

.wce-product__gallery {
	padding: var(--wp--preset--spacing--20);
	overflow: hidden;
}

.wce-product__gallery .wc-block-components-product-image-gallery,
.wce-product__gallery .woocommerce-product-gallery {
	border-radius: var(--wp--custom--wce--border-radius);
	overflow: hidden;
}

.wce-product__gallery img {
	border-radius: var(--wp--custom--wce--border-radius-small);
	background: var(--wp--preset--color--background);
}

/* Sticky info rail on desktop */
@media (min-width: 900px) {
	.wce-product__info-col {
		position: sticky;
		top: 96px;
		align-self: flex-start;
	}
}

.wce-product__info {
	display: flex;
	flex-direction: column;
}

.wce-product__kicker {
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--primary) !important;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker);
	font-weight: 700;
}

.wce-product__kicker a {
	color: inherit !important;
	text-decoration: none;
}

.wce-product__title {
	margin: 0 0 var(--wp--preset--spacing--20) !important;
	color: var(--wp--preset--color--foreground) !important;
}

.wce-product__price-row {
	align-items: center;
	gap: var(--wp--preset--spacing--30) !important;
	padding-bottom: var(--wp--preset--spacing--20);
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-bottom: var(--wp--preset--spacing--20);
}

.wce-product__price {
	color: var(--wp--preset--color--primary) !important;
	line-height: 1;
}

.wce-product__price del {
	color: var(--wp--preset--color--foreground-muted);
	font-weight: 500;
	margin-right: 0.5rem;
	opacity: 0.7;
}

.wce-product__rating {
	color: var(--wp--preset--color--warning);
}

.wce-product__countdown {
	background: color-mix(in srgb, var(--wp--preset--color--primary) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 30%, transparent);
	border-radius: var(--wp--custom--wce--border-radius-small);
	padding: 0.85rem 1rem;
	margin: var(--wp--preset--spacing--20) 0;
}

.wce-product__excerpt {
	line-height: 1.65;
	font-size: 1rem;
}

/* Add-to-cart card — wraps the form AND the trust strip
 * so they share the same width, padding, and border radius.
 */
.wce-product__atc {
	padding: var(--wp--preset--spacing--30);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	margin-bottom: var(--wp--preset--spacing--20);
}

/* Trust strip when nested inside the ATC card — render as the card's
 * footer: full-width, top border separator, no own background, no own
 * border, padding aligns with the card's inner edge. */
.wce-product__atc .wce-trust-strip {
	margin: var(--wp--preset--spacing--30) calc(-1 * var(--wp--preset--spacing--30)) calc(-1 * var(--wp--preset--spacing--30));
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	background: transparent;
	border: 0;
	border-top: 1px solid var(--wp--preset--color--border);
	border-radius: 0;
	justify-content: center;
	text-align: center;
}

/* Cap the express-checkout / payment-request iframe slot.
 * Stripe reserves vertical space even when wallet rows can't render —
 * suppress the empty wrapper, cap the visible one. */
.wce-product__atc .wc-block-components-express-payment,
.wce-product__atc .woocommerce-checkout-payment,
.wce-product__atc .wcppec-checkout-buttons,
.wce-product__atc #wc-stripe-payment-request-button,
.wce-product__atc .wc-stripe-payment-request-wrapper {
	max-height: 140px;
	overflow: hidden;
}

.wce-product__atc .wc-block-components-express-payment:empty,
.wce-product__atc .wc-stripe-payment-request-wrapper:empty,
.wce-product__atc #wc-stripe-payment-request-button:empty {
	display: none !important;
}

.wce-product__atc form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.wce-product__atc form.cart .quantity {
	min-width: 140px;
	flex: 0 0 auto;
}

.wce-product__atc .quantity {
	display: inline-flex;
	align-items: center;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	overflow: hidden;
}

.wce-product__atc .quantity input.qty {
	width: 56px;
	text-align: center;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--foreground);
	font-weight: 700;
	font-size: 1rem;
	padding: 0.75rem 0;
	-moz-appearance: textfield;
}

.wce-product__atc .quantity input.qty::-webkit-outer-spin-button,
.wce-product__atc .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wce-product__atc button.single_add_to_cart_button,
.wce-product__atc button[type="submit"] {
	flex: 1 1 auto;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: 2px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	padding: 0.9rem 2rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-product__atc button.single_add_to_cart_button:hover,
.wce-product__atc button[type="submit"]:hover {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	box-shadow: var(--wp--custom--wce--glow-primary);
	transform: translateY(-1px);
}

.wce-product__atc .woocommerce-variation-price,
.wce-product__atc .stock {
	flex-basis: 100%;
	color: var(--wp--preset--color--foreground-muted);
	font-size: 0.875rem;
	margin: 0;
}

.wce-product__atc .stock.in-stock {
	color: var(--wp--preset--color--success);
}

.wce-product__atc .stock.out-of-stock {
	color: var(--wp--preset--color--urgent);
}

.wce-product__atc .variations {
	flex-basis: 100%;
	margin: 0;
}

.wce-product__atc .variations select {
	width: 100%;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--foreground);
	border-radius: var(--wp--custom--wce--border-radius-small);
	padding: 0.65rem 0.85rem;
	font: inherit;
	font-size: 0.9rem;
}

/* Trust strip */
.wce-trust-strip {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem 1rem;
	padding: 1rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--foreground-muted);
	font-size: 0.8125rem;
	margin: var(--wp--preset--spacing--20) 0;
	text-align: center;
}

.wce-trust-strip__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.wce-trust-strip__item svg {
	color: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

.wce-trust-strip__sep {
	color: var(--wp--preset--color--border);
	user-select: none;
}

/* Meta block */
.wce-product__meta {
	font-size: 0.8125rem;
	color: var(--wp--preset--color--foreground-muted);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.wce-product__meta a {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	border-bottom: 1px dotted var(--wp--preset--color--border);
}

.wce-product__meta a:hover {
	color: var(--wp--preset--color--primary);
	border-bottom-color: var(--wp--preset--color--primary);
}

/* Product details / tabs */
.wce-product__details .wc-block-product-details,
.wce-product__details .woocommerce-tabs {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: var(--wp--preset--spacing--40);
}

.wce-product__details .woocommerce-Tabs-panel h2 {
	font-size: 1.25rem;
	margin-top: 0;
	margin-bottom: 1rem;
}

/* AI content sections wrapper */
.wce-product__content {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
}

/* Related products styles consolidated below (see "Related products" section). */
/* Sticky ATC styles consolidated below (see "Sticky ATC bar" section). */

@media (max-width: 899px) {
	.wce-product__layout {
		flex-direction: column;
	}
	.wce-product__gallery-col,
	.wce-product__info-col {
		flex-basis: 100% !important;
		width: 100%;
	}
	.wce-product__price-row {
		gap: 0.75rem !important;
	}
	.wce-product__atc form.cart {
		flex-direction: column;
		align-items: stretch;
	}
	.wce-product__atc .quantity {
		align-self: flex-start;
	}
	.wce-product__atc button.single_add_to_cart_button,
	.wce-product__atc button[type="submit"] {
		width: 100%;
	}
	.wce-trust-strip__sep {
		display: none;
	}
}

/* Sticky ATC shows on all viewports (IAPI-driven 2026-04-17).
   Previously mobile-only; desktop users also benefit from the quick-cart
   shortcut on long PDPs. */

/* ========================================
   Single Product — Phase 3
   ======================================== */

.wce-product {
	padding-bottom: calc(var(--wp--preset--spacing--60) + 72px);
}

/* .wce-breadcrumbs rules moved — see Pass-N consolidated block at EOF. */

.wce-shipping-progress {
	margin-top: var(--wp--preset--spacing--20);
	padding: 0.85rem 1rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	color: var(--wp--preset--color--foreground);
	font-size: 0.875rem;
}

/* Layout */
.wce-product__layout {
	align-items: flex-start !important;
}

/* Gallery */
.wce-product__gallery {
	padding: 1.25rem;
	overflow: hidden;
	position: sticky;
	top: calc(var(--wce-header-offset, 84px) + 1rem);
}

/* Force gallery visible — WooCommerce sets inline opacity:0 and relies on
 * FlexSlider JS to fade it in, but the block-theme context doesn't enqueue
 * that script. We don't use FlexSlider; this keeps the image visible. */
.wce-product__gallery .woocommerce-product-gallery,
.wce-product__gallery .woocommerce-product-gallery--with-images {
	opacity: 1 !important;
	transition: none !important;
}

/* WooCommerce emits all gallery items as <div data-thumb=…> children
 * of .woocommerce-product-gallery__wrapper and normally relies on
 * FlexSlider to hide all but the active one. Without FlexSlider in
 * this block theme, we lay them out as a grid: the first child spans
 * full-width as the main image, the rest render as a thumbnail row.
 * JS in wce-theme-frontend.js swaps a clicked thumbnail into the
 * first-child slot so it becomes the main image without opening the
 * lightbox. */
.wce-product__gallery .woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--30);
	row-gap: var(--wp--preset--spacing--40);
}

/* Non-first gallery children should just be visible. Don't override
 * width/height/position — WC + srcset need those. */
.wce-product__gallery .woocommerce-product-gallery__wrapper > *,
.wce-product__gallery .woocommerce-product-gallery__image {
	display: block;
	opacity: 1;
	visibility: visible;
}

.wce-product__gallery .woocommerce-product-gallery__wrapper > *:first-child {
	grid-column: 1 / -1;
	cursor: zoom-in;
	border: 0;
	margin-bottom: var(--wp--preset--spacing--20);
}

.wce-product__gallery .woocommerce-product-gallery__wrapper > *:not(:first-child) {
	cursor: pointer;
	border-radius: var(--wp--custom--wce--border-radius-small);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	transition: border-color var(--wp--custom--wce--transition-fast);
}

.wce-product__gallery .woocommerce-product-gallery__wrapper > *:not(:first-child):hover {
	border-color: var(--wp--preset--color--primary);
}

.wce-product__gallery .woocommerce-product-gallery__image a,
.wce-product__gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
}

.wce-product__gallery .wc-block-components-product-image,
.wce-product__gallery .wc-block-product-gallery__image-container {
	border-radius: var(--wp--custom--wce--border-radius-small);
	overflow: hidden;
}

.wce-product__gallery img {
	border-radius: var(--wp--custom--wce--border-radius-small);
}

.wc-block-product-gallery-thumbnails__thumbnail img {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small);
	transition: var(--wp--custom--wce--transition-fast);
}

.wc-block-product-gallery-thumbnails__thumbnail--is-active img,
.wc-block-product-gallery-thumbnails__thumbnail:hover img {
	border-color: var(--wp--preset--color--primary);
}

/* Info column */
.wce-product__info {
	padding-block: 0.5rem;
}

.wce-product__kicker {
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker);
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.wce-product__kicker a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.wce-product__title {
	margin: 0 0 var(--wp--preset--spacing--20);
}

.wce-product__price-row {
	gap: 1.25rem !important;
	align-items: baseline;
	margin-bottom: var(--wp--preset--spacing--20);
}

.wce-product__price ins {
	text-decoration: none;
	color: var(--wp--preset--color--primary);
}

.wce-product__price del {
	color: var(--wp--preset--color--foreground-muted);
	opacity: 0.7;
	margin-right: 0.5rem;
	font-size: 0.7em;
	font-weight: 500;
}

.wce-product__rating {
	color: var(--wp--preset--color--warning);
}

/* Countdown sits flush with the info column's left edge so it aligns
 * with the title, price, bullets, and ATC card below it. */
.wce-product__countdown {
	margin: var(--wp--preset--spacing--20) 0;
	padding: 0.85rem 1rem;
	background: color-mix(in srgb, var(--wp--preset--color--urgent) 10%, transparent);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--urgent) 30%, transparent);
	border-radius: var(--wp--custom--wce--border-radius-small);
	color: var(--wp--preset--color--foreground);
	font-size: 0.875rem;
}

/* Short description: bullet indent comes from padding-left on the <ul>
 * so the text block itself stays flush with the column edge (countdown,
 * price, ATC card all share that left edge). */
.wce-product__excerpt {
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

.wce-product__excerpt ul {
	margin: 0;
	padding-left: 1.25rem;
	list-style-position: outside;
}

.wce-product__excerpt p,
.wce-product__excerpt li {
	margin: 0 0 0.4rem;
}

/* Add-to-cart form */
.wce-product__atc .cart {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin: var(--wp--preset--spacing--20) 0;
}

.wce-product__atc .quantity {
	display: flex;
	align-items: stretch;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	overflow: hidden;
}

.wce-product__atc .quantity input.qty {
	width: 3.5rem;
	text-align: center;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--foreground);
	font-weight: 700;
	font-size: 1rem;
	-moz-appearance: textfield;
}

.wce-product__atc .quantity input.qty::-webkit-outer-spin-button,
.wce-product__atc .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.wce-product__atc .single_add_to_cart_button,
.wce-product__atc button[type="submit"] {
	flex: 0 1 320px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: 0;
	padding: 0.95rem 2rem;
	font-weight: 800;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border-radius: var(--wp--custom--wce--border-radius-pill);
	cursor: pointer;
	transition: var(--wp--custom--wce--transition-fast);
	min-width: 200px;
	max-width: 320px;
}

.wce-product__atc .single_add_to_cart_button:hover {
	background: var(--wp--preset--color--primary-dark);
	box-shadow: var(--wp--custom--wce--glow-primary);
	transform: translateY(-1px);
}

.wce-product__atc .single_add_to_cart_button:disabled {
	background: var(--wp--preset--color--border);
	color: var(--wp--preset--color--foreground-muted);
	cursor: not-allowed;
	transform: none;
	box-shadow: none;
}

.wce-product__atc .variations {
	width: 100%;
	margin-bottom: var(--wp--preset--spacing--20);
}

.wce-product__atc .variations th,
.wce-product__atc .variations td {
	padding: 0.35rem 0.5rem;
	text-align: left;
	color: var(--wp--preset--color--foreground);
	vertical-align: middle;
}

.wce-product__atc .variations label {
	font-weight: 600;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--foreground-muted);
}

.wce-product__atc .variations select,
.wce-product__atc .variations input[type="text"] {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--foreground);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small);
	padding: 0.6rem 0.85rem;
	font: inherit;
	width: 100%;
	min-width: 180px;
}

.wce-product__atc .variations select:focus,
.wce-product__atc .variations input:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--wce--glow-primary);
}

.wce-product__atc .woocommerce-variation-price {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	margin: 0.5rem 0;
}

.wce-product__atc .woocommerce-variation-availability,
.wce-product__atc .stock {
	color: var(--wp--preset--color--success);
	font-size: 0.875rem;
	font-weight: 600;
}

.wce-product__atc .stock.out-of-stock {
	color: var(--wp--preset--color--urgent);
}

.wce-product__atc .reset_variations {
	color: var(--wp--preset--color--foreground-muted);
	font-size: 0.8125rem;
	text-decoration: underline;
}

/* Trust strip (duplicate rule kept for cascade — mirrors earlier block) */
.wce-trust-strip {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
	justify-content: center;
	margin: var(--wp--preset--spacing--20) 0;
	padding: 0.85rem 1rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--foreground-muted);
	text-align: center;
}

.wce-trust-strip__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
}

.wce-trust-strip__item svg {
	color: var(--wp--preset--color--primary);
	flex-shrink: 0;
}

.wce-trust-strip__sep {
	color: var(--wp--preset--color--border);
}

/* Meta */
.wce-product__meta {
	margin-top: var(--wp--preset--spacing--30);
	padding-top: var(--wp--preset--spacing--20);
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--foreground-muted);
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.25rem;
}

.wce-product__meta a {
	color: var(--wp--preset--color--foreground-muted);
	text-decoration: none;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-product__meta a:hover {
	color: var(--wp--preset--color--primary);
}

/* Details (tabs/description) */
.wce-product__details .wc-block-product-details__tabs {
	display: flex;
	gap: 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin-bottom: var(--wp--preset--spacing--30);
}

.wce-product__details .wc-block-product-details__tab {
	padding: 1rem 1.25rem;
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--foreground-muted);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 0.8125rem;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-product__details .wc-block-product-details__tab[aria-selected="true"],
.wce-product__details .wc-block-product-details__tab:hover {
	color: var(--wp--preset--color--foreground);
	border-bottom-color: var(--wp--preset--color--primary);
}

/* Related products
 * Grid lives only on the <ul.products>, NOT on .wce-product__related itself.
 * Killing WooCommerce's clearfix pseudos on the <ul> stops the first product
 * from being pushed off-row by an invisible grid item.
 */
.wce-product__related .wc-block-product-template,
.wce-product__related .products,
.wce-product__related .wce-smart-related .products,
.wce-product__related .wce-smart-related ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--wp--preset--spacing--30);
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Suppress the WooCommerce-default clearfix pseudos so they don't
 * become invisible grid children that consume cell 1. */
.wce-product__related .products::before,
.wce-product__related .products::after,
.wce-product__related .wce-smart-related .products::before,
.wce-product__related .wce-smart-related .products::after {
	display: none !important;
	content: none !important;
}

.wce-product__related .wce-smart-related,
.wce-product__related .woocommerce {
	display: block;
	width: 100%;
}

.wce-product__related .products > .product {
	min-width: 0;
}

.wce-product__related .wc-block-product,
.wce-product__related .product,
.wce-product__related li.product {
	display: flex !important;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	overflow: hidden;
	transition: var(--wp--custom--wce--transition);
	margin: 0 !important;
	padding: 0 0 1rem !important;
	width: auto !important;
	float: none !important;
	position: relative; /* anchor for .onsale badge */
}

/* Sale badge — lift out of flex flow so it doesn't push image down.
 * WooCommerce emits <span class="onsale">-N%</span> as the first child
 * of the <li.product>; without absolute positioning it becomes a flex
 * item in our column card. Anchor it to the top-right of the card. */
.wce-product__related .onsale,
.wce-product__related .wc-block-components-product-sale-badge {
	position: absolute !important;
	top: 0.75rem !important;
	right: 0.75rem !important;
	left: auto !important;
	margin: 0 !important;
	z-index: 2;
	background: var(--wp--preset--color--urgent) !important;
	color: var(--wp--preset--color--foreground) !important;
	padding: 0.25rem 0.5rem !important;
	border-radius: var(--wp--custom--wce--border-radius-small) !important;
	font-size: 0.6875rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	line-height: 1 !important;
	min-height: 0 !important;
	min-width: 0 !important;
}

.wce-product__related .wc-block-product:hover,
.wce-product__related .product:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-3px);
	box-shadow: var(--wp--custom--wce--box-shadow-hover);
}

/* Make the product link behave as a flex column so image → title → price stack */
.wce-product__related .woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
}

.wce-product__related .product img,
.wce-product__related .wc-block-product img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fff;
	margin: 0 0 1rem 0 !important;
}

.wce-product__related .woocommerce-loop-product__title {
	padding: 0 1rem;
	margin: 0 0 0.5rem !important;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--wp--preset--color--foreground);
	min-height: calc(3 * 1.3em);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: break-word;
}

.wce-product__related .price {
	padding: 0 1rem;
	margin: 0 0 1rem !important;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	font-size: 1rem;
}

/* ATC button bolted to the bottom regardless of title wrap */
.wce-product__related .button,
.wce-product__related .add_to_cart_button,
.wce-product__related .added_to_cart {
	margin: auto 1rem 0 !important;
	align-self: flex-start;
}

/* Sticky ATC bar (mobile / scroll-triggered) */
.wce-sticky-atc {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 90;
	background: color-mix(in srgb, var(--wp--preset--color--surface) 92%, transparent);
	backdrop-filter: saturate(160%) blur(12px);
	-webkit-backdrop-filter: saturate(160%) blur(12px);
	border-top: 1px solid var(--wp--preset--color--border);
	padding: 0.75rem 1rem;
	transform: translateY(100%);
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
	opacity: 0;
	pointer-events: none;
}

.wce-sticky-atc.is-visible {
	transform: translateY(0);
	opacity: 1;
	pointer-events: auto;
}

.wce-sticky-atc__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
	max-width: 1400px;
	margin: 0 auto;
}

.wce-sticky-atc__title {
	flex: 1 1 auto;
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--wp--preset--color--foreground);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wce-sticky-atc__price {
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	font-size: 1rem;
	white-space: nowrap;
}

.wce-sticky-atc__btn {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: 0;
	padding: 0.75rem 1.5rem;
	border-radius: var(--wp--custom--wce--border-radius-pill);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	cursor: pointer;
	white-space: nowrap;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-sticky-atc__btn:hover {
	background: var(--wp--preset--color--primary-dark);
}

.wce-sticky-atc__btn:disabled,
.wce-sticky-atc__btn[aria-busy="true"] {
	opacity: 0.55;
	cursor: not-allowed;
	pointer-events: none;
}

.wce-sticky-atc__btn[aria-busy="true"] {
	opacity: 0.75;
}

@media (max-width: 860px) {
	.wce-product__gallery {
		position: static;
	}
	.wce-product__layout {
		flex-direction: column !important;
	}
	.wce-product__gallery-col,
	.wce-product__info-col {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	.wce-product__price-row {
		gap: 0.75rem !important;
	}
	.wce-product__related .wc-block-product-template,
	.wce-product__related .products {
		grid-template-columns: repeat(2, 1fr);
	}
	.wce-product__atc .single_add_to_cart_button {
		min-width: 0;
		width: 100%;
	}
}

/* ============================================================
   Archive & Shop (Phase 4)
   ============================================================ */

.wce-kicker {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker);
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.5rem;
}

/* --- Category hero --- */
.wce-category-hero {
	position: relative;
	min-height: 320px;
	border-radius: var(--wp--custom--wce--border-radius);
	overflow: hidden;
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--surface-alt) center / cover no-repeat;
	color: var(--wp--preset--color--foreground);
	display: flex;
	align-items: flex-end;
}
.wce-category-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(26,13,18,0.35) 0%, rgba(26,13,18,0.9) 100%),
		var(--wp--custom--wce--grain);
	z-index: 1;
}
.wce-category-hero--has-image .wce-category-hero__overlay {
	background:
		linear-gradient(180deg, rgba(26,13,18,0.15) 0%, rgba(26,13,18,0.85) 100%),
		var(--wp--custom--wce--grain);
}
.wce-category-hero__inner {
	position: relative;
	z-index: 2;
	max-width: 640px;
}
.wce-category-hero__kicker {
	color: var(--wp--preset--color--primary);
	margin-bottom: 0.5rem;
}
.wce-category-hero__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--xxx-large);
	line-height: 1.1;
	letter-spacing: var(--wp--custom--wce--letter-spacing-tight);
	margin: 0 0 0.75rem;
	font-weight: 700;
}
.wce-category-hero__desc {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--foreground-muted);
	margin: 0;
	max-width: 52ch;
}

/* --- Subcategory tiles (shop root) --- */
.wce-subcategory-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	grid-auto-rows: 1fr;
	gap: var(--wp--preset--spacing--30);
	align-items: stretch;
}
@media (max-width: 1024px) { .wce-subcategory-tiles { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); } }
@media (max-width: 640px)  { .wce-subcategory-tiles { grid-template-columns: repeat(2, 1fr); gap: var(--wp--preset--spacing--20); } }

.wce-subcategory-tile {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: var(--wp--custom--wce--transition);
	isolation: isolate;
}
.wce-subcategory-tile:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--custom--wce--glow-primary);
	border-color: var(--wp--preset--color--primary);
}
.wce-subcategory-tile__media {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	background: var(--wp--preset--color--surface-alt);
	overflow: hidden;
	flex: 0 0 auto;
}
.wce-subcategory-tile__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--wp--custom--wce--transition-smooth);
}
.wce-subcategory-tile:hover .wce-subcategory-tile__media img {
	transform: scale(1.04);
}
.wce-subcategory-tile__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 30% 30%, rgba(212,255,58,0.25), transparent 60%),
		radial-gradient(circle at 70% 70%, rgba(255,90,122,0.25), transparent 60%),
		var(--wp--preset--color--surface-alt);
}
.wce-subcategory-tile__body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.9rem 1rem 1.1rem;
	flex: 1 1 auto;
	justify-content: flex-start;
}
.wce-subcategory-tile__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
	color: var(--wp--preset--color--foreground);
	line-height: 1.25;
	min-height: 2.5em;
}
.wce-subcategory-tile__count {
	display: block;
	font-size: 0.75rem;
	color: var(--wp--preset--color--foreground-muted);
	margin: 0;
	margin-top: auto;
}

/* --- Subcategory pills (category archive) --- */
.wce-subcategory-pills {
	margin: 0 0 var(--wp--preset--spacing--30);
	overflow-x: auto;
	scrollbar-width: thin;
}
.wce-subcategory-pills__list {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0.25rem 0;
}
.wce-subcategory-pills__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.45rem 0.95rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 500;
	white-space: nowrap;
	transition: var(--wp--custom--wce--transition-fast);
}
.wce-subcategory-pills__link:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
.wce-subcategory-pills__count {
	font-size: 0.7rem;
	color: var(--wp--preset--color--foreground-muted);
	background: var(--wp--preset--color--surface-alt);
	border-radius: 999px;
	padding: 0.05rem 0.45rem;
	min-width: 1.5rem;
	text-align: center;
}

/* --- Archive layout (sidebar + main) --- */
.wce-archive-layout {
	display: block;
}
/* Pass T — lock both grid-cell boxes flush to grid-row-1 top. WP blockGap would
   otherwise push either column down via `margin-block-start` on sibling groups. */
.wce-archive-layout > * { margin-top: 0 !important; margin-block-start: 0 !important; }
.wce-archive-layout__sidebar,
.wce-archive-layout__main { margin-top: 0; padding-top: 0; min-width: 0; }
.wce-archive-layout__sidebar > .wce-sidebar-shop,
.wce-archive-layout__main > .wce-archive-toolbar { margin-top: 0 !important; }
@media (min-width: 1024px) {
	.wce-archive-layout {
		display: grid;
		grid-template-columns: 260px 1fr;
		gap: var(--wp--preset--spacing--40);
		align-items: start;
	}
	.wce-archive-layout__sidebar {
		position: sticky;
		top: 90px;
		align-self: start;
		max-height: calc(100vh - 110px);
		overflow-y: auto;
		padding-right: 0.5rem;
	}
	.wce-archive-layout__sidebar::-webkit-scrollbar { width: 6px; }
	.wce-archive-layout__sidebar::-webkit-scrollbar-thumb {
		background: var(--wp--preset--color--border);
		border-radius: 3px;
	}
}

/* --- Archive toolbar --- */
.wce-archive-toolbar {
	gap: 0.75rem;
	/* Pass T — match .wce-sidebar-shop vertical padding so both boxes line up
	   at the top with equal internal breathing room. */
	padding: 1.25rem 1.25rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	margin-bottom: var(--wp--preset--spacing--30);
	align-items: center;
}
.wce-archive-toolbar .wc-block-product-results-count,
.wce-archive-toolbar .wc-block-components-sort-select {
	margin: 0;
}
.wce-archive-toolbar select,
.wce-archive-toolbar .wc-block-components-sort-select__select {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	padding: 0.45rem 2rem 0.45rem 1rem;
	font-size: 0.85rem;
	font-family: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8a898' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
}
.wce-archive-toolbar__filter-toggle {
	display: none;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.95rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: none;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	font-family: inherit;
}
@media (max-width: 1023px) {
	.wce-archive-toolbar__filter-toggle { display: inline-flex; }
}

/* --- Sidebar filter styling --- */
.wce-sidebar-shop {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: 1.25rem 1.25rem 1.5rem;
}
.wce-sidebar-shop__heading {
	margin: 0;
	color: var(--wp--preset--color--foreground);
	font-weight: 700;
}
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper {
	padding: 0.9rem 0;
	border-top: 1px solid var(--wp--preset--color--border);
}
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper:first-of-type {
	border-top: none;
}
.wce-sidebar-shop h4.wp-block-heading {
	margin: 0 0 0.75rem;
	color: var(--wp--preset--color--foreground-muted);
}
.wce-sidebar-shop .wc-block-components-price-slider__range-input-progress {
	--low: var(--wp--preset--color--primary);
	--high: var(--wp--preset--color--primary);
}
.wce-sidebar-shop .wc-block-components-filter-submit-button,
.wce-sidebar-shop button.wc-block-components-filter-reset-button {
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.wce-sidebar-shop .wc-block-components-checkbox__input:checked {
	accent-color: var(--wp--preset--color--primary);
}
.wce-sidebar-shop .wc-block-components-checkbox__label,
.wce-sidebar-shop .wc-block-components-filter-label {
	color: var(--wp--preset--color--foreground);
}

/* --- Mobile filter drawer (off-canvas) --- */
@media (max-width: 1023px) {
	.wce-archive-layout__sidebar {
		position: fixed;
		inset: 0 auto 0 0;
		width: min(340px, 86vw);
		max-width: 86vw;
		background: var(--wp--preset--color--background);
		border-right: 1px solid var(--wp--preset--color--border);
		z-index: 9998;
		transform: translateX(-101%);
		transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
		overflow-y: auto;
		padding: 1rem 1rem 2rem;
	}
	.wce-archive-layout__sidebar.is-open {
		transform: translateX(0);
		box-shadow: var(--wp--custom--wce--box-shadow-elevated);
	}
	body.wce-filter-drawer-open {
		overflow: hidden;
	}
	body.wce-filter-drawer-open::after {
		content: '';
		position: fixed;
		inset: 0;
		background: rgba(10, 5, 8, 0.65);
		z-index: 9997;
	}
}

/* --- Product card tuning --- */
.wce-archive .wc-block-product-template,
.wce-archive .wp-block-woocommerce-product-template {
	gap: var(--wp--preset--spacing--20) !important;
}
.wce-archive .wc-block-product-template .wc-block-product,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: 0.75rem 0.75rem 1rem;
	transition: var(--wp--custom--wce--transition);
	position: relative;
	overflow: hidden;
}
.wce-archive .wc-block-product-template .wc-block-product:hover,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--wce--glow-primary);
}
.wce-archive .wc-block-product-image,
.wce-archive .wp-block-woocommerce-product-image {
	margin-bottom: 0.75rem;
	border-radius: var(--wp--custom--wce--border-radius-small);
	overflow: hidden;
}
.wce-archive .wc-block-product-image img {
	transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.wce-archive .wc-block-product:hover .wc-block-product-image img {
	transform: scale(1.04);
}
.wce-archive .wp-block-post-title a {
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
}
.wce-archive .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}
.wce-archive .wp-block-woocommerce-product-price,
.wce-archive .wc-block-components-product-price {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}
.wce-archive .wc-block-components-product-price del,
.wce-archive .wc-block-components-product-price__regular {
	color: var(--wp--preset--color--foreground-muted);
	font-weight: 400;
	opacity: 0.7;
	margin-right: 0.4rem;
}
.wce-archive .wc-block-components-product-price ins {
	text-decoration: none;
}
.wce-archive .wc-block-components-sale-badge,
.wce-archive .onsale {
	background: var(--wp--preset--color--urgent);
	color: var(--wp--preset--color--foreground);
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-radius: 999px;
	padding: 0.2rem 0.6rem;
	top: 0.75rem;
	left: 0.75rem;
	position: absolute;
	z-index: 2;
}
.wce-archive .wp-block-button__link,
.wce-archive .wp-block-woocommerce-product-button .wp-block-button__link,
.wce-archive .wc-block-components-product-button .wc-block-components-button {
	width: 100%;
	justify-content: center;
}

/* --- Grid breakpoints --- */
@media (max-width: 1199px) {
	.wce-archive .wc-block-product-template.columns-4,
	.wce-archive .wp-block-woocommerce-product-template.columns-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 768px) {
	.wce-archive .wc-block-product-template,
	.wce-archive .wp-block-woocommerce-product-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* --- Pagination --- */
.wce-archive .wp-block-query-pagination {
	gap: 0.5rem;
	flex-wrap: wrap;
}
.wce-archive .wp-block-query-pagination a,
.wce-archive .wp-block-query-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.75rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.85rem;
	transition: var(--wp--custom--wce--transition-fast);
}
.wce-archive .wp-block-query-pagination a:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
.wce-archive .wp-block-query-pagination .page-numbers.current,
.wce-archive .wp-block-query-pagination span[aria-current] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border-color: var(--wp--preset--color--primary);
}

/* --- Discount banner spacing on archives --- */
.wce-archive .wce-discount-banner {
	margin: 0 0 var(--wp--preset--spacing--20);
}

/* --- Editorial band --- */
.wce-archive-editorial details.wp-block-details {
	border-top: 1px solid var(--wp--preset--color--border);
	padding: 0.85rem 0;
}
.wce-archive-editorial details.wp-block-details:first-of-type {
	border-top: none;
	padding-top: 0;
}
.wce-archive-editorial details.wp-block-details summary {
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	color: var(--wp--preset--color--foreground);
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.wce-archive-editorial details.wp-block-details summary::-webkit-details-marker { display: none; }
.wce-archive-editorial details.wp-block-details summary::after {
	content: '+';
	font-size: 1.25rem;
	color: var(--wp--preset--color--primary);
	line-height: 1;
	transition: transform 0.2s ease;
}
.wce-archive-editorial details.wp-block-details[open] summary::after {
	content: '\2212';
}
.wce-archive-editorial details.wp-block-details p {
	margin-top: 0.6rem;
	color: var(--wp--preset--color--foreground-muted);
	line-height: 1.6;
}

/* Breadcrumb rules moved — see Pass-N consolidated block at EOF. */

/* ============================================================
   Phase 3 completion — product page refinement
   ============================================================ */

/* Native select legibility on dark — option menu inherits dark chrome */
.wce-product__atc select,
.wce-product__atc .variations select,
.woocommerce select,
.wc-block-components-form select {
	color-scheme: dark;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--foreground);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	padding: 0.75rem 2.5rem 0.75rem 1.25rem;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.4;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23d4ff3a' stroke-width='2.5'><polyline points='6 9 12 15 18 9'/></svg>");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	transition: var(--wp--custom--wce--transition-fast);
	cursor: pointer;
}

.wce-product__atc select:focus {
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--wce--glow-primary);
	outline: none;
}

/* Variations table layout on the single product form */
.wce-product__atc .variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--wp--preset--spacing--20);
}

.wce-product__atc .variations th,
.wce-product__atc .variations td {
	padding: 0.5rem 0;
	vertical-align: middle;
	text-align: left;
}

.wce-product__atc .variations th {
	font-size: var(--wp--preset--font-size--tiny);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--foreground-muted);
	width: 110px;
}

.wce-product__atc .reset_variations {
	display: inline-block;
	font-size: var(--wp--preset--font-size--tiny);
	color: var(--wp--preset--color--foreground-muted);
	text-decoration: underline;
	margin-top: 0.5rem;
}

/* Single-variation price slot — stop collapsing into a giant void */
.wce-product__atc .single_variation_wrap {
	min-height: 0;
}
.wce-product__atc .single_variation {
	margin-bottom: var(--wp--preset--spacing--20);
}
.wce-product__atc .woocommerce-variation-price {
	margin-bottom: var(--wp--preset--spacing--10);
}
.wce-product__atc .woocommerce-variation-availability {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--foreground-muted);
}
.wce-product__atc .woocommerce-variation-description {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--foreground-muted);
	line-height: 1.5;
}

/* Buy-now breathing room under Add to Basket */
.wce-product__atc .wce-buy-now-btn,
.wce-product__atc button[name="wce_buy_now"],
.wce-product__atc .buy-now-button {
	display: block;
	width: 100%;
	margin-top: 0.75rem;
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--primary);
}

.wce-product__atc .wce-buy-now-btn:hover,
.wce-product__atc button[name="wce_buy_now"]:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
}

/* Add-to-cart row: baseline align quantity + button */
.wce-product__atc form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
}

.wce-product__atc .quantity,
.wce-product__atc .wce-qty-stepper {
	display: flex;
	align-items: stretch;
}

.wce-product__atc .wce-qty-stepper__btn,
.wce-product__atc input.qty {
	height: 52px;
}

.wce-product__atc .single_add_to_cart_button {
	height: 52px;
	flex: 1 1 200px;
	min-width: 180px;
}

/* Price+rating row — baseline align so tall price doesn't shove the rating */
.wce-product__price-row {
	align-items: baseline !important;
}

/* Column stretch so info column fills gallery height on desktop */
@media (min-width: 900px) {
	.wce-product__layout {
		align-items: stretch;
	}
	.wce-product__gallery-col,
	.wce-product__info-col {
		display: flex;
		flex-direction: column;
	}
}

/* Product breadcrumb spacing — see Pass-N consolidated block at EOF. */

/* Product title overflow protection */
.wce-product__title {
	overflow-wrap: anywhere;
	hyphens: auto;
}

/* WCE Pro delivery countdown (wrapper: .wce-product__countdown) */
.wce-product__countdown {
	margin: var(--wp--preset--spacing--20) 0;
	padding: var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small);
}

.wce-product__countdown .wce-pro-countdown,
.wce-product__countdown .wce-countdown-timer,
.wce-product__countdown [data-wce-cutoff] {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.wce-product__countdown .wce-countdown-timer__message,
.wce-product__countdown .wce-pro-countdown__message {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--foreground);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: -0.01em;
}

.wce-product__countdown .wce-countdown-timer__label,
.wce-product__countdown .wce-pro-countdown__label {
	font-size: var(--wp--preset--font-size--tiny);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--foreground-muted);
}

.wce-product__countdown .wce-pro-countdown__time,
.wce-product__countdown .wce-countdown-time {
	font-family: var(--wp--preset--font-family--heading);
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	font-size: 1.25rem;
	color: var(--wp--preset--color--primary);
}

/* Glowing dot — legacy wce-pro countdown accent. We no longer render
 * that block (BBT Delivery Message owns the message), so suppress the
 * stand-alone ::before pulse which would otherwise sit on its own line
 * above the new message. */
.wce-product__countdown::before {
	content: none;
	display: none;
}

@keyframes wce-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

/* WCE Pro shipping progress bar */
.wce-shipping-progress,
.wp-block-wce-pro-shipping-progress {
	margin-bottom: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--20);
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small);
}

.wce-shipping-progress__label,
.wce-shipping-progress .wce-pro-shipping-progress__label {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--foreground);
	margin-bottom: 0.5rem;
}

.wce-shipping-progress__label strong,
.wce-shipping-progress .wce-pro-shipping-progress__amount {
	color: var(--wp--preset--color--primary);
	font-weight: 800;
}

.wce-shipping-progress__bar,
.wce-shipping-progress .wce-pro-shipping-progress__track {
	height: 6px;
	border-radius: var(--wp--custom--wce--border-radius-pill);
	background: var(--wp--preset--color--background);
	overflow: hidden;
	position: relative;
}

.wce-shipping-progress__fill,
.wce-shipping-progress .wce-pro-shipping-progress__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-dark));
	border-radius: inherit;
	transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.wce-shipping-progress--unlocked .wce-shipping-progress__label,
.wce-shipping-progress.is-met .wce-pro-shipping-progress__label {
	color: var(--wp--preset--color--success);
	font-weight: 700;
}

.wce-shipping-progress--updating {
	animation: wce-pulse 0.6s ease-in-out;
}

/* Responsive — fine-tune */
@media (min-width: 1200px) {
	.wce-product__layout {
		gap: 3rem !important;
	}
}

@media (max-width: 1199px) and (min-width: 900px) {
	.wce-product__layout {
		gap: 2rem !important;
	}
	.wce-product__gallery {
		top: 80px;
	}
}

@media (max-width: 699px) {
	.wce-product {
		padding-top: var(--wp--preset--spacing--20) !important;
		padding-bottom: calc(var(--wp--preset--spacing--40) + 88px) !important;
	}
	.wce-product__info {
		padding: 0;
	}
}


/* ============================================================
   Pass F — Atmosphere (Phase 4b)
   ============================================================ */

/* --- Ambient lighting (body-level) --- */
body {
	position: relative;
	background-color: var(--wp--preset--color--background);
}
body::before {
	content: '';
	position: fixed;
	inset: 0;
	background:
		var(--wp--custom--wce--radial-ambient-primary),
		var(--wp--custom--wce--radial-ambient-accent);
	pointer-events: none;
	z-index: 0;
}
body::after {
	content: '';
	position: fixed;
	inset: 0;
	background: var(--wp--custom--wce--grain);
	opacity: 0.8;
	mix-blend-mode: overlay;
	pointer-events: none;
	z-index: 1;
}
/* Keep all real content above atmosphere layers */
.wp-site-blocks,
header.wp-block-template-part,
footer.wp-block-template-part,
main {
	position: relative;
	z-index: 2;
}

/* --- Kicker glow --- */
.wce-kicker {
	text-shadow: var(--wp--custom--wce--glow-kicker);
}

/* --- Accent hairline (section punctuation) --- */
.wce-hairline {
	display: block;
	height: 1px;
	width: 100%;
	background: var(--wp--custom--wce--accent-hairline);
	border: 0;
	margin: var(--wp--preset--spacing--30) 0;
	opacity: 0.7;
}
.wce-archive > * + *:not(.wce-hairline):not(.wp-block-woocommerce-breadcrumbs):not(script):not(style) {
	/* no-op; real hairlines are emitted by templates where needed */
}

/* --- Global scrollbar theming --- */
html {
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--primary-dark) var(--wp--preset--color--surface);
}
body::-webkit-scrollbar { width: 10px; height: 10px; }
body::-webkit-scrollbar-track { background: var(--wp--preset--color--surface); }
body::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--primary-dark);
	border: 2px solid var(--wp--preset--color--background);
	border-radius: 999px;
}
body::-webkit-scrollbar-thumb:hover { background: var(--wp--preset--color--primary); }

/* --- Card depth upgrade (atmosphere layer) --- */
.wce-archive .wc-block-product-template .wc-block-product,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product {
	border: 1px solid rgba(58, 33, 41, 0.6);
	box-shadow: var(--wp--custom--wce--box-shadow-medium);
	background: linear-gradient(
		180deg,
		var(--wp--preset--color--surface) 0%,
		var(--wp--preset--color--surface-alt) 100%
	);
}
.wce-archive .wc-block-product-template .wc-block-product::before,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--wp--custom--wce--grain);
	mix-blend-mode: overlay;
	opacity: 0.4;
	pointer-events: none;
	border-radius: inherit;
}
.wce-archive .wc-block-product-template .wc-block-product:hover,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product:hover {
	transform: translateY(-4px);
	border-color: rgba(212, 255, 58, 0.5);
	box-shadow:
		var(--wp--custom--wce--glow-primary),
		var(--wp--custom--wce--box-shadow-hover);
}

/* --- Subcategory tile depth --- */
.wce-subcategory-tile {
	background: linear-gradient(
		180deg,
		var(--wp--preset--color--surface) 0%,
		var(--wp--preset--color--surface-alt) 100%
	);
	box-shadow: var(--wp--custom--wce--box-shadow-medium);
}
.wce-subcategory-tile:hover {
	box-shadow:
		var(--wp--custom--wce--glow-primary),
		var(--wp--custom--wce--box-shadow-hover);
}

/* --- Sidebar depth --- */
.wce-sidebar-shop {
	box-shadow: var(--wp--custom--wce--box-shadow-medium);
	background: linear-gradient(
		180deg,
		var(--wp--preset--color--surface) 0%,
		var(--wp--preset--color--surface-alt) 100%
	);
}

/* --- Toolbar depth --- */
.wce-archive-toolbar {
	box-shadow: var(--wp--custom--wce--box-shadow-medium);
	background: linear-gradient(
		180deg,
		var(--wp--preset--color--surface) 0%,
		var(--wp--preset--color--surface-alt) 100%
	);
}

/* --- Hero spotlight + typography crank --- */
.wce-category-hero {
	min-height: 260px;
	max-height: 360px;
	box-shadow: var(--wp--custom--wce--box-shadow-elevated);
}
@media (max-width: 768px) {
	.wce-category-hero { max-height: 240px; min-height: 220px; }
}
.wce-category-hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--wp--custom--wce--radial-ambient-hero);
	z-index: 2;
	pointer-events: none;
}
.wce-category-hero__inner {
	z-index: 3 !important;
}
.wce-category-hero__title {
	font-size: var(--wp--preset--font-size--hero);
	font-weight: 800;
	letter-spacing: var(--wp--custom--wce--letter-spacing-tighter);
	line-height: 1.02;
	text-shadow:
		0 2px 24px rgba(0, 0, 0, 0.6),
		0 0 60px rgba(26, 13, 18, 0.8);
}
.wce-category-hero__kicker {
	text-shadow: var(--wp--custom--wce--glow-kicker);
}
.wce-category-hero__desc {
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.5);
}

/* --- Discount banner atmosphere --- */
.wce-discount-banner {
	box-shadow: var(--wp--custom--wce--box-shadow-medium);
	position: relative;
	overflow: hidden;
}
.wce-discount-banner::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at left center, rgba(255, 51, 102, 0.12), transparent 60%);
	pointer-events: none;
}

/* --- Button life --- */
.wce-archive .wp-block-button__link,
.wce-archive .wc-block-components-product-button .wc-block-components-button,
.wce-archive .wp-block-woocommerce-product-button .wp-block-button__link {
	transition: var(--wp--custom--wce--transition);
	position: relative;
}
.wce-archive .wp-block-button__link:hover,
.wce-archive .wc-block-components-product-button .wc-block-components-button:hover,
.wce-archive .wp-block-woocommerce-product-button .wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: var(--wp--custom--wce--glow-button);
}

/* --- Pagination glow on current --- */
.wce-archive .wp-block-query-pagination .page-numbers.current,
.wce-archive .wp-block-query-pagination span[aria-current] {
	box-shadow: var(--wp--custom--wce--glow-primary);
}

/* --- Section rhythm: alternating surface for editorial --- */
.wce-archive-editorial {
	box-shadow: var(--wp--custom--wce--box-shadow-medium);
	position: relative;
	overflow: hidden;
}
.wce-archive-editorial::before {
	content: '';
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 1px;
	background: var(--wp--custom--wce--accent-hairline);
	opacity: 0.6;
}

/* --- Toolbar filter toggle glow --- */
.wce-archive-toolbar__filter-toggle {
	box-shadow: var(--wp--custom--wce--glow-primary);
}
.wce-archive-toolbar__filter-toggle:hover {
	box-shadow: var(--wp--custom--wce--glow-button);
	transform: translateY(-1px);
}

/* --- Price intensity --- */
.wce-archive .wp-block-woocommerce-product-price,
.wce-archive .wc-block-components-product-price {
	text-shadow: 0 0 18px rgba(212, 255, 58, 0.25);
}

/* --- Header / footer maintain atmosphere --- */
header.wp-block-template-part {
	backdrop-filter: blur(10px) saturate(1.2);
	-webkit-backdrop-filter: blur(10px) saturate(1.2);
}

/* --- Pills scrollbar theming --- */
.wce-subcategory-pills {
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--primary-dark) transparent;
	-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 24px, #000 calc(100% - 24px), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0%, #000 24px, #000 calc(100% - 24px), transparent 100%);
	padding-bottom: 6px;
}
.wce-subcategory-pills::-webkit-scrollbar { height: 4px; }
.wce-subcategory-pills::-webkit-scrollbar-track { background: transparent; }
.wce-subcategory-pills::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--primary-dark);
	border-radius: 999px;
}
.wce-subcategory-pills::-webkit-scrollbar-thumb:hover {
	background: var(--wp--preset--color--primary);
}

/* --- Select dropdown focus glow --- */
.wce-archive-toolbar select:focus-visible,
.wce-archive-toolbar .wc-block-components-sort-select__select:focus-visible {
	outline: none;
	box-shadow: var(--wp--custom--wce--glow-primary);
	border-color: var(--wp--preset--color--primary);
}

/* ============================================================
   Pass A — Sidebar unification (Phase 4b)
   ============================================================ */

.wce-sidebar-shop .wce-sidebar-shop__heading,
.wce-sidebar-shop .wce-sidebar-shop__section-heading,
.wce-sidebar-shop h3.wp-block-heading,
.wce-sidebar-shop h4.wp-block-heading {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.72rem !important;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--wp--preset--color--foreground-muted);
	margin: 0 0 0.85rem;
	line-height: 1.2;
}
.wce-sidebar-shop .wce-sidebar-shop__heading {
	color: var(--wp--preset--color--foreground);
	font-weight: 800;
	font-size: 0.78rem !important;
	letter-spacing: 0.18em;
}

/* Active filters: tighten spacing, give chips brand styling */
.wce-sidebar-shop__active:empty,
.wce-sidebar-shop__active .wp-block-woocommerce-product-filter-active:empty {
	display: none;
}
.wce-sidebar-shop__active .wc-block-active-filters__title,
.wce-sidebar-shop__active .wp-block-woocommerce-product-filter-active__title {
	font-size: 0.7rem !important;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--foreground-muted);
	margin-bottom: 0.5rem;
}
.wce-sidebar-shop__active .wc-block-active-filters__list-item,
.wce-sidebar-shop__active .wc-block-active-filter-list li {
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--primary-dark);
	border-radius: 999px;
	padding: 0.25rem 0.7rem;
	font-size: 0.72rem;
	color: var(--wp--preset--color--foreground);
}
.wce-sidebar-shop__active button,
.wce-sidebar-shop__active .wc-block-active-filters__clear-all {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 0;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	cursor: pointer;
	padding: 0;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.wce-sidebar-shop__active button:hover,
.wce-sidebar-shop__active .wc-block-active-filters__clear-all:hover {
	color: var(--wp--preset--color--primary-dark);
}

/* Hairline divider between filter sections */
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper {
	padding: 0.9rem 0 0;
	border-top: 1px solid rgba(58, 33, 41, 0.6);
	margin-top: 0.75rem;
	position: relative;
}
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper:first-of-type,
.wce-sidebar-shop__active + .wp-block-woocommerce-filter-wrapper {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

/* Hide empty attribute filter blocks */
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper:has(.wp-block-woocommerce-attribute-filter__no-results),
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper:has(.wc-block-attribute-filter:empty) {
	display: none;
}

/* Price slider / checkbox tokens */
.wce-sidebar-shop input[type="checkbox"],
.wce-sidebar-shop input[type="radio"] {
	accent-color: var(--wp--preset--color--primary);
}
.wce-sidebar-shop .wc-block-components-price-slider__range-input-wrapper input[type="range"] {
	accent-color: var(--wp--preset--color--primary);
}
.wce-sidebar-shop .wc-block-components-price-slider__input {
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--foreground);
	border-radius: 6px;
}

/* Desktop sidebar collapse */
@media (min-width: 1024px) {
	body[data-sidebar-hidden] .wce-archive-layout {
		grid-template-columns: 1fr;
	}
	body[data-sidebar-hidden] .wce-archive-layout__sidebar {
		display: none;
	}
}
.wce-archive-toolbar__sidebar-toggle {
	display: none;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.95rem;
	background: transparent;
	color: var(--wp--preset--color--foreground-muted);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	font-family: inherit;
	transition: var(--wp--custom--wce--transition-fast);
}
.wce-archive-toolbar__sidebar-toggle:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
@media (min-width: 1024px) {
	.wce-archive-toolbar__sidebar-toggle { display: inline-flex; }
}

/* ============================================================
   Pass B — Hero treatment (Phase 4b)
   ============================================================ */

/* Reset: the pass-F rules already cap min/max-height. Extend with
   media + spotlight layering. */

.wce-category-hero {
	isolation: isolate;
	background: var(--wp--preset--color--surface-alt);
}

.wce-category-hero__media {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	z-index: 0;
	filter: saturate(0.55) contrast(1.08) brightness(0.6);
}
.wce-category-hero__media::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(26,13,18,0.3) 0%, rgba(26,13,18,0.75) 100%),
		rgba(26, 13, 18, 0.35);
	mix-blend-mode: multiply;
}

.wce-category-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(135deg, rgba(26,13,18,0.55) 0%, transparent 45%, rgba(26,13,18,0.4) 100%),
		var(--wp--custom--wce--grain);
	mix-blend-mode: normal;
	pointer-events: none;
}

.wce-category-hero__spotlight {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: radial-gradient(
		ellipse 45% 70% at 22% 65%,
		rgba(26,13,18,0.0) 0%,
		rgba(26,13,18,0.45) 55%,
		rgba(26,13,18,0.9) 100%
	);
	pointer-events: none;
}

/* No-image fallback: gradient + grain, no grey flat band */
.wce-category-hero--no-image {
	background:
		radial-gradient(ellipse 60% 80% at 20% 80%, rgba(212,255,58,0.08) 0%, transparent 55%),
		radial-gradient(ellipse 70% 60% at 85% 20%, rgba(255,90,122,0.10) 0%, transparent 55%),
		linear-gradient(180deg, var(--wp--preset--color--surface-alt) 0%, var(--wp--preset--color--surface) 100%);
}
.wce-category-hero--no-image .wce-category-hero__overlay {
	background: var(--wp--custom--wce--grain);
	opacity: 0.9;
}

/* Inner block — ensure always above layers */
.wce-category-hero__inner {
	position: relative;
	z-index: 3;
	max-width: 620px;
}

/* Title presence */
.wce-category-hero__title {
	color: var(--wp--preset--color--foreground);
	margin: 0 0 0.75rem;
}
.wce-category-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.6rem;
}
.wce-category-hero__kicker::after {
	content: '';
	display: inline-block;
	width: 1.5rem;
	height: 1px;
	background: var(--wp--preset--color--primary);
	opacity: 0.6;
}

.wce-category-hero__desc {
	color: var(--wp--preset--color--foreground);
	font-weight: 400;
	max-width: 48ch;
	line-height: 1.55;
}

/* Breadcrumb current page highlight — see Pass-N consolidated block at EOF. */

/* ============================================================
   Pass C — Cards + grid + pills (Phase 4b)
   ============================================================ */

/* --- Grid: fill the main column, respect min card width --- */
.wce-archive .wp-block-woocommerce-product-template,
.wce-archive .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	width: 100% !important;
	gap: var(--wp--preset--spacing--20) !important;
	list-style: none;
	padding: 0;
	margin: 0;
}
@media (max-width: 640px) {
	.wce-archive .wp-block-woocommerce-product-template,
	.wce-archive .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.75rem !important;
	}
}

/* --- Card internal rhythm --- */
.wce-archive .wc-block-product,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product {
	padding: 1rem 1rem 1.25rem !important;
	border-radius: var(--wp--custom--wce--border-radius) !important;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.wce-archive .wc-block-product .wp-block-woocommerce-product-image,
.wce-archive .wc-block-product .wc-block-product-image {
	margin-bottom: 0.75rem !important;
	border-radius: var(--wp--custom--wce--border-radius-small);
	overflow: hidden;
}

/* Card text rhythm */
.wce-archive .wc-block-product .wp-block-post-title {
	margin: 0.25rem 0 0.35rem !important;
	font-size: 0.98rem !important;
	line-height: 1.3 !important;
}
.wce-archive .wc-block-product .wp-block-post-title a {
	color: var(--wp--preset--color--foreground) !important;
	text-decoration: none;
}
.wce-archive .wc-block-product .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary) !important;
}
.wce-archive .wc-block-product .wp-block-woocommerce-product-price,
.wce-archive .wc-block-product .wc-block-components-product-price {
	margin: 0 0 0.5rem !important;
	font-size: 1.05rem !important;
}
.wce-archive .wc-block-product .wp-block-post-terms {
	margin: 0 0 0.35rem !important;
	color: var(--wp--preset--color--foreground-muted) !important;
}

/* Archive card ATC button: quieter, full-width */
.wce-archive .wp-block-woocommerce-product-button .wp-block-button__link,
.wce-archive .wc-block-components-product-button .wc-block-components-button {
	width: 100%;
	text-transform: none !important;
	letter-spacing: 0.02em !important;
	font-weight: 600 !important;
	font-size: 0.82rem !important;
	padding: 0.7rem 1rem !important;
	margin-top: auto !important;
}

/* Hide the PHP hook category label on taxonomy pages (belt-and-braces) */
.wce-archive--cat .wce-product-card__category,
.wce-archive--tag .wce-product-card__category {
	display: none;
}

/* Guard against duplicate post-terms rendering */
.wce-archive--cat .wc-block-product .wp-block-post-terms {
	display: none;
}

/* --- Pills: scroll polish is in Pass F; here: compacting + fade --- */
.wce-subcategory-pills__list {
	padding: 0.25rem 1px;
}
.wce-subcategory-pills__link {
	font-weight: 600;
}

/* --- Sale badge positioning (reinforces Phase 4) --- */
.wce-archive .wc-block-components-sale-badge,
.wce-archive .onsale {
	top: 0.75rem !important;
	left: 0.75rem !important;
	right: auto !important;
	margin: 0 !important;
	z-index: 3;
}

/* --- Hover image swap prep (JS fills data-hover-src) --- */
.wce-archive .wc-block-product-image {
	position: relative;
}
.wce-archive .wc-block-product-image::after {
	content: '';
	position: absolute;
	inset: 0;
	background-image: var(--wce-hover-image, none);
	background-size: cover;
	background-position: center;
	opacity: 0;
	transition: opacity 0.35s ease;
	pointer-events: none;
}
.wce-archive .wc-block-product:hover .wc-block-product-image::after {
	opacity: 1;
}

/* ============================================================
   Pass D — Discount banner expandable mini-grid (Phase 4b)
   ============================================================ */

.wce-discount-banner {
	background: linear-gradient(
		180deg,
		var(--wp--preset--color--surface) 0%,
		var(--wp--preset--color--surface-alt) 100%
	);
	border: 1px solid rgba(255, 51, 102, 0.25);
	border-radius: var(--wp--custom--wce--border-radius);
	margin: 0 0 var(--wp--preset--spacing--30);
	overflow: hidden;
	transition: border-color 0.25s ease;
}
.wce-discount-banner[open] {
	border-color: rgba(255, 51, 102, 0.55);
	box-shadow: 0 0 0 1px rgba(255, 51, 102, 0.35), 0 6px 28px rgba(255, 51, 102, 0.12);
}

.wce-discount-banner__summary {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.85rem 1.1rem;
	cursor: pointer;
	list-style: none;
	color: var(--wp--preset--color--foreground);
	font-size: 0.9rem;
	position: relative;
}
.wce-discount-banner__summary::-webkit-details-marker { display: none; }

.wce-discount-banner__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	background: rgba(255, 51, 102, 0.15);
	color: var(--wp--preset--color--urgent);
	flex-shrink: 0;
}
.wce-discount-banner__text {
	display: inline-flex;
	gap: 0.4rem;
	flex-wrap: wrap;
	flex: 1;
	min-width: 0;
	align-items: baseline;
}
.wce-discount-banner__text strong {
	color: var(--wp--preset--color--urgent);
	font-weight: 700;
	font-size: 0.95rem;
	letter-spacing: 0.01em;
}
.wce-discount-banner__text span {
	color: var(--wp--preset--color--foreground-muted);
	font-size: 0.85rem;
}
.wce-discount-banner__chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	transition: transform 0.3s ease, color 0.2s ease;
	flex-shrink: 0;
}
.wce-discount-banner[open] .wce-discount-banner__chevron {
	transform: rotate(180deg);
	color: var(--wp--preset--color--primary);
}

.wce-discount-banner__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.75rem;
	padding: 0 1.1rem 1.1rem;
}
@media (max-width: 1023px) {
	.wce-discount-banner__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
	.wce-discount-banner__grid { grid-template-columns: repeat(2, 1fr); }
}

.wce-discount-banner__card {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.6rem;
	background: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small);
	text-decoration: none;
	color: var(--wp--preset--color--foreground);
	transition: var(--wp--custom--wce--transition-fast);
}
.wce-discount-banner__card:hover {
	transform: translateY(-2px);
	border-color: rgba(255, 51, 102, 0.6);
	box-shadow: 0 0 0 1px rgba(255, 51, 102, 0.35), 0 6px 18px rgba(0, 0, 0, 0.4);
}

.wce-discount-banner__media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 6px;
	background: var(--wp--preset--color--surface);
}
.wce-discount-banner__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.wce-discount-banner__badge {
	position: absolute;
	top: 0.35rem;
	left: 0.35rem;
	background: var(--wp--preset--color--urgent);
	color: var(--wp--preset--color--foreground);
	font-size: 0.65rem;
	font-weight: 800;
	padding: 0.15rem 0.4rem;
	border-radius: 999px;
	letter-spacing: 0.04em;
}

.wce-discount-banner__card > span {
	display: block;
}
.wce-discount-banner__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.85rem;
	line-height: 1.25;
	margin: 0.25rem 0 0.1rem;
	color: var(--wp--preset--color--foreground);
	font-weight: 600;
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.wce-discount-banner__price {
	font-size: 0.78rem;
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}
.wce-discount-banner__price .price {
	color: inherit;
}
.wce-discount-banner__price del {
	color: var(--wp--preset--color--foreground-muted);
	font-weight: 400;
	opacity: 0.65;
	font-size: 0.72rem;
	margin-right: 0.35rem;
}
.wce-discount-banner__price ins {
	text-decoration: none;
}

/* ============================================================
   Pass E — Toolbar polish (Phase 4b)
   ============================================================ */

.wce-archive-toolbar .wc-block-product-results-count,
.wce-archive-toolbar .wp-block-woocommerce-product-results-count {
	font-weight: 600 !important;
	font-size: 0.85rem;
	color: var(--wp--preset--color--foreground) !important;
	margin: 0 !important;
}

.wce-archive-toolbar__selects {
	gap: 0.5rem;
	margin-left: auto;
	align-items: center;
}

.wce-archive-toolbar__perpage {
	display: inline-flex;
	align-items: center;
}
.wce-archive-toolbar__perpage select,
.wce-archive-toolbar__perpage select:focus {
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 999px;
	padding: 0.45rem 2rem 0.45rem 1rem;
	font-size: 0.85rem;
	font-family: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23b8a898' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
}
.wce-archive-toolbar__perpage select:hover {
	border-color: var(--wp--preset--color--primary);
}

/* Screen-reader-only text */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Breadcrumb current-page state — see Pass-N consolidated block at EOF. */

/* --- Toolbar wrapping on mobile --- */
@media (max-width: 640px) {
	.wce-archive-toolbar {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}
	.wce-archive-toolbar__selects {
		margin-left: 0;
		justify-content: space-between;
	}
	.wce-archive-toolbar__perpage select,
	.wce-archive-toolbar select {
		width: 100%;
	}
}

/* ============================================================
   Pass C fix — cards must fill their grid cell
   ============================================================ */

.wce-archive .wp-block-woocommerce-product-template > li,
.wce-archive .wc-block-product-template > li,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product,
.wce-archive .wc-block-product-template .wc-block-product {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: 1 1 100% !important;
	margin: 0 !important;
	list-style: none;
}

.wce-archive .wp-block-woocommerce-product-template,
.wce-archive .wc-block-product-template {
	list-style: none !important;
}

/* Keep images from shrinking */
.wce-archive .wc-block-product .wp-block-woocommerce-product-image,
.wce-archive .wc-block-product .wc-block-product-image {
	width: 100% !important;
	max-width: 100% !important;
	display: block;
}
.wce-archive .wc-block-product .wp-block-woocommerce-product-image img,
.wce-archive .wc-block-product .wc-block-product-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

/* ============================================================
   Pass G — Shop landing hero (two-column anchor with stat stack)
   ============================================================ */

.wce-shop-hero {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	padding-block: clamp(2.5rem, 7vw, 5rem) !important;
	padding-inline: clamp(1.5rem, 5vw, 3rem) !important;
	background:
		radial-gradient(ellipse at 18% 30%, rgba(212, 255, 58, 0.06), transparent 55%),
		radial-gradient(ellipse at 90% 90%, rgba(255, 90, 122, 0.05), transparent 55%),
		var(--wp--preset--color--surface-alt);
}

.wce-shop-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: var(--wp--custom--wce--grain);
	opacity: 0.5;
	mix-blend-mode: overlay;
	pointer-events: none;
}

.wce-shop-hero > * {
	position: relative;
	z-index: 1;
}

.wce-shop-hero__cols {
	margin-block: 0 !important;
	align-items: center;
}

.wce-shop-hero__text .wce-kicker {
	margin-bottom: 0.75rem !important;
}

.wce-shop-hero__title {
	font-size: clamp(2.25rem, 5.5vw, 4rem) !important;
}

.wce-shop-hero__lede {
	max-width: 52ch;
}

.wce-shop-hero__ctas {
	gap: 0.75rem !important;
	flex-wrap: wrap;
}

.wce-shop-hero__ctas .wp-block-button__link {
	padding: 0.85rem 1.6rem;
	font-size: 0.85rem;
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-shop-hero__ctas .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-dark) !important;
	transform: translateY(-1px);
	box-shadow: var(--wp--custom--wce--box-shadow-hover);
}

.wce-shop-hero__ctas .is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background) !important;
	transform: translateY(-1px);
}

.wce-shop-hero__stats {
	gap: 0.75rem !important;
}

.wce-shop-hero__stat {
	gap: 1rem !important;
	align-items: center !important;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-left: 3px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--wce--border-radius-small);
	transition: var(--wp--custom--wce--transition-fast);
}

.wce-shop-hero__stat:hover {
	border-color: var(--wp--preset--color--border);
	border-left-color: var(--wp--preset--color--primary);
	transform: translateX(2px);
	box-shadow: var(--wp--custom--wce--box-shadow);
}

.wce-shop-hero__stat h3 {
	flex: 0 0 auto;
	min-width: 4.5rem;
}

.wce-shop-hero__stat p {
	flex: 1 1 auto;
	min-width: 0;
}

.wce-shop-hero__divider {
	border: 0;
	height: 1px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--wp--preset--color--border) 20%,
		var(--wp--preset--color--primary) 50%,
		var(--wp--preset--color--border) 80%,
		transparent 100%
	) !important;
	opacity: 0.6;
}

@media (max-width: 781px) {
	.wce-shop-hero__cols {
		gap: var(--wp--preset--spacing--40) !important;
	}
	.wce-shop-hero__text,
	.wce-shop-hero__aside {
		flex-basis: 100% !important;
	}
	.wce-shop-hero__lede {
		max-width: none;
	}
	.wce-shop-hero__stat h3 {
		font-size: 2rem !important;
		min-width: 3.5rem;
	}
}

/* ============================================================
   Pass I — Product grid lockdown + sale price restoration
   ============================================================ */

/* Tighten the grid gap and lock auto-fill min-col for breathing room */
.wce-archive .wp-block-woocommerce-product-template,
.wce-archive .wc-block-product-template {
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: var(--wp--preset--spacing--30) !important;
	width: 100% !important;
}

@media (min-width: 1400px) {
	.wce-archive .wp-block-woocommerce-product-template,
	.wce-archive .wc-block-product-template {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.wce-archive .wp-block-woocommerce-product-template,
	.wce-archive .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.85rem !important;
	}
}

/* Card root: hard overflow clip so hover image/grain/badges stay contained.
   isolation: isolate creates a local stacking context so z-index tricks on
   badges + hover overlays don't leak onto neighbouring cards. */
.wce-archive .wc-block-product,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	border-radius: var(--wp--custom--wce--border-radius) !important;
	padding: clamp(0.875rem, 1.5vw, 1.25rem) !important;
}

/* Sale price: force both del + ins to render visibly on one line.
   WC Blocks ships .wc-block-components-product-price with del + ins
   children. Our earlier rule let the foreground-muted override
   fade del into near-invisibility alongside the bright primary
   colour on the wrapper. Re-specify: del = muted struck, ins =
   urgent red (brand "sale" signal) and bold. */
.wce-archive .wp-block-woocommerce-product-price,
.wce-archive .wc-block-components-product-price {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.5rem;
	color: var(--wp--preset--color--primary);
}

.wce-archive .wp-block-woocommerce-product-price del,
.wce-archive .wc-block-components-product-price del,
.wce-archive .wc-block-components-product-price__regular {
	display: inline-block !important;
	color: var(--wp--preset--color--foreground-muted) !important;
	font-weight: 400 !important;
	font-size: 0.85em !important;
	text-decoration: line-through;
	text-decoration-thickness: 1px;
	opacity: 0.85 !important;
	margin: 0 !important;
}

.wce-archive .wp-block-woocommerce-product-price ins,
.wce-archive .wc-block-components-product-price ins,
.wce-archive .wc-block-components-product-price__sale {
	display: inline-block !important;
	color: var(--wp--preset--color--urgent) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	background: transparent !important;
}

/* Regular (non-sale) price stays chartreuse-bold */
.wce-archive .wp-block-woocommerce-product-price > .wc-block-components-product-price__value:only-child,
.wce-archive .wc-block-components-product-price > .wc-block-components-product-price__value:only-child {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
}

/* Sale badge (already emitted by block_sale_badge_percentage hook) —
   reinforce top-right placement with the card as offset parent. */
.wce-archive .wc-block-product .wc-block-components-product-sale-badge,
.wce-archive .wc-block-product .onsale {
	position: absolute !important;
	top: clamp(0.6rem, 1.2vw, 1rem) !important;
	right: clamp(0.6rem, 1.2vw, 1rem) !important;
	left: auto !important;
	z-index: 4;
	background: var(--wp--preset--color--urgent) !important;
	color: #fff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
	pointer-events: none;
}

/* Keep the card's grain pseudo behind all content */
.wce-archive .wc-block-product-template .wc-block-product::before,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product::before {
	z-index: 0;
}
.wce-archive .wc-block-product > * {
	position: relative;
	z-index: 1;
}

/* =========================================================================
   Pass J — Filter sidebar: render fix, swatches, contextual hiding, polish
   ========================================================================= */

/* Unified sidebar heading treatment — tiny, uppercase, tracked, muted */
.wce-sidebar-shop__section-heading,
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper > h2,
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper > h3,
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper > h4,
.wce-sidebar-shop .wc-block-components-filter-heading,
.wp-block-woocommerce-product-collection .wp-block-woocommerce-filter-wrapper > h2,
.wp-block-woocommerce-product-collection .wp-block-woocommerce-filter-wrapper > h3,
.wp-block-woocommerce-product-collection .wp-block-woocommerce-filter-wrapper > h4 {
	font-size: 0.72rem !important;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--foreground-muted);
	margin: 0 0 var(--wp--preset--spacing--20) 0;
	text-shadow: none;
}

/* Filter-wrapper spacing + hairline separators between filter groups */
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper,
.wce-archive-layout__sidebar .wp-block-woocommerce-filter-wrapper {
	padding-block: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--wp--preset--color--border);
}
.wce-sidebar-shop .wp-block-woocommerce-filter-wrapper:first-of-type,
.wce-archive-layout__sidebar .wp-block-woocommerce-filter-wrapper:first-of-type,
.wce-sidebar-shop .wce-sidebar-shop__active {
	border-top: 0;
	padding-top: 0;
}

/* "Show X more" button legibility — chartreuse uppercase underlined */
.wce-sidebar-shop .wc-block-components-show-more,
.wce-archive-layout__sidebar .wc-block-components-show-more,
.wce-sidebar-shop button.wc-block-components-show-more__button,
.wce-archive-layout__sidebar button.wc-block-components-show-more__button {
	color: var(--wp--preset--color--primary);
	background: transparent;
	border: 0;
	padding: 0.5rem 0;
	margin-top: 0.35rem;
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
	transition: color var(--wp--custom--wce--transition-fast);
}
.wce-sidebar-shop .wc-block-components-show-more:hover,
.wce-archive-layout__sidebar .wc-block-components-show-more:hover {
	color: var(--wp--preset--color--primary-dark);
}

/* Clear-all pill button in sidebar head */
.wce-sidebar-shop__clear-all {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	color: var(--wp--preset--color--foreground-muted);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill);
	padding: 0.25rem 0.65rem;
	font-size: 0.66rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color var(--wp--custom--wce--transition-fast), border-color var(--wp--custom--wce--transition-fast), background var(--wp--custom--wce--transition-fast);
}
.wce-sidebar-shop__clear-all:hover {
	color: var(--wp--preset--color--urgent);
	border-color: var(--wp--preset--color--urgent);
}
.wce-sidebar-shop__clear-all[hidden] {
	display: none !important;
}

/* Colour swatch filter */
.wce-color-filter {
	margin: 0;
	padding: 0;
	border: 0;
}
.wce-color-filter__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(2.25rem, 1fr));
	gap: 0.5rem;
}
.wce-color-swatch {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	cursor: pointer;
	user-select: none;
}
.wce-color-swatch input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}
.wce-color-swatch__chip {
	display: block;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: var(--wce-swatch-color, #999);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--surface);
	transition: transform var(--wp--custom--wce--transition-fast), box-shadow var(--wp--custom--wce--transition-fast);
}
.wce-color-swatch__label {
	font-size: 0.6rem;
	color: var(--wp--preset--color--foreground-muted);
	letter-spacing: 0.04em;
	text-align: center;
	line-height: 1.1;
}
.wce-color-swatch:hover .wce-color-swatch__chip {
	transform: scale(1.08);
}
.wce-color-swatch.is-active .wce-color-swatch__chip,
.wce-color-swatch input:checked + .wce-color-swatch__chip {
	box-shadow: 0 0 0 2px var(--wp--preset--color--background), 0 0 0 4px var(--wp--preset--color--primary);
}
.wce-color-swatch.is-active .wce-color-swatch__label {
	color: var(--wp--preset--color--foreground);
}

/* Sidebar head layout */
.wce-sidebar-shop__head {
	margin-bottom: var(--wp--preset--spacing--20);
}

/* Defensive: wipe accidental text-shadows on sidebar headings */
.wce-archive-layout__sidebar h2,
.wce-archive-layout__sidebar h3,
.wce-archive-layout__sidebar h4 {
	text-shadow: none;
}

/* =========================================================================
   PHASE 4d — consolidated overrides (Passes N + O + P)
   This block is appended last so it wins cascade order. Any earlier rule
   touching these selectors should be treated as superseded.
   ========================================================================= */

/* ------- N · Breadcrumbs (single, cohesive treatment) ---------------- */

.wce-breadcrumbs {
	display: block;
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--foreground-muted);
	text-shadow: none;
}
.wce-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wce-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
}
.wce-breadcrumbs__link {
	color: var(--wp--preset--color--foreground-muted);
	text-decoration: none;
	transition: color var(--wp--custom--wce--transition-fast);
}
.wce-breadcrumbs__link:hover,
.wce-breadcrumbs__link:focus-visible {
	color: var(--wp--preset--color--primary);
}
.wce-breadcrumbs__sep {
	opacity: 0.5;
	color: var(--wp--preset--color--foreground-muted);
	font-weight: 400;
}
.wce-breadcrumbs__current {
	color: var(--wp--preset--color--foreground);
	font-weight: 700;
}

/* Inside the hero band, breadcrumbs read tighter and muted — sits above the kicker */
.wce-shop-hero .wce-breadcrumbs,
.wce-category-hero .wce-breadcrumbs {
	margin-bottom: 0.75rem;
}

/* Single-product breadcrumb spacing (replaces the removed .wce-product rule) */
.wce-product .wce-breadcrumbs {
	margin-bottom: var(--wp--preset--spacing--20);
}

/* ------- O · Grid lockdown (supersedes every earlier grid rule) ------ */

.wce-archive .wp-block-woocommerce-product-template,
.wce-archive .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: var(--wp--preset--spacing--30) !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.wce-archive .wc-block-product,
.wce-archive .wp-block-woocommerce-product-template .wc-block-product,
.wce-archive .wc-block-product-template .wc-block-product {
	min-width: 0 !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden;
	position: relative;
	isolation: isolate;
}
.wce-archive-layout__main {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}
.wce-archive-layout__main > * {
	max-width: 100%;
}
@media (min-width: 1400px) {
	.wce-archive .wp-block-woocommerce-product-template,
	.wce-archive .wc-block-product-template {
		grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
	}
}
@media (max-width: 1199px) {
	.wce-archive .wp-block-woocommerce-product-template,
	.wce-archive .wc-block-product-template {
		grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
	}
}
@media (max-width: 640px) {
	.wce-archive .wp-block-woocommerce-product-template,
	.wce-archive .wc-block-product-template {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 0.85rem !important;
	}
}

/* ------- P · Category hero media + description ----------------------- */

.wce-category-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 3vw, 3rem);
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--wce--border-radius);
	background: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--foreground);
}
.wce-category-hero__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.55;
	z-index: 0;
}
.wce-category-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg,
		rgba(26, 13, 18, 0.95) 0%,
		rgba(26, 13, 18, 0.78) 45%,
		rgba(36, 19, 25, 0.55) 100%);
	z-index: 1;
	pointer-events: none;
}
.wce-category-hero > * {
	position: relative;
	z-index: 2;
}
.wce-category-hero__kicker {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.5rem;
}
.wce-category-hero__title {
	font-size: clamp(2rem, 4.5vw, 3.5rem);
	font-weight: 800;
	letter-spacing: -0.035em;
	line-height: 1.05;
	margin: 0 0 var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--foreground);
}
.wce-category-hero__desc {
	max-width: 52ch;
	color: var(--wp--preset--color--foreground-muted);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}
.wce-category-hero__desc p { margin: 0 0 0.5rem; }
.wce-category-hero__desc p:last-child { margin-bottom: 0; }

/* ------- P · Colour swatch alignment fix ----------------------------- */
/* Chips-only stacking: left-align the swatch grid, drop the repetitive
   "Sex Toys" labels in favour of aria-label/title on each chip. */
.wce-color-filter {
	margin: 0;
	padding: 0;
}
.wce-color-filter__grid {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 0.5rem;
	padding: 0;
	margin: 0;
	list-style: none;
}
.wce-color-swatch {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center;
	justify-content: center;
	gap: 0;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	cursor: pointer;
}
.wce-color-swatch__label {
	/* Visually hide but keep for SR; aria-label on the swatch handles a11y */
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.wce-color-swatch__chip {
	width: 1.75rem;
	height: 1.75rem;
}



/* ========================================
   Pass Y — Button clamps (2026-04-17)
   ======================================== */

/* PDP Add-to-cart button: force size cap so the pill radius can't
   turn it into a giant circle when the info column is wide or the
   form uses the block variant with flex/grid stretch. */
.wce-product__atc .single_add_to_cart_button,
.wce-product__atc button[type="submit"],
.wce-product__atc .wc-block-components-button {
	height: 52px !important;
	min-height: 52px !important;
	max-height: 52px !important;
	width: auto !important;
	max-width: 320px !important;
	flex: 0 1 320px !important;
	align-self: flex-start !important;
	padding: 0 2rem !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	white-space: nowrap !important;
}

/* Related products / product-loop cards — the ADD TO BASKET button
   was inheriting the pill radius + filling the card height as a
   circle on narrow cards. Clamp to a rounded-rect so narrow widths
   can't pinch the radius into a full circle. Label shortened to
   "Add" via text-indent + ::before (CSS-only, no PHP filter). */
.wce-product__related .button,
.wce-product__related .add_to_cart_button,
.wce-product__related .wc-block-components-button,
ul.products li.product .button,
ul.products li.product .add_to_cart_button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	width: auto !important;
	max-width: 100% !important;
	padding: 0 1rem !important;
	font-size: 0.7rem !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	border-radius: 8px !important;
	aspect-ratio: auto !important;
}

/* On narrow grids (< 600px card width → roughly mobile/tablet), the
   "Add to basket" label wraps ugly. Replace with "Add" via CSS. */
@media (max-width: 900px) {
	.wce-product__related .button,
	.wce-product__related .add_to_cart_button,
	ul.products li.product .button,
	ul.products li.product .add_to_cart_button {
		font-size: 0 !important;
		padding: 0 0.75rem !important;
	}
	.wce-product__related .button::before,
	.wce-product__related .add_to_cart_button::before,
	ul.products li.product .button::before,
	ul.products li.product .add_to_cart_button::before {
		content: "Add";
		font-size: 0.75rem;
		font-weight: 800;
		text-transform: uppercase;
		letter-spacing: 0.08em;
	}
}

/* ============================================================
 * Phase 6 — Homepage rebuild
 * Section-level styling for front-page.html patterns.
 * All new tokens are sourced from theme.json (palette + custom.wce).
 * ============================================================ */

/* ---- Hero (two-column with product card aside) ---- */

.wce-hero--home .wce-hero__cols {
	gap: var(--wp--preset--spacing--40);
}

.wce-hero--home .wce-hero__countdown {
	max-width: 32rem;
}

.wce-hero--home .wce-hero__countdown .wce-delivery-message {
	padding: 0.8rem 1rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	background: rgba(46, 25, 32, 0.6);
	font-size: 0.9rem;
	color: var(--wp--preset--color--foreground);
}

/* Floating hero product card */
.wce-hero-product-card {
	position: relative;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-large, 24px);
	padding: 1.25rem;
	box-shadow: var(--wp--custom--wce--box-shadow-elevated, 0 30px 60px rgba(0, 0, 0, 0.45));
	overflow: hidden;
}

.wce-hero-product-card::before {
	content: "";
	position: absolute;
	inset: -20%;
	background: radial-gradient(circle at 50% 0%, rgba(212, 255, 58, 0.18), transparent 55%);
	pointer-events: none;
	z-index: 0;
}

.wce-hero-product-card > * { position: relative; z-index: 1; }

.wce-hero-product-card__media {
	display: block;
	aspect-ratio: 1 / 1;
	background: var(--wp--preset--color--surface-alt);
	border-radius: var(--wp--custom--wce--border-radius);
	overflow: hidden;
	margin-bottom: 1rem;
}

.wce-hero-product-card__media img,
.wce-hero-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}

.wce-hero-product-card:hover .wce-hero-product-card__img {
	transform: scale(1.04);
}

.wce-hero-product-card__img--placeholder {
	background: linear-gradient(135deg, var(--wp--preset--color--surface-alt), var(--wp--preset--color--surface));
}

.wce-hero-product-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.wce-hero-product-card__kicker {
	color: var(--wp--preset--color--primary);
	font-size: 0.7rem;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker, 0.12em);
	text-transform: uppercase;
	font-weight: 700;
	margin: 0;
}

.wce-hero-product-card__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--foreground);
}

.wce-hero-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.wce-hero-product-card__title a:hover {
	color: var(--wp--preset--color--primary);
}

.wce-hero-product-card__price {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	font-size: 1rem;
}

.wce-hero-product-card__price del {
	color: var(--wp--preset--color--foreground-muted);
	font-weight: 500;
	margin-right: 0.4em;
}

.wce-hero-product-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.4rem;
	padding: 0.6rem 1.1rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border-radius: var(--wp--custom--wce--border-radius-pill, 999px);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	transition: var(--wp--custom--wce--transition);
}

.wce-hero-product-card__cta:hover,
.wce-hero-product-card__cta:focus {
	background: var(--wp--preset--color--primary-dark);
	box-shadow: var(--wp--custom--wce--glow-primary, 0 0 18px rgba(212, 255, 58, 0.4));
	color: var(--wp--preset--color--background);
}

@media (max-width: 781px) {
	.wce-hero--home .wce-hero__cols {
		flex-direction: column;
	}
	.wce-hero--home .wce-hero__aside {
		flex-basis: 100% !important;
		width: 100%;
	}
}

/* ---- Assurance marquee ---- */

.wce-assurance-marquee {
	position: relative;
	overflow: hidden;
}

.wce-assurance-marquee__track {
	display: flex;
	width: max-content;
	animation: wce-marquee 35s linear infinite;
}

.wce-assurance-marquee:hover .wce-assurance-marquee__track {
	animation-play-state: paused;
}

.wce-assurance-marquee__row {
	display: flex;
	align-items: center;
	gap: 2.5rem;
	padding: 0 1.25rem;
	flex-shrink: 0;
}

.wce-assurance-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--wp--preset--color--foreground);
	font-family: var(--wp--preset--font-family--heading, "Inter", system-ui, sans-serif);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker, 0.12em);
	text-transform: uppercase;
	white-space: nowrap;
}

.wce-assurance-marquee__dot {
	color: var(--wp--preset--color--primary);
	font-size: 1rem;
	line-height: 1;
}

@keyframes wce-marquee {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.wce-assurance-marquee__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* ---- Category mosaic ---- */

.wce-section--categories {
	scroll-margin-top: 100px;
}

/* The existing [wce_shop_subcategory_tiles] shortcode styling lives elsewhere.
 * Here we just ensure section-level rhythm + head alignment. */

.wce-section--categories .wce-section__head {
	margin-bottom: var(--wp--preset--spacing--40);
}

/* ---- Collections strip ---- */

.wce-collections-strip {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(240px, 1fr);
	gap: var(--wp--preset--spacing--20);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 0.5rem 0 1rem;
	margin: 0 calc(-1 * var(--wp--preset--spacing--40));
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
	scrollbar-width: thin;
	scrollbar-color: var(--wp--preset--color--border) transparent;
}

.wce-collections-strip::-webkit-scrollbar { height: 6px; }
.wce-collections-strip::-webkit-scrollbar-track { background: transparent; }
.wce-collections-strip::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--border);
	border-radius: 3px;
}

.wce-collection-card {
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 170px;
	padding: 1.25rem;
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	color: var(--wp--preset--color--foreground);
	text-decoration: none;
	transition: var(--wp--custom--wce--transition);
	position: relative;
	overflow: hidden;
}

.wce-collection-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 100% 100%, rgba(212, 255, 58, 0.14), transparent 60%);
	opacity: 0;
	transition: opacity var(--wp--custom--wce--transition);
	pointer-events: none;
}

.wce-collection-card:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-4px);
	box-shadow: var(--wp--custom--wce--box-shadow-hover);
}

.wce-collection-card:hover::before { opacity: 1; }

.wce-collection-card > * { position: relative; }

.wce-collection-card__kicker {
	color: var(--wp--preset--color--primary);
	font-size: 0.7rem;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker, 0.12em);
	text-transform: uppercase;
	font-weight: 700;
}

.wce-collection-card__title {
	display: block;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--foreground);
}

.wce-collection-card__cta {
	font-size: 0.8rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* ---- Testimonials ---- */

.wce-testimonials-grid {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wce-testimonials-grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wce-testimonials-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1024px) {
	.wce-testimonials-grid,
	.wce-testimonials-grid--cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
	.wce-testimonials-grid,
	.wce-testimonials-grid--cols-3,
	.wce-testimonials-grid--cols-2 { grid-template-columns: 1fr; }
}

.wce-testimonial {
	margin: 0;
	padding: 1.5rem;
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	transition: var(--wp--custom--wce--transition);
}

.wce-testimonial:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-3px);
}

.wce-testimonial__stars {
	display: flex;
	gap: 2px;
	font-size: 1rem;
	line-height: 1;
}

.wce-testimonial__star {
	color: var(--wp--preset--color--border);
}

.wce-testimonial__star.is-filled {
	color: var(--wp--preset--color--primary);
}

.wce-testimonial__quote {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--wp--preset--color--foreground);
	font-style: normal;
}

.wce-testimonial__quote::before { content: "\201C"; margin-right: 0.1em; color: var(--wp--preset--color--primary); }
.wce-testimonial__quote::after  { content: "\201D"; margin-left: 0.1em; color: var(--wp--preset--color--primary); }

.wce-testimonial__author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: auto;
}

.wce-testimonial__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	font-weight: 800;
	font-size: 0.9rem;
	letter-spacing: -0.02em;
}

.wce-testimonial__name {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--foreground);
	letter-spacing: 0.01em;
}

/* ---- Newsletter ---- */

.wce-newsletter {
	max-width: 720px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--30);
	text-align: center;
}

.wce-newsletter__kicker {
	color: var(--wp--preset--color--primary);
	font-size: 0.75rem;
	letter-spacing: var(--wp--custom--wce--letter-spacing-kicker, 0.12em);
	text-transform: uppercase;
	margin: 0 0 0.5rem;
	font-weight: 700;
}

.wce-newsletter__title {
	margin: 0;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
	color: var(--wp--preset--color--foreground);
}

.wce-newsletter__lede {
	margin: 0;
	font-size: 1rem;
	color: var(--wp--preset--color--foreground-muted);
	line-height: 1.5;
}

.wce-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.wce-newsletter__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wce-newsletter__row {
	display: flex;
	gap: 0.5rem;
	max-width: 520px;
	margin: 0 auto;
	width: 100%;
}

.wce-newsletter__input {
	flex: 1 1 auto;
	padding: 0.85rem 1rem;
	background: var(--wp--preset--color--background);
	color: var(--wp--preset--color--foreground);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-pill, 999px);
	font-size: 0.95rem;
	font-family: var(--wp--preset--font-family--system);
	transition: var(--wp--custom--wce--transition);
}

.wce-newsletter__input::placeholder {
	color: var(--wp--preset--color--foreground-muted);
}

.wce-newsletter__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--wce--glow-primary, 0 0 18px rgba(212, 255, 58, 0.4));
}

.wce-newsletter__submit {
	padding: 0.85rem 1.5rem;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--wce--border-radius-pill, 999px);
	font-family: var(--wp--preset--font-family--heading, "Inter", system-ui, sans-serif);
	font-weight: 700;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: var(--wp--custom--wce--transition);
}

.wce-newsletter__submit:hover,
.wce-newsletter__submit:focus {
	background: var(--wp--preset--color--primary-dark);
	border-color: var(--wp--preset--color--primary-dark);
	box-shadow: var(--wp--custom--wce--glow-primary, 0 0 18px rgba(212, 255, 58, 0.4));
	outline: none;
}

.wce-newsletter__fineprint {
	font-size: 0.75rem;
	color: var(--wp--preset--color--foreground-muted);
	margin: 0;
}

.wce-newsletter__fineprint a {
	color: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	.wce-newsletter__row { flex-direction: column; }
	.wce-newsletter__submit { width: 100%; }
}

/* ---- Section head polish (homepage) ---- */

.wce-section__head {
	align-items: flex-end;
	margin-bottom: var(--wp--preset--spacing--30);
	gap: var(--wp--preset--spacing--20);
}

.wce-section__head .wce-kicker {
	margin-bottom: 0.25rem;
}

.wce-section__head h2 {
	margin: 0;
}

.wce-section__head p a {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	text-decoration: none;
	letter-spacing: 0.02em;
}

.wce-section__head p a:hover {
	text-decoration: underline;
}
/* End Phase 6 Homepage */

/* =========================================================
   Phase L — Light mode token override
   Triggered by [data-theme="light"] on <html>.
   Overrides --wp--preset--color--* vars; every rule that uses
   var(--wp--preset--color--{slug}) picks up new values automatically.
   ========================================================= */
html[data-theme="light"] {
	--wp--preset--color--background: #fdfaf4;
	--wp--preset--color--surface: #ffffff;
	--wp--preset--color--surface-alt: #f6eee2;
	--wp--preset--color--foreground: #1a0d12;
	--wp--preset--color--foreground-muted: #6b5f52;
	--wp--preset--color--border: #e5ddd0;
	--wp--preset--color--primary: #7a9a1a;
	--wp--preset--color--primary-dark: #5d7614;
	--wp--preset--color--accent: #cc3d5e;
	--wp--preset--color--urgent: #d91e4b;
	--wp--preset--color--success: #3f9e3f;
	--wp--preset--color--warning: #c87a1e;
	--wp--preset--color--info: #2663c8;

	--wp--custom--wce--box-shadow: 0 2px 8px rgba(26, 13, 18, 0.08);
	--wp--custom--wce--box-shadow-hover: 0 4px 16px rgba(26, 13, 18, 0.12);
	--wp--custom--wce--glow-primary: 0 0 0 3px rgba(122, 154, 26, 0.25);
	--wp--custom--wce--glow-accent: 0 0 0 3px rgba(204, 61, 94, 0.20);

	/* Soften corner ambient glows — the dark-mode values bloom heavily on cream */
	--wp--custom--wce--radial-ambient-primary: radial-gradient(ellipse 60% 45% at 10% 5%, rgba(122, 154, 26, 0.04) 0%, transparent 55%);
	--wp--custom--wce--radial-ambient-accent: radial-gradient(ellipse 55% 40% at 95% 95%, rgba(204, 61, 94, 0.03) 0%, transparent 55%);

	color-scheme: light;
}

/* Grain overlay (body::after) — invert blend for light bg */
html[data-theme="light"] body::after {
	opacity: 0.25;
	mix-blend-mode: multiply;
}

html[data-theme], html[data-theme] body, html[data-theme] *:not(svg *) {
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
@media (prefers-reduced-motion: reduce) {
	html[data-theme], html[data-theme] body, html[data-theme] * { transition: none !important; }
}
/* End Phase L Light mode */


/* =======================================================================
   Phase 6 Pass C — Content pages (About, Contact, Delivery, FAQs,
   Track Order, Returns, Guides). Shared prose/hero/form/timeline primitives.
   ======================================================================= */

/* --- Hero band ------------------------------------------------------- */
.wce-content-hero {
	background: var(--wp--preset--color--surface-alt);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.25rem, 3vw, 2.5rem);
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--50);
	position: relative;
	overflow: hidden;
}
.wce-content-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 45% at 100% 0%, rgba(212, 255, 58, 0.08) 0%, transparent 55%);
	pointer-events: none;
}
.wce-content-hero > * { position: relative; z-index: 1; }
.wce-content-hero .wce-breadcrumbs { margin-bottom: var(--wp--preset--spacing--20); }
.wce-content-hero__title {
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.05;
	margin: 0 0 var(--wp--preset--spacing--20);
	max-width: 22ch;
}
.wce-content-hero__lede {
	color: var(--wp--preset--color--foreground-muted);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.5;
	margin: 0;
	max-width: 60ch;
}

/* --- Body prose ------------------------------------------------------ */
.wce-content-page {
	max-width: 980px;
	margin-inline: auto;
}
.wce-content-page > * + * { margin-top: var(--wp--preset--spacing--40); }
.wce-content-page h2 {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 0 var(--wp--preset--spacing--20);
}
.wce-content-page h3 {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 var(--wp--preset--spacing--10);
}
.wce-content-page p { line-height: 1.6; }
.wce-content-page ul:not(.wce-content-list-plain) { padding-left: 1.3rem; }
.wce-content-page ul:not(.wce-content-list-plain) li { margin-bottom: .35rem; line-height: 1.55; }
.wce-content-page a:not(.wp-block-button__link) {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
.wce-content-page a:not(.wp-block-button__link):hover {
	color: var(--wp--preset--color--primary-dark);
	text-decoration-thickness: 2px;
}

/* --- Info cards (re-uses shipping-banner DNA) ----------------------- */
.wce-content-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: clamp(1.25rem, 2.5vw, 1.75rem);
	transition: var(--wp--custom--wce--transition, all .2s ease);
}
.wce-content-card:hover {
	border-color: var(--wp--preset--color--primary);
	box-shadow: var(--wp--custom--wce--box-shadow-hover);
}
.wce-content-card__eyebrow {
	color: var(--wp--preset--color--primary);
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1;
	display: block;
	margin-bottom: .5rem;
}
.wce-content-card__title {
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	margin: 0 0 .4rem;
}
.wce-content-card__body { margin: 0; color: var(--wp--preset--color--foreground-muted); line-height: 1.55; }
.wce-content-card--price { text-align: center; }
.wce-content-card--price .wce-content-card__eyebrow { color: var(--wp--preset--color--primary); }
.wce-content-card--price .wce-content-card__meta {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--foreground-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-top: .4rem;
}

/* --- Strike-through "what we don't do" list ------------------------- */
.wce-content-nope {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: .75rem;
}
.wce-content-nope li {
	position: relative;
	padding-left: 1.75rem;
	color: var(--wp--preset--color--foreground-muted);
	font-size: var(--wp--preset--font-size--medium, 1rem);
}
.wce-content-nope li::before {
	content: "\2715";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--wp--preset--color--urgent);
	font-weight: 700;
}

/* --- Numbered steps --------------------------------------------------- */
.wce-content-steps {
	list-style: none;
	counter-reset: steps;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--30);
}
@media (min-width: 720px) {
	.wce-content-steps { grid-template-columns: repeat(3, 1fr); }
}
.wce-content-steps li {
	counter-increment: steps;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: 1.25rem 1.25rem 1.5rem;
	position: relative;
}
.wce-content-steps li::before {
	content: counter(steps);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	font-weight: 800;
	font-size: 1.1rem;
	margin-bottom: .75rem;
}
.wce-content-steps strong { display: block; font-size: var(--wp--preset--font-size--large); margin-bottom: .35rem; }
.wce-content-steps p { margin: 0; color: var(--wp--preset--color--foreground-muted); line-height: 1.5; }

/* --- Details / accordion styling ------------------------------------ */
.wce-content-page .wp-block-details {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small, 8px);
	padding: 1rem 1.25rem;
	margin: 0 0 .75rem;
	transition: border-color .15s ease;
}
.wce-content-page .wp-block-details[open] {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--surface-alt);
}
.wce-content-page .wp-block-details summary {
	cursor: pointer;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--medium, 1rem);
	list-style: none;
	padding-right: 1.75rem;
	position: relative;
}
.wce-content-page .wp-block-details summary::-webkit-details-marker { display: none; }
.wce-content-page .wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wp--preset--color--primary);
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1;
	transition: transform .15s ease;
}
.wce-content-page .wp-block-details[open] summary::after { content: "\2212"; }
.wce-content-page .wp-block-details > :not(summary) { margin-top: .75rem; }
.wce-content-page .wp-block-details p { color: var(--wp--preset--color--foreground-muted); margin: 0; }

/* --- 2-column layout (used for Contact) ----------------------------- */
.wce-content-2col { display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: 1fr; }
@media (min-width: 900px) {
	.wce-content-2col { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
}

/* --- Contact form --------------------------------------------------- */
.wce-contact-form { display: grid; gap: 1.1rem; }
.wce-contact-form .wce-field { display: grid; gap: .4rem; }
.wce-contact-form label {
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
	color: var(--wp--preset--color--foreground-muted);
}
.wce-contact-form input[type="text"],
.wce-contact-form input[type="email"],
.wce-contact-form select,
.wce-contact-form textarea {
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small, 8px);
	color: var(--wp--preset--color--foreground);
	font: inherit;
	padding: .85rem 1rem;
	width: 100%;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.wce-contact-form input:focus,
.wce-contact-form select:focus,
.wce-contact-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(212, 255, 58, 0.22);
}
.wce-contact-form textarea { min-height: 8rem; resize: vertical; }
.wce-contact-form .wce-field--honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wce-contact-form button[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: 0;
	border-radius: var(--wp--custom--wce--border-radius-pill, 999px);
	padding: .9rem 1.6rem;
	font: inherit;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
	justify-self: start;
	transition: background-color .15s ease, transform .1s ease;
}
.wce-contact-form button[type="submit"]:hover { background: var(--wp--preset--color--primary-dark); }
.wce-contact-form button[type="submit"]:active { transform: translateY(1px); }
.wce-contact-notice {
	border-radius: var(--wp--custom--wce--border-radius-small, 8px);
	padding: 1rem 1.25rem;
	margin-bottom: 1rem;
	border-left: 3px solid;
}
.wce-contact-notice--success { background: rgba(122, 217, 122, 0.08); border-color: var(--wp--preset--color--success); color: var(--wp--preset--color--success); }
.wce-contact-notice--error { background: rgba(255, 51, 102, 0.08); border-color: var(--wp--preset--color--urgent); color: var(--wp--preset--color--urgent); }

/* --- Contact details card ------------------------------------------- */
.wce-contact-details { display: grid; gap: 1.25rem; }
.wce-contact-details__row { display: flex; gap: .9rem; align-items: flex-start; }
.wce-contact-details__icon {
	flex: 0 0 2.5rem;
	height: 2.5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: rgba(212, 255, 58, 0.1);
	color: var(--wp--preset--color--primary);
}
.wce-contact-details__label {
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--foreground-muted);
	margin: 0 0 .15rem;
}
.wce-contact-details__value { margin: 0; font-weight: 600; }

/* --- Timeline (Track Order statuses) -------------------------------- */
.wce-timeline {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	position: relative;
	margin-top: var(--wp--preset--spacing--30);
}
.wce-timeline::before {
	content: "";
	position: absolute;
	top: 1rem;
	left: 12.5%;
	right: 12.5%;
	height: 2px;
	background: var(--wp--preset--color--border);
	z-index: 0;
}
.wce-timeline__step { text-align: center; position: relative; z-index: 1; padding: 0 .25rem; }
.wce-timeline__dot {
	width: 2rem;
	height: 2rem;
	margin: 0 auto .6rem;
	border-radius: 999px;
	background: var(--wp--preset--color--surface);
	border: 2px solid var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--primary);
	font-weight: 800;
	font-size: .9rem;
}
.wce-timeline__label { font-weight: 700; font-size: var(--wp--preset--font-size--small); margin: 0 0 .15rem; }
.wce-timeline__meta { font-size: .75rem; color: var(--wp--preset--color--foreground-muted); margin: 0; line-height: 1.35; }
@media (max-width: 640px) {
	.wce-timeline { grid-template-columns: 1fr 1fr; gap: 1rem 0; }
	.wce-timeline::before { display: none; }
}

/* --- CTA band ------------------------------------------------------- */
.wce-cta-band {
	background: var(--wp--preset--color--surface-alt);
	border-radius: var(--wp--custom--wce--border-radius);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	margin-top: var(--wp--preset--spacing--50);
	text-align: center;
}
.wce-cta-band h2 { margin: 0 0 .5rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.wce-cta-band p { color: var(--wp--preset--color--foreground-muted); margin: 0 0 1.25rem; }
.wce-cta-band .wp-block-buttons { justify-content: center; }

/* --- Track-order form (WC legacy) styling --------------------------- */
.woocommerce .wce-content-page form.track_order { display: grid; gap: 1rem; max-width: 540px; }
.woocommerce .wce-content-page form.track_order p { margin: 0; }
.woocommerce .wce-content-page form.track_order label {
	font-size: var(--wp--preset--font-size--small);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
	color: var(--wp--preset--color--foreground-muted);
	margin-bottom: .3rem;
	display: block;
}
.woocommerce .wce-content-page form.track_order input[type="text"],
.woocommerce .wce-content-page form.track_order input[type="email"] {
	background: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--wce--border-radius-small, 8px);
	color: var(--wp--preset--color--foreground);
	padding: .85rem 1rem;
	width: 100%;
}
.woocommerce .wce-content-page form.track_order button[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border: 0;
	border-radius: var(--wp--custom--wce--border-radius-pill, 999px);
	padding: .9rem 1.6rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	cursor: pointer;
}

/* End Phase 6 Pass C */
