﻿/* =====================================================================
   Motark  -  main stylesheet
   Tokens come from the brand guide. Keep them in :root.
   ===================================================================== */

:root {
	/* Jungle */
	--jungle-night:  #0F1610;
	--jungle-deep:   #1A2318;
	--jungle-mid:    #253020;
	--jungle-edge:   #334428;

	/* Sacred Gold */
	--sacred-gold:   #C8821A;
	--gold-light:    #E8A83A;
	--gold-muted:    #8A5C12;

	/* Monster Slate */
	--monster-slate: #8FA3B8;
	--monster-dark:  #5A7080;
	--monster-light: #C0D4E4;

	/* Neutrals */
	--cream:         #F0E4C4;
	--parchment:     #D8CEAD;
	--bark:          #3D2B1A;
	--spice:         #8C3020;

	/* Type */
	--font-display:  'Big Shoulders Display', Impact, sans-serif;
	--font-body:     'Work Sans', system-ui, sans-serif;
	--font-serif:    'Lora', Georgia, serif;
	--font-mono:     'DM Mono', 'Courier New', monospace;

	/* Layout */
	--container:     1240px;
	--gutter:        clamp(1rem, 4vw, 2.5rem);
	--header-pad-x:  clamp(1rem, 3vw, 4rem);
	--header-h:      64px;

	/* Brand guide §07  -  Monster Footprint (sitewide, matches footer field) */
	--motark-texture-footprint: url('../images/patterns/monster-footprint.svg');
	--motark-texture-tile: 128px 128px;
	--texture-footprint-opacity: 0.60;
	--texture-footprint-offset-x: 37px;
	--texture-footprint-offset-y: 19px;

	/* Depth & blending over the footprint field */
	--shadow-card:
		0 0 0 1px rgba(200, 130, 26, 0.1),
		inset 0 1px 0 rgba(240, 228, 196, 0.06),
		0 14px 44px rgba(0, 0, 0, 0.48),
		0 4px 14px rgba(0, 0, 0, 0.3);
	--shadow-card-hover:
		0 0 0 1px rgba(232, 168, 58, 0.18),
		inset 0 1px 0 rgba(240, 228, 196, 0.08),
		0 22px 56px rgba(0, 0, 0, 0.55),
		0 8px 22px rgba(0, 0, 0, 0.38);
	--text-shadow-soft: 0 2px 18px rgba(0, 0, 0, 0.55);
	--image-well-bg: linear-gradient(
		180deg,
		rgba(37, 48, 32, 0.92) 0%,
		rgba(20, 28, 20, 0.96) 100%
	);

	/* Cohesive surfaces & separators */
	--surface-0: var(--jungle-night);
	--surface-1: #141c14;
	--surface-2: var(--jungle-deep);
	--surface-3: var(--jungle-mid);
	--border-soft: rgba(200, 130, 26, 0.1);
	--border-medium: rgba(200, 130, 26, 0.2);
	--flow-fade: clamp(48px, 8vw, 96px);

	/* About-page forest surfaces (shared panels) */
	--motark-surface-panel: linear-gradient(165deg, rgba(26, 60, 42, 0.45) 0%, rgba(10, 14, 8, 0.78) 100%);
	--motark-surface-band: linear-gradient(180deg, rgba(26, 60, 42, 0.38) 0%, rgba(10, 14, 8, 0.72) 100%);
	--motark-surface-forest: rgba(26, 60, 42, 0.45);
	--motark-surface-night: rgba(10, 14, 8, 0.78);
	--motark-surface-night-soft: rgba(10, 14, 8, 0.55);
	--motark-surface-field: rgba(10, 14, 8, 0.65);
	--motark-surface-border: rgba(228, 230, 234, 0.12);
	--motark-surface-shadow:
		0 3px 0 rgba(0, 0, 0, 0.28),
		inset 0 1px 0 rgba(255, 255, 255, 0.05);

}

/* ----- reset-ish ----- */
*, *::before, *::after { box-sizing: border-box; }
/* `overflow-x: clip` (not `hidden`) so it doesn't kill `position: sticky` on
   the header. `clip` is supported in Chrome 90+, Firefox 81+, Safari 16+.
   Fall back to `hidden` on .site-wrap if needed. */
html { -webkit-text-size-adjust: 100%; background: #0F1610; overflow-x: clip; }
body {
	margin: 0;
	background-color: #0F1610 !important;
	color: var(--cream);
	font-family: var(--font-body);
	font-weight: 300;
	font-size: 16px;
	line-height: 1.7;
	overflow-x: clip;
	max-width: 100vw;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Main shell is clear so the footprint field shows; cards/panels keep their boxes */
.site-main,
main.site-main,
main#main,
.wp-site-blocks {
	background: transparent;
	color: var(--cream);
}
.section,
.section--categories,
.section--strain-finder,
.section--reviews,
.section--ban-list {
	background-color: transparent;
	color: var(--cream);
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--sacred-gold); text-decoration: none; transition: color .2s; }
a:hover { color: var(--gold-light); }
button { font: inherit; background: transparent; border: 0; color: inherit; cursor: pointer; }

/* ----- typography ----- */
h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 0.95;
	color: var(--cream);
	margin: 0 0 1rem;
}
h1 { font-size: clamp(2.5rem, 5vw, 4.5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.25rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.6rem); font-weight: 700; }
h4 { font-size: 1.05rem; font-weight: 700; }

p { margin: 0 0 1.25rem; }

.eyebrow {
	font-family: var(--font-mono);
	font-weight: 300;
	font-size: 0.7rem;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: var(--sacred-gold);
	margin: 0 0 1rem;
	opacity: 0.8;
}

.pullquote {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: clamp(1.25rem, 2.2vw, 1.6rem);
	line-height: 1.5;
	color: var(--cream);
	border-left: 2px solid var(--sacred-gold);
	padding-left: 1.5rem;
	margin: 0;
}

.prose { font-size: 1rem; line-height: 1.85; color: var(--parchment); }
.prose a { color: var(--gold-light); border-bottom: 1px solid rgba(232,168,58,0.4); }
.prose h2, .prose h3 { color: var(--cream); margin-top: 2.5rem; }

.center { text-align: center; }

/* ----- layout primitives ----- */
.container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}
.container--narrow { max-width: 760px; }

.section {
	padding: clamp(3.25rem, 7vw, 5.75rem) 0;
	background: transparent;
	border-top: 0;
}
.section__header { margin-bottom: 2.5rem; }
.section__header--center { text-align: center; }
.section__title { margin: 0; }

/* ----- brand texture: jungle bg in jungle-background.css ----- */
body.motark-textured .site-header {
	position: relative;
	z-index: 500;
}
body.motark-textured .site-main,
body.motark-textured .site-footer {
	position: relative;
	z-index: 1;
}
/* Blend: soft depth on boxes (separators & borders preserved) */
body.motark-textured .section__title,
body.motark-textured .hero-slide__title {
	text-shadow: var(--text-shadow-soft);
}
body.motark-textured .section--categories .section__header {
	text-shadow: var(--text-shadow-soft);
}
body.motark-textured .card:not(.card--category),
body.motark-textured .review-card,
body.motark-textured ul.products li.card--product {
	background: rgba(26, 35, 24, 0.78);
	box-shadow: var(--shadow-card);
}
body.motark-textured .card:not(.card--category):hover,
body.motark-textured .review-card:hover,
body.motark-textured ul.products li.card--product:hover {
	background: rgba(30, 40, 26, 0.88);
	box-shadow: var(--shadow-card-hover);
}
body.motark-textured .card--category .card__media--category img.card__image,
body.motark-textured a.card--category .card__media--category .card__image {
	object-fit: cover !important;
	height: 100% !important;
	max-height: 100% !important;
	padding: 0;
	background: transparent;
	box-shadow: none;
}
body.motark-textured .section--categories .card--category {
	background: rgba(22, 30, 22, 0.42);
	border-color: rgba(200, 130, 26, 0.08);
	box-shadow: none;
}
body.motark-textured .section--categories .card--category:hover {
	background: rgba(28, 38, 26, 0.58);
	border-color: rgba(200, 130, 26, 0.16);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.28);
}
body.motark-textured ul.products li.card--product .card__image,
body.motark-textured ul.products li.card--product img.card__image,
body.motark-textured ul.products li.card--product img.attachment-motark-card,
body.motark-textured ul.products li.card--product img[class*="attachment-"] {
	object-fit: cover !important;
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
}
body.motark-textured .site-footer {
	background: transparent;
}
body.motark-textured .site-footer__tagline,
body.motark-textured .site-footer__signup-title,
body.motark-textured .footer-menu a,
body.motark-textured .legal-menu a {
	text-shadow: var(--text-shadow-soft);
}
body.motark-textured .site-footer__legal,
body.motark-textured .site-footer__disclaimer,
body.motark-textured .ban-list__disclaimer {
	border-top: 0;
}
body.motark-textured .woocommerce-message,
body.motark-textured .woocommerce-info,
body.motark-textured .woocommerce-error,
body.motark-textured .contact__form,
body.motark-textured .account-form .woocommerce .col2-set .woocommerce-form,
body.motark-textured .rec-popup__panel,
body.motark-textured .woocommerce table.shop_table,
body.motark-textured .woocommerce-page table.shop_table {
	position: relative;
	z-index: 1;
	box-shadow: var(--shadow-card);
}

/* ----- homepage rhythm (strain finder → footer reads as one story) ----- */
.site-main > .section--strain-finder {
	padding-bottom: clamp(2.5rem, 5vw, 3.5rem);
	text-align: center;
}
.site-main > .section--strain-finder .prose {
	max-width: 42ch;
	margin-left: auto;
	margin-right: auto;
}
.site-main > .section--feature {
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.site-main > .section--reviews {
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
	margin-top: 0;
	border-top: 0;
	box-shadow: none;
	position: relative;
}
.site-main > .section--reviews .container {
	position: relative;
	z-index: 1;
}
.site-main > .section--categories {
	position: relative;
	margin-top: 0;
	padding-bottom: clamp(2.5rem, 5vw, 4rem);
}
.site-main > .hero-carousel + .section--categories {
	--brush-gap: clamp(2.25rem, 5vw, 3.75rem);
	margin-top: clamp(2.5rem, 6vw, 5rem);
	padding-top: clamp(1.5rem, 4vw, 3rem);
}
.site-main > .hero-carousel + .section--categories .section__brush {
	margin-top: clamp(2.5rem, 6vw, 5.5rem);
	margin-bottom: clamp(2.5rem, 6vw, 5.5rem);
}
.site-main > .section--categories .section__header {
	position: relative;
	z-index: 1;
	margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
}
.site-main > .hero-carousel + .section--categories .section__header {
	margin-top: clamp(0.5rem, 1.5vw, 1rem);
}
.site-main > .section--categories .container {
	position: relative;
	z-index: 1;
}
.site-main > .section--ban-list {
	padding: 0;
	margin: 0;
}
.site-main > .section--ban-list + .site-footer,
.site-main > .section--ban-list ~ .site-footer {
	margin-top: 0;
}

/* ----- brush-stroke section dividers (PNG paint strokes between bands) ----- */
.section--brush {
	position: relative;
	--brush-gap: clamp(0.85rem, 2vw, 1.35rem);
}
.section--brush > .container,
.section--brush > .container--narrow {
	position: relative;
	z-index: 1;
}
.section--brush-top {
	padding-top: 0;
}
.section__brush {
	--brush-angle: -13deg;
	display: block;
	width: 100vw;
	max-width: 100vw;
	height: clamp(80px, 12vw, 160px);
	object-fit: cover;
	object-position: center;
	opacity: 1;
	margin: clamp(2rem, 5vw, 4.5rem) 0;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	pointer-events: none;
	user-select: none;
	transform: rotate(var(--brush-angle));
	transform-origin: center center;
	-webkit-mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 8%,
		black 92%,
		transparent 100%
	);
	mask-image: linear-gradient(
		to right,
		transparent 0%,
		black 8%,
		black 92%,
		transparent 100%
	);
}
.section__brush--flip {
	transform: scaleY(-1) rotate(calc(-1 * var(--brush-angle)));
}
.section--brush-top .section__header,
.section--brush-top .container > .eyebrow:first-child {
	margin-top: 0;
}
.section--brush-top .section__title {
	margin-top: 0.35rem;
}

/* Product page: paint strokes instead of plain border dividers */
body.single-product .product-section.section--brush,
body.single-product .section--product-reviews.section--brush,
body.single-product .product-recommendations.section--brush,
body.single-product .single-product__copy.section--brush {
	border-top: 0;
	padding-top: 0;
}
body.single-product .product-recommendations--atc-boost.section--brush {
	margin-top: clamp(1.5rem, 4vw, 2.25rem);
}
body.single-product .product-recommendations--atc-boost.section--brush .product-recommendations__inner {
	border-top: 0;
	padding-top: 0;
}
/* Match homepage header brush scale: full-bleed width, same height */
body.single-product .section--brush .section__brush {
	display: block;
	width: 100vw;
	max-width: 100vw;
	height: clamp(80px, 12vw, 160px);
	object-fit: cover;
	object-position: center;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0;
	box-sizing: border-box;
	opacity: 1;
}

/* Cart page: one full-bleed brush under the page title */
body.woocommerce-cart .page-header--brush .section__brush {
	display: block;
	width: 100vw;
	max-width: 100vw;
	height: clamp(80px, 12vw, 160px);
	object-fit: cover;
	object-position: center;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: clamp(2rem, 5vw, 4rem);
	margin-bottom: clamp(2rem, 5vw, 4rem);
	padding: 0;
	box-sizing: border-box;
	opacity: 1;
}

/* Mobile: brush strokes run full-bleed edge-to-edge and taller so they
   read as a deliberate paint swipe instead of a small smudge. */
@media (max-width: 700px) {
	.section__brush,
	body.single-product .section--brush .section__brush,
	body.woocommerce-cart .page-header--brush .section__brush {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		height: clamp(100px, 22vw, 160px);
		opacity: 1;
	}
}

/* Hero blends into first section (no hard cut) */
.site-main > .hero-carousel::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: clamp(80px, 16vw, 180px);
	background: linear-gradient(
		180deg,
		transparent 0%,
		rgba(15, 22, 16, 0.06) 50%,
		rgba(15, 22, 16, 0.14) 100%
	);
	pointer-events: none;
	z-index: 2;
}
.site-main > .hero-carousel {
	margin-bottom: clamp(1.25rem, 3.5vw, 2.5rem);
}

.skip-link { position: absolute; left: -9999px; }
.skip-link:focus {
	left: 1rem; top: 1rem; background: var(--sacred-gold);
	color: var(--jungle-night); padding: .5rem 1rem; z-index: 9999;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ----- buttons ----- */
.btn {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 0.8rem;
	padding: 0.85rem 1.75rem;
	border: 1px solid transparent;
	border-radius: 0;
	cursor: pointer;
	text-decoration: none;
	transition: background .22s, color .22s, border-color .22s, transform .22s, box-shadow .22s;
}
.btn + .btn { margin-left: .75rem; }
.btn--primary {
	background: var(--gold-light);
	color: var(--jungle-night) !important;
	border-color: var(--gold-light);
	box-shadow: 0 4px 16px rgba(200, 130, 26, 0.22), 0 2px 6px rgba(0, 0, 0, 0.28);
}
.btn--primary:hover {
	background: var(--sacred-gold);
	border-color: var(--sacred-gold);
	color: var(--jungle-night) !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 26px rgba(200, 130, 26, 0.34), 0 3px 8px rgba(0, 0, 0, 0.35);
}
.btn--ghost {
	background: transparent;
	color: var(--cream) !important;
	border-color: rgba(240,228,196,0.45);
}
.btn--ghost:hover {
	border-color: var(--gold-light);
	color: var(--gold-light) !important;
	box-shadow: inset 0 0 0 1px rgba(232, 168, 58, 0.08);
}

/* Touch / tap active states — mobile has no hover */
@media (hover: none) {
	.btn--primary:active {
		transform: scale(0.96) !important;
		background: var(--sacred-gold) !important;
		border-color: var(--sacred-gold) !important;
		box-shadow: 0 2px 8px rgba(200, 130, 26, 0.18), 0 1px 4px rgba(0, 0, 0, 0.28) !important;
		transition-duration: 0.08s;
	}
	.btn--ghost:active {
		transform: scale(0.96);
		border-color: var(--gold-light) !important;
		color: var(--gold-light) !important;
		transition-duration: 0.08s;
	}
}

/* ----- header ----- */
.site-header {
	position: sticky;
	position: -webkit-sticky;
	top: 0; left: 0; right: 0;
	z-index: 500;
	/* Solid bar  -  no rgba/backdrop-filter (content was visible through on mobile scroll). */
	background-color: var(--jungle-night);
	background: var(--jungle-night);
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-bottom: 1px solid rgba(200,130,26,0.2);
	transition: border-color .2s;
}
.site-header[data-scrolled="true"] {
	border-bottom-color: rgba(200,130,26,0.35);
}
.site-header::before {
	content: '';
	position: absolute;
	inset: 0;
	background: var(--jungle-night);
	z-index: -1;
	pointer-events: none;
}
.site-header__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1rem, 2vw, 2.5rem);
	width: 100%;
	max-width: none;
	margin: 0;
	padding-left: var(--header-pad-x);
	padding-right: var(--header-pad-x);
	min-height: var(--header-h);
}
.site-header__brand {
	flex: 0 0 auto;
	min-width: 0;
}
.site-header__brand .site-logo,
.site-header__brand .custom-logo-link { display: inline-block; }
.site-header__brand .site-logo img,
.site-header__brand .custom-logo {
	height: 38px;
	width: auto;
	max-width: 220px;
	display: block;
}
.site-header__nav {
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
	display: flex;
	justify-content: center;
}
.site-header,
.site-header__inner {
	overflow: visible;
}
.site-header__actions {
	flex: 0 0 auto;
	margin-left: auto;
}
.primary-menu {
	list-style: none;
	display: flex;
	gap: clamp(1.1rem, 1.8vw, 2.75rem);
	margin: 0;
	padding: 0;
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	max-width: min(100%, 1100px);
}
.primary-menu > li {
	position: relative;
	flex: 0 0 auto;
}
.primary-menu a {
	font-family: var(--font-mono); font-weight: 400;
	font-size: 0.7rem; letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--cream); opacity: 0.85;
	padding: 0.5rem 0;
}
.primary-menu a:hover, .primary-menu .current-menu-item > a { color: var(--gold-light); opacity: 1; }

