/**
 * Option B v2: Afro-heritage prominent revamp.
 *
 * Direction shift after first pass:
 *  - Section rhythm comes from alternating COLOR BLOCKS (jade / cream / rust),
 *    not horizontal strap dividers. The bg-color change is the divider.
 *  - Hero copy panel inverts to JADE with CREAM Fraunces (Kente block feel).
 *  - A single ochre sun-burst stamp anchors each section eyebrow, like an
 *    illuminated paragraph mark, instead of clipart strips between sections.
 *  - Photo postcards keep their mount but cycle mount color with the palette.
 *
 * The Browse-card SVG pattern panels are kept from Option A.
 */

/* ---- A. Palette ------------------------------------------------------- */

:root {
	--tnt-green:        #1F4D3A;
	--tnt-green-dark:   #14352A;
	--tnt-green-soft:   #DCE4DD;
	--tnt-rust:         #C2522B;
	--tnt-rust-soft:    #E9C3B0;
	--tnt-ochre:        #B07A1D;
	--tnt-gold:         #E9B949; /* brighter golden for eyebrows/headings on dark green */
	--tnt-clay:         #8C3C1E;
	--tnt-cream:        #F5EFDC;
	--tnt-cream-soft:   #F8F2DF;
	--tnt-paper:        #FBF6E6;

	/* Astra global palette override. Astra's stock blue leaks into any
	 * button/link we have not explicitly skinned (WC notices, coupon
	 * buttons, drawer close, etc). Point its vars at the brand palette
	 * so unskinned elements default to rust/jade instead of blue. */
	--ast-global-color-0: #C2522B; /* primary (buttons, links) = rust */
	--ast-global-color-1: #8C3C1E; /* hover = clay */
	--ast-global-color-2: #14352A; /* headings = jade dark */
	--ast-global-color-3: #3C2D1A; /* body text = soil */
}

/* ---- B. Typography ---------------------------------------------------- */

:root {
	--tnt-font-display: 'Fraunces', 'Marcellus', Georgia, serif;
}
h1, h2, h3, .tnt-hero__headline, .tnt-section-head h2, .tnt-browse__title,
.tnt-why h2, .tnt-meet h2, .tnt-testimonials h2 {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	letter-spacing: -0.012em;
}
.tnt-hero__headline {
	font-weight: 500;
	letter-spacing: -0.015em;
}
.tnt-eyebrow {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--tnt-rust);
	font-size: 0.75rem;
	display: inline-flex;
	align-items: center;
	gap: 0.65em;
}

/* ---- C. Browse card SVG pattern panel (kept from Option A) ------------ */

.tnt-browse__pattern {
	flex: 0 0 38%;
	display: block;
	position: relative;
	min-height: 100%;
	background: transparent;
	overflow: hidden;
}
.tnt-browse__pattern .tnt-afro {
	width: 100%;
	height: 100%;
	display: block;
}
.tnt-browse__pattern::before {
	content: '';
	position: absolute;
	inset: 0;
	box-shadow: inset 8px 0 16px -10px rgba(60, 50, 30, 0.18);
	pointer-events: none;
	z-index: 1;
}
@media (max-width: 960px) {
	.tnt-browse__pattern { flex-basis: 40%; }
}

/* ---- D. Hero: inverted Kente block ------------------------------------ */

/* Cream-on-cream was the contrast problem. Flip to a jade panel with cream
 * Fraunces and ochre accents. Reads like a woven Kente strip pinned over
 * the photo. */