/* About Motark dropdown (desktop) */
@media (min-width: 901px) {
	.primary-menu .menu-item-has-children > a::after {
		content: "";
		display: inline-block;
		width: 0;
		height: 0;
		margin-left: 0.45rem;
		vertical-align: middle;
		border-left: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 5px solid currentColor;
		opacity: 0.75;
	}

	.primary-menu .sub-menu {
		position: absolute;
		top: 100%;
		left: 50%;
		transform: translateX(-50%);
		display: block;
		min-width: 13.5rem;
		margin: 0;
		padding: 0.5rem 0 0.35rem;
		list-style: none;
		background: #0a0a0a;
		border: 1px solid rgba(200, 130, 26, 0.35);
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
		z-index: 600;
	}

	/* Invisible bridge so hover doesn’t drop between link and panel */
	.primary-menu .menu-item-has-children::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		height: 0.5rem;
	}

	.primary-menu .menu-item-has-children:hover > .sub-menu,
	.primary-menu .menu-item-has-children:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.primary-menu .sub-menu a {
		display: block;
		padding: 0.65rem 1.1rem;
		font-size: 0.68rem;
		letter-spacing: 0.22em;
		color: var(--sacred-gold);
		opacity: 1;
		white-space: nowrap;
	}

	.primary-menu .sub-menu a:hover,
	.primary-menu .sub-menu .current-menu-item > a {
		color: var(--gold-light);
		background: rgba(200, 130, 26, 0.08);
	}

	.primary-menu .menu-item-has-children.current-menu-ancestor > a,
	.primary-menu .menu-item-has-children:hover > a {
		color: var(--gold-light);
		opacity: 1;
	}
}
.site-header__actions { display: flex; align-items: center; gap: 1rem; }
.site-header__cart {
	font-family: var(--font-mono); font-size: 0.8rem;
	color: var(--cream); display: inline-flex; align-items: center; gap: 0.5rem;
}
.site-header__cart-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 1.65rem; height: 1.65rem; border-radius: 999px;
	background: var(--gold-light); color: var(--jungle-night); font-weight: 700;
	font-size: 0.75rem;
}

/* Large / ultra-wide header scaling */
@media (min-width: 1200px) {
	.primary-menu {
		max-width: min(72vw, 1280px);
		gap: clamp(1.5rem, 2.2vw, 3.25rem);
	}
	.primary-menu a {
		font-size: clamp(0.68rem, 0.55vw, 0.78rem);
		letter-spacing: clamp(0.2em, 0.18vw, 0.28em);
	}
}

@media (min-width: 1600px) {
	:root {
		--header-h: 70px;
	}
	.site-header__brand .site-logo img,
	.site-header__brand .custom-logo {
		height: 44px;
		max-width: 280px;
	}
	.primary-menu {
		max-width: min(68vw, 1500px);
	}
}

@media (min-width: 2400px) {
	:root {
		--header-h: 76px;
	}
	.site-header__brand .site-logo img,
	.site-header__brand .custom-logo {
		height: 48px;
		max-width: 320px;
	}
	.primary-menu {
		max-width: min(62vw, 1800px);
		gap: clamp(2rem, 2.4vw, 3.75rem);
	}
}
.site-header__toggle { display: none; padding: 0.5rem; color: var(--cream); }
.hamburger { display: block; width: 24px; height: 2px; background: var(--cream); position: relative; }
.hamburger::before, .hamburger::after {
	content: ''; position: absolute; left: 0; width: 100%; height: 2px;
	background: var(--cream); transition: transform .2s;
}
.hamburger::before { top: -7px; }
.hamburger::after  { top: 7px; }
[aria-expanded="true"] .hamburger { background: transparent; }
[aria-expanded="true"] .hamburger::before { transform: translateY(7px) rotate(45deg); }
[aria-expanded="true"] .hamburger::after  { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
	/* Fixed header is more reliable than sticky on iOS Safari */
	body {
		padding-top: var(--header-h);
	}
	/* Homepage: hero starts flush under fixed header (margin, not inner padding) */
	body.home {
		padding-top: 0;
		--header-stack-h: calc(var(--header-h) + 2.85rem);
	}
	body.home .site-main > .hero-carousel,
	body.home .site-main > .home-hero--banners:first-child {
		margin-top: var(--header-stack-h);
		padding-top: 0;
		background: var(--jungle-night);
	}
	body.home .site-main > .home-hero--banners:first-child {
		background: transparent;
	}
	body.admin-bar.home .site-main > .hero-carousel,
	body.admin-bar.home .site-main > .home-hero--banners:first-child {
		margin-top: calc(var(--header-stack-h) + 46px);
		padding-top: 0;
	}
	body.home .site-header__nav {
		top: var(--header-stack-h);
	}
	body.home .site-header__nav.is-open {
		height: calc(100dvh - var(--header-stack-h));
		min-height: calc(100dvh - var(--header-stack-h));
	}
	body.admin-bar.home .site-header__nav {
		top: calc(var(--header-stack-h) + 46px);
	}
	body.admin-bar.home .site-header__nav.is-open {
		height: calc(100dvh - var(--header-stack-h) - 46px);
		min-height: calc(100dvh - var(--header-stack-h) - 46px);
	}
	body.mobile-nav-open {
		overflow: hidden;
	}
	body.admin-bar {
		padding-top: calc(var(--header-h) + 46px);
	}
	body.admin-bar.home {
		padding-top: 0;
	}
	.site-header {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: var(--header-h);
		z-index: 5000;
		background-color: var(--jungle-night) !important;
		background: var(--jungle-night) !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
		border-bottom: 0;
	}
	.site-main,
	main.site-main,
	main#main {
		position: relative;
		z-index: 1;
	}
	body.admin-bar .site-header {
		top: 46px;
	}
	.site-header {
		height: auto;
		min-height: var(--header-h);
		max-height: none;
	}
	.site-header__inner {
		height: var(--header-h);
		min-height: var(--header-h);
		max-height: var(--header-h);
	}
	.site-header__inner {
		display: grid;
		grid-template-columns: 44px 1fr 44px;
		grid-template-areas: 'toggle brand actions';
		align-items: center;
		gap: 0.5rem;
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}
	.site-header__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		grid-area: toggle;
		justify-self: start;
		margin: 0;
		min-width: 44px;
		min-height: 44px;
	}
	.site-header__brand {
		grid-area: brand;
		justify-self: center;
		text-align: center;
		min-width: 0;
	}
	.site-header__brand .site-logo,
	.site-header__brand .custom-logo-link {
		margin-left: auto;
		margin-right: auto;
	}
	.site-header__actions {
		grid-area: actions;
		justify-self: end;
		margin: 0;
		flex-shrink: 0;
	}
	.site-header__cart-total { display: none; }
	/* Full-screen overlay menu (not in-flow max-height) */
	.site-header__nav {
		order: unset;
		flex-basis: auto;
		position: fixed;
		top: var(--header-h);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 199;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		background: var(--jungle-night);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		border-top: 1px solid rgba(200, 130, 26, 0.2);
		padding: 0 var(--gutter) 2rem;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		max-height: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.2s ease, visibility 0.2s ease;
	}
	body.admin-bar .site-header__nav {
		top: calc(var(--header-h) + 46px);
	}
	.site-header__nav.is-open {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		/* Header is also position:fixed  -  bottom:0 would clip to ~52px inside it */
		bottom: auto;
		height: calc(100dvh - var(--header-h));
		min-height: calc(100dvh - var(--header-h));
		z-index: 250;
	}
	body.admin-bar .site-header__nav.is-open {
		height: calc(100dvh - var(--header-h) - 46px);
		min-height: calc(100dvh - var(--header-h) - 46px);
	}
	.primary-menu {
		flex-direction: column;
		justify-content: flex-start;
		align-items: stretch;
		gap: 0;
		padding: 0;
		width: 100%;
	}
	.primary-menu > li {
		border-bottom: 1px solid rgba(200, 130, 26, 0.12);
	}
	.primary-menu > li:last-child { border-bottom: 0; }
	.primary-menu a {
		display: block;
		padding: 1rem 0;
		font-size: 0.8rem;
		letter-spacing: 0.2em;
	}
	.primary-menu > .menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.primary-menu > .menu-item-has-children > a {
		flex: 1 1 auto;
		padding-right: 0.5rem;
	}

	.primary-menu > .menu-item-has-children > .submenu-toggle {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		height: 2.75rem;
		margin: 0.15rem 0;
		padding: 0;
		border: 1px solid rgba(200, 130, 26, 0.35);
		border-radius: 4px;
		background: transparent;
		color: var(--sacred-gold);
		cursor: pointer;
	}

	.primary-menu > .menu-item-has-children > .submenu-toggle::before {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-left: 5px solid transparent;
		border-right: 5px solid transparent;
		border-top: 6px solid currentColor;
		transition: transform 0.2s ease;
	}

	.primary-menu > .menu-item-has-children.is-submenu-open > .submenu-toggle::before {
		transform: rotate(180deg);
	}

	.primary-menu > .menu-item-has-children > .sub-menu {
		display: none;
		flex: 0 0 100%;
		list-style: none;
		margin: 0;
		padding: 0 0 0.75rem 1rem;
	}

	.primary-menu > .menu-item-has-children.is-submenu-open > .sub-menu {
		display: block;
	}

	.primary-menu .sub-menu a {
		padding: 0.65rem 0;
		font-size: 0.72rem;
		opacity: 0.9;
	}
}

.submenu-toggle {
	display: none;
}

/* ----- hero carousel (see hero-banner.css for banner image layout) ----- */
.hero-carousel {
	position: relative;
	width: 100%;
	max-width: 100vw;
	background: var(--jungle-night);
	overflow: hidden;
	border-bottom: 0;
}
.hero-carousel__track {
	display: flex;
	width: 100%;
	align-items: flex-start;
}
.hero-slide {
	flex: 0 0 100%;
	width: 100%;
	min-width: 100%;
	display: block;
	padding: 0;
	background: var(--jungle-night);
}
.hero-slide--banner {
	position: relative;
}
.hero-slide__link {
	line-height: 0;
	background: var(--jungle-night);
}
.hero-slide__inner { max-width: 760px; }
.hero-slide__title {
	font-family: var(--font-display); font-weight: 900;
	text-transform: uppercase; line-height: 0.95;
	font-size: clamp(2.75rem, 6.5vw, 5.5rem);
	margin: 0 0 1.75rem; color: var(--cream);
	letter-spacing: 0;
}
.hero-slide__title--accent { color: var(--gold-light); display: block; }
.hero-slide__inner .eyebrow { font-size: 0.7rem; margin-bottom: 1rem; opacity: 0.95; }
.hero-slide__inner .btn { font-size: 0.85rem; padding: 0.95rem 2rem; }

.slider-controls {
	position: absolute;
	bottom: clamp(0px, 0.35vw, 0.25rem);
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(1.35rem, 3.5vw, 2.85rem);
	z-index: 3;
	padding: 0 var(--gutter);
}
.slider-controls__arrow {
	width: 2.5rem;
	height: 2.5rem;
	background: rgba(15, 22, 16, 0.35) !important;
	border: 1px solid rgba(200, 130, 26, 0.14) !important;
	color: rgba(240, 228, 196, 0.75) !important;
	font-size: 1.35rem;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	padding: 0;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.slider-controls__arrow:hover {
	border-color: rgba(232, 168, 58, 0.35) !important;
	color: var(--gold-light) !important;
	background: rgba(15, 22, 16, 0.55) !important;
}
.slider-controls__dots {
	display: flex;
	gap: 0.45rem;
	align-items: center;
	padding: 0 0.35rem;
}
.slider-controls__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(240, 228, 196, 0.22) !important;
	border: 0 !important;
	padding: 0;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}
.slider-controls__dot[aria-current="true"] {
	background: rgba(232, 168, 58, 0.75) !important;
	transform: scale(1.15);
}

/* ----- legacy hero (used on inner pages) ----- */
.hero--home { min-height: 70vh; display: flex; align-items: center; }
.hero__inner { position: relative; z-index: 2; }
.hero__title { font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: 0.95; margin: 0 0 2rem; }
.hero__title--accent { color: var(--sacred-gold); display: block; }
.hero__cta { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ----- generic page header ----- */
.page-header {
	padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(1.25rem, 3vw, 2rem);
	background: transparent;
	border-bottom: 1px solid var(--border-soft);
}
.page-title { margin: 0; }

/* ----- card grids ----- */
.card-grid { display: grid; gap: 2rem; }
.card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 900px) {
	.card-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.card-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem !important; }
	.card-grid--2 { grid-template-columns: 1fr; }
	/* Explicitly keep Pick Your Strains and Add to Cart at 2 columns on mobile */
	body.home .section--categories .card-grid--3,
	body.home ul.products.quick-add-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}
}
@media (max-width: 700px) {
	body.home .section--quick-add .container {
		width: 100%;
		max-width: 100%;
	}
	ul.products.quick-add-grid {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* ----- Product recommendations (up-sells, cross-sells, related) ----- */
.product-recommendations {
	padding: clamp(2.75rem, 6vw, 4rem) 0;
	background: transparent;
	border-top: 1px solid var(--border-soft);
}
.product-recommendations__header {
	margin-bottom: 2rem;
	text-align: center;
}
.product-recommendations__header .section__title {
	margin: 0.35rem 0 0;
	font-family: var(--font-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	color: var(--cream);
}
.product-recommendations ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.product-recommendations ul.products::before,
.product-recommendations ul.products::after {
	display: none;
}
.product-recommendations--related {
	margin-top: 0;
}
.single-product__related .related.products > h2 {
	display: none;
}
.cross-sells.product-recommendations {
	margin: 0;
	padding: clamp(2rem, 5vw, 3rem) 0 0;
	border-top: 1px solid var(--border-soft);
	background: transparent;
}
body.woocommerce-cart .cart-collaterals .cross-sells {
	width: 100%;
	float: none;
}

/* Recommendation blocks  -  visible but blended into page rhythm */
.product-recommendations--prominent,
.product-recommendations--cart-hero {
	background: linear-gradient(
		180deg,
		rgba(37, 48, 32, 0.35) 0%,
		transparent 100%
	);
	border: 0;
	border-top: 1px solid var(--border-medium);
	border-bottom: 1px solid var(--border-soft);
	box-shadow: none;
}
.product-recommendations--prominent {
	padding: clamp(3rem, 6vw, 4.5rem) 0;
	margin: 0;
}
.product-recommendations--cart-hero {
	padding: clamp(2rem, 5vw, 3rem) 0;
	margin: 0;
}
.product-recommendations--cart-hero .section__title {
	font-size: clamp(1.85rem, 4.5vw, 2.75rem);
	color: var(--gold-light);
}
.product-recommendations--atc-boost {
	padding: 0;
	margin: clamp(2rem, 5vw, 2.75rem) 0 0;
	border: 0;
	background: transparent;
}
.product-recommendations--atc-boost .product-recommendations__inner {
	background: transparent;
	border: 0;
	border-top: 1px solid var(--border-soft);
	border-radius: 0;
	padding: clamp(1.25rem, 3vw, 1.75rem) 0 0;
	box-shadow: none;
}
.product-recommendations--atc-boost .product-recommendations__header {
	margin-bottom: 1rem;
	text-align: left;
}
.product-recommendations--atc-boost .section__title {
	font-size: clamp(1.2rem, 2.8vw, 1.55rem);
	line-height: 1.15;
	margin-top: 0.2rem;
}
.product-recommendations--atc-boost ul.products {
	gap: 1rem !important;
	margin-bottom: 0 !important;
}
.product-recommendations--atc-boost.product-recommendations--carousel .product-recommendations__inner {
	padding-bottom: clamp(1rem, 2.5vw, 1.35rem);
}
.product-recommendations--atc-boost.product-recommendations--carousel .product-carousel {
	--carousel-visible: 3;
	margin-top: 0.25rem;
}
.product-recommendations--atc-boost.product-recommendations--carousel .product-carousel__viewport {
	padding-bottom: 0.35rem;
	scroll-snap-type: x mandatory;
}
.product-recommendations--atc-boost.product-recommendations--carousel .product-carousel__track > li {
	scroll-snap-align: start;
}
.product-recommendations--atc-boost .eyebrow,
.product-recommendations--cart-hero .eyebrow {
	color: var(--gold-light);
	letter-spacing: 0.18em;
	opacity: 0.95;
}
.product-recommendations--cross-sells {
	margin: 0;
	padding: clamp(2rem, 5vw, 3rem) 0 0;
	border-top: 1px solid var(--border-soft);
	background: transparent;
}
body.woocommerce-cart .woocommerce {
	display: flex;
	flex-direction: column;
}

/* Cart top: loyalty notice → pairs carousel → cart table */
.cart-page-top {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	margin-bottom: 2rem;
}
.cart-page-top .woocommerce-cart-notice,
.cart-page-top .woocommerce-info:not(.woocommerce-notices-wrapper) {
	order: -2;
}
.cart-page-top .woocommerce-notices-wrapper {
	order: -1;
}
.cart-page-top .product-recommendations--cart-hero {
	order: 0;
}
body.woocommerce-cart .cart-page-top .woocommerce-info,
body.woocommerce-cart .cart-page-top .woocommerce-cart-notice {
	margin: 0 !important;
	padding: 1.1rem 1.35rem 1.1rem 3.25rem !important;
	background: linear-gradient(
		135deg,
		rgba(26, 35, 24, 0.94) 0%,
		rgba(34, 46, 30, 0.88) 100%
	) !important;
	border: 1px solid rgba(200, 130, 26, 0.22) !important;
	border-left: 3px solid var(--gold-light) !important;
	border-radius: 10px !important;
	color: var(--parchment) !important;
	font-size: 0.95rem !important;
	line-height: 1.55 !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
	position: relative;
}
body.woocommerce-cart .cart-page-top .woocommerce-info::before,
body.woocommerce-cart .cart-page-top .woocommerce-cart-notice::before {
	color: var(--gold-light) !important;
	top: 1rem !important;
	left: 1rem !important;
}
body.woocommerce-cart .cart-page-top .woocommerce-info strong,
body.woocommerce-cart .cart-page-top .woocommerce-cart-notice strong {
	color: var(--gold-light);
}
body.woocommerce-cart .cart-page-top .woocommerce-info img,
body.woocommerce-cart .cart-page-top .woocommerce-cart-notice img {
	display: none;
}

/* Horizontal product carousel (cart hero) */
.product-recommendations--carousel .product-recommendations__header {
	margin-bottom: 1rem;
	text-align: left;
}
.product-recommendations--cart-hero.product-recommendations--carousel {
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
}
.product-recommendations--cart-hero.product-recommendations--carousel .container {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: clamp(1.25rem, 3vw, 1.65rem) 0;
	box-shadow: none;
	overflow: visible;
}
.product-recommendations--infinite .product-carousel__viewport,
.product-recommendations--infinite.product-recommendations--atc-boost.product-recommendations--carousel .product-carousel__viewport,
.product-recommendations--infinite.product-recommendations--cart-hero.product-recommendations--carousel .product-carousel__viewport,
.product-recommendations--infinite.product-recommendations--carousel .product-carousel__viewport {
	scroll-snap-type: none !important;
	scroll-behavior: smooth;
	overscroll-behavior-x: contain;
}
.product-recommendations--infinite .product-carousel__track > li,
.product-recommendations--infinite.product-recommendations--atc-boost.product-recommendations--carousel .product-carousel__track > li,
.product-recommendations--infinite.product-recommendations--cart-hero.product-recommendations--carousel .product-carousel__track > li {
	scroll-snap-align: none !important;
	scroll-snap-stop: normal !important;
}
.product-carousel {
	display: grid;
	grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
	align-items: center;
	column-gap: 0.65rem;
	width: 100%;
}
.product-carousel__viewport {
	grid-column: 2;
	min-width: 0;
	container-type: inline-size;
	container-name: product-carousel;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 0.15rem 0 0.5rem;
	cursor: grab;
}
.product-recommendations--carousel .product-carousel__viewport,
.product-recommendations--cart-hero .product-carousel__viewport {
	--carousel-visible: 3;
	--carousel-gap: 1rem;
}
.product-carousel__viewport.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
}
.product-carousel__viewport::-webkit-scrollbar {
	display: none;
}
.product-recommendations ul.products.product-carousel__track,
.product-recommendations .product-carousel__track {
	display: flex !important;
	flex-flow: row nowrap !important;
	flex-wrap: nowrap !important;
	gap: 1rem !important;
	grid-template-columns: none !important;
	grid-auto-flow: unset !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: max-content !important;
	max-width: none !important;
}
.product-recommendations ul.products.product-carousel__track > li,
.product-recommendations .product-carousel__track > li {
	flex: 0 0 clamp(168px, 22vw, 220px) !important;
	width: clamp(168px, 22vw, 220px) !important;
	min-width: clamp(168px, 22vw, 220px) !important;
	max-width: none !important;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
/* Carousel: exactly 3 product cards visible in the viewport */
.product-recommendations--carousel .product-carousel__track > li,
.product-recommendations--cart-hero .product-carousel__track > li {
	flex: 0 0 calc(
		(100cqw - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible)
	) !important;
	width: calc(
		(100cqw - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible)
	) !important;
	min-width: calc(
		(100cqw - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible)
	) !important;
}
.product-carousel__track > li.card,
.product-carousel__track > li.card--product {
	height: 100%;
	min-height: 100%;
	align-self: stretch;
}
.product-recommendations ul.products.product-carousel__track,
.product-recommendations .product-carousel__track {
	align-items: stretch !important;
}

/* Recommendation carousel cards: flat layout, even spacing */
body.motark-textured .product-recommendations ul.products li.card--product.card--rec,
body.single-product .product-recommendations ul.products li.card--product.card--rec,
.product-recommendations ul.products li.card--product.card--rec {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	overflow: visible !important;
	transform: none !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	padding: 0 !important;
}
body.motark-textured .product-recommendations ul.products li.card--product.card--rec:hover,
body.single-product .product-recommendations ul.products li.card--product.card--rec:hover,
.product-recommendations ul.products li.card--product.card--rec:hover {
	background: transparent !important;
	border-color: transparent !important;
	transform: none !important;
	box-shadow: none !important;
}
.product-recommendations ul.products li.card--product.card--rec .card__media {
	flex: 0 0 auto;
	aspect-ratio: 1 / 1;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0;
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	box-shadow: none !important;
}
.product-recommendations ul.products li.card--product.card--rec .card__image,
.product-recommendations ul.products li.card--product.card--rec img.card__image,
.product-recommendations ul.products li.card--product.card--rec img.attachment-motark-card,
body.motark-textured .product-recommendations ul.products li.card--product.card--rec .card__image,
body.motark-textured .product-recommendations ul.products li.card--product.card--rec img.card__image,
body.single-product .product-recommendations ul.products li.card--product.card--rec .card__image,
body.single-product .product-recommendations ul.products li.card--product.card--rec img.card__image {
	width: 100% !important;
	height: 100% !important;
	max-height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}
.product-recommendations ul.products li.card--product.card--rec .card__body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	padding: 0.6rem 0 0 !important;
	gap: 0;
	min-height: 0;
}
.product-recommendations ul.products li.card--product.card--rec .card__title {
	font-size: clamp(0.7rem, 1.5vw, 0.82rem) !important;
	line-height: 1.25 !important;
	margin: 0 0 0.3rem !important;
	min-height: calc(2 * 1.25em);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-recommendations ul.products li.card--product.card--rec .card__price {
	font-size: 0.75rem !important;
	margin: 0 !important;
	line-height: 1.3 !important;
	min-height: calc(2 * 1.3em);
}
.product-recommendations ul.products li.card--product.card--rec .card__purchase {
	margin-top: auto !important;
	padding-top: 0.5rem !important;
}
.product-recommendations .card--rec .card__quick-atc {
	width: 100%;
	flex: none;
	min-height: 2rem;
	padding: 0.45rem 0.55rem !important;
	font-size: 0.58rem !important;
	letter-spacing: 0.1em !important;
	border-radius: 3px !important;
}
.product-recommendations .card--rec .card__quick-atc--options {
	background: var(--gold-light) !important;
	border-color: var(--gold-light) !important;
	color: var(--jungle-night) !important;
}
.product-recommendations .card--rec .card__quick-atc--options:hover {
	background: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
	color: var(--jungle-night) !important;
}
.product-recommendations .card--rec .card__hit {
	border-radius: 6px;
}
.product-recommendations .product-carousel__track > li {
	display: flex !important;
	align-items: stretch !important;
}
.product-recommendations--atc-boost .product-carousel__arrow {
	width: 2.15rem;
	height: 2.15rem;
	font-size: 1.15rem;
	background: rgba(20, 28, 20, 0.75) !important;
	border-color: rgba(200, 130, 26, 0.28) !important;
	box-shadow: none;
}
.product-carousel__arrow {
	position: static;
	transform: none;
	z-index: 1;
	flex-shrink: 0;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(15, 22, 16, 0.9) !important;
	border: 1px solid rgba(200, 130, 26, 0.4) !important;
	color: var(--cream) !important;
	font-size: 1.35rem;
	line-height: 1;
	border-radius: 50% !important;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s, background 0.2s, opacity 0.2s;
	box-shadow: var(--shadow-card);
}
.product-carousel__arrow--prev {
	grid-column: 1;
	justify-self: center;
}
.product-carousel__arrow--next {
	grid-column: 3;
	justify-self: center;
}
.product-carousel__arrow:hover:not(:disabled) {
	border-color: var(--gold-light) !important;
	color: var(--gold-light) !important;
	background: rgba(26, 35, 24, 0.98) !important;
}
.product-carousel__arrow:disabled {
	opacity: 0.28;
	cursor: default;
	pointer-events: none;
}
.product-carousel--no-scroll .product-carousel__arrow {
	visibility: hidden;
	pointer-events: none;
}
@media (max-width: 700px) {
	.product-recommendations--carousel .product-recommendations__header,
	.product-recommendations--cart-hero .product-recommendations__header,
	.product-recommendations--atc-boost .product-recommendations__header {
		text-align: center;
	}
	.product-carousel {
		grid-template-columns: minmax(0, 1fr);
		column-gap: 0;
	}
	.product-carousel__viewport {
		grid-column: 1;
	}
	.product-carousel__arrow {
		display: none !important;
	}
	.product-recommendations--carousel .product-carousel__viewport,
	.product-recommendations--cart-hero .product-carousel__viewport,
	.product-recommendations--atc-boost .product-carousel__viewport {
		--carousel-visible: 1.12;
		--carousel-gap: 0.75rem;
	}
	.product-carousel__track > li {
		flex: 0 0 min(78vw, 240px);
		min-width: min(78vw, 240px);
	}
	.product-recommendations--carousel .product-carousel__track > li,
	.product-recommendations--cart-hero .product-carousel__track > li,
	.product-recommendations--atc-boost .product-carousel__track > li {
		flex: 0 0 calc(
			(100cqw - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible)
		) !important;
		width: calc(
			(100cqw - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible)
		) !important;
		min-width: calc(
			(100cqw - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible)
		) !important;
	}
}
@media (max-width: 900px) {
	.product-recommendations ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 600px) {
	.product-recommendations ul.products {
		grid-template-columns: 1fr;
	}
}

.card {
	background: rgba(30, 40, 26, 0.38);
	border: 1px solid rgba(200, 130, 26, 0.08);
	border-radius: 6px;
	color: var(--cream);
	display: flex;
	flex-direction: column;
	transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
	overflow: hidden;
	height: 100%;
	box-shadow: none;
}
.card:hover {
	background: rgba(34, 46, 30, 0.55);
	border-color: rgba(200, 130, 26, 0.16);
	transform: translateY(-2px);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.28);
}
.section--categories .card-grid {
	gap: clamp(1.25rem, 3vw, 1.75rem);
}
.card__link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.card--category {
	overflow: hidden;
}
.card--category .card__media--category {
	aspect-ratio: 1 / 1;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: transparent;
}
.card--category .card__media--category .card__image,
.card--category .card__media--category img.card__image {
	width: 100%;
	height: 100% !important;
	max-width: 100%;
	max-height: 100%;
	object-fit: cover !important;
	object-position: center center !important;
	background: transparent;
	display: block;
	transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
}
.card--category:hover .card__media--category .card__image,
.card--category:hover .card__media--category img.card__image {
	transform: scale(1.07);
}
@media (hover: none) {
	.card--category:active .card__media--category .card__image,
	.card--category:active .card__media--category img.card__image {
		transform: scale(1.04);
		transition-duration: 0.12s;
	}
}
.card--category .card__media--category .card__image--placeholder {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
}
.card__image--placeholder {
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-display); font-weight: 700;
	font-size: 1.5rem; letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--gold-light); opacity: 0.85;
	text-align: center; padding: 1rem;
}
.card__body {
	padding: 1.5rem 1.5rem 1.75rem;
	flex: 1 1 auto;
	display: flex; flex-direction: column;
}
.card__title {
	font-family: var(--font-display); font-weight: 700;
	font-size: 1.15rem; letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--cream); margin: 0 0 0.4rem;
	line-height: 1.15;
}
.card__cta {
	font-family: var(--font-mono); font-size: 0.65rem;
	letter-spacing: 0.28em; text-transform: uppercase;
	color: var(--gold-light);
	margin-top: auto;
	padding-top: 0.75rem;
}
.card__media-link,
.card__media {
	display: block;
	color: inherit;
}
.card--product {
	position: relative;
	cursor: pointer;
}
.card--product .card__hit {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
	text-decoration: none;
	color: transparent;
}
.card--product .card__purchase,
.card--product .card__actions {
	position: relative;
	z-index: 2;
}
.card__title a,
.card--product .card__title {
	color: inherit;
	text-decoration: none;
}
.card__title a:hover {
	color: var(--gold-light);
}
.card--product:hover .card__title {
	color: var(--gold-light);
}
.card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
	padding-top: 0.5rem;
}
.card__purchase {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0.65rem;
}
button.card__quick-atc {
	appearance: none;
	cursor: pointer;
	width: 100%;
}
.card__quick-atc {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	min-height: 2.35rem;
	padding: 0.55rem 0.85rem !important;
	font-family: var(--font-display) !important;
	font-size: 0.68rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	background: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	border: 1px solid var(--gold-light) !important;
	border-radius: 0 !important;
	text-decoration: none !important;
	transition: background 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;
}
.card__quick-atc:hover {
	background: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
	color: var(--jungle-night) !important;
}
.card__quick-atc--options {
	background: transparent !important;
	color: var(--cream) !important;
	border-color: rgba(240, 228, 196, 0.45) !important;
}
.card__quick-atc--options:hover {
	border-color: var(--gold-light) !important;
	color: var(--gold-light) !important;
	background: rgba(26, 35, 24, 0.55) !important;
}
.card__quick-atc--disabled {
	flex: 1 1 auto;
	min-height: 2.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--parchment);
	opacity: 0.55;
	border: 1px dashed rgba(200, 130, 26, 0.2);
	padding: 0.55rem 0.85rem;
}
.card__quick-atc.is-loading {
	opacity: 0.65;
	pointer-events: none;
}
.card__quick-atc.is-added {
	background: rgba(91, 162, 56, 0.22) !important;
	border-color: rgba(91, 162, 56, 0.55) !important;
	color: var(--cream) !important;
}
.card__cta--view {
	margin-top: 0 !important;
	padding-top: 0 !important;
	flex: 0 0 auto;
}
.card__price {
	display: block; font-family: var(--font-mono);
	color: var(--gold-light); margin-bottom: 0.5rem;
	font-size: 1rem;
}

.card__reviews {
	margin: 0.35rem 0 0;
	min-height: 1.15rem;
}
.card__reviews--empty {
	min-height: 0;
	margin: 0;
}
.card__reviews-stars {
	margin: 0;
}
.card__reviews-count {
	display: inline-block;
	margin-left: 0.45rem;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--parchment);
	opacity: 0.72;
}
.card__reviews-quote {
	margin: 0.45rem 0 0;
	font-size: 0.82rem;
	line-height: 1.5;
	color: var(--parchment);
}
.card__reviews-quote strong {
	display: block;
	color: var(--cream);
	font-family: var(--font-display);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 0.2rem;
}

/* Homepage quick add */
.section--quick-add {
	padding-top: clamp(2rem, 5vw, 3rem);
}
/* Homepage is not body.woocommerce — override WC float/width on loop cards */
ul.products.quick-add-grid,
body.home ul.products.quick-add-grid {
	list-style: none !important;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 2rem !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	float: none !important;
}
@media (max-width: 899px) {
	ul.products.quick-add-grid,
	body.home ul.products.quick-add-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem !important;
	}
}
ul.products.quick-add-grid::before,
ul.products.quick-add-grid::after,
body.home ul.products.quick-add-grid::before,
body.home ul.products.quick-add-grid::after {
	display: none !important;
	content: none !important;
}
ul.products.quick-add-grid > li.product,
body.home ul.products.quick-add-grid > li.product {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}
.quick-add-grid .card__purchase,
ul.products li.card--product .card__purchase {
	align-items: stretch;
}
.card__atc-form--variable {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
	flex: 1 1 100%;
}
.card__variation-field {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
.card__variation-label {
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--parchment);
}
.card__variation-select {
	width: 100%;
	background: var(--jungle-mid);
	border: 1px solid rgba(200, 130, 26, 0.25);
	color: var(--cream);
	padding: 0.5rem 0.65rem;
	font-size: 0.85rem;
	min-height: 2.35rem;
}
.card__atc-form--variable .card__quick-atc {
	width: 100%;
}
.card__atc-form--variable .card__quick-atc:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

/* If a plugin/theme injects WooCommerce's default <div id="primary"> +
   <main> wrapper around our shop, neutralize it so it does not constrain
   our grid to a sidebar column width. */
.woocommerce #primary.content-area,
.woocommerce-page #primary.content-area {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce #primary.content-area > main#main,
.woocommerce-page #primary.content-area > main#main {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* WooCommerce loop list reset (it outputs <ul.products>).
   We need higher specificity than WC's defaults (.woocommerce ul.products
   li.product { width: 22.05%; float: left; ... }) which is why every
   selector below is prefixed with `.woocommerce` and most include the
   `body.woocommerce` prefix to force-win over plugin styles. */