.tnt-hero__copy {
	position: relative;
	background: var(--tnt-green);
	color: var(--tnt-cream);
	padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.75rem, 3vw, 2.75rem) clamp(2.25rem, 3.5vw, 3rem);
	border-radius: 2px;
	max-width: 560px !important;
	box-shadow: 0 28px 80px -32px rgba(20, 53, 42, 0.7);
	margin-block: clamp(1.5rem, 4vw, 3rem);
}
/* Ochre side rule on the left like a Kente edge */
.tnt-hero__copy::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 6px;
	background:
		linear-gradient(180deg, var(--tnt-ochre) 0 28%, var(--tnt-cream) 28% 32%, var(--tnt-rust) 32% 68%, var(--tnt-cream) 68% 72%, var(--tnt-ochre) 72% 100%);
}
/* Small ochre sun-burst stamp sits top-right of the panel as a brand mark */
.tnt-hero__copy::after {
	content: '';
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 28px;
	height: 28px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='%23B07A1D'><circle cx='12' cy='12' r='4'/><g><polygon points='10.5,1 13.5,1 12,5'/><polygon points='10.5,23 13.5,23 12,19'/><polygon points='1,10.5 1,13.5 5,12'/><polygon points='23,10.5 23,13.5 19,12'/><polygon points='4,4 6,4 5,7'/><polygon points='20,4 18,4 19,7'/><polygon points='4,20 6,20 5,17'/><polygon points='20,20 18,20 19,17'/></g></g></svg>");
	background-repeat: no-repeat;
	background-size: contain;
	opacity: 0.95;
}
.tnt-hero__headline {
	color: var(--tnt-cream);
	text-shadow: none;
	font-size: clamp(1.875rem, 3.6vw, 2.75rem);
	line-height: 1.1;
}
.tnt-hero__sub {
	color: var(--tnt-cream);
	opacity: 0.86;
}
.tnt-hero__cta-link {
	color: var(--tnt-cream);
	opacity: 0.92;
}
.tnt-hero__cta-link:hover { color: #FFF; opacity: 1; }

/* Hero image: pin to top so portraits frame correctly */
.tnt-hero__img { object-position: center top; }

/* ---- E. CTA pills ----------------------------------------------------- */

.tnt-btn,
.tnt-hero__cta-primary {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.8125rem;
	background: var(--tnt-rust);
	color: #FFF;
	border-radius: 999px;
	padding-inline: 1.6rem;
	transition: background 160ms, transform 160ms;
}
.tnt-btn:hover,
.tnt-hero__cta-primary:hover {
	background: var(--tnt-clay);
}
.tnt-btn::before,
.tnt-hero__cta-primary::before {
	content: "\25C6";
	margin-right: 0.6em;
	font-size: 0.7em;
	color: var(--tnt-ochre);
	letter-spacing: 0;
	text-transform: none;
}

/* ---- F. SECTION RHYTHM = COLOR BLOCKS, not strips --------------------- */

/* Override the brand-kit section colors. Sections alternate so the bg
 * shift itself is the divider. No more horizontal straps. */
.tnt-section,
.tnt-trust { position: relative; }

/* Browse stays cream-paper */
.tnt-browse { background: var(--tnt-paper); }

/* Why we farm = JADE block with cream copy. Big inversion = visual punch. */
.tnt-why {
	background: var(--tnt-green);
	color: var(--tnt-cream);
}
.tnt-why h2 { color: var(--tnt-cream); }
.tnt-why .tnt-why__body,
.tnt-why p { color: var(--tnt-cream); opacity: 0.9; }
.tnt-why .tnt-eyebrow { color: var(--tnt-ochre); }
.tnt-why a.tnt-btn--ghost {
	color: var(--tnt-cream);
	border-bottom: 1px solid var(--tnt-ochre);
}

/* What we grow stays cream-paper, just dial back the previous tint */
.tnt-grow { background: var(--tnt-paper); }

/* Trust bar = rust block, cream copy, ochre check */
.tnt-trust {
	background: var(--tnt-rust);
	color: var(--tnt-cream);
}
.tnt-trust__icon { color: var(--tnt-ochre); }

/* How it works = soft ochre tint */
.tnt-how {
	background: linear-gradient(180deg, #F4E4C2 0%, var(--tnt-paper) 100%);
}

/* Testimonials = cream */
.tnt-testimonials { background: var(--tnt-cream); }

/* Meet your farmer = jade soft (lighter than the why block so it isn't
 * the same beat repeated) */
.tnt-meet { background: var(--tnt-green-soft); }
.tnt-meet h2, .tnt-meet .tnt-eyebrow { color: var(--tnt-green-dark); }

/* Newsletter = ochre soft block */
.tnt-newsletter { background: #F0E2B8; }

/* ---- G. Sun-stamp anchor next to each eyebrow ------------------------ */

/* Single woven sun-burst icon sitting before the eyebrow. Acts like an
 * illuminated paragraph mark. Replaces the previous strip dividers. */
.tnt-eyebrow::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g fill='currentColor'><circle cx='12' cy='12' r='3.5'/><g><polygon points='10.5,1 13.5,1 12,5'/><polygon points='10.5,23 13.5,23 12,19'/><polygon points='1,10.5 1,13.5 5,12'/><polygon points='23,10.5 23,13.5 19,12'/><polygon points='4,4 6,4 5,7'/><polygon points='20,4 18,4 19,7'/><polygon points='4,20 6,20 5,17'/><polygon points='20,20 18,20 19,17'/></g></g></svg>");
	background-repeat: no-repeat;
	background-size: contain;
	color: currentColor;
	flex-shrink: 0;
}

/* ---- H. Photo postcards ---------------------------------------------- */

/* Cream postcard mount in cream sections, rust mount in jade sections,
 * jade mount in cream sections (alternates) */
.tnt-why__media {
	background: var(--tnt-cream);
	padding: 14px 14px 30px;
	border-radius: 4px;
	box-shadow: 0 20px 50px -22px rgba(0, 0, 0, 0.4);
	position: relative;
}
.tnt-why__media::after {
	content: '';
	position: absolute;
	bottom: 8px;
	left: 14px;
	right: 14px;
	height: 6px;
	background:
		linear-gradient(90deg, var(--tnt-rust) 0 30%, transparent 30% 35%, var(--tnt-ochre) 35% 65%, transparent 65% 70%, var(--tnt-green-dark) 70% 100%);
}
.tnt-why__img { display: block; width: 100%; height: auto; border-radius: 2px; }

.tnt-meet__media {
	background: var(--tnt-cream);
	padding: 14px 14px 30px;
	border-radius: 4px;
	box-shadow: 0 20px 50px -22px rgba(0, 0, 0, 0.35);
	position: relative;
}
.tnt-meet__media::after {
	content: '';
	position: absolute;
	bottom: 8px;
	left: 14px;
	right: 14px;
	height: 6px;
	background:
		linear-gradient(90deg, var(--tnt-green) 0 30%, transparent 30% 35%, var(--tnt-ochre) 35% 65%, transparent 65% 70%, var(--tnt-rust) 70% 100%);
}

/* ---- I. Section head treatment --------------------------------------- */

.tnt-section-head h2,
.tnt-why h2,
.tnt-meet h2 {
	position: relative;
	margin-bottom: 0.4em;
}

/* ---- J. Browse cards: keep peach card, refine type ------------------- */

.tnt-browse__title {
	color: var(--tnt-green-dark);
	font-weight: 600;
	font-size: clamp(1.25rem, 1.75vw, 1.5rem);
}
.tnt-browse__arrow { background: var(--tnt-rust); }
.tnt-browse__card:hover .tnt-browse__arrow { background: var(--tnt-ochre); }

/* ---- K. Footer top strap (single intentional band) -------------------- */

.tnt-footer { position: relative; }
.tnt-footer::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	background:
		linear-gradient(90deg, var(--tnt-rust) 0 33%, var(--tnt-ochre) 33% 67%, var(--tnt-cream) 67% 100%);
	pointer-events: none;
	z-index: 2;
}

/* ============================================================== *
 *  REVISION BATCH (option B refinements)
 * ============================================================== */

/* ---- L. Kill back-to-top button (any plugin's pattern) -------- */
.astra-scroll-top,
#scroll-to-top,
.ast-scroll-to-top,
.scrollup,
#back-to-top,
.back-to-top,
.scroll-to-top-style-1,
#ast-scroll-top { display: none !important; }

/* ---- M. Hero refinements -------------------------------------- */

.tnt-hero {
	height: calc(100svh - 110px);
	min-height: 440px;
	max-height: 600px;
}

/* Translucent Kente block. Reads jade but lets the photo breathe through */
.tnt-hero__copy {
	background: rgba(20, 53, 42, 0.78);
	backdrop-filter: blur(6px) saturate(1.05);
	-webkit-backdrop-filter: blur(6px) saturate(1.05);
	border: 1px solid rgba(245, 239, 220, 0.08);
}

/* Per-slide image positioning. Slide 3 = Aramide; nudge focal point
 * downward so we trim the wide sky and frame her face. */
.tnt-hero__slide[data-slide="0"] .tnt-hero__img { object-position: center 38%; }
.tnt-hero__slide[data-slide="1"] .tnt-hero__img { object-position: center 50%; }
.tnt-hero__slide[data-slide="2"] .tnt-hero__img { object-position: center 32%; }

/* ---- N. Trust strip (moved up, new look) ---------------------- */

.tnt-trust {
	background: var(--tnt-green);
	color: var(--tnt-cream);
	padding-block: clamp(1.25rem, 2.5vw, 2rem);
}
.tnt-trust__list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: clamp(0.75rem, 2vw, 1.75rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.tnt-trust__list li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	justify-content: center;
	text-align: left;
}
.tnt-trust__icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	color: var(--tnt-ochre);
	flex-shrink: 0;
	background: rgba(245, 239, 220, 0.06);
	border-radius: 50%;
	align-items: center;
	justify-content: center;
}
.tnt-trust__icon svg {
	width: 26px;
	height: 26px;
}
.tnt-trust__efao {
	width: 38px !important;
	height: 38px !important;
	object-fit: contain;
	border-radius: 50%;
	background: var(--tnt-cream);
	padding: 3px;
}
.tnt-trust__label {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	color: var(--tnt-cream);
	text-transform: uppercase;
}
@media (max-width: 960px) {
	.tnt-trust__list { grid-template-columns: repeat(2, 1fr); row-gap: 1rem; }
}

/* ---- O. Meet your farmer contrast fix ------------------------- */

/* Was soft jade with green-dark text. Flip to deep jade + cream for the
 * same hierarchy as Why-we-farm but a deeper saturation. */
.tnt-meet {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
.tnt-meet h2,
.tnt-meet h3,
.tnt-meet .tnt-eyebrow { color: var(--tnt-cream); }
.tnt-meet .tnt-eyebrow { color: var(--tnt-ochre); }
.tnt-meet p,
.tnt-meet .tnt-meet__body { color: var(--tnt-cream); opacity: 0.92; }
.tnt-meet a:not(.tnt-btn) { color: var(--tnt-ochre); }

/* ---- P. Farm Share tier cards (new section above What We Grow) */

.tnt-farmshare { background: var(--tnt-paper); }
.tnt-farmshare__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-top: clamp(2rem, 3vw, 3rem);
}
@media (max-width: 1100px) { .tnt-farmshare__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .tnt-farmshare__grid { grid-template-columns: 1fr; } }

.tnt-tier {
	position: relative;
	background: var(--tnt-cream);
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 20px 40px -28px rgba(20, 53, 42, 0.35);
	display: flex;
	flex-direction: column;
	min-height: 460px;
	transition: transform 200ms, box-shadow 200ms;
}
.tnt-tier:hover {
	transform: translateY(-3px);
	box-shadow: 0 28px 50px -28px rgba(20, 53, 42, 0.5);
}
.tnt-tier__badge {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 3;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
}
.tnt-tier__pattern {
	height: 130px;
	background: var(--tnt-cream);
	border-bottom: 3px solid var(--tnt-rust);
	overflow: hidden;
}
.tnt-tier__pattern svg { height: 100%; width: 100%; display: block; object-fit: cover; }