.woocommerce ul.products,
.woocommerce-page ul.products,
body.woocommerce ul.products,
body.woocommerce-page ul.products {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 4rem !important;
	display: grid !important;
	gap: 2rem !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
}
/* WC clearfix pseudo-elements become grid items and steal the first cell */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
body.woocommerce ul.products::before,
body.woocommerce ul.products::after,
body.woocommerce-page ul.products::before,
body.woocommerce-page ul.products::after {
	display: none !important;
	content: none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
body.woocommerce ul.products li.product,
body.woocommerce-page ul.products li.product,
.woocommerce[class*="columns-"] ul.products li.product,
.woocommerce-page[class*="columns-"] ul.products li.product {
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	clear: none !important;
	padding: 0 !important;
	max-width: none !important;
	min-width: 0 !important;
}
/* Only real product cards are allowed as grid items inside <ul.products>.
   Anything else WooCommerce or another plugin sneaks in (notices, result
   count, breadcrumb, an empty <li>, a structured-data wrapper, etc.) is
   completely removed so it can't punch an empty hole in the row. */
.woocommerce ul.products > *:not(li.product),
.woocommerce ul.products > li:not(.product),
.woocommerce ul.products > li.product:empty,
.woocommerce ul.products > li.product:not(:has(*)),
.woocommerce-page ul.products > *:not(li.product),
.woocommerce-page ul.products > li:not(.product),
.woocommerce-page ul.products > li.product:empty,
.woocommerce-page ul.products > li.product:not(:has(*)) {
	display: none !important;
	grid-column: 1 / -1 !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}
.woocommerce ul.products > p.woocommerce-result-count,
.woocommerce ul.products > .woocommerce-notices-wrapper,
.woocommerce ul.products > [role="alert"],
.woocommerce ul.products > nav,
.woocommerce ul.products > form,
.woocommerce ul.products > script,
.woocommerce ul.products > style { display: none !important; }
@media (max-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	body.woocommerce ul.products,
	body.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 540px) {
	body:not(.motark-shop-page).woocommerce ul.products,
	body:not(.motark-shop-page).woocommerce-page ul.products,
	body:not(.motark-shop-page).woocommerce ul.products,
	body:not(.motark-shop-page).woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}

/* Product card inside the shop loop: equal heights, big image, brand colors */
ul.products li.card--product {
	background: rgba(37, 48, 32, 0.45);
	border: 1px solid var(--border-soft);
	border-radius: 3px;
	display: flex; flex-direction: column;
	overflow: hidden;
	transition: border-color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
ul.products li.card--product:hover {
	background: rgba(37, 48, 32, 0.72);
	border-color: var(--border-medium);
	transform: translateY(-2px);
	box-shadow: var(--shadow-card-hover);
}
ul.products li.card--product .card__media-link,
ul.products li.card--product .card__media {
	display: block;
	color: inherit;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: transparent;
}
ul.products li.card--product .card__image,
ul.products li.card--product img.card__image,
ul.products li.card--product img.attachment-motark-card,
ul.products li.card--product img[class*="attachment-"] {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	object-position: center center !important;
	background: transparent !important;
	padding: 0 !important;
	display: block !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.single-product ul.products li.card--product {
	border-radius: 8px;
	overflow: hidden;
}
body.single-product ul.products li.card--product .card__body {
	padding: 1rem 1rem 1.15rem !important;
}
body.single-product ul.products li.card--product .card__title {
	font-size: 0.95rem !important;
}
body.single-product ul.products li.card--product .button,
body.single-product ul.products li.card--product a.button {
	border-radius: 6px !important;
	font-size: 0.68rem !important;
	letter-spacing: 0.12em !important;
	padding: 0.55rem 0.75rem !important;
}
ul.products li.card--product .card__body {
	padding: 1.5rem 1.5rem 1.75rem !important;
	flex: 1 1 auto;
	display: flex; flex-direction: column;
	gap: 0;
	text-align: left;
}
ul.products li.card--product .card__title {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: 1.25rem !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	color: var(--cream) !important;
	margin: 0 !important;
	line-height: 1.15 !important;
}
ul.products li.card--product .card__price {
	font-family: var(--font-mono) !important;
	color: var(--gold-light) !important;
	font-size: 0.95rem !important;
	margin: 0 !important;
}
ul.products li.card--product .card__price del { opacity: .55; margin-right: .35rem; }
ul.products li.card--product .card__price ins { background: transparent; text-decoration: none; }
ul.products li.card--product .card__cta {
	font-family: var(--font-mono) !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.3em !important;
	text-transform: uppercase !important;
	color: var(--gold-light) !important;
}
ul.products li.card--product .card__purchase {
	margin-top: 0.75rem !important;
}
ul.products li.card--product .card__purchase .card__quick-atc,
ul.products li.card--product .card__purchase .card__atc-form--variable .card__quick-atc {
	width: 100%;
	flex: none;
}
ul.products li.card--product .card__actions {
	margin-top: 0 !important;
	padding-top: 0.5rem !important;
}

/* Shop archive header  -  symmetric page title block */
.woocommerce .page-header,
.woocommerce-shop .page-header,
main.site-main > .page-header {
	max-width: var(--container);
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 5rem) var(--gutter) clamp(2rem, 4vw, 3rem);
	text-align: center;
}
.woocommerce .page-header .eyebrow,
.woocommerce-shop .page-header .eyebrow {
	color: var(--gold-light); opacity: 1;
}
.woocommerce .page-header .page-title,
.woocommerce-shop .page-header .page-title,
main.site-main > .page-header .page-title {
	font-size: clamp(3rem, 6vw, 5rem);
	margin: 0;
}
.woocommerce-products-header__title { display: none; }

.woocommerce-result-count {
	font-family: var(--font-mono) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase !important;
	color: var(--parchment) !important;
	opacity: 0.6 !important;
	margin: 0 0 0.5rem !important;
	float: none !important;
}
.woocommerce-ordering {
	float: none !important;
	margin: 0 0 2rem !important;
}
.woocommerce-ordering select {
	background: var(--jungle-deep); color: var(--cream);
	border: 1px solid rgba(200,130,26,0.3);
	padding: 0.65rem 1rem;
	font: inherit;
	font-family: var(--font-mono);
	font-size: 0.75rem; letter-spacing: 0.15em;
	text-transform: uppercase;
	border-radius: 0;
	min-width: 220px;
}
.shop-toolbar {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 1rem;
	padding: 0.5rem 0 2rem;
	border-bottom: 1px solid var(--border-soft);
	margin-bottom: 2.5rem;
}
.shop-toolbar .woocommerce-result-count { margin: 0 !important; }
.shop-toolbar .woocommerce-ordering { margin: 0 !important; }
@media (max-width: 600px) { .shop-toolbar { flex-direction: column; align-items: flex-start; } }
.woocommerce-notices-wrapper { margin: 0 0 1.5rem; }
nav.woocommerce-pagination,
.woocommerce-pagination {
	display: block !important;
	width: 100% !important;
	margin: 2rem 0 4rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	text-align: center;
}
/* Shop pagination  -  per-box hover only (ul.page-numbers must not fill on hover) */
body.woocommerce nav.woocommerce-pagination,
body.woocommerce nav.woocommerce-pagination:hover,
body.post-type-archive-product nav.woocommerce-pagination {
	background: transparent !important;
	background-color: transparent !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers,
body.woocommerce nav.woocommerce-pagination ul.page-numbers:hover,
body.woocommerce nav.woocommerce-pagination ul.page-numbers:focus-within,
.woocommerce-pagination ul.page-numbers,
ul.page-numbers {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 auto !important;
	display: inline-flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem !important;
	justify-content: center;
	float: none !important;
	clear: none !important;
	white-space: normal !important;
	border: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li:hover,
.woocommerce-pagination ul.page-numbers li,
ul.page-numbers li {
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	background: transparent !important;
	background-color: transparent !important;
	display: block !important;
	overflow: visible !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > a.page-numbers,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > span.page-numbers,
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers,
ul.page-numbers a.page-numbers,
ul.page-numbers span.page-numbers {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.85rem !important;
	margin: 0 !important;
	line-height: 1 !important;
	border: 1px solid rgba(200, 130, 26, 0.3) !important;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	color: var(--cream) !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	text-decoration: none !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > span.page-numbers.current,
.woocommerce-pagination span.page-numbers.current,
ul.page-numbers span.page-numbers.current {
	background: var(--gold-light) !important;
	background-color: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	border-color: var(--gold-light) !important;
}
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > a.page-numbers:hover,
body.woocommerce nav.woocommerce-pagination ul.page-numbers > li > a.page-numbers:focus,
ul.page-numbers a.page-numbers:hover {
	background: var(--gold-light) !important;
	background-color: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	border-color: var(--gold-light) !important;
}
.woocommerce-breadcrumb {
	font-family: var(--font-mono); font-size: 0.7rem;
	letter-spacing: 0.22em; text-transform: uppercase;
	color: var(--parchment); opacity: 0.55;
	padding: 1.25rem 0 0;
	max-width: var(--container);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}
.woocommerce-breadcrumb a { color: inherit; }
.woocommerce-breadcrumb a:hover { color: var(--gold-light); }

/* ----- feature panels (Guaranteed / Barong / My Mitra) ----- */
.feature__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 6vw, 5rem);
	align-items: center;
}
.feature__inner--reverse {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	direction: rtl;
}
.feature__inner--reverse > * { direction: ltr; }
.feature__copy { min-width: 0; }
.feature__copy .prose { max-width: 50ch; }
.feature__media {
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem;
	border-radius: 3px;
}
.feature__title {
	font-family: var(--font-display);
	font-weight: 900;
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	line-height: 0.95;
	margin: 0 0 1.25rem;
	text-transform: uppercase;
}
.section--feature {
	background: transparent;
}
.feature--jungle .feature__media {
	background: radial-gradient(ellipse 90% 80% at 50% 50%, rgba(51, 68, 40, 0.2), transparent 70%);
}
.feature--gold .feature__media {
	background: radial-gradient(ellipse 90% 80% at 50% 50%, rgba(200, 130, 26, 0.12), transparent 70%);
}
.feature--mitra .feature__media {
	background: radial-gradient(ellipse 90% 80% at 50% 50%, rgba(143, 163, 184, 0.1), transparent 70%);
}
.feature__media img {
	display: block;
	max-width: min(100%, 460px);
	width: 100%;
	height: auto;
	opacity: 0.95;
}
.feature__actions { display: flex; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.5rem; }
@media (max-width: 800px) {
	.feature__inner, .feature__inner--reverse {
		grid-template-columns: 1fr;
		direction: ltr;
	}
	.feature__media img { max-width: min(100%, 360px); margin: 0 auto; }
}

/* ----- shop landing veins (tinted bands, same base surface) ----- */
.vein {
	position: relative;
	padding: clamp(3.25rem, 7vw, 5.75rem) 0;
	background: transparent;
	border-top: 0;
}
.vein + .vein {
	padding-top: clamp(2rem, 5vw, 3.5rem);
}
.vein__title { font-size: clamp(3rem, 7vw, 6rem); color: var(--cream); }
.vein__desc { max-width: 720px; margin-bottom: 2rem; }
.vein__cta { margin-top: 2rem; }
.vein--premium .vein__title {
	color: var(--sacred-gold);
	text-shadow: 0 0 40px rgba(200, 130, 26, 0.15);
}

/* ----- single product ----- */
.single-product .site-header {
	background: var(--jungle-night) !important;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	border-bottom-color: rgba(200, 130, 26, 0.25);
}
.single-product__top {
	padding: clamp(2rem, 5vw, 4rem) 0;
	background: transparent !important;
	position: relative;
	z-index: 1;
	overflow: visible;
	border-bottom: 0;
}
body.motark-textured.single-product .single-product__top,
body.single-product .single-product__top {
	background: transparent !important;
}
.single-product__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: start;
}
.single-product__grid > * { min-width: 0; }
.single-product__media {
	position: relative;
	z-index: 0;
	overflow: visible;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}
.single-product__media .woocommerce-product-gallery {
	margin: 0;
	max-width: 100%;
}
.single-product__media .woocommerce-product-gallery.motark-gallery--side-thumbs:has(.flex-control-thumbs),
.single-product__media .woocommerce-product-gallery.flexslider.motark-gallery--side-thumbs:has(.flex-control-thumbs) {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	grid-template-areas: "thumbs viewport";
	align-items: start;
	gap: 0.75rem;
}
.single-product__media .woocommerce-product-gallery.motark-gallery--side-thumbs:has(.flex-control-thumbs) .flex-viewport,
.single-product__media .woocommerce-product-gallery.flexslider.motark-gallery--side-thumbs:has(.flex-control-thumbs) .flex-viewport {
	grid-area: viewport;
	min-width: 0;
	width: 100%;
	float: none;
}
.single-product__media .woocommerce-product-gallery.flexslider .woocommerce-product-gallery__wrapper {
	max-width: none !important;
}
.single-product__media .woocommerce-product-gallery.flexslider .woocommerce-product-gallery__image {
	max-width: none !important;
	width: 100%;
	float: left;
}
.single-product__media .woocommerce-product-gallery__image {
	overflow: hidden;
	background: transparent;
}
.single-product__media .flex-viewport {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1 / 1;
	max-height: none;
	background: transparent !important;
	border-radius: 6px;
}
.single-product__media .woocommerce-product-gallery__image a {
	display: block;
	height: 100%;
}
.single-product__media .woocommerce-product-gallery__image img,
.single-product__media .wp-post-image {
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: cover;
	object-position: center center;
	padding: 0;
	margin: 0;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	mix-blend-mode: normal;
}
.single-product__media .flex-control-thumbs {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0.5rem;
	grid-area: thumbs;
	flex: unset;
	width: 4.5rem;
	min-width: 4.5rem;
	max-width: 4.5rem;
	max-height: min(100%, 28rem);
	margin: 0 !important;
	padding: 0;
	list-style: none;
	overflow-x: hidden;
	overflow-y: auto;
	scrollbar-width: thin;
	float: none;
}
.single-product__media .flex-control-thumbs li {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
	cursor: pointer;
}
.single-product__media .flex-control-thumbs li img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 1px solid rgba(200, 130, 26, 0.2);
	border-radius: 6px;
	background: var(--image-well-bg);
	padding: 0.2rem;
	opacity: 0.75;
	transition: opacity 0.2s, border-color 0.2s;
}
.single-product__media .flex-control-thumbs li img.flex-active,
.single-product__media .flex-control-thumbs li.is-active img,
.single-product__media .flex-control-thumbs li.flex-active img,
.single-product__media .flex-control-thumbs li img:hover {
	opacity: 1;
	border-color: var(--gold-light);
}
.single-product__media .woocommerce-product-gallery__trigger {
	display: none !important;
}
.single-product__media .woocommerce-product-gallery .flex-viewport,
.single-product__media .woocommerce-product-gallery__image a {
	cursor: zoom-in;
}
.single-product__summary {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(0.5rem, 2vw, 1rem) 0;
}
.single-product__summary .product_title {
	font-family: var(--font-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 0 0 0.5rem;
	line-height: 0.98;
	text-shadow: var(--text-shadow-soft);
}
.single-product__summary .woocommerce-product-details__short-description {
	color: var(--parchment);
	margin-bottom: 1rem;
	font-size: 0.95rem;
	line-height: 1.65;
}
.single-product__summary .price {
	color: var(--gold-light);
	font-family: var(--font-mono);
	font-size: 1.2rem;
	margin-bottom: 1.15rem;
	letter-spacing: 0.04em;
}
/* Loyalty / points plugins (override bright plugin banners) */
.single-product__summary .wc-points-rewards-product-message,
.single-product__summary [class*="points-rewards"],
.single-product__summary [class*="points_rewards"],
.single-product__summary [class*="yith-par"],
.single-product__summary [class*="ywpar"],
.single-product__summary [class*="wps_wpr"],
.single-product__summary [class*="wlpr"],
.single-product__summary [id*="points_rewards"],
.single-product__summary [id*="wc-points"] {
	background: rgba(26, 35, 24, 0.45) !important;
	border: 1px solid rgba(200, 130, 26, 0.22) !important;
	border-left: 3px solid var(--sacred-gold) !important;
	border-radius: 8px !important;
	color: var(--parchment) !important;
	padding: 0.85rem 1rem !important;
	margin: 0 0 1.15rem !important;
	font-size: 0.85rem !important;
	line-height: 1.55 !important;
	box-shadow: none !important;
}
.single-product__summary [class*="points"] strong,
.single-product__summary [class*="reward"] strong,
.single-product__summary [class*="points"] a,
.single-product__summary [class*="reward"] a {
	color: var(--gold-light) !important;
}
.single-product__summary .yith-par-message:not(.hide),
.single-product__summary .yith-par-message-variation:not(.hide),
.single-product__summary .wc-points-rewards-product-message:not(.hide),
.single-product__summary [class*="points-rewards-product-message"]:not(.hide) {
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
}

.single-product__summary .yith-par-message.hide,
.single-product__summary .yith-par-message-variation.hide {
	display: none !important;
}
.single-product__summary .yith-par-message img,
.single-product__summary .wc-points-rewards-product-message img,
.single-product__summary [class*="points-rewards"] img,
.single-product__summary [class*="points_rewards"] img,
.single-product__summary [class*="yith-par"] img {
	display: inline-block !important;
	flex: 0 0 16px;
	width: 16px;
	max-width: 16px;
	height: auto;
	margin: 0 !important;
}
.single-product__summary form.cart {
	margin-top: 0.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(200, 130, 26, 0.12);
}
.single-product__summary table.variations {
	width: 100%;
	margin: 0 0 1rem;
	border: 0;
}
.single-product__summary table.variations th,
.single-product__summary table.variations td {
	border: 0;
	padding: 0.35rem 0;
	vertical-align: middle;
}
.single-product__summary table.variations label {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--parchment);
}
.single-product__summary table.variations select {
	width: 100%;
	max-width: 100%;
	background: rgba(37, 48, 32, 0.9);
	border: 1px solid rgba(200, 130, 26, 0.22);
	color: var(--cream);
	padding: 0.75rem 0.95rem;
	font-family: var(--font-body);
	font-size: 0.95rem;
	min-height: 44px;
	border-radius: 6px;
}
.single-product__summary .reset_variations {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gold-light) !important;
	margin-left: 0.5rem;
}
.single-product__summary .woocommerce-variation-price {
	margin: 0.5rem 0 1rem;
}
.single-product__summary .quantity {
	display: inline-flex;
	align-items: center;
	margin: 0 0.75rem 0 0;
}
.single-product__summary .quantity .qty {
	background: rgba(37, 48, 32, 0.9);
	border: 1px solid rgba(200, 130, 26, 0.22);
	color: var(--cream);
	min-height: 44px;
	width: 4rem;
	text-align: center;
	border-radius: 6px;
}
body.single-product .product-purchase-panel .quantity select.qty-select {
	width: 100% !important;
	min-width: 0 !important;
	text-align: left !important;
	background: transparent !important;
	border: 0 !important;
}
.single-product__summary .woocommerce-variation-add-to-cart {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: stretch;
	gap: 0.75rem 1rem;
	width: 100%;
}
.single-product__summary .quantity {
	margin: 0;
	align-self: stretch;
}
.single-product__summary .quantity .qty {
	height: 100%;
	min-height: 48px;
}
.single-product__summary .button,
.single-product__summary .single_add_to_cart_button {
	background: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	font-family: var(--font-display) !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 6px !important;
	padding: 0.95rem 1.85rem !important;
	min-height: 48px;
	border: 1px solid var(--gold-light) !important;
	width: 100%;
	min-width: 0;
	margin: 0;
}
.single-product__summary form.cart:not(.variations_form) {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: stretch;
	gap: 0.75rem 1rem;
}
.single-product__summary form.cart:not(.variations_form) .quantity {
	margin: 0;
}
.single-product__summary .product-coa {
	margin: 1.15rem 0 0;
	padding-top: 1rem;
	border-top: 1px solid rgba(200, 130, 26, 0.12);
}
.single-product__summary .product-coa__label {
	margin: 0 0 0.5rem;
}
.single-product__summary .product-coa__link {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gold-light) !important;
	border-bottom: 1px solid rgba(232, 168, 58, 0.45);
	padding-bottom: 0.15rem;
	text-decoration: none !important;
}
.single-product__summary .product-coa__link:hover {
	color: var(--cream) !important;
	border-bottom-color: var(--gold-light);
}
.single-product__summary .product-coa__hint {
	margin: 0.5rem 0 0;
	font-size: 0.8rem;
	line-height: 1.5;
	color: var(--parchment);
	opacity: 0.85;
}
.single-product__summary .button:hover,
.single-product__summary .single_add_to_cart_button:hover { background: var(--gold-light) !important; }
.single-product__summary .product_meta {
	margin-top: 1.25rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(200, 130, 26, 0.1);
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	color: var(--parchment);
	line-height: 1.7;
}
.single-product__summary .product_meta .sku_wrapper {
	display: block;
	margin-bottom: 0.35rem;
}
.single-product__summary .product_meta a { color: var(--gold-light); }

.single-product__copy {
	margin-top: clamp(1.5rem, 4vw, 2.5rem);
	padding-top: clamp(1.25rem, 3vw, 1.75rem);
	border-top: 1px solid var(--border-soft);
	text-align: center;
}
.single-product__copy .prose {
	max-width: 52rem;
	margin-inline: auto;
}
.single-product__copy .motark-effects {
	margin-top: clamp(1.5rem, 4vw, 2rem);
}
.single-product__copy-discover,
.single-product__copy-effects {
	max-width: 52rem;
	margin-inline: auto;
}
.single-product__copy-effects {
	margin-top: clamp(1.5rem, 4vw, 2rem);
}
.single-product__copy-effects .section__title {
	margin: 0.35rem 0 1.25rem;
}

@media (max-width: 800px) {
	.single-product__grid { grid-template-columns: 1fr; }
	.single-product__media {
		max-width: 100%;
		width: 100%;
		margin: 0 auto;
	}
	.single-product__media .woocommerce-product-gallery.motark-gallery--side-thumbs:has(.flex-control-thumbs),
	.single-product__media .woocommerce-product-gallery.flexslider.motark-gallery--side-thumbs:has(.flex-control-thumbs) {
		display: flex;
		flex-direction: column;
		grid-template-columns: none;
		grid-template-areas: none;
	}
	.single-product__media .woocommerce-product-gallery.motark-gallery--side-thumbs:has(.flex-control-thumbs) .flex-viewport,
	.single-product__media .woocommerce-product-gallery.flexslider.motark-gallery--side-thumbs:has(.flex-control-thumbs) .flex-viewport {
		grid-area: auto;
		order: 1;
		width: 100%;
	}
	.single-product__media .flex-control-thumbs {
		grid-area: auto;
		order: 2;
		flex-direction: row;
		flex-wrap: nowrap;
		width: 100%;
		min-width: 0;
		max-width: none;
		flex-basis: auto;
		max-height: none;
		margin-top: 0.75rem !important;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
		gap: 0.5rem;
		padding-bottom: 0.15rem;
	}
	.single-product__media .flex-control-thumbs li {
		flex: 0 0 22%;
		min-width: 4.75rem;
		width: auto !important;
		max-width: none;
		scroll-snap-align: start;
	}
	.single-product__media .flex-control-nav {
		display: none !important;
	}
	.single-product__summary {
		text-align: left;
		max-width: 100%;
		margin: 0 auto;
		width: 100%;
	}
	.product-recommendations--atc-boost ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.single-product__summary form.cart {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}
	.single-product__summary .single_variation_wrap,
	.single-product__summary .woocommerce-variation-add-to-cart,
	.single-product__summary table.variations {
		width: 100%;
	}
	.single-product__summary table.variations {
		text-align: left;
	}
	.single-product__summary table.variations th,
	.single-product__summary table.variations td {
		display: block;
		width: 100%;
		padding: 0.25rem 0;
	}
	.single-product__summary table.variations label {
		display: block;
		margin-bottom: 0.35rem;
	}
	.single-product__summary .reset_variations {
		display: inline-block;
		margin: 0.35rem 0 0;
	}
	.single-product__summary .woocommerce-variation-add-to-cart,
	.single-product__summary form.cart:not(.variations_form) {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
	}
	.single-product__summary .quantity {
		align-self: flex-start;
	}
	.single-product__summary .single_add_to_cart_button {
		width: 100%;
		max-width: none;
	}
	.single-product__summary .woocommerce-variation-price,
	.single-product__summary .price {
		text-align: left;
	}
	.single-product__summary .product_meta {
		text-align: left;
	}
}

/* The WordPress Customizer "Additional CSS" still carries an older mobile block
   (text-align:center, button max-width:320px) that loads after this file with
   equal specificity, so it was winning. These body-scoped overrides outrank it
   so the summary, price, meta and add-to-cart button align left / go full width
   on mobile as intended. */
@media (max-width: 800px) {
	body.single-product .single-product__summary {
		text-align: left !important;
		max-width: 100% !important;
		margin: 0 !important;
		width: 100% !important;
	}
	body.single-product .single-product__summary .single_add_to_cart_button {
		width: 100% !important;
		max-width: none !important;
	}
	body.single-product .single-product__summary .woocommerce-variation-price,
	body.single-product .single-product__summary .price,
	body.single-product .single-product__summary table.variations,
	body.single-product .single-product__summary .product_meta {
		text-align: left !important;
	}
}

.product-section {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: transparent;
	border-top: 1px solid var(--border-soft);
}

/* Open layout: footprint pattern shows through (reviews-page look sitewide) */
body.motark-textured .woocommerce #primary.content-area,
body.motark-textured .woocommerce-page #primary.content-area,
body.motark-textured .woocommerce-page-content,
body.motark-textured.single-product .product-recommendations,
body.motark-textured.single-product .product-recommendations--atc-boost,
body.motark-textured.single-product .product-recommendations__inner,
body.motark-textured.single-product .product-section,
body.motark-textured.motark-page-reviews .site-main,
body.single-product .product-recommendations,
body.single-product .product-recommendations--atc-boost,
body.single-product .product-recommendations__inner {
	background: transparent !important;
}
body.motark-textured.single-product .single-product__media .flex-control-thumbs li img {
	background: transparent !important;
	box-shadow: none;
}
.section--product-reviews {
	padding: clamp(1.75rem, 4vw, 2.75rem) 0 clamp(2rem, 4vw, 3rem);
	background: transparent !important;
	border-top: 1px solid var(--border-soft);
}
body.single-product .section--product-reviews {
	margin-top: clamp(0.5rem, 2vw, 1rem);
}
.section--product-reviews .section__header {
	margin-bottom: clamp(1.5rem, 3vw, 2rem);
}
.section--product-reviews > .container {
	max-width: var(--container);
	width: 100%;
}
body.motark-product-reviews .section--product-reviews,
body.motark-textured.motark-product-reviews .section--product-reviews {
	background: transparent !important;
}
.product-section--effects {
	background: transparent;
}
.product-section--guaranteed {
	background: transparent;
	text-align: center;
}
.product-section--guaranteed .feature__title { color: var(--cream); }

.effect-card {
	background: rgba(37, 48, 32, 0.4);
	padding: 2rem 1.5rem;
	border: 1px solid var(--border-soft);
	border-left: 2px solid var(--sacred-gold);
	border-radius: 3px;
}
.effect-card__title { font-family: var(--font-display); font-weight: 700; color: var(--cream); margin: 0 0 0.5rem; }
.effect-card__sub { color: var(--parchment); font-size: 0.9rem; margin: 0; }

.faq-item {
	border-bottom: 1px solid rgba(200,130,26,0.2);
	padding: 1.25rem 0;
}
.faq-item summary {
	font-family: var(--font-display); font-weight: 700;
	font-size: 1.1rem; letter-spacing: 0.05em;
	color: var(--cream); cursor: pointer;
	list-style: none; position: relative; padding-right: 2rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
	content: '+'; position: absolute; right: 0; top: 0;
	color: var(--sacred-gold); font-size: 1.5rem; line-height: 1;
}
.faq-item[open] summary::after { content: '−'; }
.faq-item p { color: var(--parchment); margin-top: 0.75rem; }

/* ----- WooCommerce cart / checkout / account / generic page ----- */
.page-header--inline {
	padding: clamp(2.5rem, 6vw, 4rem) 0 clamp(1.5rem, 3vw, 2rem);
	margin: 0;
	text-align: center;
}
.page-header--inline .page-title {
	font-family: var(--font-display); font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(2.5rem, 5vw, 4rem);
	margin: 0;
	color: var(--cream);
	letter-spacing: 0.01em;
}
.woocommerce-page-content {
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* WooCommerce notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	background: var(--motark-surface-band) !important;
	color: var(--cream) !important;
	border-left: 3px solid var(--sacred-gold) !important;
	padding: 1rem 1.25rem !important;
	margin: 0 0 1.5rem !important;
	font-family: var(--font-body);
	font-size: 0.9rem;
	border-radius: 0 !important;
	list-style: none;
}
.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a { color: var(--gold-light); }
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none !important; }

/* Generic WC tables (cart, account, etc.) */
.woocommerce table.shop_table,
.woocommerce-page table.shop_table {
	width: 100% !important;
	border: 1px solid var(--motark-surface-border) !important;
	border-collapse: collapse !important;
	margin: 0 0 2rem !important;
	background: var(--motark-surface-night) !important;
	border-radius: 0 !important;
	font-family: var(--font-body);
	font-size: 0.95rem;
}
.woocommerce table.shop_table th,
.woocommerce-page table.shop_table th {
	background: var(--motark-surface-forest) !important;
	color: var(--cream) !important;
	font-family: var(--font-mono) !important;
	font-weight: 400 !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	padding: 1rem 1.25rem !important;
	text-align: left !important;
	border: 0 !important;
	border-bottom: 1px solid var(--motark-surface-border) !important;
}
.woocommerce table.shop_table td,
.woocommerce-page table.shop_table td {
	padding: 1.25rem !important;
	color: var(--cream) !important;
	border-top: 1px solid rgba(200,130,26,0.12) !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	background: transparent !important;
	vertical-align: middle !important;
}
.woocommerce table.shop_table .product-thumbnail,
.woocommerce table.cart .product-thumbnail {
	width: 80px;
	padding: 1rem 0.75rem !important;
}
.woocommerce table.shop_table .product-thumbnail a,
.woocommerce table.cart .product-thumbnail a {
	display: block;
	width: 80px;
	height: 80px;
	overflow: hidden;
	border-radius: 4px;
	background: transparent;
}
.woocommerce table.shop_table .product-thumbnail img,
.woocommerce table.cart .product-thumbnail img {
	width: 80px !important;
	height: 80px !important;
	object-fit: cover !important;
	object-position: center center !important;
	background: transparent !important;
	padding: 0 !important;
	display: block !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
.woocommerce table.shop_table .product-name a,
.woocommerce table.cart .product-name a {
	color: var(--cream) !important;
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 1rem;
	border: 0;
}
.woocommerce table.shop_table .product-name a:hover,
.woocommerce table.cart .product-name a:hover { color: var(--gold-light) !important; }
.woocommerce table.shop_table .product-price,
.woocommerce table.shop_table .product-subtotal,
.woocommerce table.cart .product-price,
.woocommerce table.cart .product-subtotal {
	font-family: var(--font-mono) !important;
	color: var(--gold-light) !important;
	font-size: 0.95rem !important;
	white-space: nowrap;
}
.woocommerce table.cart .product-remove a.remove,
.woocommerce table.shop_table .product-remove a.remove {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	border: 1px solid rgba(240,228,196,0.4) !important;
	color: var(--cream) !important;
	background: transparent !important;
	font-size: 1rem !important;
	border-radius: 0 !important;
	text-decoration: none !important;
}
.woocommerce table.cart .product-remove a.remove:hover,
.woocommerce table.shop_table .product-remove a.remove:hover {
	border-color: var(--spice) !important;
	color: var(--spice) !important;
	background: transparent !important;
}

/* Quantity input */
.woocommerce .quantity input.qty,
.woocommerce-page .quantity input.qty {
	width: 64px !important;
	background: var(--motark-surface-field) !important;
	border: 1px solid var(--motark-surface-border) !important;
	color: var(--cream) !important;
	padding: 0.5rem 0.65rem !important;
	font-family: var(--font-mono) !important;
	font-size: 0.9rem !important;
	border-radius: 0 !important;
	text-align: center;
}

/* Cart actions row (coupon + update cart) */
.woocommerce table.cart td.actions,
.woocommerce-page table.cart td.actions {
	background: var(--motark-surface-night-soft) !important;
	padding: 1.25rem !important;
	border-top: 1px solid var(--motark-surface-border) !important;
}
.woocommerce .coupon { display: inline-flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; vertical-align: middle; margin-right: 1rem; }
.woocommerce .coupon label { display: none !important; }
.woocommerce .coupon input[type="text"],
.woocommerce-page .coupon input#coupon_code {
	width: 220px !important;
	background: var(--motark-surface-field) !important;
	border: 1px solid var(--motark-surface-border) !important;
	color: var(--cream) !important;
	padding: 0.7rem 0.9rem !important;
	font-family: var(--font-mono) !important;
	font-size: 0.85rem !important;
	border-radius: 0 !important;
}

/* WC buttons → brand buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.wc-block-components-button {
	display: inline-block !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	font-size: 0.8rem !important;
	padding: 0.85rem 1.75rem !important;
	border: 1px solid var(--gold-light) !important;
	border-radius: 0 !important;
	background: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
	min-height: 0 !important;
	height: auto !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover {
	background: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
	color: var(--jungle-night) !important;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.checkout-button {
	background: var(--gold-light) !important;
	border-color: var(--gold-light) !important;
	color: var(--jungle-night) !important;
}
.woocommerce a.checkout-button {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	padding: 1rem 1.5rem !important;
	font-size: 0.9rem !important;
}
.woocommerce button[name="update_cart"] {
	background: transparent !important;
	color: var(--cream) !important;
	border: 1px solid rgba(240,228,196,0.45) !important;
}
.woocommerce button[name="update_cart"]:hover {
	background: transparent !important;
	color: var(--gold-light) !important;
	border-color: var(--gold-light) !important;
}

/* Cart totals box */
.cart-collaterals {
	margin-top: 2rem;
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	clear: both;
}
.cart-collaterals::before,
.cart-collaterals::after {
	display: none !important;
	content: none !important;
}
.cart-collaterals .cart_totals {
	float: none !important;
	background: var(--motark-surface-panel) !important;
	border: 1px solid var(--motark-surface-border) !important;
	padding: 1.35rem 1.5rem 1.4rem !important;
	max-width: 520px;
	width: 100%;
	margin-left: auto;
	box-sizing: border-box;
	box-shadow: var(--motark-surface-shadow);
}
body.woocommerce-cart .cart-collaterals .product-recommendations--cross-sells {
	float: none !important;
	width: 100% !important;
	clear: both;
	margin: 0 !important;
	padding-top: 0 !important;
}
.cart-collaterals .cart_totals h2 {
	font-family: var(--font-display) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	font-size: 1.5rem !important;
	margin: 0 0 1rem !important;
	letter-spacing: 0.04em;
	color: var(--cream);
}
.cart-collaterals .cart_totals table.shop_table {
	width: 100% !important;
	margin: 0 0 1rem !important;
	border: 1px solid rgba(200, 130, 26, 0.12) !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 6px !important;
	overflow: hidden;
	background: rgba(15, 22, 16, 0.55) !important;
}
.cart-collaterals .cart_totals table.shop_table th,
.cart-collaterals .cart_totals table.shop_table td {
	background: transparent !important;
	padding: 0.72rem 1.15rem !important;
	border-bottom: 1px solid rgba(200, 130, 26, 0.1) !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	font-size: 0.9rem !important;
	vertical-align: middle !important;
	line-height: 1.4 !important;
}
.cart-collaterals .cart_totals table.shop_table th {
	font-family: var(--font-mono) !important;
	letter-spacing: 0.16em !important;
	font-size: 0.68rem !important;
	font-weight: 400 !important;
	color: var(--parchment) !important;
	width: 46%;
	text-align: left !important;
	text-transform: uppercase;
}
.cart-collaterals .cart_totals table.shop_table td {
	color: var(--gold-light) !important;
	font-family: var(--font-mono) !important;
	font-size: 0.85rem !important;
	text-align: right !important;
	white-space: nowrap;
}
.cart-collaterals .cart_totals tr.cart-subtotal th,
.cart-collaterals .cart_totals tr.cart-subtotal td,
.cart-collaterals .cart_totals tr.tax-total th,
.cart-collaterals .cart_totals tr.tax-total td,
.cart-collaterals .cart_totals tr.fee th,
.cart-collaterals .cart_totals tr.fee td {
	padding-top: 0.65rem !important;
	padding-bottom: 0.65rem !important;
}
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals th,
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals td {
	padding-top: 0.7rem !important;
	padding-bottom: 0.7rem !important;
	vertical-align: middle !important;
}
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals td {
	white-space: normal;
}
.cart-collaterals .cart_totals tr.woocommerce-shipping-totals td > * {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.4rem;
	flex-wrap: wrap;
	text-align: right;
}
.cart-collaterals .cart_totals table.shop_table td .woocommerce-shipping-methods,
.cart-collaterals .cart_totals table.shop_table td form.woocommerce-shipping-calculator {
	text-align: right;
	margin: 0;
}
.cart-collaterals .cart_totals tr.order-total th,
.cart-collaterals .cart_totals tr.order-total td {
	border-top: 1px solid rgba(200, 130, 26, 0.16) !important;
	border-bottom: 0 !important;
	padding-top: 0.85rem !important;
	padding-bottom: 0.85rem !important;
	vertical-align: middle !important;
}
.cart-collaterals .cart_totals tr.order-total th {
	font-size: 0.72rem !important;
	color: var(--cream) !important;
}
.cart-collaterals .cart_totals tr.order-total td {
	color: var(--cream) !important;
	font-weight: 700 !important;
	font-size: 1.1rem !important;
	letter-spacing: 0.02em;
}
.cart-collaterals .shipping-calculator-button {
	display: inline !important;
	color: var(--gold-light) !important;
	border-bottom: 1px solid rgba(232, 168, 58, 0.45) !important;
	font-family: var(--font-mono) !important;
	font-size: 0.82rem !important;
	line-height: 1.4;
	text-decoration: none !important;
	white-space: nowrap;
}
.cart-collaterals .shipping-calculator-button:hover {
	color: var(--cream) !important;
	border-bottom-color: var(--gold-light) !important;
}
.cart-collaterals .wc-proceed-to-checkout {
	margin: 0 !important;
	padding: 0 !important;
}
.cart-collaterals .wc-proceed-to-checkout .checkout-button {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
	margin: 0 !important;
}
/* Don't let generic cart table rules crush totals padding */
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table {
	border-collapse: separate !important;
	margin: 0 0 1rem !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
body.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td {
	padding: 0.72rem 1.15rem !important;
	border-left: 0 !important;
	border-right: 0 !important;
}
.cart-empty {
	text-align: center;
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.5rem, 4vw, 2.5rem);
	color: var(--parchment);
	background: rgba(26, 35, 24, 0.78);
	border: 1px solid rgba(200, 130, 26, 0.14);
	box-shadow: var(--shadow-card);
	margin: 1.5rem 0 2rem;
	font-size: 1.05rem;
	line-height: 1.6;
}

/* ----- Cart shortcode (no classes) ------ */
/* Some cart templates strip the standard WC classes (shop_table, cart_item,
   product-thumbnail, etc.) and only leave data-title attributes on cells.
   These rules target the cart table by body class + data-title fallbacks. */
body.woocommerce-cart .page-content { color: var(--cream); }
body.woocommerce-cart .page-header--inline {
	margin-bottom: clamp(1rem, 3vw, 1.75rem);
	padding-bottom: 0;
	border-bottom: 0;
}
body.woocommerce-cart .page-header--inline .page-title {
	margin: 0;
}
body.woocommerce-cart .return-to-shop {
	margin: 0 0 3rem;
	text-align: center;
}
body.woocommerce-cart .return-to-shop .button,
body.woocommerce-cart a.button.wc-backward {
	display: inline-block;
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 0.85rem;
	padding: 0.95rem 2rem;
	background: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	border: 1px solid var(--gold-light) !important;
	border-radius: 6px;
	text-decoration: none !important;
	transition: background 0.2s, border-color 0.2s;
}
body.woocommerce-cart .return-to-shop .button:hover,
body.woocommerce-cart a.button.wc-backward:hover {
	background: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
}
body.woocommerce-cart .page-content table,
body.woocommerce-cart .cart-collaterals .cart_totals {
	border-radius: 8px;
	box-shadow: var(--shadow-card);
}
body.woocommerce-cart .cart-page-top .product-recommendations--cart-hero {
	margin: 0;
}
body.woocommerce-cart .page-content > br { display: none !important; }
body.woocommerce-cart .page-content > p:empty { display: none !important; }
body.woocommerce-cart .page-content form { margin: 0 !important; }
body.woocommerce-cart .page-content table {
	width: 100% !important;
	border: 1px solid var(--motark-surface-border) !important;
	border-collapse: collapse !important;
	background: var(--motark-surface-night) !important;
	margin: 0 0 2rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.95rem !important;
	color: var(--cream) !important;
}
body.woocommerce-cart .page-content table thead th {
	background: var(--motark-surface-forest) !important;
	color: var(--gold-light) !important;
	font-family: var(--font-mono) !important;
	font-weight: 400 !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	padding: 1rem 1.25rem !important;
	text-align: left !important;
	border: 0 !important;
	border-bottom: 1px solid var(--motark-surface-border) !important;
}
body.woocommerce-cart .page-content table tbody td {
	padding: 1.25rem !important;
	color: var(--cream) !important;
	border-top: 1px solid var(--motark-surface-border) !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	background: transparent !important;
	vertical-align: middle !important;
}
/* Item images */
body.woocommerce-cart .page-content table tbody td img {
	width: 80px !important;
	height: 80px !important;
	max-width: 80px !important;
	max-height: 80px !important;
	object-fit: cover !important;
	object-position: center center !important;
	background: transparent !important;
	padding: 0 !important;
	display: block !important;
	margin: 0 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
}
/* Remove (×) link is the first cell anchor with aria-label="Remove ..." */
body.woocommerce-cart .page-content table tbody td a[aria-label^="Remove"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	line-height: 1 !important;
	border: 1px solid rgba(240,228,196,0.4) !important;
	color: var(--cream) !important;
	background: transparent !important;
	font-size: 1.1rem !important;
	border-radius: 0 !important;
	text-decoration: none !important;
}
body.woocommerce-cart .page-content table tbody td a[aria-label^="Remove"]:hover {
	border-color: var(--spice) !important;
	color: var(--spice) !important;
}
/* Product name link (data-title="Product") */
body.woocommerce-cart .page-content table tbody td[data-title="Product"] a {
	color: var(--cream) !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	font-size: 1rem !important;
	border: 0 !important;
	text-decoration: none !important;
}
body.woocommerce-cart .page-content table tbody td[data-title="Product"] a:hover { color: var(--gold-light) !important; }
/* Price / subtotal */
body.woocommerce-cart .page-content table tbody td[data-title="Price"],
body.woocommerce-cart .page-content table tbody td[data-title="Subtotal"] {
	font-family: var(--font-mono) !important;
	color: var(--gold-light) !important;
	font-size: 0.95rem !important;
	white-space: nowrap !important;
}
/* Quantity input */
body.woocommerce-cart .page-content table tbody td[data-title="Quantity"] label {
	display: none !important;
}
body.woocommerce-cart .page-content table tbody td[data-title="Quantity"] input.qty,
body.woocommerce-cart .page-content table input[type="number"] {
	width: 64px !important;
	background: var(--motark-surface-field) !important;
	border: 1px solid var(--motark-surface-border) !important;
	color: var(--cream) !important;
	padding: 0.5rem 0.65rem !important;
	font-family: var(--font-mono) !important;
	font-size: 0.9rem !important;
	border-radius: 0 !important;
	text-align: center !important;
}
/* Update Cart row (last <td colspan="6">) */
body.woocommerce-cart .page-content table tbody tr:last-child td {
	background: var(--motark-surface-night-soft) !important;
	padding: 1.25rem !important;
	border-top: 1px solid var(--motark-surface-border) !important;
	text-align: right !important;
}
body.woocommerce-cart .page-content button[name="update_cart"] {
	display: inline-block !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	font-size: 0.8rem !important;
	padding: 0.85rem 1.75rem !important;
	border: 1px solid rgba(240,228,196,0.45) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--cream) !important;
	cursor: pointer !important;
}
body.woocommerce-cart .page-content button[name="update_cart"]:hover {
	color: var(--gold-light) !important;
	border-color: var(--gold-light) !important;
}
/* Coupon row (the form below the table) */
body.woocommerce-cart .page-content #coupon_code {
	width: 220px !important;
	background: var(--motark-surface-field) !important;
	border: 1px solid var(--motark-surface-border) !important;
	color: var(--cream) !important;
	padding: 0.7rem 0.9rem !important;
	font-family: var(--font-mono) !important;
	font-size: 0.85rem !important;
	border-radius: 0 !important;
	margin-right: 0.5rem !important;
}
body.woocommerce-cart .page-content button[name="apply_coupon"] {
	display: inline-block !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	font-size: 0.8rem !important;
	padding: 0.85rem 1.5rem !important;
	border: 1px solid var(--gold-light) !important;
	border-radius: 0 !important;
	background: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	cursor: pointer !important;
}
body.woocommerce-cart .page-content button[name="apply_coupon"]:hover {
	background: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
}