.tnt-tier__body {
	padding: 1.5rem 1.5rem 1.75rem;
	display: flex;
	flex-direction: column;
	flex: 1;
	color: var(--tnt-green-dark);
}
.tnt-tier__eyebrow {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.6875rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--tnt-rust);
}
.tnt-tier__name {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.625rem;
	color: var(--tnt-green-dark);
	margin: 0.1em 0 1rem;
}
.tnt-tier__price {
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
	font-family: var(--tnt-font-display);
}
.tnt-tier__pay {
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--tnt-green-dark);
	letter-spacing: -0.01em;
}
.tnt-tier__wallet {
	font-size: 0.875rem;
	color: var(--tnt-rust);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	letter-spacing: 0.02em;
}
.tnt-tier__perks {
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
	font-size: 0.9375rem;
	color: var(--tnt-soil, #3C2D1A);
}
.tnt-tier__perks li {
	padding: 0.4rem 0;
	border-bottom: 1px dashed rgba(20, 53, 42, 0.18);
}
.tnt-tier__perks li:last-child { border-bottom: 0; }
.tnt-tier__perks strong { color: var(--tnt-green-dark); }
.tnt-tier__cta {
	text-align: center;
	display: block;
}

/* Two-button tier action group: Buy (primary, tone-coloured) + Add to Cart (outline) */
.tnt-tier__ctas {
	margin-top: auto;
	padding-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.tnt-tier__ctas .tnt-tier__cta { margin-top: 0; }
.tnt-tier__addcart {
	display: block;
	text-align: center;
	padding: 0.7rem 1rem;
	border-radius: 999px;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	background: transparent;
	border: 1.5px solid rgba(20, 53, 42, 0.35);
	color: var(--tnt-green-dark);
	transition: background 160ms, color 160ms, border-color 160ms;
}
.tnt-tier__addcart:hover {
	background: var(--tnt-green-dark);
	border-color: var(--tnt-green-dark);
	color: var(--tnt-cream);
}
/* Bounty (dark card): light outline */
.tnt-tier--jade-dark .tnt-tier__addcart {
	border-color: rgba(245, 239, 220, 0.45);
	color: var(--tnt-cream);
}
.tnt-tier--jade-dark .tnt-tier__addcart:hover {
	background: var(--tnt-cream);
	border-color: var(--tnt-cream);
	color: var(--tnt-green-dark);
}
/* WC appends a "View cart" link after AJAX add - hide it on tier cards */
.tnt-tier__ctas .added_to_cart.wc-forward { display: none !important; }

/* Tier tone variants - subtle accent strip + pattern color shift */
.tnt-tier--sand .tnt-tier__pattern    { border-bottom-color: var(--tnt-ochre); }
.tnt-tier--jade .tnt-tier__pattern    { border-bottom-color: var(--tnt-green); }
.tnt-tier--ochre .tnt-tier__pattern   { border-bottom-color: var(--tnt-ochre); background: #FFF8E5; }
.tnt-tier--rust .tnt-tier__pattern    { border-bottom-color: var(--tnt-rust); }

.tnt-farmshare__foot {
	text-align: center;
	margin-top: 2rem;
	margin-inline: auto;
	color: var(--tnt-soil, #3C2D1A);
	font-size: 0.9375rem;
}
.tnt-farmshare__foot a {
	color: var(--tnt-rust);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* ---- Q. What We Grow product carousel ------------------------- */

.tnt-grow-carousel {
	position: relative;
	margin-top: clamp(2rem, 3vw, 3rem);
}
.tnt-grow-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(230px, 1fr);
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 1rem;
	-ms-overflow-style: none;
	scrollbar-width: none;
	padding-bottom: 0.75rem;
}
.tnt-grow-carousel__track::-webkit-scrollbar { display: none; }

@media (min-width: 1100px) {
	.tnt-grow-carousel__track {
		grid-auto-columns: minmax(0, 1fr);
		grid-template-columns: repeat(5, 1fr);
		overflow-x: visible;
	}
}

.tnt-grow-carousel__nav {
	position: absolute;
	top: 38%;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--tnt-cream);
	color: var(--tnt-green-dark);
	border: 1px solid rgba(20, 53, 42, 0.08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 24px -10px rgba(20, 53, 42, 0.3);
	cursor: pointer;
	z-index: 2;
	transition: opacity 160ms, background 160ms;
}
.tnt-grow-carousel__nav:hover { background: var(--tnt-rust); color: var(--tnt-cream); }
.tnt-grow-carousel__nav[disabled] { opacity: 0; pointer-events: none; }
.tnt-grow-carousel__nav--prev { left: -22px; }
.tnt-grow-carousel__nav--next { right: -22px; }
@media (min-width: 1100px) {
	.tnt-grow-carousel__nav { display: none; }
}

/* Product card (richters-style with hover description overlay) */
.tnt-pc {
	background: var(--tnt-cream);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	scroll-snap-align: start;
	box-shadow: 0 10px 24px -16px rgba(20, 53, 42, 0.4);
	transition: transform 180ms, box-shadow 180ms;
}
.tnt-pc:hover {
	transform: translateY(-3px);
	box-shadow: 0 22px 38px -18px rgba(20, 53, 42, 0.45);
}
.tnt-pc__media {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--tnt-paper);
	position: relative;
	overflow: hidden;
}
.tnt-pc__img,
.tnt-pc__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 320ms ease;
}
.tnt-pc:hover .tnt-pc__img,
.tnt-pc:hover .tnt-pc__media img {
	transform: scale(1.04);
}
.tnt-pc__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--tnt-paper), var(--tnt-cream-soft));
}
/* Hover overlay with description */
.tnt-pc__hover {
	position: absolute;
	inset: 0;
	background: rgba(20, 53, 42, 0.88);
	color: var(--tnt-cream);
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 220ms ease;
	font-size: 0.875rem;
	line-height: 1.5;
	text-align: center;
}
.tnt-pc__hover p {
	margin: 0;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
}
.tnt-pc:hover .tnt-pc__hover,
.tnt-pc:focus-within .tnt-pc__hover {
	opacity: 1;
}
.tnt-pc__body {
	padding: 0.875rem 1rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-height: 130px;
}
.tnt-pc__cat {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.625rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--tnt-rust);
}
.tnt-pc__name {
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.0625rem;
	margin: 0;
	color: var(--tnt-green-dark);
	line-height: 1.2;
}
.tnt-pc__name a {
	color: inherit;
	text-decoration: none;
}
.tnt-pc__name a:hover { color: var(--tnt-rust); }
.tnt-pc__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
}
.tnt-pc__price {
	font-family: var(--tnt-font-display);
	font-weight: 600;
	font-size: 1.125rem;
	color: var(--tnt-green-dark);
}
.tnt-pc__price .woocommerce-Price-amount { color: inherit; }
.tnt-pc__price del { opacity: 0.5; font-size: 0.8em; margin-right: 0.4em; }
.tnt-pc__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	flex-shrink: 0;
	transition: background 160ms, transform 160ms;
}
.tnt-pc__add:hover {
	background: var(--tnt-green);
	transform: rotate(90deg);
}

/* ============================================================== *
 *  Phase-aware farm-share countdown
 * ============================================================== */