/* Cart Totals heading + table */
body.woocommerce-cart .page-content h2 {
	font-family: var(--font-display) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	font-size: 1.5rem !important;
	margin: 2rem 0 1.25rem !important;
	letter-spacing: 0.04em !important;
	color: var(--cream) !important;
}
/* The 2nd table on the page is the totals  -  style it as a side panel */
body.woocommerce-cart .page-content table:nth-of-type(2) {
	max-width: 520px !important;
	margin-left: auto !important;
	background: var(--motark-surface-panel) !important;
	border: 1px solid var(--motark-surface-border) !important;
	box-shadow: var(--motark-surface-shadow);
}
body.woocommerce-cart .page-content table:nth-of-type(2) th,
body.woocommerce-cart .page-content table:nth-of-type(2) td {
	padding: 0.85rem 1rem !important;
	font-size: 0.9rem !important;
}
body.woocommerce-cart .page-content table:nth-of-type(2) th {
	font-family: var(--font-mono) !important;
	letter-spacing: 0.18em !important;
	font-size: 0.7rem !important;
	color: var(--parchment) !important;
	background: transparent !important;
	width: 40% !important;
	text-transform: uppercase !important;
}
body.woocommerce-cart .page-content table:nth-of-type(2) td {
	color: var(--gold-light) !important;
	font-family: var(--font-mono) !important;
	text-align: right !important;
}
/* Proceed to Checkout link  -  the cart shortcode emits a plain
   <p><a href=".../checkout/">Proceed to Checkout</a></p>, no class */
body.woocommerce-cart .page-content > p:has(> a[href$="/checkout/"]),
body.woocommerce-cart .page-content > p:has(> a[href*="/checkout"]) {
	max-width: 520px !important;
	margin: 1.5rem 0 1.5rem auto !important;
	padding: 0 !important;
}
body.woocommerce-cart .page-content > p:has(> a[href$="/checkout/"]) > br,
body.woocommerce-cart .page-content > p:has(> a[href*="/checkout"]) > br {
	display: none !important;
}
body.woocommerce-cart .page-content a[href$="/checkout/"],
body.woocommerce-cart .page-content a[href*="/checkout/"] {
	display: block !important;
	width: 100% !important;
	padding: 1rem 1.5rem !important;
	text-align: center !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	font-size: 0.9rem !important;
	background: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	border: 1px solid var(--gold-light) !important;
	border-radius: 0 !important;
	text-decoration: none !important;
}
body.woocommerce-cart .page-content a[href$="/checkout/"]:hover,
body.woocommerce-cart .page-content a[href*="/checkout/"]:hover {
	background: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
	color: var(--jungle-night) !important;
}
/* Calculate shipping link */
body.woocommerce-cart .page-content a[href="#"] {
	color: var(--gold-light) !important;
	font-family: var(--font-mono) !important;
	font-size: 0.85rem !important;
	border-bottom: 1px solid rgba(232,168,58,0.4) !important;
	text-decoration: none !important;
}
/* Mobile responsive for cart with no classes */
@media (max-width: 700px) {
	body.woocommerce-cart .page-content table {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.woocommerce-cart .page-content table thead { display: none !important; }
	body.woocommerce-cart .page-content table tbody tr:not(:last-child) {
		display: grid !important;
		grid-template-columns: 80px 1fr auto !important;
		grid-template-areas:
			"thumb product remove"
			"thumb price price"
			"qty qty qty"
			"subtotal subtotal subtotal";
		gap: 0.5rem 0.75rem !important;
		padding: 1rem !important;
		border-top: 1px solid rgba(200,130,26,0.12) !important;
		align-items: start;
	}
	body.woocommerce-cart .page-content table tbody tr:last-child {
		display: block !important;
		padding: 1rem !important;
	}
	body.woocommerce-cart .page-content table tbody td {
		padding: 0.2rem 0 !important;
		border: 0 !important;
		text-align: left !important;
	}
	body.woocommerce-cart .page-content table tbody td[data-title="Product"] {
		grid-area: product;
		text-align: left !important;
	}
	body.woocommerce-cart .page-content table tbody td[data-title="Price"] {
		grid-area: price;
		text-align: left !important;
	}
	body.woocommerce-cart .page-content table tbody td[data-title="Quantity"] {
		grid-area: qty;
	}
	body.woocommerce-cart .page-content table tbody td[data-title="Subtotal"] {
		grid-area: subtotal;
		text-align: left !important;
	}
	body.woocommerce-cart .page-content table tbody td:has(a[aria-label^="Remove"]) {
		grid-area: remove;
		text-align: right !important;
		align-self: start;
		padding-top: 0 !important;
	}
	body.woocommerce-cart .page-content table tbody td:has(img) {
		grid-area: thumb;
	}
	body.woocommerce-cart .page-content table tbody td[data-title]::before {
		content: attr(data-title);
		display: block;
		font-family: var(--font-mono);
		font-size: 0.65rem;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: var(--parchment);
		opacity: 0.7;
		margin-bottom: 0.15rem;
	}
	body.woocommerce-cart .page-content table:nth-of-type(2) {
		display: block !important;
	}
	body.woocommerce-cart .page-content table:nth-of-type(2) tbody tr {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		align-items: center;
		gap: 0.35rem 1rem;
	}
	body.woocommerce-cart .page-content table:nth-of-type(2) th {
		width: auto !important;
		text-align: left !important;
		padding: 0.65rem 1rem !important;
	}
	body.woocommerce-cart .page-content table:nth-of-type(2) td {
		text-align: right !important;
		padding: 0.65rem 1rem !important;
		white-space: nowrap;
	}
	body.woocommerce-cart .page-content table:nth-of-type(2) tr.order-total th,
	body.woocommerce-cart .page-content table:nth-of-type(2) tr.order-total td {
		padding-top: 0.85rem !important;
		padding-bottom: 0.85rem !important;
	}
	body.woocommerce-cart .page-content table:nth-of-type(2),
	body.woocommerce-cart .page-content > p:has(> a[href$="/checkout/"]),
	body.woocommerce-cart .page-content > p:has(> a[href*="/checkout"]) {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body.woocommerce-cart .page-content #coupon_code {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-bottom: 0.65rem !important;
	}
	body.woocommerce-cart .page-content button[name="apply_coupon"],
	body.woocommerce-cart .page-content button[name="update_cart"] {
		width: 100% !important;
		text-align: center !important;
	}
	body.woocommerce-cart .page-content h2 {
		text-align: center;
	}
}

/* ----- Checkout layout ----- */
body.woocommerce-checkout .page-header--inline {
	margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
	padding-bottom: clamp(1rem, 3vw, 1.5rem);
	border-bottom: 1px solid rgba(200, 130, 26, 0.14);
}
body.woocommerce-checkout .page-header--inline .page-title {
	margin: 0;
}
.woocommerce-checkout .col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 2.5rem);
	width: 100% !important;
	margin-bottom: 2rem !important;
}
.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after {
	display: none !important;
	content: none !important;
}
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields {
	background: rgba(26, 35, 24, 0.78);
	border: 1px solid rgba(200, 130, 26, 0.14);
	border-radius: 8px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: var(--shadow-card);
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
	font-family: var(--font-display);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: clamp(1.25rem, 2.5vw, 1.6rem);
	margin: 0 0 1.25rem;
	color: var(--cream);
	border-bottom: 1px solid rgba(200, 130, 26, 0.12);
	padding-bottom: 0.75rem;
}
.woocommerce-checkout #ship-to-different-address {
	margin: 0 0 1rem;
	padding: 0.65rem 0.85rem;
	background: rgba(15, 22, 16, 0.45);
	border: 1px solid rgba(200, 130, 26, 0.12);
	border-radius: 6px;
}
.woocommerce-checkout #ship-to-different-address label {
	display: flex !important;
	align-items: center;
	gap: 0.65rem;
	margin: 0 !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.16em !important;
	cursor: pointer;
}
.woocommerce-checkout #ship-to-different-address-checkbox {
	accent-color: var(--sacred-gold);
	width: 1.1rem;
	height: 1.1rem;
	margin: 0;
}
.woocommerce-checkout #order_review {
	background: rgba(26, 35, 24, 0.78);
	border: 1px solid rgba(200, 130, 26, 0.14);
	border-radius: 8px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: var(--shadow-card);
}
.woocommerce-checkout-review-order-table {
	border-radius: 6px;
	overflow: hidden;
}
@media (max-width: 900px) {
	.woocommerce-checkout .col2-set {
		grid-template-columns: 1fr !important;
	}
}

/* Address forms / checkout */
.woocommerce form .form-row label,
.woocommerce-page form .form-row label,
.woocommerce form label {
	color: var(--parchment) !important;
	font-family: var(--font-mono) !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	display: block !important;
	margin-bottom: 0.4rem !important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form input.input-text,
.woocommerce-page form textarea,
.woocommerce-page form select,
.woocommerce form .select2-selection {
	background: rgba(37, 48, 32, 0.85) !important;
	border: 1px solid rgba(200, 130, 26, 0.2) !important;
	color: var(--cream) !important;
	padding: 0.75rem 0.95rem !important;
	font-family: var(--font-body) !important;
	font-size: 0.95rem !important;
	border-radius: 6px !important;
	width: 100% !important;
	min-height: 44px !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.woocommerce-page form input.input-text:focus,
.woocommerce-page form textarea:focus,
.woocommerce-page form select:focus {
	border-color: rgba(232, 168, 58, 0.45) !important;
	box-shadow: 0 0 0 2px rgba(200, 130, 26, 0.12);
	outline: none;
}
.woocommerce form .form-row { margin: 0 0 1rem !important; }
.woocommerce-checkout #payment {
	background: var(--jungle-deep) !important;
	border: 1px solid rgba(200,130,26,0.18) !important;
	border-radius: 0 !important;
	padding: 1.5rem !important;
}
.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid rgba(200,130,26,0.18) !important;
}
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
	border-top: 1px solid rgba(200,130,26,0.18) !important;
}

/* Light Authorize.net / payment boxes  -  do not use parchment labels here */
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment div.payment_box {
	background: #f4f0e8 !important;
	color: var(--jungle-deep) !important;
}
.woocommerce-checkout #payment .payment_box label,
.woocommerce-checkout #payment .payment_box .form-row label,
.woocommerce-checkout #payment .payment_box fieldset label,
.woocommerce-checkout #payment .payment_box .wc-authorize-net-cim-credit-card-new-payment-method-form label,
#wc-authorize-net-cim-credit-card-new-payment-method-form label {
	color: var(--jungle-deep) !important;
	opacity: 1 !important;
}
.woocommerce-checkout #payment .payment_box p,
.woocommerce-checkout #payment .payment_box .woocommerce-info {
	color: #3d4a40 !important;
}
.woocommerce-checkout #payment .payment_box input.input-text,
.woocommerce-checkout #payment .payment_box input[type="tel"],
.woocommerce-checkout #payment .payment_box input[type="text"],
.woocommerce-checkout #payment .payment_box select {
	background: var(--jungle-mid) !important;
	border: 1px solid rgba(200, 130, 26, 0.35) !important;
	color: var(--cream) !important;
}
.woocommerce-checkout #payment .payment_box ::placeholder {
	color: rgba(240, 228, 196, 0.55) !important;
}

/* My Account dashboard (logged-in nav + content only).
   Use .account-form for higher specificity over the broken blanket rule below.
   Do NOT grid the logged-out login/register wrapper  -  it uses .col2-set. */
.woocommerce-account .account-form .woocommerce {
	display: block !important;
}
.woocommerce-account .account-form .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid !important;
	grid-template-columns: 220px minmax(0, 1fr) !important;
	gap: 2.5rem !important;
	align-items: start;
}
.woocommerce-account .account-form nav.woocommerce-MyAccount-navigation {
	grid-column: 1 !important;
	grid-row: 1 !important;
	min-width: 220px !important;
	float: none !important;
	width: auto !important;
}
.woocommerce-account .account-form .woocommerce-MyAccount-content {
	grid-column: 2 !important;
	grid-row: 1 !important;
	min-width: 0 !important;
	float: none !important;
	width: auto !important;
}
.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-direction: column; gap: 0.25rem;
}
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a {
	display: block;
	font-family: var(--font-mono); font-size: 0.7rem;
	letter-spacing: 0.22em; text-transform: uppercase;
	padding: 0.85rem 1rem;
	background: var(--motark-surface-night-soft);
	border-left: 2px solid transparent;
	color: var(--parchment);
}
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a:hover {
	background: var(--motark-surface-forest);
	border-left-color: var(--gold-light);
	color: var(--cream);
}
.woocommerce-MyAccount-content {
	background: var(--motark-surface-panel);
	border: 1px solid var(--motark-surface-border);
	border-radius: 14px;
	padding: 1.75rem;
	box-shadow: var(--motark-surface-shadow);
}
/* My Account tabs  -  tame global display headings inside the content panel */
.woocommerce-MyAccount-content > p {
	color: var(--parchment);
	font-size: 0.95rem;
	margin-bottom: 1.5rem;
}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: 1.25rem !important;
	line-height: 1.2 !important;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 1rem !important;
	color: var(--cream) !important;
}
/* Addresses */
.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(2rem, 5vw, 3rem) !important;
	width: 100% !important;
}
.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set::before,
.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set::after {
	display: none !important;
	content: none !important;
}
.woocommerce-MyAccount-content .woocommerce-Address {
	background: var(--motark-surface-night-soft);
	border: 1px solid var(--motark-surface-border);
	border-radius: 10px;
	padding: 1.5rem;
}
.woocommerce-MyAccount-content .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem 1.5rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--motark-surface-border);
}
.woocommerce-MyAccount-content .woocommerce-Address-title h2 {
	margin: 0 !important;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sacred-gold);
	text-decoration: none;
	white-space: nowrap;
}
.woocommerce-MyAccount-content .woocommerce-Address-title .edit:hover {
	color: var(--gold-light);
}
.woocommerce-MyAccount-content .woocommerce-Address address {
	font-style: normal;
	font-family: var(--font-body);
	font-size: 0.95rem;
	color: var(--parchment);
	line-height: 1.7;
}
/* YITH Affiliate registration (dashboard tab before signup) */
.woocommerce-MyAccount-content .yith-wcaf-registration-form .become-an-affiliate-form {
	background: var(--motark-surface-night-soft) !important;
	padding: 1.75rem !important;
	border: 1px solid var(--motark-surface-border) !important;
	margin: 0 !important;
	border-radius: 10px;
}
.woocommerce-MyAccount-content .yith-wcaf-registration-form .become-an-affiliate-form p {
	color: var(--cream) !important;
	margin: 0 0 1.25rem !important;
	font-size: 1rem;
	line-height: 1.6;
}
.woocommerce-MyAccount-content .become-an-affiliate .btn.button,
.woocommerce-MyAccount-content .yith-wcaf-registration-form button.btn {
	display: inline-block !important;
}
/* YITH Affiliate dashboard (after signup) */
.woocommerce-MyAccount-content .yith-wcaf-dashboard,
.woocommerce-MyAccount-content .yith-wcaf-panel {
	background: transparent !important;
	color: var(--parchment);
}
.woocommerce-MyAccount-content .yith-wcaf-dashboard table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
}
.woocommerce-MyAccount-content .yith-wcaf-dashboard th,
.woocommerce-MyAccount-content .yith-wcaf-dashboard td {
	border: 1px solid rgba(200,130,26,0.18);
	padding: 0.65rem 0.85rem;
	font-size: 0.9rem;
	color: var(--parchment);
}
.woocommerce-MyAccount-content .yith-wcaf-dashboard th {
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--cream);
	background: var(--motark-surface-forest);
}
@media (max-width: 800px) {
	.woocommerce-MyAccount-content .woocommerce-Addresses.col2-set {
		grid-template-columns: 1fr !important;
	}
}
@media (max-width: 800px) {
	.woocommerce-account .account-form .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: 1fr !important;
	}
	.woocommerce-account .account-form nav.woocommerce-MyAccount-navigation,
	.woocommerce-account .account-form .woocommerce-MyAccount-content {
		grid-column: 1 !important;
	}
	.woocommerce-account nav.woocommerce-MyAccount-navigation {
		min-width: 0 !important;
		width: 100% !important;
	}
	.woocommerce-account nav.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		gap: 0;
		scroll-snap-type: x proximity;
		padding-bottom: 0.25rem;
	}
	.woocommerce-account nav.woocommerce-MyAccount-navigation ul li {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}
	.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a {
		white-space: nowrap;
		padding: 0.75rem 1rem;
		border-left: 0;
		border-bottom: 2px solid transparent;
	}
	.woocommerce-account nav.woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-account nav.woocommerce-MyAccount-navigation ul li a:hover {
		border-left: 0;
		border-bottom-color: var(--gold-light);
	}
}

/* Cart page mobile responsive */
@media (max-width: 700px) {
	.woocommerce table.cart thead { display: none; }
	.woocommerce table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: 1fr auto !important;
		grid-template-areas:
			"name remove"
			"price qty"
			"subtotal subtotal" !important;
		align-items: center !important;
		gap: 0.5rem 0.75rem !important;
		padding: 1.1rem 1rem !important;
		border-top: 1px solid rgba(200,130,26,0.12) !important;
	}
	.woocommerce table.cart tr.cart_item td {
		padding: 0 !important;
		border: 0 !important;
		width: auto !important;
		text-align: left !important;
	}
	/* Hide the WC responsive data-title labels; the layout is self-explanatory. */
	.woocommerce table.cart tr.cart_item td::before { display: none !important; }
	.woocommerce table.cart tr.cart_item td.product-thumbnail { display: none !important; }
	.woocommerce table.cart tr.cart_item td.product-remove {
		grid-area: remove;
		justify-self: end;
		align-self: start;
	}
	.woocommerce table.cart tr.cart_item td.product-name {
		grid-area: name;
		align-self: start;
		min-width: 0;
	}
	.woocommerce table.cart tr.cart_item td.product-price {
		grid-area: price;
		text-align: left !important;
	}
	.woocommerce table.cart tr.cart_item td.product-quantity {
		grid-area: qty;
		justify-self: end;
	}
	.woocommerce table.cart tr.cart_item td.product-subtotal {
		grid-area: subtotal;
		text-align: right !important;
		padding-top: 0.5rem !important;
		border-top: 1px solid rgba(200,130,26,0.1) !important;
	}
	.woocommerce table.cart td.actions { grid-column: 1 / -1; }
	.cart-collaterals .cart_totals {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.cart-collaterals .cart_totals h2 {
		text-align: center;
	}
	.cart-collaterals .wc-proceed-to-checkout .checkout-button {
		width: 100% !important;
	}
}


/* ----- account ----- */
.account-intro {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background: transparent;
}
.account-intro__grid { gap: 2rem; }
.account-intro__card {
	background: var(--motark-surface-panel);
	border: 1px solid var(--motark-surface-border);
	border-left: 3px solid var(--sacred-gold);
	border-radius: 14px;
	padding: 2rem;
	box-shadow: var(--motark-surface-shadow);
}
.account-intro__card h2 { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; }
@media (max-width: 700px) {
	.account-intro { padding: 2.5rem 0; }
	.account-intro__grid { grid-template-columns: 1fr !important; }
	.account-form { padding: 2rem 0; }
}
.account-form { padding: 3rem 0; }
.account-form .woocommerce:not(:has(nav.woocommerce-MyAccount-navigation)) {
	display: block !important;
}
.account-form .woocommerce .col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(2rem, 5vw, 3rem) !important;
	width: 100% !important;
	max-width: 100% !important;
}
.account-form .woocommerce .col2-set::before,
.account-form .woocommerce .col2-set::after {
	display: none !important;
	content: none !important;
}
.account-form .woocommerce .col2-set .u-column1,
.account-form .woocommerce .col2-set .u-column2,
.account-form .woocommerce .col2-set .col-1,
.account-form .woocommerce .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}
.account-form .woocommerce .col2-set h2 {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 1.25rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 1.25rem;
	color: var(--cream);
}
.account-form .woocommerce .col2-set .woocommerce-form {
	background: var(--motark-surface-panel);
	border: 1px solid var(--motark-surface-border);
	border-radius: 14px;
	padding: 1.75rem;
	box-shadow: var(--motark-surface-shadow);
}
@media (max-width: 800px) {
	.account-form .woocommerce .col2-set {
		grid-template-columns: 1fr !important;
	}
}

/* ----- contact ----- */
.contact { padding: clamp(3rem, 6vw, 5rem) 0; }
.contact__inner {
	display: grid; grid-template-columns: minmax(280px, 380px) 1fr;
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}
.contact__info .page-header { padding: 0; margin-bottom: 2rem; }
.contact__info .page-title { font-size: clamp(2.5rem, 4vw, 3.5rem); margin: 0; }
.contact__address {
	font-style: normal; font-family: var(--font-mono);
	font-size: 0.95rem;
	color: var(--cream); line-height: 1.9; margin: 0 0 2rem;
}
.contact__address strong {
	display: block; font-family: var(--font-display);
	font-size: 1.3rem; letter-spacing: 0.05em;
	color: var(--gold-light); margin-bottom: .25rem;
	font-weight: 700;
}
.contact__email .eyebrow { display: inline-block; margin-bottom: .25rem; }
.contact__email a {
	color: var(--gold-light);
	font-family: var(--font-mono); font-size: 1rem;
	border-bottom: 1px solid rgba(232,168,58,0.4);
}
.contact__email a:hover { color: var(--cream); border-bottom-color: var(--cream); }
.contact__form {
	background: var(--motark-surface-panel);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	border: 1px solid var(--motark-surface-border);
	border-radius: 16px;
	box-shadow: var(--motark-surface-shadow);
}
.contact__form h2 {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	margin: 0 0 1.5rem;
}
.contact__form p { color: var(--parchment); }
@media (max-width: 800px) { .contact__inner { grid-template-columns: 1fr; } }

/* ----- promo video page ----- */
.promo-hero { padding: clamp(4rem, 10vw, 8rem) 0; background: var(--jungle-deep); }
.promo-hero__title { font-size: clamp(3rem, 8vw, 7rem); margin: 0 0 1.5rem; color: var(--sacred-gold); }
.promo-hero__content { margin-bottom: 2rem; }

/* ----- reviews (homepage cards; full-page widget → yotpo-reviews.css) ----- */
.section--reviews .section__header {
	margin-bottom: clamp(2rem, 5vw, 3rem);
}
.section--reviews .reviews-grid {
	align-items: stretch;
	margin-bottom: 0;
}
.section--reviews .reviews-cta {
	margin: clamp(2.5rem, 5vw, 3.25rem) 0 0;
	padding: 0;
	text-align: center;
}
.section--reviews .reviews-cta .btn {
	margin: 0;
}
.review-card {
	background: rgba(37, 48, 32, 0.5);
	padding: 1.5rem 1.25rem;
	border: 1px solid var(--border-soft);
	border-top: 2px solid rgba(200, 130, 26, 0.35);
	border-radius: 3px;
	height: 100%;
	transition: border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.review-card:hover {
	background: rgba(37, 48, 32, 0.72);
	border-color: var(--border-medium);
	border-top-color: rgba(200, 130, 26, 0.6);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(200, 130, 26, 0.1);
	transform: translateY(-3px);
}
@media (hover: none) {
	.review-card:active {
		background: rgba(37, 48, 32, 0.72);
		border-top-color: rgba(200, 130, 26, 0.55);
		box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
		transform: scale(0.985);
		transition-duration: 0.1s;
	}
}
.review-card__stars { color: var(--sacred-gold); margin-bottom: 0.5rem; letter-spacing: 0.2em; font-size: 0.9rem; }

/* SVG star ratings (product header, cards, Yotpo reviews) */
.motark-stars {
	display: inline-flex;
	align-items: center;
	gap: 0.18rem;
	line-height: 1;
	flex-shrink: 0;
}

.motark-stars__svg {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

.motark-stars__svg svg {
	display: block;
	width: 1em;
	height: 1em;
}

.motark-stars--sm { font-size: 0.95rem; }
.motark-stars--md { font-size: 1.05rem; }
.motark-stars--lg { font-size: 1.2rem; }
.review-card__title {
	font-family: var(--font-display); font-weight: 700;
	font-size: 1rem; letter-spacing: 0.05em;
	margin: 0 0 0.5rem; color: var(--cream);
}
.review-card p { color: var(--parchment); font-size: 0.9rem; line-height: 1.6; margin: 0; }

/* ----- ban list / footer disclaimer (legal strip, not a floating island) ----- */
.section--ban-list {
	padding: 0;
	background: transparent;
	border: 0;
}
.ban-list__disclaimer {
	font-size: 0.72rem;
	line-height: 1.65;
	color: var(--parchment);
	opacity: 0.62;
	max-width: 920px;
	margin: 0 auto;
	padding: clamp(1.75rem, 4vw, 2.5rem) 0 clamp(1.25rem, 3vw, 1.75rem);
	text-align: center;
	border-top: 0;
	position: relative;
}

/* ----- post list (blog) ----- */
.post-list { display: grid; gap: 2rem; padding: 1rem 0 3rem; }
.post-card { display: grid; grid-template-columns: 280px 1fr; gap: 1.5rem; align-items: start; }
.post-card__media img { width: 100%; height: auto; object-fit: contain; }
.post-card__title a { color: var(--cream); }
.post-card__title a:hover { color: var(--sacred-gold); }
.post-card__meta {
	font-family: var(--font-mono); font-size: 0.65rem;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--parchment); opacity: 0.5;
	margin: 0 0 0.75rem;
}
.post-card__excerpt { color: var(--parchment); opacity: 0.85; }
@media (max-width: 700px) { .post-card { grid-template-columns: 1fr; } }

/* ----- footer (transparent  -  texture shows through, no painted band) ----- */
.site-footer {
	position: relative;
	background: transparent;
	padding: clamp(2.5rem, 6vw, 3.75rem) 0 2rem;
	margin-top: 0;
	border-top: 0;
	overflow: visible;
}
.site-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: clamp(1.75rem, 4vw, 2.5rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.35fr) minmax(0, 1fr);
	align-items: start;
}
@media (max-width: 900px) {
	.site-footer__inner {
		grid-template-columns: 1fr;
	}
	.site-footer__nav .footer-menu {
		justify-content: flex-start;
	}
}
.site-footer__nav {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
@media (max-width: 900px) {
	.site-footer__nav {
		align-items: flex-start;
	}
}
.site-footer__nav .footer-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, auto));
	gap: 0.55rem 2rem;
	justify-content: end;
	max-width: 100%;
}
.site-footer__nav .footer-menu a {
	opacity: 0.72;
}
.site-footer__nav .footer-menu a:hover,
.site-footer__nav .footer-menu .current-menu-item > a {
	opacity: 1;
}
.site-footer__nav .menu-item-lab-reports a {
	color: var(--gold-light);
	opacity: 0.9;
}

.site-footer__logo img { height: 44px; width: auto; }
.site-footer__tagline {
	font-family: var(--font-serif); font-style: italic;
	color: var(--parchment); opacity: 0.7;
	margin-top: 0.75rem;
}
.site-footer__signup {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	min-width: 0;
}
.site-footer__signup-title {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.site-footer__signup .eyebrow {
	margin: 0;
}
.footer-menu, .legal-menu {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: 1.5rem;
}
.footer-menu a, .legal-menu a {
	font-family: var(--font-mono); font-size: 0.7rem;
	letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--parchment); opacity: 0.7;
}
.footer-menu a:hover, .legal-menu a:hover { color: var(--sacred-gold); opacity: 1; }
.site-footer__legal {
	grid-column: 1 / -1;
	padding-top: clamp(1.75rem, 4vw, 2.5rem);
	border-top: 1px solid var(--border-soft);
	display: grid;
	gap: 1rem;
	position: relative;
}
.site-footer__copyright {
	font-family: var(--font-mono);
	font-size: 0.7rem; letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--parchment); opacity: 0.45; margin: 0;
}
.site-footer__disclaimer {
	font-size: 0.78rem; line-height: 1.65;
	color: var(--parchment); opacity: 0.45;
	max-width: 960px;
	border-top: 0;
	padding-top: clamp(1rem, 2.5vw, 1.5rem);
	margin-top: 0;
	grid-column: 1 / -1;
	position: relative;
}

/* newsletter signup */
.newsletter-signup {
	width: 100%;
	margin-top: 0.35rem;
}
.newsletter-form {
	display: flex;
	gap: 0.5rem;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}
.newsletter-form__input,
.newsletter-form input[type="email"] {
	flex: 1 1 180px;
	min-width: 0;
	background: transparent;
	border: 0;
	border-bottom: 1px solid rgba(200, 130, 26, 0.3);
	border-radius: 0;
	color: var(--cream);
	padding: 0.65rem 0;
	font: inherit;
	font-size: 0.95rem;
	min-height: 2.5rem;
}
.newsletter-form__input::placeholder,
.newsletter-form input[type="email"]::placeholder {
	color: rgba(240, 228, 196, 0.45);
}
.newsletter-form__input:focus,
.newsletter-form input[type="email"]:focus {
	outline: none;
	border-bottom-color: var(--gold-light);
}
.site-footer .newsletter-form__submit,
.site-footer .newsletter-form .btn--primary {
	flex: 0 0 auto;
	min-height: 2.5rem;
	padding: 0.65rem 1rem !important;
	white-space: nowrap;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(240, 228, 196, 0.45) !important;
	border-radius: 0 !important;
	color: var(--cream) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.18em !important;
}
.site-footer .newsletter-form__submit:hover,
.site-footer .newsletter-form .btn--primary:hover {
	background: transparent !important;
	border-bottom-color: var(--gold-light) !important;
	color: var(--gold-light) !important;
}
.newsletter-form__submit {
	flex: 0 0 auto;
	min-height: 2.75rem;
	padding: 0.8rem 1.35rem !important;
	white-space: nowrap;
}
.newsletter-form__submit.is-loading {
	opacity: 0.65;
	pointer-events: none;
}
.newsletter-form__message {
	flex: 1 1 100%;
	margin: 0.35rem 0 0;
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
}
.newsletter-form__message.is-success {
	color: var(--gold-light);
}
.newsletter-form__message.is-error {
	color: #e8a0a0;
}
.newsletter-form__note {
	font-family: var(--font-mono);
	font-size: 0.65rem;
	color: var(--parchment);
	opacity: 0.45;
	margin: 0.5rem 0 0;
	flex-basis: 100%;
}

/* ----- search form ----- */
.search-form { display: flex; gap: .75rem; max-width: 560px; }
.search-field,
textarea.search-field,
input.search-field {
	flex: 1;
	width: 100%;
	background: var(--jungle-deep);
	border: 1px solid rgba(200,130,26,0.25);
	color: var(--cream);
	padding: 0.85rem 1rem;
	font: inherit;
	font-family: var(--font-body);
	border-radius: 0;
}
.search-field:focus,
textarea.search-field:focus,
input.search-field:focus { outline: 1px solid var(--gold-light); }
.contact-fallback-form .eyebrow { margin-bottom: .35rem; opacity: 1; color: var(--parchment); }
.contact-fallback-form p { margin: 0 0 1rem; }

/* ----- 404 ----- */
.error-404 { padding: 5rem 0; max-width: 640px; }