.tnt-fs-cd {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	border-radius: 999px;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.tnt-fs-cd__decor {
	display: inline-flex;
	width: 18px;
	height: 18px;
	color: var(--tnt-ochre);
	flex-shrink: 0;
}
.tnt-fs-cd__decor svg { width: 100%; height: 100%; }
.tnt-fs-cd__label { letter-spacing: 0.16em; font-size: 0.7rem; }
.tnt-fs-cd__unit { display: inline-flex; align-items: baseline; gap: 2px; }
.tnt-fs-cd__num {
	font-family: var(--tnt-font-display);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
}
.tnt-fs-cd__lbl { font-size: 0.7em; opacity: 0.75; }
.tnt-fs-cd__sep { opacity: 0.4; }

/* tones */
.tnt-fs-cd--cream {
	background: rgba(245, 239, 220, 0.18);
	color: var(--tnt-cream);
	padding: 0.45rem 0.95rem;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(245, 239, 220, 0.22);
}
.tnt-fs-cd--cream .tnt-fs-cd__decor,
.tnt-fs-cd--cream .tnt-fs-cd__num {
	color: var(--tnt-ochre);
}
.tnt-fs-cd--jade {
	background: var(--tnt-green);
	color: var(--tnt-cream);
	padding: 0.55rem 1.1rem;
}
.tnt-fs-cd--rust {
	background: var(--tnt-rust);
	color: var(--tnt-cream);
	padding: 0.6rem 1.25rem;
	box-shadow: 0 10px 24px -14px rgba(20,53,42,0.45);
}
.tnt-fs-cd--rust .tnt-fs-cd__decor,
.tnt-fs-cd--rust .tnt-fs-cd__num { color: #FFF; }

/* sizes */
.tnt-fs-cd--sm  { font-size: 0.6875rem; padding: 0.35rem 0.8rem; margin-bottom: 1rem; }
.tnt-fs-cd--md  { font-size: 0.75rem; }
.tnt-fs-cd--lg  { font-size: 0.875rem; margin-top: 1rem; }
.tnt-fs-cd--lg .tnt-fs-cd__num { font-size: 1.5rem; }
.tnt-fs-cd--md .tnt-fs-cd__num { font-size: 1.125rem; }
.tnt-fs-cd--sm .tnt-fs-cd__num { font-size: 1rem; }

/* ============================================================== *
 *  TIER CARDS - distinct per-tone palettes
 * ============================================================== */

/* Section bg moves to a deeper cream so the lighter tier cards pop */
.tnt-farmshare {
	background: var(--tnt-cream);
	padding-block: clamp(3rem, 5vw, 5rem);
}

.tnt-tier {
	background: #FFF;
	min-height: 540px;
	border-radius: 6px;
	border: 1px solid rgba(20, 53, 42, 0.06);
}
.tnt-tier__pattern {
	height: 150px;
	border-bottom: 4px solid var(--tnt-rust);
}

/* SAMPLER - warm cream card, ochre accent */
.tnt-tier--sand {
	background: #FFF8E5;
	border-color: #E6D6A8;
}
.tnt-tier--sand .tnt-tier__pattern { background: #FBE9C1; border-bottom-color: var(--tnt-ochre); }
.tnt-tier--sand .tnt-tier__eyebrow,
.tnt-tier--sand .tnt-tier__wallet { color: var(--tnt-ochre); }
.tnt-tier--sand .tnt-tier__cta { background: var(--tnt-ochre); }
.tnt-tier--sand .tnt-tier__cta:hover { background: #8C5C0F; }

/* ESSENTIAL - jade-tinted card, "most popular" gets a sharp jade strip */
.tnt-tier--jade {
	background: #ECEFE9;
	border-color: #CCD7CC;
	border: 2px solid var(--tnt-green);
}
.tnt-tier--jade .tnt-tier__pattern { background: #DDE6DD; border-bottom-color: var(--tnt-green); }
.tnt-tier--jade .tnt-tier__eyebrow,
.tnt-tier--jade .tnt-tier__wallet { color: var(--tnt-green); }
.tnt-tier--jade .tnt-tier__cta { background: var(--tnt-green); }
.tnt-tier--jade .tnt-tier__cta:hover { background: var(--tnt-green-dark); }
.tnt-tier--jade .tnt-tier__badge { background: var(--tnt-green); }

/* SUSTAINER - warm ochre card */
.tnt-tier--ochre {
	background: #FAEBC5;
	border-color: #D9B879;
}
.tnt-tier--ochre .tnt-tier__pattern { background: #F4D9A6; border-bottom-color: var(--tnt-clay); }
.tnt-tier--ochre .tnt-tier__eyebrow,
.tnt-tier--ochre .tnt-tier__wallet { color: var(--tnt-clay); }
.tnt-tier--ochre .tnt-tier__cta { background: var(--tnt-clay); }
.tnt-tier--ochre .tnt-tier__cta:hover { background: #6C2A11; }

/* BOUNTY - rich rust card, premium feel */
.tnt-tier--rust {
	background: #F2D8C7;
	border-color: #C5876A;
	border: 2px solid var(--tnt-rust);
}
.tnt-tier--rust .tnt-tier__pattern { background: #E9C3B0; border-bottom-color: var(--tnt-rust); }
.tnt-tier--rust .tnt-tier__eyebrow,
.tnt-tier--rust .tnt-tier__wallet { color: var(--tnt-clay); }
.tnt-tier--rust .tnt-tier__cta { background: var(--tnt-rust); color: #FFF; }
.tnt-tier--rust .tnt-tier__cta:hover { background: var(--tnt-clay); }
.tnt-tier--rust .tnt-tier__badge { background: var(--tnt-ochre); color: var(--tnt-green-dark); }

/* Stacked price line */
.tnt-tier__price {
	flex-direction: column;
	gap: 0.2rem;
}
.tnt-tier__pay {
	font-size: 2.25rem;
	line-height: 1;
}
.tnt-tier__wallet {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* Bigger CTA with consistent rust under the card */
.tnt-tier__cta {
	width: 100%;
	padding-block: 0.875rem;
	font-size: 0.875rem;
}

/* ============================================================== *
 *  HOW IT WORKS (re-tinted)
 * ============================================================== */

.tnt-how {
	background: var(--tnt-paper);
}

/* ============================================================== *
 *  WAVE 3 fixes
 * ============================================================== */

/* ---- Hero panel: more transparency ---- */
.tnt-hero__copy {
	background: rgba(20, 53, 42, 0.62);
	backdrop-filter: blur(10px) saturate(1.1);
	-webkit-backdrop-filter: blur(10px) saturate(1.1);
}

/* ---- TRUST STRIP: distinct from why-section, better contrast, responsive ---- */

/* Move it OFF jade (was matching the why-section below). Cream/ochre block
 * with deep-jade icons + jade label. Eye reads "anchor strip" between
 * Browse paper and Why deep-jade. */
.tnt-trust {
	background:
		linear-gradient(180deg, #F8EBC5 0%, #F4E2A8 100%);
	color: var(--tnt-green-dark);
	padding-block: clamp(1.5rem, 2.5vw, 2.25rem);
	border-top: 4px solid var(--tnt-ochre);
	border-bottom: 4px solid var(--tnt-rust);
}
.tnt-trust__list {
	grid-template-columns: repeat(5, 1fr);
}
.tnt-trust__list li {
	gap: 0.85rem;
	justify-content: flex-start;
	padding-left: 0.5rem;
}
.tnt-trust__icon {
	width: 52px;
	height: 52px;
	background: var(--tnt-cream);
	color: var(--tnt-green);
	border: 2px solid var(--tnt-green);
	box-shadow: 0 6px 14px -8px rgba(20, 53, 42, 0.35);
}
.tnt-trust__icon svg {
	width: 30px;
	height: 30px;
}
.tnt-trust__efao {
	background: var(--tnt-cream);
	width: 44px !important;
	height: 44px !important;
}
.tnt-trust__label {
	color: var(--tnt-green-dark);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	line-height: 1.3;
}

/* Tablet 720-1100: 3 cols */
@media (max-width: 1100px) {
	.tnt-trust__list { grid-template-columns: repeat(3, 1fr); row-gap: 1.25rem; }
}
/* Mobile <720: 2 cols then 1 col when very narrow */
@media (max-width: 720px) {
	.tnt-trust__list { grid-template-columns: repeat(2, 1fr); }
	.tnt-trust__label { font-size: 0.7rem; }
}
@media (max-width: 420px) {
	.tnt-trust__list { grid-template-columns: 1fr; }
}

/* ---- WHY WE FARM contrast pops ---- */
.tnt-why {
	background:
		linear-gradient(180deg, var(--tnt-green-dark) 0%, var(--tnt-green) 100%);
}
.tnt-why h2 {
	color: var(--tnt-cream);
}
.tnt-why h2::after {
	background: linear-gradient(90deg, var(--tnt-ochre) 0 40%, var(--tnt-cream) 40% 45%, var(--tnt-rust) 45% 100%);
	width: 112px;
	height: 4px;
}
.tnt-why .tnt-eyebrow {
	color: var(--tnt-ochre);
	font-size: 0.8rem;
	letter-spacing: 0.24em;
}
.tnt-why .tnt-eyebrow::before {
	color: var(--tnt-ochre);
}
.tnt-why .tnt-why__body p { color: var(--tnt-cream); opacity: 0.95; }
.tnt-why .tnt-why__body strong { color: var(--tnt-ochre); }
.tnt-why a.tnt-btn--ghost {
	display: inline-block;
	padding: 0.65rem 1.25rem;
	background: transparent;
	color: var(--tnt-ochre);
	border: 1.5px solid var(--tnt-ochre);
	border-radius: 999px;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 160ms, color 160ms;
}
.tnt-why a.tnt-btn--ghost:hover {
	background: var(--tnt-ochre);
	color: var(--tnt-green-dark);
}

/* ---- MEET YOUR FARMER contrast ---- */
.tnt-meet {
	background:
		linear-gradient(180deg, var(--tnt-green-dark) 0%, #0E2A20 100%);
	color: var(--tnt-cream);
}
.tnt-meet h2 {
	color: var(--tnt-cream);
}
.tnt-meet .tnt-eyebrow,
.tnt-meet .tnt-meet__eyebrow {
	color: var(--tnt-ochre);
	font-size: 0.8rem;
	letter-spacing: 0.24em;
}
.tnt-meet .tnt-eyebrow::before,
.tnt-meet .tnt-meet__eyebrow::before {
	color: var(--tnt-ochre);
}
.tnt-meet .tnt-meet__body p { color: var(--tnt-cream); opacity: 0.95; }

/* ---- NEWSLETTER trim padding + center fine print ---- */
.tnt-newsletter {
	padding-block: clamp(2.5rem, 4vw, 3.5rem);
}
.tnt-newsletter .tnt-newsletter__terms,
.tnt-newsletter > p,
.tnt-newsletter form + p,
.tnt-newsletter small {
	text-align: center;
	display: block;
	max-width: 600px;
	margin: 1rem auto 0;
}

/* ---- PRODUCT CAROUSEL fix: always horizontal scroll, never grid clip ---- */
.tnt-grow-carousel__track {
	display: flex !important;
	grid-template-columns: none !important;
	grid-auto-flow: unset !important;
	grid-auto-columns: unset !important;
	gap: 1.25rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 1rem;
	scrollbar-width: none;
	padding-bottom: 1rem;
}
.tnt-grow-carousel__track::-webkit-scrollbar { display: none; }
.tnt-grow-carousel__track .tnt-pc {
	flex: 0 0 calc((100% - 4 * 1.25rem) / 5);
	min-width: 220px;
	scroll-snap-align: start;
}
@media (max-width: 1100px) {
	.tnt-grow-carousel__track .tnt-pc { flex: 0 0 calc((100% - 3 * 1.25rem) / 4); }
}
@media (max-width: 900px) {
	.tnt-grow-carousel__track .tnt-pc { flex: 0 0 calc((100% - 2 * 1.25rem) / 3); }
}
@media (max-width: 720px) {
	.tnt-grow-carousel__track .tnt-pc { flex: 0 0 calc((100% - 1.25rem) / 2); }
}
@media (max-width: 480px) {
	.tnt-grow-carousel__track .tnt-pc { flex: 0 0 80%; }
}

/* arrows always visible if there's overflow */
.tnt-grow-carousel__nav { display: inline-flex !important; }

/* clamp the name to avoid weird line breaks */
.tnt-pc__name {
	font-size: 1rem;
	min-height: 2.4em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tnt-pc__body { min-height: 0; padding: 0.75rem 0.875rem 0.875rem; gap: 0.3rem; }

/* ---- FOOTER: logo + EFAO + contrast ---- */
.tnt-footer { color: var(--tnt-cream); background: var(--tnt-green-dark); }
.tnt-footer a { color: var(--tnt-ochre); transition: color 160ms; }
.tnt-footer a:hover { color: var(--tnt-cream); }
.tnt-footer__heading {
	color: var(--tnt-cream);
	font-family: var(--tnt-font-display);
	font-weight: 500;
	letter-spacing: -0.005em;
	text-transform: none;
}
.tnt-footer__logo {
	display: block;
	max-width: 140px;
	height: auto;
	margin-bottom: 1rem;
	background: var(--tnt-cream);
	border-radius: 6px;
	padding: 8px;
}
.tnt-footer__wordmark {
	color: var(--tnt-cream);
	font-family: var(--tnt-font-display);
	font-weight: 500;
	font-size: 1.5rem;
}
.tnt-footer__tagline {
	color: var(--tnt-cream);
	opacity: 0.85;
}
.tnt-footer__efao {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	color: var(--tnt-cream);
	opacity: 0.85;
	font-size: 0.8125rem;
	margin-top: 1rem;
}
.tnt-footer__efao-icon {
	background: var(--tnt-cream);
	border-radius: 50%;
	padding: 3px;
}

/* ============================================================== *
 *  WAVE 4: Reviews carousel + social/GBP
 * ============================================================== */

.tnt-reviews {
	background:
		linear-gradient(180deg, var(--tnt-cream) 0%, var(--tnt-paper) 100%);
}

.tnt-reviews-carousel {
	position: relative;
	margin-top: clamp(2rem, 3vw, 3rem);
}
.tnt-reviews-carousel__track {
	display: flex;
	gap: 1.5rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 1rem;
	scrollbar-width: none;
	padding: 0.5rem 0 1.5rem;
}
.tnt-reviews-carousel__track::-webkit-scrollbar { display: none; }

.tnt-review {
	flex: 0 0 calc((100% - 2 * 1.5rem) / 3);
	min-width: 280px;
	scroll-snap-align: start;
	background: #FFF;
	border: 1px solid rgba(20, 53, 42, 0.06);
	border-radius: 6px;
	padding: 1.75rem 1.5rem 1.5rem;
	box-shadow: 0 16px 32px -22px rgba(20, 53, 42, 0.4);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	position: relative;
}
.tnt-review::before {
	content: '';
	position: absolute;
	top: 0;
	left: 24px;
	right: 24px;
	height: 4px;
	background:
		linear-gradient(90deg, var(--tnt-rust) 0 33%, var(--tnt-ochre) 33% 67%, var(--tnt-green) 67% 100%);
	border-radius: 0 0 3px 3px;
}
.tnt-review__stars {
	display: inline-flex;
	gap: 2px;
	color: var(--tnt-ochre);
}
.tnt-review__quote {
	font-family: var(--tnt-font-display);
	font-weight: 400;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--tnt-green-dark);
	flex: 1;
}
.tnt-review__attr {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px dashed rgba(20, 53, 42, 0.15);
}
.tnt-review__attr cite {
	font-style: normal;
	display: flex;
	flex-direction: column;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
}
.tnt-review__attr cite strong {
	color: var(--tnt-green-dark);
	font-size: 0.875rem;
	font-weight: 700;
}
.tnt-review__attr cite span {
	color: var(--tnt-soil, #3C2D1A);
	font-size: 0.75rem;
	opacity: 0.7;
}
.tnt-review__google {
	flex-shrink: 0;
	opacity: 0.85;
}

@media (max-width: 1000px) {
	.tnt-review { flex-basis: calc((100% - 1.5rem) / 2); }
}
@media (max-width: 680px) {
	.tnt-review { flex-basis: 85%; }
}

/* Foot row: GBP button + SM icons */
.tnt-reviews__foot {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 2rem;
}
.tnt-reviews__view {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	background: var(--tnt-green);
	color: var(--tnt-cream);
	padding: 0.75rem 1.5rem;
}
.tnt-reviews__view:hover { background: var(--tnt-green-dark); }
.tnt-reviews__view::before { content: none !important; }
/* SVG fill colors come from the inline path attrs (real multi-color Google G) */

.tnt-reviews__social {
	display: inline-flex;
	gap: 0.5rem;
}
.tnt-reviews__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #FFF;
	border: 1.5px solid rgba(20, 53, 42, 0.15);
	color: var(--tnt-green-dark);
	transition: background 160ms, color 160ms, border-color 160ms;
}
.tnt-reviews__social a:hover {
	background: var(--tnt-rust);
	border-color: var(--tnt-rust);
	color: var(--tnt-cream);
}


/* ============================================================== *
 *  WAVE 5 fixes
 * ============================================================== */

/* ---- TRUST STRIP: compact ---- */
.tnt-trust {
	padding-block: 0.85rem;
	border-top-width: 2px;
	border-bottom-width: 2px;
}
.tnt-trust__list {
	gap: clamp(0.5rem, 1.6vw, 1.25rem);
	row-gap: 0.8rem;
}
.tnt-trust__list li {
	gap: 0.55rem;
	padding-left: 0;
	justify-content: center;
}
.tnt-trust__icon {
	width: 32px;
	height: 32px;
	border-width: 1.5px;
}
.tnt-trust__icon svg { width: 18px; height: 18px; }
.tnt-trust__efao {
	width: 28px !important;
	height: 28px !important;
}
.tnt-trust__label {
	font-size: 0.68rem;
	letter-spacing: 0.05em;
}

/* ---- COMPACT CAROUSEL ARROWS (single class shared by both carousels) ---- */
.tnt-c-arrow {
	position: absolute;
	top: 38%;
	z-index: 3;
	width: 32px;
	height: 32px;
	background: transparent;
	border: 1.5px solid var(--tnt-green-dark);
	border-radius: 50%;
	color: var(--tnt-green-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 160ms, color 160ms, border-color 160ms;
	padding: 0;
}
.tnt-c-arrow:hover { background: var(--tnt-rust); border-color: var(--tnt-rust); color: var(--tnt-cream); }
.tnt-c-arrow[disabled] { opacity: 0; pointer-events: none; }
.tnt-c-arrow--prev { left: -16px; }
.tnt-c-arrow--next { right: -16px; }

/* Tighter overrides for the section that previously used long-named arrows */
.tnt-grow-carousel__nav { display: none !important; }

/* ---- PRODUCT CARD: tag chip + weight unit ---- */

.tnt-pc__media { position: relative; }
.tnt-pc__tag {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--tnt-cream);
	color: var(--tnt-green-dark);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.625rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	box-shadow: 0 4px 8px -4px rgba(20,53,42,0.3);
	z-index: 2;
}
.tnt-pc__tag--hot-seller { background: var(--tnt-rust); color: var(--tnt-cream); }
.tnt-pc__tag--rare-find,
.tnt-pc__tag--heirloom    { background: var(--tnt-green-dark); color: var(--tnt-cream); }
.tnt-pc__tag--limited     { background: var(--tnt-clay); color: var(--tnt-cream); }
.tnt-pc__tag--seasonal,
.tnt-pc__tag--staff-picked,
.tnt-pc__tag--fresh-picked{ background: var(--tnt-ochre); color: var(--tnt-cream); }

.tnt-pc__price-wrap {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.tnt-pc__unit {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.7;
	margin-top: 0;
}

/* ---- BOUNTY TIER: premium dark-jade with gold accents ---- */
.tnt-tier--jade-soft {
	background: #ECEFE9;
	border: 2px solid var(--tnt-green);
}
.tnt-tier--jade-soft .tnt-tier__pattern { background: #DDE6DD; border-bottom-color: var(--tnt-green); }
.tnt-tier--jade-soft .tnt-tier__eyebrow,
.tnt-tier--jade-soft .tnt-tier__wallet { color: var(--tnt-green); }
.tnt-tier--jade-soft .tnt-tier__cta { background: var(--tnt-green); color: var(--tnt-cream); }
.tnt-tier--jade-soft .tnt-tier__cta:hover { background: var(--tnt-green-dark); }
.tnt-tier--jade-soft .tnt-tier__badge { background: var(--tnt-green); }

.tnt-tier--jade-dark {
	background: linear-gradient(155deg, var(--tnt-green-dark) 0%, #0C2218 100%);
	border: 2px solid #D5A04A;
	color: var(--tnt-cream);
	box-shadow: 0 24px 50px -25px rgba(213, 160, 74, 0.4), 0 1px 0 #D5A04A inset;
}
.tnt-tier--jade-dark .tnt-tier__pattern {
	background: #163A2C;
	border-bottom-color: #D5A04A;
	border-bottom-width: 5px;
}
.tnt-tier--jade-dark .tnt-tier__eyebrow { color: #D5A04A; font-weight: 700; }
.tnt-tier--jade-dark .tnt-tier__name { color: var(--tnt-cream); }
.tnt-tier--jade-dark .tnt-tier__pay { color: var(--tnt-cream); }
.tnt-tier--jade-dark .tnt-tier__wallet { color: #D5A04A; }
.tnt-tier--jade-dark .tnt-tier__perks {
	color: var(--tnt-cream);
}
.tnt-tier--jade-dark .tnt-tier__perks li {
	border-color: rgba(213, 160, 74, 0.25);
	opacity: 0.95;
}
.tnt-tier--jade-dark .tnt-tier__perks strong { color: #D5A04A; }
.tnt-tier--jade-dark .tnt-tier__cta {
	background: #D5A04A;
	color: var(--tnt-green-dark);
	font-weight: 800;
	box-shadow: 0 6px 14px -6px rgba(213, 160, 74, 0.55);
}
.tnt-tier--jade-dark .tnt-tier__cta::before {
	color: var(--tnt-green-dark);
}
.tnt-tier--jade-dark .tnt-tier__cta:hover {
	background: #E5B05A;
	color: var(--tnt-green-dark);
}
.tnt-tier--jade-dark .tnt-tier__badge {
	background: #D5A04A;
	color: var(--tnt-green-dark);
	font-weight: 800;
	box-shadow: 0 4px 10px -4px rgba(213, 160, 74, 0.5);
}

/* ---- FOOTER LOGO: bg-removed colored, proper sizing ---- */
.tnt-footer__logo {
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	max-width: 130px;
	height: auto;
	display: block;
	margin-bottom: 1.25rem;
	/* Brighten orange logo on jade footer */
	filter: brightness(1.06);
}

/* ---- KILL BLANK SPACE: newsletter bottom + page bottom ---- */
.tnt-newsletter { padding-block: 2.5rem 2.5rem; }
.tnt-newsletter > p,
.tnt-newsletter form + p { margin-top: 0.75rem; }
.tnt-footer { margin-top: 0; }
.tnt-main { padding-bottom: 0; }
body { margin-bottom: 0 !important; }
.tnt-footer::after,
.tnt-recaptcha-attribution { padding: 0.35rem 1rem 0.35rem !important; }

/* ---- REVIEWS: real Google G + smaller arrows already covered above ---- */
.tnt-review__google,
.tnt-google-g {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	opacity: 0.95;
}
.tnt-reviews-empty {
	text-align: center;
	padding: 2rem 1rem 1rem;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.75;
	font-size: 0.95rem;
}
.tnt-reviews__view {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	background: #FFF;
	color: var(--tnt-green-dark);
	border: 1.5px solid rgba(20,53,42,0.18);
	padding: 0.7rem 1.3rem;
}
.tnt-reviews__view::before { content: none !important; }
.tnt-reviews__view:hover { background: var(--tnt-cream); border-color: var(--tnt-green-dark); }
.tnt-reviews__view .tnt-google-g { width: 18px; height: 18px; }

/* ============================================================== *
 *  WAVE 6 fixes
 * ============================================================== */

/* ---- Marquee strip (replaces stationary trust strip) ----------- */

.tnt-marquee {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
	border-top: 2px solid var(--tnt-ochre);
	border-bottom: 2px solid var(--tnt-rust);
	overflow: hidden;
	padding-block: 0.85rem;
	position: relative;
}
.tnt-marquee::before,
.tnt-marquee::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	width: 80px;
	z-index: 2;
	pointer-events: none;
}
.tnt-marquee::before { left: 0;  background: linear-gradient(90deg, var(--tnt-green-dark), transparent); }
.tnt-marquee::after  { right: 0; background: linear-gradient(270deg, var(--tnt-green-dark), transparent); }

.tnt-marquee__track {
	display: inline-flex;
	gap: 2rem;
	align-items: center;
	white-space: nowrap;
	animation: tnt-marquee-scroll 60s linear infinite;
	will-change: transform;
}
.tnt-marquee:hover .tnt-marquee__track { animation-play-state: paused; }

@keyframes tnt-marquee-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.tnt-marquee__item {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.78rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.tnt-marquee__icon {
	display: inline-flex;
	width: 22px;
	height: 22px;
	color: var(--tnt-ochre);
	flex-shrink: 0;
}
.tnt-marquee__icon svg { width: 100%; height: 100%; }
.tnt-marquee__label { color: var(--tnt-cream); }
.tnt-marquee__sep {
	color: var(--tnt-ochre);
	font-size: 1.4em;
	opacity: 0.65;
}

/* Older stationary trust strip CSS is no longer rendered (its markup was
 * removed from home.php). Disable any residual rules so they can't leak. */
.tnt-trust { display: none; }

/* ---- Tier card: stacked wallet breakdown copy ----------------- */

.tnt-tier__wallet {
	display: block;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.3;
}
.tnt-tier__wallet small {
	display: block;
	font-weight: 400;
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	text-transform: none;
	opacity: 0.8;
	margin-top: 0.2em;
}

/* ---- Product card: dual chips (category + tag) + inline unit -- */

.tnt-pc__chips {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	z-index: 2;
	align-items: flex-start;
}
.tnt-pc__chip {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.625rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	box-shadow: 0 4px 8px -4px rgba(20,53,42,0.3);
}
/* Category chip = neutral cream */
.tnt-pc__chip--cat { background: var(--tnt-cream); color: var(--tnt-green-dark); }
/* Tag chip kept with the colorful per-tag styling defined in Wave 5 */
.tnt-pc__chip--tag { background: var(--tnt-rust); color: var(--tnt-cream); }

/* Category-specific tints (subtle) */
.tnt-pc__chip--peppers     { background: #F4D4C5; color: var(--tnt-clay); }
.tnt-pc__chip--herbs       { background: #DCE6DD; color: var(--tnt-green-dark); }
.tnt-pc__chip--grains      { background: #F2E1B2; color: #6C4E11; }
.tnt-pc__chip--fruits      { background: #F4D9B0; color: #804C12; }
.tnt-pc__chip--vegetables  { background: #DCE6DD; color: var(--tnt-green-dark); }
.tnt-pc__chip--tubers-roots{ background: #E9D3BE; color: #6F3F19; }

/* Drop the previous "cat eyebrow" line in the body since category is now a chip */
.tnt-pc__cat { display: none; }

/* Inline "/kg" suffix tucked after the price */
.tnt-pc__unit {
	display: inline;
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	color: var(--tnt-soil, #3C2D1A);
	opacity: 0.6;
	margin-left: 0.3em;
}

/* ---- Newsletter ack message ----------------------------------- */

.tnt-newsletter__ack {
	max-width: 520px;
	margin: 0 auto 1rem;
	padding: 0.75rem 1rem;
	border-radius: 4px;
	background: rgba(20, 53, 42, 0.08);
	color: var(--tnt-green-dark);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.875rem;
	text-align: center;
	border-left: 3px solid var(--tnt-green);
}
.tnt-newsletter__ack--ok {
	background: rgba(31, 77, 58, 0.1);
	border-left-color: var(--tnt-green);
}
.tnt-newsletter__ack--err {
	background: rgba(194, 82, 43, 0.1);
	border-left-color: var(--tnt-rust);
	color: var(--tnt-clay);
}

/* ---- Footer logo: cleaner sizing on jade -------------------- */

.tnt-footer__logo {
	max-width: 160px;
	filter: none;
}


/* ============================================================== *
 *  WAVE 7 micro-fixes
 * ============================================================== */

/* ---- Marquee shorter ------------------------------------------ */
.tnt-marquee {
	padding-block: 0.55rem;
	border-top-width: 1px;
	border-bottom-width: 1px;
}
.tnt-marquee__item {
	gap: 0.45rem;
	font-size: 0.68rem;
	letter-spacing: 0.12em;
}
.tnt-marquee__icon { width: 16px; height: 16px; }
.tnt-marquee__sep { font-size: 1.1em; }
.tnt-marquee__track { gap: 1.5rem; }
.tnt-marquee::before,
.tnt-marquee::after { width: 60px; }

/* ---- "Read Reviews On Google" button shows real multi-color G --- */
/* The Wave-5 .tnt-reviews__view rule forced "fill: cream" on the path —
 * remove that so the four-color G renders properly. */
.tnt-reviews__view {
	background: #FFF;
	color: var(--tnt-green-dark);
	border: 1.5px solid rgba(20,53,42,0.18);
	padding: 0.7rem 1.3rem;
}
.tnt-reviews__view::before { content: none !important; }
.tnt-reviews__view:hover { background: var(--tnt-cream); border-color: var(--tnt-green-dark); }
.tnt-reviews__view .tnt-google-g { width: 18px; height: 18px; }
.tnt-reviews__view .tnt-google-g path { /* let SVG fill colors win */ fill: inherit; }
/* Above wins over the older Wave-5 override forcing fill:cream */

/* Linked Google G on individual review cards */
.tnt-review__google-link {
	display: inline-flex;
	opacity: 0.95;
	transition: opacity 160ms, transform 160ms;
}
.tnt-review__google-link:hover { opacity: 1; transform: scale(1.1); }

/* ---- Footer logo: colored TNT wordmark on jade (no card) ------- */
/* Sized big enough that the orange wordmark + sage leaves both read.
 * The sage leaves can dissolve into jade at small sizes - we boost them
 * with a slight brightness + saturation filter so they read as cream/
 * mint accents on the dark background. */
.tnt-footer__logo {
	width: 200px;
	height: auto;
	display: block;
	margin-bottom: 1.25rem;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0;
	box-shadow: none;
	filter: brightness(1.15) saturate(1.15);
}

/* ---- reCAPTCHA attribution inline with copyright -------------- */
/* Same line as "© 2026 True North Tropical..." with a thin separator
 * rule on its left. Copyright stays primary; this is the smaller
 * legal note that follows. Stacks on narrow widths. */
.tnt-footer__recaptcha {
	color: rgba(245, 239, 220, 0.5);
	margin-left: 0.55em;
	padding-left: 0.75em;
	border-left: 1px solid rgba(245, 239, 220, 0.18);
	font-size: 0.95em;
}
.tnt-footer__recaptcha a {
	color: rgba(245, 239, 220, 0.65);
	text-decoration: underline;
	text-decoration-color: rgba(245, 239, 220, 0.3);
	text-underline-offset: 2px;
}
.tnt-footer__recaptcha a:hover { color: var(--tnt-ochre); }
@media (max-width: 720px) {
	.tnt-footer__recaptcha {
		display: block;
		margin-left: 0;
		padding-left: 0;
		border-left: 0;
		margin-top: 0.3em;
	}
}

/* ============================================================== *
 *  WAVE 8: hero countdown feature + footer map + address
 * ============================================================== */

/* Hero split layout retired — countdown moved back into the copy panel
 * as a high-contrast eyebrow pill. Feature variant is kept available in
 * the helper for any page that wants a hero focal countdown later. */

/* ---- HERO COUNTDOWN PILL: matches the trust-marquee scheme ----- */
/* Jade-dark bg + cream copy + ochre icon/accents + rust accents.
 * Same palette pattern as .tnt-marquee. Compact, pulsing rust dot
 * + breathing ochre ring carry the visual interest. */
.tnt-fs-cd--gold {
	background: var(--tnt-green-dark);
	color: var(--tnt-cream);
	padding: 0.32rem 0.85rem 0.32rem 0.7rem;
	border-top: 1.5px solid var(--tnt-ochre);
	border-bottom: 1.5px solid var(--tnt-rust);
	border-left: 1px solid rgba(176, 122, 29, 0.45);
	border-right: 1px solid rgba(176, 122, 29, 0.45);
	border-radius: 999px;
	box-shadow:
		0 1px 0 rgba(245, 239, 220, 0.06) inset,
		0 8px 20px -10px rgba(20, 53, 42, 0.55);
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.72rem;
	position: relative;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	animation: tnt-cd-breathe 3s ease-in-out infinite;
}
@keyframes tnt-cd-breathe {
	0%, 100% { box-shadow: 0 1px 0 rgba(245,239,220,0.06) inset, 0 8px 20px -10px rgba(20,53,42,0.55), 0 0 0 0 rgba(176, 122, 29, 0.0); }
	50%      { box-shadow: 0 1px 0 rgba(245,239,220,0.06) inset, 0 8px 20px -10px rgba(20,53,42,0.55), 0 0 0 6px rgba(176, 122, 29, 0.32); }
}
/* The sun-decor svg becomes a live indicator dot (rust) */
.tnt-fs-cd--gold .tnt-fs-cd__decor {
	width: 8px;
	height: 8px;
	display: inline-block;
	background: var(--tnt-rust);
	border-radius: 50%;
	flex-shrink: 0;
	animation: tnt-cd-pulse 1.4s ease-in-out infinite;
	box-shadow: 0 0 0 0 rgba(194, 82, 43, 0.8);
}
.tnt-fs-cd--gold .tnt-fs-cd__decor svg { display: none; }
@keyframes tnt-cd-pulse {
	0%,100% { box-shadow: 0 0 0 0 rgba(194, 82, 43, 0.8); }
	70%     { box-shadow: 0 0 0 5px rgba(194, 82, 43, 0); }
}
.tnt-fs-cd--gold .tnt-fs-cd__label {
	color: var(--tnt-ochre);
	font-weight: 800;
	letter-spacing: 0.16em;
	font-size: 0.6rem;
}
.tnt-fs-cd--gold .tnt-fs-cd__num {
	font-family: var(--tnt-font-display);
	font-weight: 700;
	color: var(--tnt-cream);
	font-size: 0.95rem;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
}
.tnt-fs-cd--gold .tnt-fs-cd__lbl {
	color: var(--tnt-cream);
	font-weight: 700;
	font-size: 0.55rem;
	opacity: 0.7;
}
.tnt-fs-cd--gold .tnt-fs-cd__sep { color: var(--tnt-ochre); opacity: 0.5; }

/* Farm Share banner version of the chip: inherits the ochre brand pill
 * from the base gold variant, just centered with top margin. */
.tnt-fs-cd--gold.tnt-fs-cd--sm {
	margin: 1rem auto 0;
}

/* ---- Feature countdown card (big focus block in hero) --------- */

.tnt-fs-cd--feature {
	display: flex;
	flex-direction: column;
	gap: 0.95rem;
	background: linear-gradient(165deg, rgba(20, 53, 42, 0.92) 0%, rgba(12, 34, 24, 0.95) 100%);
	border: 2px solid #D5A04A;
	border-radius: 8px;
	padding: 1.5rem 1.65rem 1.65rem;
	color: var(--tnt-cream);
	box-shadow: 0 28px 70px -30px rgba(213, 160, 74, 0.55), 0 1px 0 #D5A04A inset;
	max-width: 380px;
	width: 100%;
	margin-block: clamp(1.5rem, 4vw, 3rem);
	backdrop-filter: blur(8px) saturate(1.05);
	-webkit-backdrop-filter: blur(8px) saturate(1.05);
}
.tnt-fs-cd--feature .tnt-fs-cd__top {
	display: flex;
	align-items: center;
	gap: 0.55rem;
}
.tnt-fs-cd--feature .tnt-fs-cd__decor {
	width: 22px;
	height: 22px;
	color: #D5A04A;
}
.tnt-fs-cd--feature .tnt-fs-cd__label {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 800;
	font-size: 0.7rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #D5A04A;
}
.tnt-fs-cd--feature .tnt-fs-cd__digits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
	margin-top: 0.2rem;
}
.tnt-fs-cd--feature .tnt-fs-cd__group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	background: rgba(245, 239, 220, 0.06);
	border-radius: 6px;
	padding: 0.7rem 0.25rem 0.6rem;
}
.tnt-fs-cd--feature .tnt-fs-cd__num {
	font-family: var(--tnt-font-display);
	font-weight: 600;
	font-size: clamp(2.25rem, 4vw, 2.75rem);
	line-height: 1;
	color: var(--tnt-cream);
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.tnt-fs-cd--feature .tnt-fs-cd__lbl {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.625rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(245, 239, 220, 0.7);
}
.tnt-fs-cd--feature .tnt-fs-cd__sub {
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-size: 0.8125rem;
	line-height: 1.5;
	color: rgba(245, 239, 220, 0.85);
	text-align: center;
}
.tnt-fs-cd--feature .tnt-fs-cd__cta {
	display: block;
	text-align: center;
	background: #D5A04A;
	color: var(--tnt-green-dark);
	font-weight: 800;
	padding-block: 0.85rem;
	box-shadow: 0 8px 18px -8px rgba(213, 160, 74, 0.55);
}
.tnt-fs-cd--feature .tnt-fs-cd__cta::before {
	color: var(--tnt-green-dark);
}
.tnt-fs-cd--feature .tnt-fs-cd__cta:hover {
	background: #E5B05A;
}

/* Restore the original Kente copy panel width (countdown is back inline) */
.tnt-hero__copy {
	max-width: 560px !important;
}

/* ---- Footer map + address ------------------------------------- */

.tnt-footer__address a {
	text-decoration: none;
	border-bottom: 1px dotted rgba(245, 239, 220, 0.3);
}
.tnt-footer__address a:hover {
	color: var(--tnt-ochre);
	border-bottom-color: var(--tnt-ochre);
}
.tnt-footer__hours strong {
	color: var(--tnt-ochre);
	font-weight: 700;
}
.tnt-footer__map {
	display: block;
	position: relative;
	margin-top: 1rem;
	border-radius: 6px;
	overflow: hidden;
	border: 1.5px solid rgba(213, 160, 74, 0.4);
	box-shadow: 0 12px 28px -16px rgba(0, 0, 0, 0.5);
	max-width: 260px;
	aspect-ratio: 4 / 3;
	background: var(--tnt-green-dark);
}
.tnt-footer__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	filter: brightness(0.95) saturate(1.05);
}
.tnt-footer__map-fallback {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	min-height: 110px;
	padding: 1rem;
	background: rgba(20, 53, 42, 0.7);
	color: var(--tnt-cream);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.tnt-footer__map-fallback svg {
	width: 28px;
	height: 28px;
	color: var(--tnt-ochre);
}
.tnt-footer__map-pin {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.4rem 0.6rem;
	background: rgba(20, 53, 42, 0.85);
	color: var(--tnt-cream);
	font-family: var(--tnt-font-body, 'Lato', sans-serif);
	font-weight: 700;
	font-size: 0.625rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.tnt-footer__map-pin svg {
	width: 14px;
	height: 14px;
	color: var(--tnt-ochre);
}