/* ----- Recommendation popups (cross-sell / up-sell) ----- */
.rec-popup {
	position: fixed;
	inset: 0;
	z-index: 9800;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	pointer-events: none;
}
.rec-popup[hidden] { display: none; }
.rec-popup:not([hidden]) { pointer-events: auto; }
.rec-popup__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 22, 16, 0.72);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	animation: recPopupFadeIn 0.18s ease-out;
}
.rec-popup__panel {
	position: relative;
	z-index: 1;
	width: min(620px, 100%);
	max-height: min(90vh, 820px);
	overflow: auto;
	background: linear-gradient(
		165deg,
		rgba(32, 42, 28, 0.97) 0%,
		rgba(22, 30, 22, 0.98) 100%
	);
	border: 1px solid rgba(200, 130, 26, 0.22);
	border-radius: 10px;
	box-shadow: var(--shadow-lift);
	padding: clamp(1.75rem, 4vw, 2.5rem) clamp(1.35rem, 4vw, 2rem) 2rem;
	text-align: center;
	animation: recPopupIn 0.26s cubic-bezier(0.22, 1, 0.36, 1);
	scrollbar-color: var(--jungle-edge) transparent;
}
.rec-popup--peek .rec-popup__panel {
	width: min(400px, calc(100vw - 1.5rem));
	margin-left: auto;
	margin-right: 0.75rem;
	margin-bottom: 0.75rem;
	align-self: flex-end;
	max-height: 85vh;
	animation: recPeekIn 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.rec-popup--peek {
	align-items: flex-end;
	justify-content: flex-end;
	padding: 0 0 1rem;
}
.rec-popup--peek .rec-popup__backdrop {
	background: rgba(15, 22, 16, 0.4);
}
.rec-popup__sparkle {
	position: absolute;
	top: 0;
	left: 12%;
	right: 12%;
	height: 2px;
	border-radius: 0 0 4px 4px;
	background: linear-gradient(90deg, transparent, var(--sacred-gold), transparent);
	opacity: 0.65;
}
.rec-popup__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 2.5rem;
	height: 2.5rem;
	border: 0;
	border-radius: 8px;
	background: rgba(15, 22, 16, 0.5);
	color: var(--parchment);
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.rec-popup__close:hover {
	background: rgba(200, 130, 26, 0.2);
	color: var(--cream);
	transform: none;
}
.rec-popup__mark {
	width: 52px;
	height: auto;
	margin: 0 auto 0.85rem;
	opacity: 0.9;
	animation: recMarkPop 0.32s ease-out 0.04s both;
}
.rec-popup__eyebrow {
	color: var(--gold-light);
	margin-bottom: 0.4rem;
}
.rec-popup__title {
	font-family: var(--font-display);
	font-weight: 900;
	text-transform: uppercase;
	font-size: clamp(1.35rem, 4vw, 1.85rem);
	line-height: 1.08;
	margin: 0 0 0.45rem;
	color: var(--cream);
	text-shadow: var(--text-shadow-soft);
}
.rec-popup__copy {
	color: var(--parchment);
	font-size: 0.92rem;
	margin: 0 0 1.15rem;
	line-height: 1.55;
	max-width: 36ch;
	margin-left: auto;
	margin-right: auto;
}
.rec-popup__body {
	text-align: left;
	margin-bottom: 1.35rem;
}
.rec-popup__section + .rec-popup__section {
	margin-top: 1.15rem;
	padding-top: 1.15rem;
	border-top: 1px solid rgba(200, 130, 26, 0.14);
}
.rec-popup__section-label {
	font-family: var(--font-mono);
	font-size: 0.65rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold-light);
	margin: 0 0 0.65rem;
	opacity: 0.9;
}
.rec-popup__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}
.rec-popup__item {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	background: rgba(15, 22, 16, 0.65);
	border: 1px solid rgba(200, 130, 26, 0.16);
	border-radius: 8px;
	padding: 0.75rem;
	box-shadow: inset 0 1px 0 rgba(240, 228, 196, 0.04);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.rec-popup__item:hover {
	border-color: rgba(232, 168, 58, 0.35);
	box-shadow: var(--shadow-card);
	transform: translateY(-2px);
}
.rec-popup__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.rec-popup__image {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	border-radius: 6px;
	margin-bottom: 0.35rem;
	padding: 0.5rem;
	background: var(--image-well-bg);
	box-shadow: inset 0 0 28px rgba(0, 0, 0, 0.28);
}
.rec-popup__name {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 0.8rem;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--cream);
	margin-bottom: 0.15rem;
}
.rec-popup__price {
	display: block;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	color: var(--sacred-gold);
	margin-bottom: 0.15rem;
}
.rec-popup__atc {
	display: block;
	width: 100%;
	padding: 0.55rem 0.75rem !important;
	font-size: 0.68rem !important;
	letter-spacing: 0.12em;
	text-align: center;
	border-radius: 6px !important;
}
.rec-popup__actions {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 0.25rem;
	border-top: 1px solid rgba(200, 130, 26, 0.12);
}
.rec-popup__actions .btn {
	min-width: 9.5rem;
	border-radius: 6px;
}
body.rec-popup-open { overflow: hidden; }
@keyframes recPopupFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes recPopupIn {
	from { opacity: 0; transform: scale(0.97) translateY(10px); }
	to { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes recPeekIn {
	from { opacity: 0; transform: translateX(24px) translateY(8px); }
	to { opacity: 1; transform: translateX(0) translateY(0); }
}
@keyframes recMarkPop {
	from { opacity: 0; transform: scale(0.88); }
	to { opacity: 0.9; transform: scale(1); }
}
@media (max-width: 480px) {
	/* Keep 2-column grid on mobile — compact card sizing to fit */
	.rec-popup__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
	.rec-popup__item { padding: 0.55rem; gap: 0.35rem; }
	.rec-popup__image { margin-bottom: 0.2rem; }
	.rec-popup__name { font-size: 0.7rem; }
	.rec-popup__price { font-size: 0.65rem; }
	.rec-popup__atc { padding: 0.4rem 0.5rem !important; font-size: 0.62rem !important; }
	.rec-popup--peek .rec-popup__panel {
		width: calc(100vw - 1rem);
		margin-right: 0.5rem;
	}
	.rec-popup__actions { flex-direction: column; }
	.rec-popup__actions .btn { width: 100%; min-width: 0; }
}
@media (max-width: 900px) {
	/* Centered upsell modal on mobile after add to cart */
	.rec-popup:not(.rec-popup--peek) {
		align-items: center;
		justify-content: center;
		padding: 1rem;
	}
	.rec-popup:not(.rec-popup--peek) .rec-popup__panel {
		width: 100%;
		max-width: none;
		max-height: min(88vh, 720px);
		margin: 0 auto;
		border-radius: 14px;
		animation: recPopupIn 0.28s cubic-bezier(0.22, 1, 0.36, 1);
	}
	.rec-popup:not(.rec-popup--peek) .rec-popup__backdrop {
		background: rgba(15, 22, 16, 0.78);
	}
}
@keyframes recSheetIn {
	from { opacity: 0; transform: translateY(100%); }
	to { opacity: 1; transform: translateY(0); }
}

/* ----- 21+ AGE GATE ----- */
.age-gate {
	position: fixed; inset: 0;
	background: rgba(15,22,16,0.95);
	z-index: 9999;
	display: flex; align-items: center; justify-content: center;
	padding: 1rem;
	backdrop-filter: blur(6px);
}
.age-gate[hidden] { display: none; }
.age-gate__panel {
	background: var(--jungle-deep);
	border: 1px solid rgba(200,130,26,0.3);
	max-width: 540px; width: 100%;
	padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 2.5rem);
	text-align: center;
}
.age-gate__mark { width: 72px; height: auto; margin: 0 auto 1.5rem; opacity: 0.9; }
.age-gate__title {
	font-family: var(--font-display); font-weight: 900;
	text-transform: uppercase; font-size: clamp(1.75rem, 3vw, 2.4rem);
	margin: 0 0 1rem; color: var(--cream);
}
.age-gate__copy { color: var(--parchment); margin-bottom: 2rem; }
.age-gate__actions { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }

/* ----- Mobile polish (site-wide) ----- */
@media (max-width: 900px) {
	.hero-slide__title {
		font-size: clamp(2rem, 9vw, 3rem);
		margin-bottom: 1.25rem;
	}
	.hero-slide__inner .btn {
		display: block;
		width: 100%;
		text-align: center;
		margin: 0 0 0.75rem;
	}
	.hero-slide__inner .btn + .btn { margin-left: 0; }
	.site-main > .hero-carousel + .section--categories {
		--brush-gap: clamp(1.75rem, 5vw, 2.75rem);
		margin-top: clamp(2rem, 6vw, 3.5rem);
		padding-top: clamp(1.25rem, 4vw, 2rem);
	}
	.site-main > .hero-carousel + .section--categories .section__brush {
		margin-top: clamp(1.25rem, 4vw, 2rem);
	}
	/* Wider, taller brush strokes on mobile */
	.section__brush,
	body.single-product .section--brush .section__brush,
	body.woocommerce-cart .page-header--brush .section__brush {
		width: 112vw;
		max-width: 112vw;
		height: clamp(100px, 22vw, 160px);
		margin-left: calc(50% - 56vw);
		margin-right: calc(50% - 56vw);
		--brush-angle: -8deg;
		margin-top: clamp(1.25rem, 4vw, 2rem);
		margin-bottom: clamp(1.25rem, 4vw, 2rem);
		object-fit: cover;
		opacity: 1;
	}
	.site-main > .section--categories .section__header {
		margin-bottom: 1rem;
	}
	.hero-carousel .slider-controls,
	.slider-controls {
		position: static !important;
		bottom: auto !important;
		inset: auto !important;
		gap: 0.65rem;
		padding-top: 0.35rem;
		padding-bottom: 0.25rem;
	}
	.slider-controls__arrow {
		width: 40px;
		height: 40px;
		min-width: 44px;
		min-height: 44px;
	}
	.page-header { padding: 2rem 0 1.25rem; }
	.page-header .page-title { font-size: clamp(2rem, 8vw, 2.75rem); }
	.woocommerce-breadcrumb {
		font-size: 0.7rem;
		padding: 0.75rem var(--gutter);
		overflow-x: auto;
		white-space: nowrap;
	}
	.btn + .btn { margin-left: 0; }
	.hero__cta { flex-direction: column; }
	.hero__cta .btn { width: 100%; text-align: center; }
	.vein__title { font-size: clamp(2rem, 10vw, 3.5rem); }
	/* Prevent iOS input zoom */
	input,
	select,
	textarea,
	.woocommerce form .input-text {
		font-size: max(16px, 1rem) !important;
	}
	/* Safe tap targets */
	.site-header__cart,
	.site-header__toggle {
		min-width: 44px;
		min-height: 44px;
	}
	.container {
		padding-left: var(--gutter);
		padding-right: var(--gutter);
	}
}
@media (max-width: 600px) {
	:root { --header-h: 56px; }
	body.home { --header-stack-h: calc(var(--header-h) + 2.65rem); }
	.site-header__brand .site-logo img,
	.site-header__brand .custom-logo { height: 32px; }
	.section { padding: 2.5rem 0; }
	.card-grid { gap: 1.25rem; }
	.age-gate__actions { flex-direction: column; align-items: stretch; }
	.age-gate__actions .btn { width: 100%; text-align: center; }
	.video-popup { padding: 1rem; }
	.video-popup__close { top: 0.5rem; right: 0.5rem; }
	/* WooCommerce tables (cart, checkout) */
	.woocommerce table.shop_table {
		font-size: 0.85rem;
	}
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: 100% !important;
		float: none !important;
	}
	.woocommerce-MyAccount-content {
		padding: 1.25rem;
	}
}

/* ----- OTTO / Search Atlas debug overlay ------
   Logged-in admin users see a floating purple/red panel from the
   "OTTO" / "Search Atlas" plugin. Hide it on the front-end so it
   doesn't get mistaken for our brand UI. */
#otto-debug-overlay,
#otto-debug-panel,
#searchatlas-debug-overlay,
.otto-debug-panel,
.otto-floating-panel,
.search-atlas-debug,
.sa-debug-panel,
[id^="otto-debug"],
[id^="searchatlas-"],
[class^="otto-debug"],
[class^="searchatlas-"],
[class*="otto-floating"],
[id*="otto-floating"] {
	display: none !important;
}
body > div[style*="position: fixed"][style*="bottom"][style*="z-index"] {
	/* purple/red OTTO bubble  -  hide by structural pattern as a fallback */
}

/* ----- ELEMENTOR FREE leftover style guards -----
   Even with Elementor Pro deactivated, the free Elementor plugin can still
   inject button styles. Force our brand button look on top. */
.btn,
.btn--primary,
.btn--ghost,
a.btn,
button.btn {
	background-color: var(--gold-light) !important;
	color: var(--jungle-night) !important;
	border-color: var(--gold-light) !important;
}
.btn--ghost,
a.btn--ghost,
button.btn--ghost {
	background-color: transparent !important;
	color: var(--cream) !important;
	border-color: rgba(240,228,196,0.45) !important;
}

/* =====================================================================
   Trust badge row  -  homepage, below hero
   ===================================================================== */

.trust-badges {
	background: var(--jungle-deep);
	border-top: 1px solid var(--border-soft);
	border-bottom: 1px solid var(--border-soft);
	padding: 1.5rem var(--gutter);
}

.trust-badges .container {
	max-width: var(--container);
	margin: 0 auto;
}

.trust-badges__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.trust-badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.4rem;
	transition: transform 0.28s ease;
}
.trust-badge:hover {
	transform: translateY(-3px);
}
@media (hover: none) {
	.trust-badge:active {
		transform: scale(0.94);
		transition-duration: 0.1s;
	}
	.trust-badge:active .trust-badge__icon {
		color: var(--gold-light);
	}
}

.trust-badge__icon {
	color: var(--sacred-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.25rem;
	transition: color 0.28s ease, filter 0.28s ease;
}
.trust-badge:hover .trust-badge__icon {
	color: var(--gold-light);
	filter: drop-shadow(0 0 6px rgba(232, 168, 58, 0.45));
}

.trust-badge__label {
	font-family: var(--font-mono);
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--cream);
}

.trust-badge__sub {
	font-family: var(--font-body);
	font-size: 0.8rem;
	color: var(--parchment);
	opacity: 0.7;
}

@media (max-width: 899px) {
	.trust-badges__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem 1rem;
	}

	.trust-badges {
		padding: 2rem var(--gutter);
	}

	/* Compact trust badges when stacked inside the fixed header (homepage) */
	.site-header .trust-badges {
		padding: 0.4rem var(--gutter);
		border-top: 0;
		border-bottom: 1px solid rgba(200, 130, 26, 0.15);
		background: transparent;
	}

	.site-header .trust-badges .container {
		padding: 0;
		max-width: none;
	}

	.site-header .trust-badges__list {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0.25rem;
	}

	.site-header .trust-badge {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.site-header .trust-badge__label,
	.site-header .trust-badge__sub {
		display: none;
	}

	.site-header .trust-badge__icon svg {
		width: 20px;
		height: 20px;
	}
}
.btn--primary:hover,
a.btn--primary:hover,
button.btn--primary:hover {
	background-color: var(--sacred-gold) !important;
	border-color: var(--sacred-gold) !important;
	color: var(--jungle-night) !important;
}
.btn--ghost:hover,
a.btn--ghost:hover,
button.btn--ghost:hover {
	background-color: transparent !important;
	color: var(--gold-light) !important;
	border-color: var(--gold-light) !important;
}

/* ----- VIDEO POPUP ----- */
.video-popup {
	position: fixed; inset: 0; z-index: 9000;
	background: rgba(15,22,16,0.92);
	display: flex; align-items: center; justify-content: center;
	padding: clamp(1rem, 5vw, 3rem);
}
.video-popup[hidden] { display: none; }
.video-popup__close {
	position: absolute; top: 1rem; right: 1rem;
	width: 44px; height: 44px;
	border: 1px solid rgba(240,228,196,0.3);
	color: var(--cream); font-size: 1.5rem;
}
.video-popup__close:hover { border-color: var(--sacred-gold); color: var(--sacred-gold); }
.video-popup__frame {
	width: 100%; max-width: 1024px; aspect-ratio: 16/9;
	background: #000;
}
.video-popup__embed,
.video-popup__embed iframe {
	width: 100%; height: 100%; border: 0;
}

/* ----- Quick-add cart toast ----- */
.motark-cart-toast {
	position: fixed;
	left: 50%;
	bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
	transform: translate(-50%, 120%);
	z-index: 9500;
	padding: 0.85rem 1.35rem;
	background: rgba(26, 35, 24, 0.96);
	border: 1px solid rgba(200, 130, 26, 0.45);
	border-left: 3px solid var(--gold-light);
	color: var(--cream);
	font-family: var(--font-display);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	box-shadow: var(--shadow-card);
	transition: transform 0.28s ease, opacity 0.28s ease;
	opacity: 0;
	pointer-events: none;
	max-width: calc(100vw - 2rem);
	text-align: center;
}
.motark-cart-toast.is-visible {
	transform: translate(-50%, 0);
	opacity: 1;
}

/* ── Product description: Effects block ──────────────────────────────────── */
.motark-effects {
	margin-top: 2.5rem;
	text-align: center;
}

.motark-effects__heading {
	font-size: 1.5rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-accent, #e8a130);
	margin-bottom: 1.25rem;
}

.motark-effects__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1.5rem 2rem;
}

.motark-effects__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	min-width: 120px;
	max-width: 160px;
}

.motark-effects__item i {
	font-size: 2rem;
	color: var(--color-accent, #e8a130);
}

.motark-effects__item span {
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.3;
	color: currentColor;
}

/* Warning callout on premium strains */
.motark-product-warning {
	border-left: 3px solid #e8a130;
	padding: 0.6rem 0.9rem;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	opacity: 0.9;
}

/* =====================================================================
   Category card restyling  -  portrait ratio, image-overlay text
   ===================================================================== */

.card--category {
	position: relative;
	overflow: hidden;
	display: block;
	transition: box-shadow 0.25s;
}

/* Override old 1:1 square + flex-center layout with portrait ratio + block */
.card--category .card__media--category {
	position: relative;
	aspect-ratio: 4 / 5 !important;
	display: block !important;
	overflow: hidden;
	background: var(--jungle-mid);
}

.card--category .card__media--category .card__image {
	width: 100%;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	transition: transform 0.4s ease;
	display: block;
}

.card--category:hover .card__media--category .card__image {
	transform: scale(1.05);
}

.card--category .card__overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 2rem 1rem 1.25rem;
	background: linear-gradient(to top, rgba(15, 22, 16, 0.92) 0%, transparent 100%);
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.card--category .card__overlay .card__title {
	font-size: clamp(1rem, 1.4vw, 1.35rem);
	color: var(--cream);
	margin: 0;
	line-height: 1;
}

.card--category .card__overlay .card__cta {
	font-family: var(--font-mono);
	font-size: 0.6rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--sacred-gold);
}

.card--category:hover {
	box-shadow: 0 0 0 2px var(--sacred-gold);
}

.card--category .card__body {
	display: none;
}

/* =====================================================================
   Best Sellers grid  -  homepage
   ===================================================================== */

/* 4-column grid variant */
.card-grid--4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
}

@media (max-width: 899px) {
	.card-grid--4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 540px) {
	.card-grid--4 {
		grid-template-columns: repeat(2, 1fr);
		gap: 1rem;
	}
}

/* Split header: title left, "View All" right */
.section__header--split {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 2rem;
}

.section__header--split .section__title {
	margin-bottom: 0;
}

/* Small button variant */
.btn--sm {
	padding: 0.5rem 1.25rem;
	font-size: 0.75rem;
	letter-spacing: 0.12em;
}

/* Product card */
.card--product {
	background: var(--jungle-deep);
	border: 1px solid var(--border-soft);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: var(--shadow-card);
	transition: box-shadow 0.25s, border-color 0.25s;
}

.card--product:hover {
	box-shadow: var(--shadow-card-hover);
	border-color: var(--border-medium);
}

.card__media-link {
	display: block;
}

.card__media--product {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--jungle-mid);
}

.card__media--product .card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
	display: block;
}

.card--product:hover .card__media--product .card__image {
	transform: scale(1.03);
}

.card__body--product {
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.card__strain {
	font-size: 0.6rem;
	margin: 0;
	opacity: 0.65;
}

.card__title--product {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(0.95rem, 1.3vw, 1.15rem);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	line-height: 1.05;
	margin: 0;
	color: var(--cream);
}

.card__title--product a {
	color: var(--cream);
	text-decoration: none;
}

.card__title--product a:hover {
	color: var(--gold-light);
}

.card__price {
	font-family: var(--font-body);
	font-size: 0.9rem;
	color: var(--parchment);
}

.card__price .woocommerce-Price-amount {
	color: var(--cream);
	font-weight: 500;
}

.card__add-to-cart {
	margin-top: auto;
	width: 100%;
	text-align: center;
	font-size: 0.7rem;
	letter-spacing: 0.15em;
}

/* Desktop: fade button in on hover */
@media (min-width: 900px) {
	.card__add-to-cart {
		opacity: 0;
		transition: opacity 0.2s;
	}

	.card--product:hover .card__add-to-cart {
		opacity: 1;
	}
}

/* Best sellers section spacing */
.section--best-sellers {
	padding-top: clamp(3rem, 6vw, 5rem);
	padding-bottom: clamp(3rem, 6vw, 5rem);
}

/* ================================================================
   Scroll-reveal system  (all screen sizes)
   JS adds .is-revealed when element enters viewport, removes on exit.
   Two entry points:
     [data-reveal]  — PHP-tagged elements
     .will-reveal   — auto-assigned by JS
   Desktop: opacity fade only — avoids creating compositor layers for
   every element upfront (translateY would force that on 70+ elements).
   Mobile: adds translateY for extra visual lift where it reads well.
   ================================================================ */

/* --- Base: opacity fade, all screens --- */
@media (prefers-reduced-motion: no-preference) {
	[data-reveal],
	.will-reveal {
		opacity: 0;
		transition: opacity 0.72s cubic-bezier(0.4, 0, 0.2, 1);
	}

	[data-reveal].is-revealed,
	.will-reveal.is-revealed {
		opacity: 1;
	}

	/* Stagger delays */
	[data-reveal-delay="1"],
	.will-reveal[data-reveal-delay="1"] { transition-delay: 0.06s; }
	[data-reveal-delay="2"],
	.will-reveal[data-reveal-delay="2"] { transition-delay: 0.12s; }
	[data-reveal-delay="3"],
	.will-reveal[data-reveal-delay="3"] { transition-delay: 0.18s; }
	[data-reveal-delay="4"],
	.will-reveal[data-reveal-delay="4"] { transition-delay: 0.24s; }
	[data-reveal-delay="5"],
	.will-reveal[data-reveal-delay="5"] { transition-delay: 0.30s; }
	[data-reveal-delay="6"],
	.will-reveal[data-reveal-delay="6"] { transition-delay: 0.36s; }

	/* Section-title gold underline grows in on reveal */
	.section__header .section__title {
		position: relative;
		padding-bottom: 0.5em;
	}
	.section__header .section__title::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 0;
		height: 2px;
		background: var(--sacred-gold);
		transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1) 0.3s;
	}
	.section__header--center .section__title::after {
		left: 50%;
		transform: translateX(-50%);
	}
	.section__header.is-revealed .section__title::after,
	.section__header.will-reveal.is-revealed .section__title::after {
		width: clamp(2.5rem, 7vw, 5rem);
	}

	/* Eyebrow letter-spacing breathes open */
	.will-reveal > .eyebrow,
	[data-reveal] > .eyebrow {
		letter-spacing: 0.12em;
		transition: letter-spacing 0.85s cubic-bezier(0.4, 0, 0.2, 1) 0.18s;
	}
	.will-reveal.is-revealed > .eyebrow,
	[data-reveal].is-revealed > .eyebrow {
		letter-spacing: 0.3em;
	}
}

/* --- Mobile: add translateY lift on top of the opacity fade --- */
@media (prefers-reduced-motion: no-preference) and (max-width: 899px) {
	[data-reveal],
	.will-reveal {
		transform: translateY(18px);
		transition:
			opacity   0.72s cubic-bezier(0.4, 0, 0.2, 1),
			transform 0.72s cubic-bezier(0.4, 0, 0.2, 1);
	}

	[data-reveal].is-revealed,
	.will-reveal.is-revealed {
		transform: none;
	}
}
