/*
Theme Name: SpiceGhor
Theme URI: https://spiceghor.com
Author: SpiceGhor
Author URI: https://spiceghor.com
Description: WordPress block theme for SpiceGhor (আসল স্বাদের ঘর) — Bangladesh's home of freshly made spices, cold-pressed oil, honey, and daily kitchen staples. Fast, SEO-optimized WooCommerce store, fully editable in the Site Editor, with self-hosted fonts, async icon loading, schema markup, FSE templates, PHP patterns, and a single-file CSS system.
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
Version: 1.4.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: growdeshi
Tags: e-commerce, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, wide-blocks, block-styles, accessibility-ready, responsive-layout
*/

/* All fonts self-hosted — no Google Fonts CDN dependency.
   SpiceGhor stack: Plus Jakarta Sans (Latin/display) + Hind Siliguri (Bengali body)
   + Noto Sans Bengali (Bengali display / numerals). */

/* Plus Jakarta Sans — Latin display / UI / body (variable axis 200–800) */
@font-face {
	font-family: 'Plus Jakarta Sans';
	font-style: normal;
	font-weight: 200 800;
	font-display: swap;
	src: url('assets/fonts/plus-jakarta-sans-variable.woff2') format('woff2-variations');
}

/* Hind Siliguri — Bengali body (static 400/500/600/700, Bengali subset) */
@font-face {
	font-family: 'Hind Siliguri';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('assets/fonts/hind-siliguri-400-bengali.woff2') format('woff2');
	unicode-range: U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200B-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
	font-family: 'Hind Siliguri';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('assets/fonts/hind-siliguri-500-bengali.woff2') format('woff2');
	unicode-range: U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200B-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
	font-family: 'Hind Siliguri';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('assets/fonts/hind-siliguri-600-bengali.woff2') format('woff2');
	unicode-range: U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200B-200D, U+20B9, U+25CC, U+A8F1;
}
@font-face {
	font-family: 'Hind Siliguri';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('assets/fonts/hind-siliguri-700-bengali.woff2') format('woff2');
	unicode-range: U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200B-200D, U+20B9, U+25CC, U+A8F1;
}

/* Noto Sans Bengali — Bengali display / numerals (variable axis 100–900) */
@font-face {
	font-family: 'Noto Sans Bengali';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('assets/fonts/noto-sans-bengali-variable.woff2') format('woff2-variations');
	unicode-range: U+0964-0965, U+0980-09FE, U+1CD0, U+1CD2, U+1CD5-1CD6, U+1CD8, U+1CE1, U+1CEA, U+1CED, U+1CF2, U+1CF5-1CF7, U+200B-200D, U+20B9, U+25CC, U+A8F1;
}

/* JetBrains Mono — code blocks */
@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 100 800;
	font-display: swap;
	src: url('assets/fonts/jetbrains-mono-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   CSS Custom Properties — SpiceGhor Design Tokens (maroon / gold / cream)
   Canonical source: markup-html/SPICEGHOR-UIUX/_ds/.../tokens/*.css
   Lead with deep spice-maroon (premium) + turmeric-gold spark on warm cream.
   Warm palette only — never pure black, never cool blue, never lead green.
   Legacy --c-* / --wp--preset--color--* aliases are REMAPPED onto these tokens
   (see bottom block) so the existing store CSS + patterns inherit the brand
   without a global find-replace. theme.json mirrors the preset values.
   ========================================================================== */
:root {
	/* ---- SpiceGhor primary palette ---- */
	--maroon:         #5E1F18;   /* Roasted Maroon — primary signature */
	--gold:           #E4A11B;   /* Turmeric Gold — signature accent / the spark */
	--gold-antique:   #C9A24B;   /* Antique Gold — foil / premium tier */
	--paprika:        #C2402C;   /* Paprika Red — energy / sale (<=10%) */

	/* ---- Neutrals & support ---- */
	--cream:          #FBF3E2;   /* Warm Cream — primary light background */
	--kraft:          #E3CBA1;   /* Kraft Tan — packaging / cards / eco feel */
	--ink:            #2C211B;   /* Clove Ink — warm near-black body text */
	--soil:           #8B6A4E;   /* Soil Brown — muted text / dividers */
	--curry:          #4F7A3A;   /* Curry Green — tiny fresh cue only (<=5%) */
	--white:          #FFFFFF;   /* Pure White — whitespace */

	/* ---- Turmeric Gold scale ---- */
	--gold-50:  #FBF1D8;
	--gold-200: #F3D78C;
	--gold-300: #ECBE4D;
	--gold-500: #E4A11B; /* base */
	--gold-700: #B97F12;
	--gold-900: #8A5D0C;
	--turmeric-100: #FBF1D8;
	--turmeric-200: #F6E3AE;
	--turmeric-300: #F3D78C;
	--turmeric-400: #ECBE4D;
	--turmeric-500: #E4A11B;
	--turmeric-600: #C98C15;
	--turmeric-700: #B97F12;
	--turmeric-800: #9C6B0F;
	--turmeric-900: #8A5D0C;

	/* ---- Maroon scale ---- */
	--maroon-50:  #F3E0DD;
	--maroon-100: #F3E0DD;
	--maroon-200: #E4BDB6;
	--maroon-300: #C98379;
	--maroon-400: #B25C4E;
	--maroon-500: #9A3F33;
	--maroon-600: #7C2C22;
	--maroon-700: #5E1F18; /* base */
	--maroon-800: #481410;
	--maroon-900: #2F0C09;

	/* ---- Signature gradient: "Spice Heat" ---- */
	--grad-spice-heat: linear-gradient(135deg, #E4A11B 0%, #C2402C 55%, #5E1F18 100%);

	/* ---- Product-line accent bands ---- */
	--line-spices: #C2402C;   /* Paprika */
	--line-oil:    #E4A11B;   /* Turmeric Gold */
	--line-honey:  #C9A24B;   /* Antique Gold */
	--line-staple: #E3CBA1;   /* Kraft Tan */

	/* ---- Borders / focus ---- */
	--border:        #E1D2B6;  /* warm hairline on cream */
	--border-strong: #8B6A4E;
	--focus-ring:    #E4A11B;

	/* ---- Radii, shadows, spacing (from _ds spacing tokens) ---- */
	--r-sm: 6px;  --r-md: 10px;  --r-lg: 16px;  --r-xl: 24px;  --r-pill: 999px;
	--shadow-sm:     0 1px 2px rgba(44, 33, 27, 0.08);
	--shadow-md:     0 4px 14px rgba(44, 33, 27, 0.10);
	--shadow-lg:     0 12px 32px rgba(44, 33, 27, 0.14);
	--shadow-maroon: 0 10px 28px rgba(94, 31, 24, 0.28);
	--sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px;
	--sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px; --sp-16: 64px; --sp-20: 80px;

	/* ---- Typography presets ---- */
	--font-latin:           'Plus Jakarta Sans', system-ui, sans-serif;
	--font-display:         'Plus Jakarta Sans', 'Hind Siliguri', system-ui, sans-serif;
	--font-body:            'Plus Jakarta Sans', 'Hind Siliguri', system-ui, sans-serif;
	--font-ui:              'Plus Jakarta Sans', system-ui, sans-serif;
	--font-bengali:         'Hind Siliguri', 'Noto Sans Bengali', system-ui, sans-serif;
	--font-bengali-display: 'Noto Sans Bengali', 'Hind Siliguri', system-ui, sans-serif;
	--font-mono:            'JetBrains Mono', 'SF Mono', Monaco, monospace;

	/* ---- WP preset mirror (mirrors theme.json settings.color.palette) ---- */
	--wp--preset--color--base:         #FBF3E2;   /* warm cream page bg */
	--wp--preset--color--contrast:     #2C211B;   /* clove ink text */
	--wp--preset--color--surface:      #FFFFFF;   /* card / section surface */
	--wp--preset--color--surface-alt:  #E3CBA1;   /* kraft surface */
	--wp--preset--color--primary:      #5E1F18;   /* roasted maroon — links/CTAs */
	--wp--preset--color--primary-dark: #2F0C09;   /* maroon dark */
	--wp--preset--color--gold:         #E4A11B;   /* turmeric gold accent */
	--wp--preset--color--gold-antique: #C9A24B;
	--wp--preset--color--paprika:      #C2402C;
	--wp--preset--color--kraft:        #E3CBA1;
	--wp--preset--color--cream:        #FBF3E2;
	--wp--preset--color--soil:         #8B6A4E;
	--wp--preset--color--curry:        #4F7A3A;
	--wp--preset--color--line:         #E1D2B6;
	--wp--preset--color--line-strong:  #D9C7A8;
	--wp--preset--color--ink:          #2C211B;
	--wp--preset--color--muted:        #8B6A4E;
	--wp--preset--color--ink-faint:    #A89070;
	--wp--preset--color--white:        #ffffff;
	--wp--preset--color--whatsapp:     #25D366;
	--wp--preset--color--footer:       #5E1F18;

	/* ==========================================================================
	   LEGACY ALIAS REMAP — old GrowDeshi token names → SpiceGhor tokens.
	   Keeps the ~4000 existing lines + store patterns rendering on-brand without
	   a global find-replace. To be swept out incrementally in later phases.
	   ========================================================================== */
	--c-forest:        var(--maroon);
	--c-forest-dark:   var(--maroon-900);
	--c-forest-soft:   var(--gold);
	--c-mint:          var(--gold-50);
	--c-mint-mid:      var(--gold-200);
	--c-base:          var(--cream);
	--c-base-alt:      var(--white);
	--c-ink:           var(--ink);
	--c-ink-muted:     var(--soil);
	--c-ink-faint:     #A89070;
	--c-line:          var(--border);
	--c-line-strong:   #D9C7A8;
	--c-amber:         var(--gold);
	--c-rust:          #B5651D;
	--c-sky:           var(--gold-antique);
	--c-sky-dark:      var(--maroon-600);
	--c-violet:        var(--paprika);
	--c-whatsapp:      #25D366;
	--c-white:         #ffffff;
	--c-soil:          var(--soil);
	--c-dark-green:    var(--maroon-900);

	/* Card shadows (warm-tinted) */
	--c-card-shadow:        var(--shadow-md);
	--c-card-shadow-hover:  var(--shadow-lg);

	/* Deprecated brand aliases — remapped, removed in a later sweep */
	--c-brand:        var(--ink);
	--c-brand-light:  var(--maroon);
	--c-brand-wash:   var(--cream);
	--c-brand-lime:   var(--gold);
	--c-brand-amber:  var(--gold);
	--c-surface:      var(--white);
	--c-surface-alt:  var(--kraft);
	--c-accent:       var(--maroon);
	--c-cta:          var(--gold);
	--c-success:      var(--curry);
	--c-ink-soft:     var(--ink);
	--c-body-text:    var(--ink);
	--wp--preset--color--border:        #E1D2B6;
	--wp--preset--color--secondary:     #E4A11B;
	--wp--preset--color--tertiary:      #C2402C;
	--wp--preset--color--void:          #2F0C09;
	--wp--preset--color--navy:          #5E1F18;
	--wp--preset--color--mid-dark:      #7C2C22;
	--wp--preset--color--dark-surface:  #5E1F18;
	--wp--preset--color--green:         #4F7A3A;

	/* Layout */
	--container-max: 1240px;
	--container-pad: clamp(16px, 5vw, 48px);
	--header-h:      72px;
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */
html {
	overflow-x: clip; /* clip (not hidden) prevents ICB expansion without breaking position:fixed */
}

*, *::before, *::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	overflow-x: clip; /* clip instead of hidden — hidden promotes overflow-y:auto, making body the scroll container which breaks position:sticky on sidebars */
	background-color: var(--cream); /* warm cream — SpiceGhor page bg */
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	text-wrap: balance;
	color: var(--wp--preset--color--contrast);
	margin-top: 0;
}

p, blockquote, figcaption, li {
	text-wrap: pretty;
}

img, video, svg {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--wp--preset--color--primary);
	transition: color 0.2s ease;
}

/* ==========================================================================
   Container — Universal Max-Width Wrapper
   ========================================================================== */
.container,
.post-hero__inner,
.archive-hero__inner,
.site-footer__container,
.single-post-layout-wrapper > .single-post-layout,
.search-results-wrapper {
	width: 100%;
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-pad);
	padding-right: var(--container-pad);
}

/* ==========================================================================
   Reading Progress Bar
   ========================================================================== */
#reading-progress-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 5px;
	z-index: 99999;
	pointer-events: none;
}

#reading-progress {
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #2C211B, #E4A11B);
	transition: width 0.1s ease-out;
}

/* ==========================================================================
   Site Header — Floating Capsule Navbar
   ========================================================================== */
.site-header {
	position: fixed;
	top: 20px;     /* 20px gap from viewport top — positioning is never touched by WP inline styles */
	left: 0;
	right: 0;
	z-index: 100;
	background: transparent;
	border-bottom: none;
	padding: 0 16px !important;
	transition: none;
}


/*
 * .site-header__inner  —  the 3-column flex row inside the sticky bar.
 *
 * LEFT  : .site-header__brand  (logo + site name, no shrink)
 * CENTER: .primary-navigation  (nav links, flex:1, centred)
 * RIGHT : .wp-block-html       (search + subscribe + dark toggle, no shrink)
 *
 * max-width + horizontal padding match every other page section so that
 * the logo/nav/actions are always pixel-aligned with the content below.
 */
.site-header__inner {
	width: 100%;
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px !important;
	padding-right: 8px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	box-sizing: border-box;
	height: 56px;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.75);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	box-shadow:
		0 4px 6px -1px rgba(0, 0, 0, 0.02),
		0 10px 15px -3px rgba(0, 0, 0, 0.04),
		0 0 0 1px rgba(255, 255, 255, 0.60) inset,
		0 0 0 1px rgba(0, 0, 0, 0.03);
	transition: box-shadow 0.3s ease, background 0.3s ease;
}

.site-header.is-scrolled .site-header__inner {
	background: rgba(255, 255, 255, 0.92);
	box-shadow:
		0 4px 6px -1px rgba(0, 0, 0, 0.04),
		0 10px 15px -3px rgba(0, 0, 0, 0.08),
		0 0 0 1px rgba(255, 255, 255, 0.70) inset,
		0 0 0 1px rgba(0, 0, 0, 0.05);
}



/* Suppress WP-generated vertical padding on nested block groups */
.site-header .wp-block-group {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* --- LEFT: Brand (logo + site name) --- */
.site-header__brand {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 10px !important;  /* !important overrides WP blockGap inline style="gap:16px" */
}

.site-header__brand .wp-block-site-logo img {
	max-height: 36px;
	width: auto;
	display: block;
}

.site-header__brand .wp-block-site-title {
	margin: 0;
	font-size: 1.15rem !important;
	line-height: 1;
	white-space: nowrap;
}

.site-header__brand .wp-block-site-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.site-header__brand .wp-block-site-title a:hover {
	color: var(--wp--preset--color--primary);
}

/* ==========================================================================
   Primary Navigation — CENTER column (wp_nav_menu output)
   ========================================================================== */

/* Nav pattern renders as .wp-block-html; flex-grow it to fill center */
.site-header__inner > .wp-block-html:has(.primary-navigation) {
	flex: 1 1 0%;
	min-width: 0;
	display: flex;
	justify-content: center;
}

.primary-navigation {
	display: flex;
	align-items: center;
}

.primary-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}

.primary-nav__list > li {
	position: relative;
}

.primary-nav__list > li > a {
	display: block;
	position: relative;
	padding: 6px 12px;
	color: var(--c-body-text);
	font-weight: 500;
	font-size: 0.925rem;
	border-radius: 8px;
	transition: color 0.15s ease;
	text-decoration: none;
	white-space: nowrap;
}

.primary-nav__list > li > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 16px;
	height: 2px;
	background: var(--wp--preset--color--primary);
	border-radius: 99px;
	transition: transform 0.2s ease;
	transform-origin: center;
}

.primary-nav__list > li > a:hover,
.primary-nav__list > li.current-menu-item > a,
.primary-nav__list > li.current-menu-ancestor > a,
.primary-nav__list > li.current-page-ancestor > a {
	color: var(--wp--preset--color--primary);
	background: transparent;
}

.primary-nav__list > li > a:hover::after,
.primary-nav__list > li.current-menu-item > a::after,
.primary-nav__list > li.current-menu-ancestor > a::after,
.primary-nav__list > li.current-page-ancestor > a::after {
	transform: translateX(-50%) scaleX(1);
}

/* Sub-menus */
.primary-nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	list-style: none;
	margin: 0;
	padding: 8px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
	min-width: 200px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
	z-index: 200;
}

.primary-nav__list > li:hover > .sub-menu,
.primary-nav__list > li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.primary-nav__list .sub-menu a {
	display: block;
	padding: 8px 12px;
	color: var(--c-body-text);
	font-size: 0.9rem;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.15s ease;
}

.primary-nav__list .sub-menu a:hover {
	color: var(--wp--preset--color--primary);
	background: var(--c-primary-a10);
}


@media (max-width: 900px) {
	.primary-navigation { display: none; }
}

/* ==========================================================================
   Mobile Menu — hamburger toggle + slide-down panel
   ========================================================================== */

/* Hide toggle on desktop */
.mobile-menu-toggle {
	display: none;
}

@media (max-width: 900px) {
	/* Show toggle on mobile */
	.mobile-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		padding: 0;
		border: none;
		border-radius: 8px;
		background: transparent;
		color: var(--wp--preset--color--contrast);
		cursor: pointer;
		flex-shrink: 0;
		transition: background 0.15s ease, color 0.15s ease;
	}

	.mobile-menu-toggle:hover,
	.mobile-menu-toggle:focus-visible {
		background: rgba(128, 128, 128, 0.15);
		outline: 2px solid var(--wp--preset--color--primary);
		outline-offset: 2px;
	}

	/* Icon visibility — show hamburger, hide X by default */
	.mobile-menu-toggle__icon--close { display: none; }

	/* When expanded: show X, hide hamburger */
	.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__icon--open  { display: none; }
	.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-toggle__icon--close { display: block; }
}

/* Mobile menu panel — always dark overlay regardless of site theme */
.mobile-menu {
	display: none;
	position: fixed;
	top: 76px;
	left: 0;
	right: 0;
	z-index: 999;
	background: #0A0F1E; /* --navy — always dark */
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.5);
	overflow-y: auto;
	max-height: calc(100vh - 76px);
	padding: 16px 0 32px;
}

.mobile-menu.is-open {
	display: block;
}

/* Prevent body scroll when menu is open */
body.menu-open {
	overflow: hidden;
}

/* Mobile nav list */
.mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-nav__list li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.mobile-nav__list li:first-child {
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.mobile-nav__list a {
	display: block;
	padding: 14px 24px;
	font-size: 1rem;
	font-weight: 500;
	color: #F1F5F9; /* always light — readable on dark navy */
	text-decoration: none;
	transition: color 0.15s ease, background 0.15s ease;
}

.mobile-nav__list a:hover,
.mobile-nav__list a:focus-visible {
	color: var(--wp--preset--color--primary);
	background: rgba(255, 255, 255, 0.05);
}

.mobile-nav__list .current-menu-item > a,
.mobile-nav__list .current-page-ancestor > a {
	color: var(--wp--preset--color--primary);
}

/* Sub-menu indented */
.mobile-nav__list .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	background: rgba(0, 0, 0, 0.2);
}

.mobile-nav__list .sub-menu a {
	padding-left: 40px;
	font-size: 0.9rem;
	font-weight: 400;
	color: #94A3B8;
}

.mobile-nav__list .sub-menu a:hover {
	color: var(--wp--preset--color--primary);
}

/* ==========================================================================
   Newsletter Subscribe Modal (Popup)
   ========================================================================== */
.newsletter-modal {
	position: fixed;
	inset: 0;
	z-index: 9998;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.newsletter-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.newsletter-modal__backdrop {
	position: fixed;
	inset: 0;
	background: rgba(26, 46, 36, 0.60);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	cursor: pointer;
}

.newsletter-modal__panel {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, calc(-50% + 24px)) scale(0.96);
	z-index: 9999;
	background: #F0F4D8;
	border: 1.5px solid rgba(228, 161, 27, 0.40);
	border-radius: 24px;
	padding: 52px 44px 44px;
	max-width: 480px;
	width: calc(100% - 32px);
	text-align: center;
	box-shadow: 0 32px 80px rgba(26, 46, 36, 0.20);
	transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.newsletter-modal.is-open .newsletter-modal__panel {
	transform: translate(-50%, -50%) scale(1);
}

.newsletter-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 34px;
	height: 34px;
	padding: 0;
	background: rgba(26, 46, 36, 0.08);
	border: 1px solid rgba(26, 46, 36, 0.12);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #2C211B;
	transition: background 0.15s ease;
}

.newsletter-modal__close:hover {
	background: rgba(26, 46, 36, 0.16);
}

.newsletter-modal__icon {
	width: 60px;
	height: 60px;
	background: #2C211B;
	border-radius: 16px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 20px;
	color: #E4A11B;
}

.newsletter-modal__eyebrow {
	display: inline-block;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #5E1F18;
	background: rgba(228, 161, 27, 0.28);
	border: 1px solid rgba(228, 161, 27, 0.55);
	border-radius: 999px;
	padding: 4px 14px;
	margin-bottom: 16px;
}

.newsletter-modal__title {
	font-family: var(--font-display);
	font-size: clamp(1.4rem, 4vw, 1.8rem);
	font-weight: 700;
	color: #2C211B;
	line-height: 1.2;
	margin-bottom: 12px;
}

.newsletter-modal__desc {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 0.95rem;
	color: rgba(26, 46, 36, 0.65);
	line-height: 1.65;
	margin-bottom: 28px;
}

.newsletter-modal__form {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.newsletter-modal__input {
	width: 100%;
	padding: 13px 18px;
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 0.95rem;
	border: 1.5px solid rgba(26, 46, 36, 0.18);
	border-radius: 10px;
	background: #fff;
	color: #2C211B;
	outline: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	box-sizing: border-box;
}

.newsletter-modal__input:focus {
	border-color: #E4A11B;
	box-shadow: 0 0 0 3px rgba(228, 161, 27, 0.28);
}

.newsletter-modal__input::placeholder {
	color: rgba(26, 46, 36, 0.40);
}

.newsletter-modal__submit {
	width: 100%;
	padding: 14px 24px;
	font-family: var(--font-display);
	font-size: 1rem;
	font-weight: 700;
	background: #2C211B;
	color: #E4A11B;
	border: none;
	border-radius: 10px;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.1s ease;
}

.newsletter-modal__submit:hover {
	background: #2d2d2b;
	transform: translateY(-1px);
}

.newsletter-modal__note {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-size: 0.78rem;
	color: rgba(26, 46, 36, 0.45);
	margin-top: 14px;
	margin-bottom: 0 !important;
}

body.popup-open { overflow: hidden; }

@media (max-width: 520px) {
	.newsletter-modal__panel {
		padding: 44px 22px 36px;
		border-radius: 18px;
		width: calc(100% - 24px);
	}
	.newsletter-modal__title {
		font-size: 1.35rem;
	}
}

/* ==========================================================================
   Header Actions — RIGHT column (search + subscribe + dark mode toggle)
   ========================================================================== */

/* The wp:html block wrapping header-actions.php outputs .wp-block-html.
   Give it flex:0 so it never grows/shrinks and stays pinned to the right. */
.site-header__inner > .wp-block-html {
	flex: 0 0 auto;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-shrink: 0;
}

.header-search-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	background: transparent;
	border: 1px solid transparent;
	border-radius: 10px;
	cursor: pointer;
	color: var(--c-body-text);
	transition: all 0.15s ease;
	padding: 0;
}

.header-search-toggle:hover {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
}

.header-subscribe-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 18px;
	background: var(--wp--preset--color--primary);
	color: #fff !important;
	border-radius: 999px;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
	white-space: nowrap;
}

.header-subscribe-btn:hover {
	background: var(--wp--preset--color--primary-dark);
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(255, 92, 53, 0.3);
}

/* Search panel dropdown */
.header-search-panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--wp--preset--color--base);
	border-top: 1px solid var(--wp--preset--color--border);
	border-bottom: 1px solid var(--wp--preset--color--border);
	padding: 16px var(--container-pad);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.10);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.header-search-panel[aria-hidden="true"] {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-4px);
}

.header-search-panel[aria-hidden="false"] {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.header-search-panel .search-form {
	max-width: 600px;
	margin: 0 auto;
}







/* ==========================================================================
   Button System
   ========================================================================== */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all 0.2s ease;
	border-radius: 999px;
}

.btn--primary {
	background: #5E1F18;
	color: #FBF3E2;
	padding: 12px 24px;
	font-size: 0.9rem;
}

.btn--primary:hover {
	background: #2F0C09;
	color: #FBF3E2;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(94, 31, 24,0.25);
}

.btn--sm {
	padding: 9px 18px;
	font-size: 0.82rem;
}

.btn--outline {
	background: transparent;
	color: #2C211B;
	border: 1.5px solid rgba(26,46,36,0.30);
	padding: 11px 24px;
	font-size: 0.9rem;
}

.btn--outline:hover {
	border-color: #2C211B;
	background: rgba(26,46,36,0.06);
}

/* ==========================================================================
   Lightbox — Feature image zoom overlay
   ========================================================================== */
.growdeshi-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	align-items: center;
	justify-content: center;
}

.growdeshi-lightbox.is-open {
	display: flex;
}

.growdeshi-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	cursor: zoom-out;
}

.growdeshi-lightbox__img {
	position: relative;
	max-width: 92vw;
	max-height: 90vh;
	object-fit: contain;
	border-radius: 8px;
	box-shadow: 0 24px 80px rgba(0, 0, 0, 0.6);
	cursor: zoom-out;
}

.growdeshi-lightbox__close {
	position: absolute;
	top: 20px;
	right: 24px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.20);
	color: #fff;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease;
}

.growdeshi-lightbox__close:hover,
.growdeshi-lightbox__close:focus-visible {
	background: rgba(255, 255, 255, 0.22);
	outline: 2px solid rgba(255, 255, 255, 0.4);
	outline-offset: 2px;
}

@media (max-width: 640px) {
	.post-hero__image-wrap {
		border-radius: 16px;
	}
}

/* ==========================================================================
   3-Column Single Post Layout
   ========================================================================== */
.single-post-layout-wrapper {
	background: var(--c-brand-wash);
}

.single-post-layout {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr) 300px;
	gap: 48px;
	padding-top: 48px;
	padding-bottom: 64px;
	align-items: start;
}

.single-post-layout__toc {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	max-height: calc(100vh - var(--header-h) - 48px);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: #E1D2B6 transparent;
}

.single-post-layout__toc::-webkit-scrollbar { width: 3px; }
.single-post-layout__toc::-webkit-scrollbar-thumb {
	background: var(--wp--preset--color--border);
	border-radius: 4px;
}

.single-post-layout__content {
	min-width: 0;
}

.single-post-layout__affiliate {
	position: sticky;
	top: calc(var(--header-h) + 24px);
}

/* no-toc: hide left column */
.single-post-layout.no-toc {
	grid-template-columns: minmax(0, 1fr) 260px;
}

@media (max-width: 1200px) {
	.single-post-layout {
		grid-template-columns: 180px minmax(0, 1fr) 240px;
		gap: 40px;
	}
}

@media (max-width: 1024px) {
	.single-post-layout {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-top: 32px;
		padding-bottom: 48px;
	}

	.single-post-layout__toc,
	.single-post-layout__affiliate {
		position: static;
		top: auto;
		max-height: none;
	}

	.single-post-layout__affiliate { order: 3; }
}

@media (max-width: 768px) {
	.single-post-layout__toc { display: none; }
	.single-post-layout.no-toc { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Article Body Typography
   ========================================================================== */
.wp-block-post-content {
	font-size: 1.075rem;
	line-height: 1.8;
	color: var(--c-body-text);
}

.wp-block-post-content > * + * {
	margin-top: 0;
}

.wp-block-post-content h2 {
	font-size: 2rem;
	margin-top: 3rem;
	margin-bottom: 1.25rem;
	line-height: 1.15;
	letter-spacing: -0.03em;
	font-family: var(--font-display);
	color: var(--c-ink);
}

.wp-block-post-content h3 {
	font-size: clamp(1.15rem, 2vw, 1.375rem);
	margin-top: 2.25rem;
	margin-bottom: 0.75rem;
	font-family: var(--font-display);
	color: var(--c-ink);
}

.wp-block-post-content h4 {
	font-size: 1.1rem;
	margin-top: 1.75rem;
	margin-bottom: 0.5rem;
}

.wp-block-post-content p { margin-bottom: 1.5rem; }

.wp-block-post-content a {
	color: #5E1F18;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
}

.wp-block-post-content a:hover {
	color: #3d5700;
}

.wp-block-post-content ul,
.wp-block-post-content ol {
	padding-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.wp-block-post-content li { margin-bottom: 6px; }

.wp-block-post-content strong { font-weight: 600; color: #2C211B; }

.wp-block-post-content em { font-style: italic; }

/* Blockquote */
.wp-block-quote {
	border-left: 4px solid #E4A11B !important;
	margin: 2rem 0;
	padding: 1.5rem 2rem;
	background: rgba(228, 161, 27,0.08);
	border-radius: 0 12px 12px 0;
}

.wp-block-quote p {
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--c-ink);
	line-height: 1.5;
	margin-bottom: 0 !important;
	font-style: italic;
}

.wp-block-quote cite,
.wp-block-quote footer {
	display: block;
	margin-top: 10px;
	font-size: 0.875rem;
	color: var(--c-ink-60);
	font-style: normal;
	font-weight: 600;
}

/* Code */
.wp-block-code {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	font-family: "JetBrains Mono", "SF Mono", Monaco, monospace;
	font-size: 0.88rem;
	padding: 1.25rem 1.5rem;
	overflow-x: auto;
}


code {
	font-family: "JetBrains Mono", "SF Mono", Monaco, monospace;
	font-size: 0.875em;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary);
	padding: 2px 6px;
	border-radius: 4px;
}


/* Table */
.wp-block-post-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	margin-bottom: 2rem;
}

.wp-block-post-content th {
	background: var(--wp--preset--color--surface);
	font-weight: 600;
	text-align: left;
	padding: 10px 14px;
	border-bottom: 2px solid var(--wp--preset--color--border);
}

.wp-block-post-content td {
	padding: 10px 14px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.wp-block-post-content tr:hover td {
	background: var(--wp--preset--color--surface);
}

/* ==========================================================================
   Breadcrumbs
   ========================================================================== */
.breadcrumbs {
	font-size: 0.82rem;
	margin-bottom: 18px;
}

.breadcrumbs__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.breadcrumbs__item {
	display: flex;
	align-items: center;
	gap: 4px;
}

.breadcrumbs__item::after {
	content: '/';
	color: currentColor;
	opacity: 0.35;
	font-size: 0.78rem;
}

.breadcrumbs__item:last-child::after { display: none; }

.breadcrumbs__link {
	color: var(--wp--preset--color--muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

.breadcrumbs__link:hover { color: var(--wp--preset--color--primary); }

.breadcrumbs__current {
	color: var(--wp--preset--color--muted);
	opacity: 0.65;
}

/* Dark context breadcrumbs */
.breadcrumbs--dark .breadcrumbs__link { color: rgba(255,255,255,0.5); }
.breadcrumbs--dark .breadcrumbs__link:hover { color: #fff; }
.breadcrumbs--dark .breadcrumbs__current { color: rgba(255,255,255,0.4); }

/* ==========================================================================
   Search Form
   ========================================================================== */
.search-form {
	position: relative;
}

.search-form__wrapper {
	display: flex;
	align-items: center;
	background: var(--wp--preset--color--base);
	border: 1.5px solid var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.search-form__wrapper:focus-within {
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(255, 92, 53, 0.1);
}

.search-form__icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	color: var(--wp--preset--color--muted);
	margin-left: 14px;
}

.search-field {
	flex: 1;
	padding: 12px 14px;
	border: none;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-size: 0.95rem;
}

.search-field:focus { outline: none; }

.search-field::placeholder { color: var(--wp--preset--color--muted); }

.search-submit {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.2s ease;
	white-space: nowrap;
}

.search-submit:hover { background: var(--wp--preset--color--primary-dark); }

/* Search results header */
.search-results-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 40px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.search-results-count {
	font-size: 1.05rem;
	color: var(--c-body-text);
	margin: 0;
}

.search-results-count strong { color: var(--c-ink); }
.search-results-count em { color: #5E1F18; font-style: normal; font-weight: 600; }

.search-results-new-search {
	width: 100%;
	max-width: 400px;
}

@media (max-width: 640px) {
	.search-results-header { flex-direction: column; }
	.search-results-new-search { max-width: 100%; }
}

/* ==========================================================================
   404 Page
   ========================================================================== */
.error-404 {
	min-height: 80vh;
	display: flex;
	align-items: center;
}

.error-404__inner {
	text-align: center;
	padding: clamp(48px, 8vw, 96px) 0;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}

.error-404__number {
	font-size: clamp(5rem, 15vw, 9rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.05em;
	background: linear-gradient(135deg, #E4A11B 0%, #F3D78C 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	display: block;
	margin-bottom: 16px;
	font-family: var(--font-display);
}

.error-404__heading {
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	font-weight: 700;
	color: #2C211B;
	margin-bottom: 14px;
}

.error-404__message {
	font-size: 1.05rem;
	color: rgba(26,46,36,0.60);
	max-width: 480px;
	margin: 0 auto 36px;
	line-height: 1.65;
}

.error-404__actions {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 40px;
}

.error-404__search {
	max-width: 480px;
	margin: 0 auto 48px;
}

.error-404__search-label {
	font-size: 0.875rem;
	color: rgba(26,46,36,0.55);
	margin-bottom: 12px;
}

.error-404__search .search-form__wrapper {
	background: rgba(255,255,255,0.80);
	border-color: rgba(26,46,36,0.15);
}

.error-404__popular {
	text-align: left;
	margin-top: 64px;
}

.error-404__popular-eyebrow {
	font-family: 'Plus Jakarta Sans', system-ui;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(26,46,36,0.55);
	margin-bottom: 8px;
	text-align: center;
}

.error-404__popular-title {
	font-size: clamp(1.25rem, 2.5vw, 1.75rem);
	font-weight: 700;
	color: #2C211B;
	margin-bottom: 32px;
	text-align: center;
	letter-spacing: -0.03em;
}

/* ==========================================================================
   Site Footer
   ========================================================================== */
.site-footer {
	background: var(--wp--preset--color--mid-dark);
	color: rgba(255, 255, 255, 0.65);
}

.site-footer a {
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color 0.15s ease;
}

.site-footer a:hover { color: var(--wp--preset--color--primary); }

.site-footer__main {
	padding-top: clamp(48px, 7vw, 80px);
	padding-bottom: clamp(32px, 5vw, 56px);
}

.site-footer__container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.site-footer__brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
}

/* Logo icon + site title inline row */
.site-footer__brand-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: #fff;
}

.site-footer__brand-link:hover {
	color: #fff;
	opacity: 0.85;
}

.site-footer__logo-icon {
	height: 36px;
	width: 36px;
	object-fit: contain;
	flex-shrink: 0;
	opacity: 0.9;
}

.site-footer__site-name {
	font-size: 1.2rem;
	font-weight: 700;
	color: #fff;
	letter-spacing: -0.02em;
}

.site-footer__tagline {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.45);
	line-height: 1.65;
	max-width: 360px;
	margin: 0;
}

.site-footer__social {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}

.social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 9px;
	color: rgba(255, 255, 255, 0.55) !important;
	transition: all 0.2s ease;
}

.social-link:hover {
	background: rgba(255, 92, 53, 0.15);
	border-color: rgba(255, 92, 53, 0.3);
	color: var(--wp--preset--color--primary) !important;
}

/* Footer legal menu */
.site-footer__legal {
	margin-top: 4px;
}

.site-footer__legal-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 4px 16px;
}

.site-footer__legal-list li { margin: 0; }

.site-footer__legal-list li a,
.site-footer__legal-list a {
	font-size: 0.76rem;
	color: rgba(255, 255, 255, 0.3);
	text-decoration: none;
	letter-spacing: 0.01em;
	transition: color 0.15s ease;
}

.site-footer__legal-list li a:hover,
.site-footer__legal-list a:hover {
	color: rgba(255, 255, 255, 0.65);
}

/* Footer bottom bar */
.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	padding: 20px 0;
}

.site-footer__bottom .site-footer__container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	grid-template-columns: none;
}

.site-footer__copyright {
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.3);
	margin: 0;
}

.site-footer__built-with {
	font-size: 0.82rem;
	color: rgba(255, 255, 255, 0.3);
	margin: 0;
}

.site-footer__built-with a {
	color: rgba(255, 255, 255, 0.4) !important;
}

.site-footer__built-with a:hover {
	color: var(--wp--preset--color--primary) !important;
}

/* Responsive footer */
@media (max-width: 640px) {
	.site-footer__bottom .site-footer__container {
		flex-direction: column;
		text-align: center;
	}
}

/* ==========================================================================
   Custom Block Styles
   ========================================================================== */
.is-style-card {
	background: var(--wp--preset--color--surface);
	border-radius: 12px;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
}

.is-style-bordered {
	border-left: 4px solid var(--wp--preset--color--primary);
	padding-left: 1.5rem;
}

.is-style-checkmark ul {
	list-style: none;
	padding-left: 0;
}

.is-style-checkmark li::before {
	content: '✓';
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	margin-right: 8px;
}

.is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 2px solid var(--wp--preset--color--primary);
}

.is-style-rounded img { border-radius: 999px; }

.wp-block-separator {
	border-color: var(--wp--preset--color--border);
	opacity: 1;
}

.wp-block-image img { border-radius: 8px; }

.wp-block-image figcaption {
	font-size: 0.82rem;
	color: var(--wp--preset--color--muted);
	text-align: center;
	margin-top: 8px;
}

/* Author bio block */
.author-bio-block.wp-block-post-author {
	display: flex;
	gap: 20px;
	padding: 28px;
	background: var(--wp--preset--color--surface);
	border-radius: 14px;
	border: 1px solid var(--wp--preset--color--border);
}

.wp-block-post-author__avatar img {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--wp--preset--color--border);
}

.wp-block-post-author__name {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 4px;
}

.wp-block-post-author__bio {
	font-size: 0.9rem;
	color: var(--wp--preset--color--muted);
	margin: 0;
	line-height: 1.6;
}

/* ==========================================================================
   FAQ Section (growdeshi/faq pattern)
   ========================================================================== */
.faq-section {
	margin: 48px 0;
}

.faq-section__title {
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	font-weight: 700;
	margin-bottom: 28px;
	color: var(--wp--preset--color--contrast);
}

.faq-item {
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.faq-item:first-of-type {
	border-top: 1px solid var(--wp--preset--color--border);
}

.faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.faq-item__question::-webkit-details-marker { display: none; }

.faq-item__question span {
	flex: 1;
}

.faq-item__chevron {
	flex-shrink: 0;
	color: var(--wp--preset--color--muted);
	transition: transform 0.2s ease;
}

.faq-item[open] .faq-item__chevron {
	transform: rotate(180deg);
}

.faq-item[open] .faq-item__question {
	color: var(--wp--preset--color--primary);
}

.faq-item__answer {
	padding: 0 0 20px;
	color: var(--c-body-text, var(--wp--preset--color--muted));
	line-height: 1.7;
}

.faq-item__answer p {
	margin: 0;
}

/* ==========================================================================
   HowTo Section (growdeshi/howto pattern)
   ========================================================================== */
.howto-section {
	margin: 48px 0;
}

.howto-section__header {
	margin-bottom: 32px;
}

.howto-section__title {
	font-size: clamp(1.4rem, 2.5vw, 1.9rem);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	margin-bottom: 10px;
}

.howto-section__desc {
	color: var(--c-body-text, var(--wp--preset--color--muted));
	font-size: 1rem;
	margin: 0;
	line-height: 1.65;
}

.howto-section__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.howto-step {
	display: flex;
	gap: 20px;
	padding: 24px 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.howto-step:first-child {
	border-top: 1px solid var(--wp--preset--color--border);
}

.howto-step__number {
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 2px;
}

.howto-step__body {
	flex: 1;
	min-width: 0;
}

.howto-step__title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	margin: 0 0 6px;
}

.howto-step__desc {
	font-size: 0.9375rem;
	color: var(--c-body-text, var(--wp--preset--color--muted));
	margin: 0;
	line-height: 1.65;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */
.text-gradient {
	background: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-dark));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

.text-neon-green { color: var(--wp--preset--color--secondary); }
.text-neon-blue  { color: var(--wp--preset--color--tertiary); }

.font-mono {
	font-family: "JetBrains Mono", "SF Mono", Monaco, monospace;
	letter-spacing: -0.01em;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */
.skip-link {
	position: absolute;
	top: -100%;
	left: 0;
	padding: 12px 20px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	z-index: 10000;
	text-decoration: none;
	font-weight: 600;
	border-radius: 0 0 8px 0;
	transition: top 0.1s ease;
}

.skip-link:focus { top: 0; }

:where(.wp-site-blocks *:focus-visible) {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ==========================================================================
   Smooth Scroll + Selection
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
		scroll-padding-top: calc(var(--header-h) + 24px);
	}
}

::selection {
	background: var(--wp--preset--color--primary);
	color: #fff;
}

/* ==========================================================================
   Mobile & Responsive — Global
   ========================================================================== */
@media (max-width: 782px) {
	.site-header .wp-block-site-title { font-size: 1rem !important; }
}

@media (max-width: 640px) {
	.site-header__actions .header-subscribe-btn { display: none; }
}

/* ==========================================================================
   Global — Remove WordPress automatic block-gap margins between sections
   ========================================================================== */
:where(.wp-site-blocks) > *,
main.wp-block-group > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* ==========================================================================
   Global — Homepage WP block gap removal
   ========================================================================== */
body.home :where(.wp-site-blocks) > *,
body.home main.wp-block-group > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* ==========================================================================
   Page Hero — Static Page Header (page.html)
   ========================================================================== */
.page-hero {
	background: var(--c-brand-wash);
	background-image: linear-gradient(180deg, rgba(228, 161, 27,0.18) 0%, transparent 100%);
	padding: clamp(80px, 12vw, 140px) var(--container-pad) clamp(48px, 8vw, 80px);
	text-align: center;
}

.page-hero__inner {
	max-width: 720px;
	margin: 0 auto;
}

.page-hero .breadcrumbs {
	margin-bottom: 20px;
	justify-content: center;
}

.page-hero__eyebrow {
	font-family: 'Plus Jakarta Sans', system-ui;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(26,46,36,0.50);
	margin-bottom: 16px;
}

.page-hero__title {
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 700;
	color: var(--c-ink);
	letter-spacing: -0.04em;
	line-height: 1.1;
	margin: 0;
}

/* ==========================================================================
   404 Page — Brand-wash background overrides
   ========================================================================== */
.error-404 {
	background: var(--c-brand-wash);
	background-image: linear-gradient(180deg, rgba(228, 161, 27,0.15) 0%, transparent 50%);
	padding: clamp(80px, 12vw, 140px) var(--container-pad) clamp(64px, 10vw, 120px);
}
/* ==========================================================================
   Site Footer — Generic
   ========================================================================== */
.site-footer {
	background: var(--wp--preset--color--footer);
	color: var(--wp--preset--color--white);
	padding: clamp(48px, 8vw, 80px) var(--container-pad) 0;
}

.footer-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	justify-content: space-between;
	max-width: var(--container-max);
	margin: 0 auto;
	padding-bottom: clamp(32px, 5vw, 48px);
}

.footer-brand { max-width: 300px; }

.footer-logo { display: inline-block; text-decoration: none; color: var(--wp--preset--color--white); font-weight: 700; margin-bottom: 12px; }
.footer-logo--text { font-size: 1.25rem; }
.footer-tagline { color: rgba(255,255,255,0.6); font-size: 0.9rem; line-height: 1.6; margin: 0 0 12px; }
.footer-email { color: rgba(255,255,255,0.7); font-size: 0.875rem; text-decoration: none; }
.footer-email:hover { color: var(--wp--preset--color--white); }

.footer-social { display: flex; gap: 12px; margin-top: 16px; }
.footer-social__link { color: rgba(255,255,255,0.6); font-size: 1.25rem; text-decoration: none; transition: color 0.2s; }
.footer-social__link:hover { color: var(--wp--preset--color--white); }

.footer-nav .menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.footer-nav .menu a { color: rgba(255,255,255,0.65); text-decoration: none; font-size: 0.9rem; transition: color 0.2s; }
.footer-nav .menu a:hover { color: var(--wp--preset--color--white); }

.footer-bar {
	border-top: 1px solid rgba(255,255,255,0.1);
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 20px 0;
}

.footer-bar__copy { color: rgba(255,255,255,0.4); font-size: 0.8rem; margin: 0; }

/* ==========================================================================
   Fade-in Sections — keep for all homepage patterns you add
   ========================================================================== */
.fade-in-section {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-in-section.visible {
	opacity: 1;
	transform: none;
}

/* ==========================================================================
   Home Placeholder (interim homepage — replace with full design)
   ========================================================================== */

.home-placeholder {
	background: var(--c-brand-wash, #F0F4D8);
	padding: clamp(96px, 14vw, 180px) var(--container-pad, clamp(16px, 5vw, 48px)) clamp(80px, 12vw, 160px);
}

.home-placeholder__inner {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}

.home-placeholder__eyebrow {
	display: inline-block;
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--c-ink, #2C211B);
	background: var(--c-brand-lime, #E4A11B);
	padding: 6px 14px;
	border-radius: 999px;
	margin: 0 0 28px;
}

.home-placeholder__title {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: clamp(34px, 6vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--c-ink, #2C211B);
	margin: 0 0 16px;
}

.home-placeholder__bangla {
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	font-size: clamp(18px, 2.2vw, 22px);
	font-weight: 500;
	color: var(--c-ink-60, rgba(26,46,36,0.60));
	margin: 0 0 28px;
}

.home-placeholder__subtitle {
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	font-size: clamp(16px, 1.8vw, 19px);
	line-height: 1.6;
	color: var(--c-ink-60, rgba(26,46,36,0.60));
	margin: 0 auto 36px;
	max-width: 680px;
}

.home-placeholder__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 0 0 56px;
}

.home-placeholder__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	font-weight: 600;
	font-size: 16px;
	padding: 14px 26px;
	border-radius: 14px;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.home-placeholder__btn--primary {
	background: var(--c-brand-amber, #F1A035);
	color: var(--c-ink, #2C211B);
	box-shadow: 0 6px 18px rgba(241, 160, 53, 0.28);
}

.home-placeholder__btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(241, 160, 53, 0.34);
}

.home-placeholder__btn--ghost {
	background: transparent;
	color: var(--c-ink, #2C211B);
	border: 1px solid var(--c-border, rgba(200,215,140,0.55));
}

.home-placeholder__btn--ghost:hover {
	background: rgba(26, 46, 36, 0.04);
}

.home-placeholder__pillars {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 14px;
	text-align: left;
}

.home-placeholder__pillars li {
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid var(--c-border, rgba(200,215,140,0.55));
	border-radius: 14px;
	padding: 16px 18px;
	font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--c-ink-60, rgba(26,46,36,0.60));
}

.home-placeholder__pillars strong {
	color: var(--c-ink, #2C211B);
	font-weight: 700;
}

/* ==========================================================================
   Site Nav (Sticky) — replaces the legacy floating capsule navbar.
   The template parts wrap the header in `<header class="site-header">`, so
   we reset the legacy capsule rules on that wrapper here — the new sticky
   nav lives inside as `<header id="site-nav" class="site-nav">`.
   ========================================================================== */
.site-header {
	position: static !important;
	top: auto !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	transition: none !important;
	z-index: auto;
}
.site-header > .wp-block-group.skip-link-wrapper { position: absolute; }

.site-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	background: rgba(255, 255, 255, 0.90);
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 0.5px solid #E1D2B6;
	transition: box-shadow 0.25s ease;
}

/* The <header> block is in normal flow and occupies its own height — no extra padding needed. */
.wp-site-blocks {
	padding-top: 0;
}

.site-nav.is-scrolled {
	box-shadow: 0 1px 3px rgba(94, 31, 24, 0.08);
}

.site-nav__inner {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
	height: 68px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

@media (min-width: 1024px) {
	.site-nav__inner { padding: 0 40px; }
}

/* Brand (left) — inline SVG mark + wordmark + Bengali tagline */
.site-nav__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	flex-shrink: 0;
}

.site-nav__mark {
	width: 36px;
	height: 36px;
	display: block;
	flex-shrink: 0;
}

/* Wrapper stacks "SpiceGhor" wordmark above the Bengali tagline */
.site-nav__brand-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3px;
	line-height: 1;
}

.site-nav__wordmark {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -0.02em;
	color: var(--maroon);
	line-height: 1;
}

.site-nav__wordmark-accent { color: var(--gold); }

.site-nav__wordmark-bn {
	font-family: var(--font-bengali);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.02em;
	color: var(--soil);
	line-height: 1;
	white-space: nowrap;
}

.site-nav__brand:hover .site-nav__wordmark { color: var(--maroon-900); }

/* Customizer-uploaded logo fallback */
.site-nav__logo-img {
	max-height: 36px;
	width: auto;
	display: block;
}

/* Center nav menu (desktop) */
.site-nav__menu {
	display: flex;
	justify-content: center;
	min-width: 0;
}

.site-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 36px;
}

.site-nav__list li { margin: 0; }

.site-nav__list a {
	font-family: var(--font-ui);
	font-weight: 500;
	font-size: 14px;
	color: #2C211B;
	text-decoration: none;
	transition: color 0.18s ease;
	position: relative;
	padding: 4px 0;
}

/* Underline-scale animation (matches reference .nav-link::after) */
.site-nav__list a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 1.5px;
	background: #5E1F18;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.site-nav__list a:hover::after,
.site-nav__list .current-menu-item > a::after,
.site-nav__list .current_page_item > a::after {
	transform: scaleX(1);
}

.site-nav__list a:hover,
.site-nav__list .current-menu-item > a,
.site-nav__list .current_page_item > a {
	color: #5E1F18;
}

/* Right actions */
.site-nav__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.site-nav__signin {
	font-family: var(--font-ui);
	font-size: 13px;
	font-weight: 500;
	color: #7C2C22;
	text-decoration: none;
	transition: color 0.18s ease;
}

.site-nav__signin:hover { color: #481410; }

.site-nav__icon-btn {
	width: 38px;
	height: 38px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0.5px solid #E1D2B6;
	border-radius: 10px;
	background: #FFFFFF;
	color: #2C211B;
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.site-nav__icon-btn:hover {
	background: #FBF3E2;
	border-color: #F3D78C;
	color: #481410;
}

.site-nav__icon-btn[aria-expanded="true"] {
	background: #5E1F18;
	border-color: #5E1F18;
	color: #FBF3E2;
}

.site-nav__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0 16px;
	height: 40px;
	border-radius: 10px;
	background: #5E1F18;
	color: #FBF3E2;
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(94, 31, 24, 0.08);
	transition: background 0.2s ease, transform 0.15s ease;
}

.site-nav__cta:hover { background: #481410; color: #FBF3E2; }
.site-nav__cta:hover svg { transform: translateX(2px); }
.site-nav__cta:active { transform: scale(0.97); }
.site-nav__cta svg { transition: transform 0.15s ease; }

.site-nav__hamburger {
	display: none;
	width: 38px;
	height: 38px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	cursor: pointer;
	padding: 0;
}

.site-nav__hamburger span {
	display: block;
	width: 16px;
	height: 2px;
	background: var(--c-ink);
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.2s ease;
}

.site-nav__hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-nav__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.site-nav__hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Search dropdown panel */
.site-nav__search-panel {
	position: absolute;
	top: calc(var(--header-h) + 8px);
	right: var(--container-pad);
	width: min(360px, calc(100vw - 32px));
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--c-white);
	border: 1px solid var(--c-line);
	border-radius: 14px;
	padding: 6px 6px 6px 14px;
	box-shadow: var(--c-card-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
}

.site-nav__search-panel.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.site-nav__search-panel input[type="search"] {
	flex: 1;
	border: 0;
	outline: none;
	font-family: var(--font-ui);
	font-size: 15px;
	color: var(--c-ink);
	background: transparent;
	padding: 8px 0;
	min-width: 0;
}

.site-nav__search-panel input[type="search"]::placeholder { color: var(--c-ink-faint); }

.site-nav__search-panel button[type="submit"] {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	border: 0;
	background: var(--c-forest);
	color: var(--c-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.site-nav__search-panel button[type="submit"]:hover { background: var(--c-forest-dark); }

/* Mobile drawer + scrim */
.site-nav-scrim {
	position: fixed;
	inset: 0;
	background: rgba(26, 46, 36, 0.45);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	z-index: 70;
}

.site-nav-scrim.is-open { opacity: 1; visibility: visible; }

.site-nav-drawer {
	position: fixed;
	top: 0;
	right: 0;
	height: 100dvh;
	width: min(380px, 88vw);
	background: var(--c-base);
	box-shadow: -12px 0 30px -16px rgba(47, 12, 9, 0.35);
	transform: translateX(100%);
	transition: transform 0.32s cubic-bezier(0.32, 0.72, 0, 1);
	z-index: 80;
	display: flex;
}

.site-nav-drawer.is-open { transform: translateX(0); }

.site-nav-drawer__panel {
	width: 100%;
	display: flex;
	flex-direction: column;
	padding: 18px 22px 28px;
	gap: 18px;
	overflow-y: auto;
}

.site-nav-drawer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 6px;
}

.site-nav-drawer__brand {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 18px;
	color: var(--c-ink);
	text-decoration: none;
}

.site-nav-drawer__close {
	width: 38px;
	height: 38px;
	border: 1px solid var(--c-line);
	border-radius: 999px;
	background: var(--c-white);
	color: var(--c-ink);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.site-nav-drawer__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.site-nav-drawer__list a {
	display: block;
	padding: 12px 14px;
	border-radius: 12px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 18px;
	color: var(--c-ink);
	text-decoration: none;
	transition: background 0.18s ease, color 0.18s ease;
}

.site-nav-drawer__list a:hover,
.site-nav-drawer__list .current-menu-item > a,
.site-nav-drawer__list .current_page_item > a {
	background: var(--c-mint);
	color: var(--c-forest-dark);
}

.site-nav-drawer__cta {
	margin-top: auto;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 14px 18px;
	background: var(--c-forest);
	color: var(--c-white);
	border-radius: 12px;
	font-family: var(--font-ui);
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
}

.site-nav-drawer__cta:hover { background: var(--c-forest-dark); color: var(--c-white); }

/* ==========================================================================
   WordPress Admin Bar Compatibility
   ==========================================================================
   When logged in, WordPress adds an admin bar (32px desktop, 46px mobile).
   These rules adjust the fixed nav position to sit below the admin bar.
   -------------------------------------------------------------------------- */

/* Desktop admin bar: 32px */
body.admin-bar .site-nav {
	top: 32px !important;
}

/* Mobile admin bar: 46px (≤600px) */
@media screen and (max-width: 600px) {
	body.admin-bar .site-nav {
		top: 46px !important;
	}
}

/* Drawer also needs to start below admin bar */
body.admin-bar .site-nav-drawer {
	top: 32px !important;
	height: calc(100dvh - 32px) !important;
}

@media screen and (max-width: 600px) {
	body.admin-bar .site-nav-drawer {
		top: 46px !important;
		height: calc(100dvh - 46px) !important;
	}
}

/* WordPress core already reserves the admin-bar height via html{margin-top:32/46px},
   and every top section clears the fixed nav with its own padding (.product-page,
   hero insets). Padding the header for the admin bar on top of that double-counted
   it — e.g. an extra 32px gap above the product breadcrumb when logged in. So the
   header no longer pads for the admin bar (the announce+admin combo below still does,
   because the announce bar itself needs reserving). */

/* Add top spacing so sticky nav doesn't crash into hero content. */
body:not(.fse-studio-editor) .wp-site-blocks > main { padding-top: 0; }

@media (max-width: 768px) {
	.site-nav__menu { display: none; }
	.site-nav__hamburger { display: inline-flex; }
	/* Secondary actions move into the drawer on mobile — keep only cart +
	   hamburger in the bar so the cluster never overflows the viewport. */
	#site-nav-search,
	.site-nav__actions .gd-wish-open,
	.site-nav__account,
	.site-nav__divider { display: none; }
}

/* Drawer quick-actions (mobile menu): search field + account + wishlist */
.site-nav-drawer__search {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 12px;
	height: 44px;
	border: 1px solid var(--c-line);
	border-radius: 12px;
	background: var(--c-white);
	color: var(--c-ink-muted);
}
.site-nav-drawer__search i { font-size: 18px; color: var(--c-forest); }
.site-nav-drawer__search input {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	font-family: var(--font-bengali);
	font-size: 14px;
	color: var(--c-ink);
	outline: none;
}
.site-nav-drawer__actions { display: flex; flex-direction: column; gap: 2px; }
.site-nav-drawer__action {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border: none;
	width: 100%;
	background: transparent;
	border-radius: 12px;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 16px;
	color: var(--c-ink);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease;
}
.site-nav-drawer__action i { font-size: 20px; color: var(--c-forest); }
.site-nav-drawer__action:hover { background: var(--c-mint); color: var(--c-forest-dark); }
.site-nav-drawer__action-badge {
	margin-left: auto;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--c-amber);
	color: var(--c-ink);
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 700;
}
.site-nav-drawer__action-badge[hidden] { display: none; }

@media (max-width: 639px) {
	.site-nav__wordmark-bn { display: none; }
	.site-nav__signin { display: none; }
}

@media (max-width: 480px) {
	.site-nav__inner { gap: 12px; padding: 0 18px; }
	.site-nav__cta { padding: 0 12px; font-size: 11px; letter-spacing: 0.12em; }
	.site-nav__cta svg { display: none; }
}

/* ==========================================================================
   Site Footer (Dark Forest)
   ========================================================================== */
.site-footer {
	position: relative;
	overflow: hidden;
	background: #2C211B;
	color: #F3D78C;
	font-family: var(--font-ui);
	font-size: 15px;
	line-height: 1.6;
}

/* Dot-grid texture overlay */
.site-footer__dotgrid {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: radial-gradient(rgba(251, 243, 226, 0.08) 1px, transparent 1px);
	background-size: 22px 22px;
	opacity: 0.5;
}

/* Faint leaf watermark — bottom-right */
.site-footer__leaf-mark {
	position: absolute;
	right: -6rem;
	bottom: -5rem;
	pointer-events: none;
	width: min(620px, 70vw);
	height: auto;
	opacity: 0.04;
}

/* Inner wrapper */
.site-footer__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: clamp(48px, 7vw, 112px) var(--container-pad) 2.5rem;
	position: relative;
}

/* TOP BAND: brand (left) + newsletter (right) */
.site-footer__top {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	padding-bottom: clamp(40px, 5vw, 64px);
	border-bottom: 1px solid rgba(243, 215, 140, 0.16);
}

/* -- Brand column -- */
.site-footer__logo-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}

.site-footer__mark {
	width: 52px;
	height: 52px;
	display: block;
	flex-shrink: 0;
}

.site-footer__wordmark {
	font-family: var(--font-ui);
	font-weight: 600;
	font-size: 24px;
	letter-spacing: -0.02em;
	color: #FBF3E2;
	line-height: 1.1;
}

.site-footer__wordmark-bn {
	font-family: var(--font-bengali);
	font-size: 13px;
	color: #F3D78C;
	margin-top: 2px;
}

.site-footer__tagline-block {
	margin-top: 1.75rem;
}

.site-footer__tagline-bn {
	font-family: var(--font-bengali);
	font-weight: 700;
	font-size: clamp(22px, 2vw, 28px);
	letter-spacing: -0.02em;
	color: #FBF3E2;
	line-height: 1.3;
	max-width: 420px;
}

.site-footer__tagline-line2 {
	display: block;
	color: #F3D78C;
}

.site-footer__amber { color: inherit; }

.site-footer__tagline-en {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #E4A11B;
	margin-top: 12px;
}

/* Social icons */
.site-footer__social-wrap { margin-top: 2rem; }

.site-footer__social-label {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #F3D78C;
	opacity: 0.7;
	margin-bottom: 12px;
}

.site-footer__social-icons {
	display: flex;
	align-items: center;
	gap: 10px;
}

.site-footer__social-btn {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: rgba(251, 243, 226, 0.04);
	border: 1px solid rgba(243, 215, 140, 0.22);
	color: #FBF3E2;
	text-decoration: none;
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.site-footer__social-btn:hover {
	transform: translateY(-2px);
	background: rgba(251, 243, 226, 0.1);
	border-color: rgba(243, 215, 140, 0.45);
	color: #fff;
}

/* -- Newsletter column -- */
.site-footer__newsletter-col { padding-left: clamp(0px, 2vw, 32px); }

.site-footer__nl-label {
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #E4A11B;
	margin-bottom: 1rem;
}

.site-footer__nl-heading {
	font-family: var(--font-bengali);
	font-weight: 700;
	font-size: clamp(18px, 2.2vw, 24px);
	letter-spacing: -0.02em;
	color: #FBF3E2;
	line-height: 1.35;
	max-width: 440px;
	margin: 0 0 12px;
}

.site-footer__nl-desc {
	font-family: var(--font-bengali);
	font-size: 13.5px;
	color: #F3D78C;
	line-height: 1.7;
	max-width: 440px;
	margin: 0 0 20px;
}

.site-footer__nl-form {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: 460px;
}
.site-footer__nl-names { display: flex; gap: 8px; }
.site-footer__nl-input--name { padding-left: 14px; } /* no mail icon on name fields */
.site-footer__nl-row { display: flex; flex-direction: column; gap: 8px; }

@media (min-width: 480px) {
	.site-footer__nl-row { flex-direction: row; align-items: stretch; }
}

.site-footer__nl-input-wrap {
	position: relative;
	flex: 1;
}

.site-footer__nl-mail-icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #F3D78C;
	pointer-events: none;
}

.site-footer__nl-input {
	width: 100%;
	height: 48px;
	padding: 0 14px 0 40px;
	border-radius: 12px;
	background: rgba(251, 243, 226, 0.06);
	border: 1px solid rgba(243, 215, 140, 0.28);
	color: #FBF3E2;
	font-family: var(--font-ui);
	font-size: 14px;
	outline: none;
	caret-color: #E4A11B;
	transition: border-color 0.2s ease, background 0.2s ease;
	box-sizing: border-box;
}

.site-footer__nl-input::placeholder { color: rgba(243, 215, 140, 0.45); }
.site-footer__nl-input:focus { border-color: rgba(228, 161, 27, 0.7); background: rgba(251, 243, 226, 0.09); }

.site-footer__nl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	padding: 0 20px;
	border-radius: 12px;
	background: #FBF3E2;
	color: #481410;
	font-family: var(--font-ui);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
	transition: transform 0.15s ease, opacity 0.15s ease;
}

.site-footer__nl-btn:hover { transform: scale(0.98); opacity: 0.92; }

.site-footer__nl-privacy {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	color: #F3D78C;
	opacity: 0.65;
	margin-top: 10px;
}

.site-footer__nl-privacy a {
	color: inherit;
	text-decoration: underline;
}

.site-footer__nl-privacy a:hover { opacity: 1; }

/* NEWSLETTER AJAX response */
.site-footer__nl-form .newsletter-response {
	font-size: 12.5px;
	margin-top: 8px;
}

/* 4-COLUMN LINK GRID */
.site-footer__cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 32px;
	padding: clamp(40px, 5vw, 56px) 0;
}

@media (min-width: 780px) {
	.site-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }
}

.site-footer__col-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 20px;
	font-family: var(--font-ui);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: #E4A11B;
}

.site-footer__col-rule {
	display: inline-block;
	width: 16px;
	height: 1px;
	background: #E4A11B;
	opacity: 0.5;
	flex-shrink: 0;
}

.site-footer__link-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.site-footer__link-list a {
	color: #F3D78C;
	text-decoration: none;
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 500;
	transition: color 0.18s ease, opacity 0.18s ease;
	opacity: 0.9;
}

.site-footer__link-list a:hover { color: #FBF3E2; opacity: 1; }

/* Seasons column — title + Bengali + date range */
.site-footer__link-list--seasons a {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.site-footer__season-bn {
	font-family: var(--font-bengali);
	font-size: 12px;
	color: #F3D78C;
	opacity: 0.55;
}

.site-footer__season-range {
	font-family: var(--font-ui);
	font-size: 11.5px;
	font-variant-numeric: tabular-nums;
	color: #F3D78C;
	opacity: 0.5;
}

/* Connect column — icon + label */
.site-footer__link-list--connect a {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.site-footer__link-icon {
	color: #F3D78C;
	opacity: 0.7;
	margin-top: 2px;
	flex-shrink: 0;
}

/* LEGAL BAR */
.site-footer__bar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding-top: 24px;
	border-top: 1px solid rgba(243, 215, 140, 0.16);
	font-size: 12.5px;
	color: #F3D78C;
}

@media (min-width: 680px) {
	.site-footer__bar { flex-direction: row; align-items: center; }
}

.site-footer__bar-left {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	opacity: 0.7;
}

.site-footer__copy,
.site-footer__copy-bn { font-size: 12.5px; }

.site-footer__copy-bn {
	font-family: var(--font-bengali);
}

.site-footer__bar-dot { opacity: 0.4; }

.site-footer__bar-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--font-bengali);
	font-size: 11.5px;
	border-radius: 999px;
	padding: 2px 10px;
	background: rgba(244, 162, 97, 0.1);
	border: 1px solid rgba(244, 162, 97, 0.3);
	color: #E4A11B;
	opacity: 1 !important;
}

.site-footer__badge-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #E4A11B;
	flex-shrink: 0;
}

.site-footer__bar-right {
	display: flex;
	align-items: center;
	gap: 20px;
	opacity: 0.7;
}

.site-footer__bar-right a {
	color: #F3D78C;
	text-decoration: none;
	font-size: 12.5px;
	transition: opacity 0.18s ease;
}

.site-footer__bar-right a:hover { opacity: 1; }

.site-footer__legal-menu {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-footer__legal-menu li { margin: 0; }

.site-footer__bar-domain {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* Responsive: stack top band on mobile */
@media (max-width: 860px) {
	.site-footer__top { grid-template-columns: 1fr; }
	.site-footer__newsletter-col { padding-left: 0; }
}

@media (max-width: 460px) {
	.site-footer__cols { grid-template-columns: 1fr; gap: 28px; }
}


/* ==========================================================================
   Blog Index — Prototype Rebuild (hero, featured, cards, pagination)
   ========================================================================== */

/* -- Archive / blog hero (dark forest) -- */
.archive-hero {
	position: relative;
	overflow: hidden;
	background: #5E1F18;
	isolation: isolate;
}
.archive-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(70% 50% at 50% 0%, rgba(228, 161, 27,0.35) 0%, rgba(94, 31, 24,0) 60%),
		radial-gradient(40% 50% at 100% 100%, rgba(244,162,97,0.10) 0%, rgba(94, 31, 24,0) 70%);
}
.archive-hero__dotgrid {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.45;
	background-image: radial-gradient(circle, rgba(251, 243, 226,0.10) 1px, transparent 1px);
	background-size: 22px 22px;
}
.archive-hero__leaf {
	position: absolute;
	height: auto;
	pointer-events: none;
	z-index: 0;
}
.archive-hero__leaf--left  { left: -56px; top: -32px; width: min(320px, 40vw); opacity: 0.10; }
.archive-hero__leaf--right { right: -40px; bottom: 16px; width: min(220px, 30vw); opacity: 0.09; transform: rotate(12deg); }
.archive-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 1100px;
	margin: 0 auto;
	padding: clamp(96px, 9vw, 112px) var(--container-pad) clamp(48px, 6vw, 80px); /* top floor clears the 68px fixed nav on mobile */
	text-align: center;
}
.archive-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 26px;
}
.archive-hero__eyebrow-rule { width: 40px; height: 1px; background: #F3D78C; }
.archive-hero__eyebrow-text {
	font-family: var(--font-bengali);
	font-weight: 600;
	font-size: 13px;
	color: #F3D78C;
	letter-spacing: 0.02em;
}
.archive-hero__title {
	font-family: var(--font-bengali);
	font-weight: 800;
	color: #FBF3E2;
	font-size: clamp(40px, 6.5vw, 84px);
	line-height: 1;
	letter-spacing: -1.5px;
	text-wrap: balance;
	margin: 0;
}
.archive-hero__danda { color: inherit; }
.archive-hero__subtitle {
	max-width: 620px;
	margin: 22px auto 0;
	color: #F3D78C;
	font-size: clamp(16px, 1.5vw, 19px);
	line-height: 1.6;
}
.archive-hero__search {
	position: relative;
	max-width: 640px;
	margin: 36px auto 0;
}
.archive-hero__search-icon {
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;
	color: #F3D78C;
	pointer-events: none;
}
.archive-hero__search-input {
	width: 100%;
	height: 58px;
	padding: 0 20px 0 52px;
	border-radius: 16px;
	border: 1px solid rgba(243, 215, 140,0.32);
	background: rgba(251, 243, 226,0.10);
	color: #FBF3E2;
	font-family: var(--font-bengali);
	font-size: 15px;
	caret-color: #E4A11B;
	outline: none;
	transition: border-color 0.2s ease, background 0.2s ease;
}
.archive-hero__search-input::placeholder { color: rgba(251, 243, 226,0.6); }
.archive-hero__search-input:focus {
	border-color: #F3D78C;
	background: rgba(251, 243, 226,0.14);
}
.archive-hero__pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 28px;
}
.archive-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 999px;
	font-family: var(--font-bengali);
	font-size: 12.5px;
	font-weight: 600;
	color: #FBF3E2;
	text-decoration: none;
	background: rgba(251, 243, 226,0.06);
	border: 1px solid rgba(243, 215, 140,0.28);
	transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}
.archive-pill__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cat-color, #E4A11B); }
.archive-pill:hover { background: rgba(251, 243, 226,0.14); border-color: rgba(243, 215, 140,0.5); }
.archive-pill.is-active {
	background: #FBF3E2;
	color: #481410;
	border-color: #FBF3E2;
}

/* -- Featured post -- */
.featured-post { margin-bottom: clamp(40px, 6vw, 64px); }
.featured-post__head { display: flex; align-items: center; gap: 12px; margin-bottom: 28px; }
.featured-post__rule { width: 40px; height: 1px; background: #5E1F18; }
.featured-post__eyebrow { font-family: var(--font-bengali); font-weight: 600; font-size: 13px; color: #5E1F18; }
.featured-post__card {
	display: grid;
	grid-template-columns: 1fr;
	background: #fff;
	border: 0.5px solid #E1D2B6;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: var(--c-card-shadow);
	transition: box-shadow 0.25s ease;
}
.featured-post__card:hover { box-shadow: 0 8px 24px rgba(94, 31, 24,0.16); }
.featured-post__body {
	padding: clamp(28px, 4vw, 48px);
	display: flex;
	flex-direction: column;
	gap: 18px;
	order: 2;
}
.featured-post__badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.featured-post__cat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 999px;
	font-family: var(--font-bengali);
	font-size: 11.5px;
	font-weight: 700;
	color: #481410;
	background: color-mix(in srgb, var(--cat-color) 14%, #fff);
}
.featured-post__cat-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cat-color, #E4A11B); }
.featured-post__featured {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	border-radius: 999px;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	background: #FFF3E0;
	color: #B5651D;
}
.featured-post__title {
	margin: 0;
	font-family: var(--font-bengali);
	font-weight: 800;
	color: #2C211B;
	font-size: clamp(26px, 3.2vw, 42px);
	line-height: 1.15;
	letter-spacing: -0.7px;
	text-wrap: balance;
}
.featured-post__title a { color: inherit; text-decoration: none; transition: color 0.18s ease; }
.featured-post__title a:hover { color: #5E1F18; }
.featured-post__excerpt { margin: 0; font-family: var(--font-bengali); color: #2C211B; font-size: 15px; line-height: 1.75; }
.featured-post__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding-top: 18px;
	border-top: 0.5px dashed #D9C7A8;
	font-size: 12.5px;
	color: #8B6A4E;
}
.featured-post__avatar {
	width: 40px; height: 40px;
	border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #5E1F18; color: #FBF3E2;
	font-weight: 700; font-size: 12.5px;
}
.featured-post__author { color: #2C211B; font-weight: 600; font-size: 13px; }
.featured-post__sep { opacity: 0.3; }
.featured-post__date, .featured-post__read { font-family: var(--font-bengali); }
.featured-post__cta {
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	max-width: 280px;
	padding: 0 22px;
	height: 52px;
	border-radius: 12px;
	background: #5E1F18;
	color: #FBF3E2;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-decoration: none;
	box-shadow: 0 4px 12px rgba(94, 31, 24,0.18);
	transition: transform 0.18s ease, background 0.18s ease;
}
.featured-post__cta:hover { background: #2F0C09; }
.featured-post__cta:active { transform: scale(0.98); }
.featured-post__cta-label { font-family: var(--font-bengali); display: inline-flex; gap: 6px; align-items: center; }
.featured-post__cta-sep { opacity: 0.4; }
.featured-post__cta i { font-size: 18px; transition: transform 0.18s ease; }
.featured-post__cta:hover i { transform: translateX(3px); }
.featured-post__art {
	position: relative;
	order: 1;
	min-height: 220px;
	background: linear-gradient(135deg, #FBF3E2 0%, #F3D78C 100%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.featured-post__art-dotgrid {
	position: absolute; inset: 0; pointer-events: none; opacity: 0.4;
	background-image: radial-gradient(circle, rgba(15,110,86,0.12) 1px, transparent 1px);
	background-size: 22px 22px;
}
.featured-post__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 24px; }
.featured-post__art-svg { position: relative; width: 100%; max-width: 400px; height: auto; }

@media (min-width: 1024px) {
	.featured-post__card { grid-template-columns: 1.05fr 1fr; }
	.featured-post__body { order: 1; }
	.featured-post__art  { order: 2; }
}

/* -- Recent posts heading -- */
.post-loop__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 28px; }
.post-loop__title { margin: 0; font-family: var(--font-bengali); font-weight: 700; font-size: 22px; color: #2C211B; letter-spacing: -0.3px; }
.post-loop__count { font-weight: 400; font-size: 14px; color: #8B6A4E; margin-left: 6px; }

/* -- Post cards grid -- */
.post-cards-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}
@media (min-width: 768px)  { .post-cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .post-cards-grid { grid-template-columns: repeat(3, 1fr); } }

.blog-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 0.5px solid #E1D2B6;
	border-radius: 20px;
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.blog-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(94, 31, 24,0.12); }
.blog-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1200 / 630;
	overflow: hidden;
	background: linear-gradient(135deg, var(--cat-color, #E4A11B) 0%, #FBF3E2 100%);
}
.blog-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-card__media-dotgrid {
	position: absolute; inset: 0; opacity: 0.3;
	background-image: radial-gradient(circle, rgba(26,46,36,0.12) 1px, transparent 1px);
	background-size: 20px 20px;
}
.blog-card__media-icon {
	position: absolute; inset: 0; margin: auto;
	width: 1em; height: 1em;
	display: flex; align-items: center; justify-content: center;
	font-size: 64px; color: rgba(26,46,36,0.45);
}
.blog-card__cat {
	position: absolute; top: 14px; left: 14px;
	display: inline-flex; align-items: center; gap: 6px;
	padding: 4px 10px; border-radius: 999px;
	background: #fff; color: #481410;
	font-family: var(--font-bengali); font-size: 11px; font-weight: 700;
}
.blog-card__cat-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cat-color, #E4A11B); }
.blog-card__read {
	position: absolute; bottom: 14px; right: 14px;
	display: inline-flex; align-items: center; gap: 4px;
	padding: 4px 10px; border-radius: 999px;
	background: rgba(26,46,36,0.6);
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	color: #FBF3E2; font-family: var(--font-bengali); font-size: 11px; font-weight: 600;
}
.blog-card__body { display: flex; flex-direction: column; flex: 1; padding: 24px; }
.blog-card__title { margin: 0; font-family: var(--font-bengali); font-weight: 700; font-size: 18px; line-height: 1.375; color: #2C211B; text-wrap: balance; }
.blog-card__title a { color: inherit; text-decoration: none; transition: color 0.18s ease; }
.blog-card__title a:hover { color: #5E1F18; }
.blog-card__excerpt { margin: 12px 0 0; flex: 1; font-family: var(--font-bengali); color: #2C211B; font-size: 13.5px; line-height: 1.7; }
.blog-card__meta {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	margin-top: 20px; padding-top: 16px; border-top: 0.5px solid #E1D2B6;
}
.blog-card__avatar {
	width: 32px; height: 32px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: #5E1F18; color: #FBF3E2; font-weight: 700; font-size: 11px;
	flex-shrink: 0;
}
.blog-card__meta-text { display: flex; flex-direction: column; line-height: 1.3; margin-right: auto; }
.blog-card__author { font-size: 11.5px; font-weight: 600; color: #2C211B; }
.blog-card__date { font-family: var(--font-bengali); font-size: 11.5px; color: #8B6A4E; }
.blog-card__link {
	display: inline-flex; align-items: center; gap: 5px;
	font-family: var(--font-bengali); font-size: 13px; font-weight: 700;
	color: #E4A11B; text-decoration: none;
	transition: transform 0.18s ease, color 0.18s ease;
}
.blog-card__link-sep { opacity: 0.5; }
.blog-card:hover .blog-card__link { transform: translateX(2px); }
.blog-card__avatar:has(+ .blog-card__meta-text) { margin-right: 0; }

/* -- Empty state -- */
.blog-empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 64px 24px;
	border-radius: 20px;
	background: #FBF3E2;
	border: 0.5px solid #E1D2B6;
	color: #8B6A4E;
}
.blog-empty i { font-size: 40px; color: #A89070; display: block; margin-bottom: 12px; }

/* -- Pagination -- */
.pagination-wrapper {
	margin-top: 56px;
	display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap;
}
.pagination-wrapper .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; height: 44px; padding: 0 8px;
	border-radius: 10px;
	background: #fff; border: 1px solid #E1D2B6; color: #2C211B;
	font-weight: 700; font-size: 13.5px; text-decoration: none;
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.pagination-wrapper a.page-numbers:hover { background: #FBF3E2; border-color: #D9C7A8; transform: translateY(-1px); }
.pagination-wrapper .page-numbers.current {
	background: #5E1F18; border-color: #5E1F18; color: #FBF3E2;
	box-shadow: 0 4px 10px rgba(94, 31, 24,0.25);
}
.pagination-wrapper .page-numbers.dots { background: transparent; border: 0; color: #A89070; min-width: auto; }
.pagination-wrapper .page-numbers i { font-size: 18px; }


/* ==========================================================================
   Single Post — Prototype Rebuild (header, body, sidebar, footer)
   ========================================================================== */

/* -- Shared share buttons -- */
.gd-share {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	height: 40px; padding: 0 12px;
	border-radius: 999px; border: 0;
	font-weight: 600; font-size: 12.5px; text-decoration: none; cursor: pointer;
	transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.gd-share i { font-size: 16px; line-height: 1; }
.gd-share--wa { background: #25D366; color: #fff; }
.gd-share--wa:hover { transform: translateY(-1px); }
.gd-share--icon { width: 40px; padding: 0; background: transparent; border: 1px solid rgba(94, 31, 24,0.25); color: #5E1F18; }
.gd-share--icon:hover { background: #fff; transform: translateY(-1px); }
.gd-share--light.gd-share--icon { border-color: #E1D2B6; }
.gd-share--lg { height: 44px; }
.gd-share--lg.gd-share--icon { width: 44px; }
.gd-share--lg i { font-size: 17px; }
.gd-share--copy.is-copied { background: #5E1F18; border-color: #5E1F18; color: #fff; }

/* -- Back link -- */
/* -- Post header (mint) -- */
.post-hero { position: relative; overflow: hidden; background: #FBF3E2; }
.post-hero__leaf { position: absolute; right: -48px; top: -32px; width: min(360px, 38vw); height: auto; opacity: 0.18; transform: rotate(8deg); pointer-events: none; }
.post-hero__inner { position: relative; max-width: 1100px; margin: 0 auto; padding: clamp(96px, 8vw, 104px) var(--container-pad) clamp(48px, 5vw, 64px); } /* top floor clears the 68px fixed nav on mobile */

/* Modern back button — sits on the mint hero for consistency */
.post-hero__back {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 20px;
	padding: 9px 16px;
	border-radius: 999px;
	background: #fff;
	color: #5E1F18;
	font-family: var(--font-bengali);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 1px 3px rgba(94, 31, 24,0.10);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.post-hero__back:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(94, 31, 24,0.16); }
.post-hero__back i { font-size: 15px; transition: transform 0.18s ease; }
.post-hero__back:hover i { transform: translateX(-3px); }
.post-hero__back-sep { opacity: 0.4; }
.post-hero__crumbs { display: flex; align-items: center; gap: 8px; font-family: var(--font-bengali); font-size: 13px; color: #7C2C22; }
.post-hero__crumbs a { color: inherit; text-decoration: none; }
.post-hero__crumbs a:hover { text-decoration: underline; }
.post-hero__crumbs-sep { opacity: 0.5; }
.post-hero__cat {
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: 20px; padding: 6px 12px;
	border-radius: 999px; background: #fff; color: #481410;
	font-family: var(--font-bengali); font-size: 11.5px; font-weight: 700; text-decoration: none;
}
.post-hero__cat-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--cat-color, #E4A11B); }
.post-hero__title { margin: 20px 0 0; font-family: var(--font-bengali); font-weight: 800; color: #5E1F18; font-size: clamp(30px, 4.5vw, 52px); line-height: 1.15; letter-spacing: -1px; text-wrap: balance; }
.post-hero__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 28px; }
.post-hero__author { display: flex; align-items: center; gap: 12px; }
.post-hero__avatar { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #5E1F18; color: #FBF3E2; font-weight: 700; font-size: 14px; }
.post-hero__author-name { display: block; color: #2C211B; font-size: 14px; font-weight: 600; text-decoration: none; }
.post-hero__author-name:hover { text-decoration: underline; }
.post-hero__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 2px; font-family: var(--font-bengali); font-size: 12px; color: #7C2C22; }
.post-hero__meta-sep { opacity: 0.5; }
.post-hero__share { display: flex; align-items: center; gap: 8px; }
.post-hero__share-label { font-family: var(--font-bengali); font-size: 12px; color: #7C2C22; margin-right: 4px; }

/* -- Cover image (mint → white split) -- */
.post-cover { background: linear-gradient(180deg, #FBF3E2 0%, #FBF3E2 50%, #fff 50%, #fff 100%); }
.post-cover__inner { max-width: 1100px; margin: 0 auto; padding: 0 var(--container-pad) clamp(40px, 5vw, 56px); }
.post-cover__frame { position: relative; aspect-ratio: 16 / 9; border-radius: 24px; overflow: hidden; border: 1px solid #E1D2B6; background: #FBF3E2; box-shadow: 0 8px 24px rgba(94, 31, 24,0.16); }
.post-cover__img { width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.post-cover__placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: rgba(94, 31, 24,0.3); }
.post-cover__placeholder i { font-size: 64px; }

/* -- Body 2-column layout -- */
.single-body { background: #fff; }
.single-body__inner {
	max-width: var(--container-max); margin: 0 auto;
	padding: clamp(48px, 6vw, 80px) var(--container-pad);
	display: grid; grid-template-columns: 1fr; gap: 48px;
}
.single-body__main { max-width: 720px; width: 100%; min-width: 0; }
.single-body__aside { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
@media (min-width: 1024px) {
	.single-body__inner { grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; }
	.single-body__aside { position: sticky; top: 90px; align-self: start; }
}

/* -- Article body typography -- */
.single-body__main .wp-block-post-content { font-family: var(--font-bengali); color: #2C211B; font-size: 16.5px; line-height: 1.9; }
.single-body__main .wp-block-post-content > * { margin-top: 16px; margin-bottom: 16px; }
.single-body__main .wp-block-post-content h2 {
	font-family: var(--font-bengali); font-weight: 800; color: #5E1F18;
	font-size: 26px; line-height: 1.3; letter-spacing: -0.4px;
	margin-top: 48px; margin-bottom: 18px; scroll-margin-top: 90px; text-wrap: balance;
}
.single-body__main .wp-block-post-content h3 {
	font-family: var(--font-bengali); font-weight: 700; color: #2C211B;
	font-size: 20px; line-height: 1.4; margin-top: 32px; margin-bottom: 12px; scroll-margin-top: 90px;
}
.single-body__main .wp-block-post-content p { margin: 16px 0; }
.single-body__main .wp-block-post-content a { color: #5E1F18; text-decoration: underline; text-underline-offset: 2px; }
.single-body__main .wp-block-post-content strong { color: #2C211B; font-weight: 700; }
.single-body__main .wp-block-post-content ul,
.single-body__main .wp-block-post-content ol { list-style: none; padding-left: 0; margin: 20px 0; }
.single-body__main .wp-block-post-content li { position: relative; padding-left: 30px; margin: 12px 0; }
.single-body__main .wp-block-post-content ul li::before { content: ""; position: absolute; left: 3px; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: #E4A11B; }
.single-body__main .wp-block-post-content ol { counter-reset: gd-ol; }
.single-body__main .wp-block-post-content ol li { counter-increment: gd-ol; }
.single-body__main .wp-block-post-content ol li::before {
	content: counter(gd-ol); position: absolute; left: 0; top: 2px;
	width: 22px; height: 22px; border-radius: 50%;
	background: #FBF3E2; color: #481410;
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 700;
}
.single-body__main .wp-block-post-content blockquote {
	position: relative; margin: 32px 0; padding: 28px 32px;
	background: #FBF3E2; border-left: 4px solid #E4A11B; border-radius: 16px;
}
.single-body__main .wp-block-post-content blockquote::before { content: "\201C"; display: block; font-size: 40px; line-height: 0.5; color: #E4A11B; margin-bottom: 12px; }
.single-body__main .wp-block-post-content blockquote p { margin: 0; font-family: var(--font-bengali); font-weight: 700; color: #481410; font-size: 20px; line-height: 1.5; letter-spacing: -0.3px; }
.single-body__main .wp-block-post-content img { border-radius: 14px; }
.single-body__main .wp-block-post-content table { width: 100%; border-collapse: collapse; font-size: 14.5px; margin: 24px 0; }
.single-body__main .wp-block-post-content th,
.single-body__main .wp-block-post-content td { border: 1px solid #E1D2B6; padding: 10px 14px; text-align: left; }
.single-body__main .wp-block-post-content th { background: #FBF3E2; color: #2C211B; font-weight: 700; }
.single-body__main .wp-block-post-content code { font-family: var(--font-mono); font-size: 0.9em; background: #FBF3E2; padding: 2px 6px; border-radius: 6px; }
.single-body__main .wp-block-post-content pre { background: #2C211B; color: #FBF3E2; padding: 18px 20px; border-radius: 14px; overflow: auto; }

/* Tip / Warning callouts (Group block styles) */
.wp-block-group.is-style-tip,
.wp-block-group.is-style-warning {
	border-radius: 14px; padding: 20px 24px; margin: 32px 0;
	font-family: var(--font-bengali);
}
.wp-block-group.is-style-tip { background: #FBF3E2; border-left: 3px solid #E4A11B; color: #481410; }
.wp-block-group.is-style-warning { background: #FFF3E0; border-left: 3px solid #E4A11B; color: #B5651D; }
.wp-block-group.is-style-tip::before,
.wp-block-group.is-style-warning::before {
	display: block; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 8px;
}
.wp-block-group.is-style-tip::before { content: "পরামর্শ · TIP"; color: #481410; }
.wp-block-group.is-style-warning::before { content: "সতর্কতা · WARNING"; color: #B5651D; }

/* -- TOC sidebar -- */
.toc-sidebar { background: #fff; border: 0.5px solid #E1D2B6; border-radius: 16px; padding: 20px; }
.toc-sidebar__head { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-family: var(--font-bengali); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #5E1F18; }
.toc-sidebar__head i { font-size: 14px; }
.toc-list { list-style: none; margin: 0; padding: 0; counter-reset: gd-toc; }
.toc-item { counter-increment: gd-toc; }
.toc-link {
	display: block; position: relative;
	font-family: var(--font-bengali); font-size: 13.5px; line-height: 1.4;
	padding: 8px 0 8px 10px; color: #8B6A4E; text-decoration: none;
	border-left: 2px solid #E1D2B6; transition: all 0.18s ease;
}
.toc-link::before { content: counter(gd-toc, decimal-leading-zero) "  "; color: #A89070; font-size: 11px; font-weight: 500; }
.toc-link:hover { color: #5E1F18; }
.toc-link.is-active {
	color: #5E1F18; font-weight: 700; padding-left: 14px;
	border-left: 3px solid #5E1F18; background: rgba(228, 161, 27,0.08); border-radius: 0 8px 8px 0;
}
.toc-link.is-active::before { color: #E4A11B; font-weight: 700; }

/* -- App promo box -- */
.app-promo { position: relative; overflow: hidden; border-radius: 16px; padding: 24px; background: linear-gradient(150deg, #2C211B 0%, #5E1F18 100%); color: #FBF3E2; }
.app-promo__leaf { position: absolute; right: -24px; bottom: -24px; width: 150px; height: auto; opacity: 0.12; pointer-events: none; }
.app-promo__inner { position: relative; }
.app-promo__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; margin-bottom: 16px; background: rgba(251, 243, 226,0.10); border: 1px solid rgba(243, 215, 140,0.32); }
.app-promo__icon i { font-size: 22px; color: #E4A11B; }
.app-promo__title { font-family: var(--font-bengali); font-weight: 700; font-size: 17px; color: #FBF3E2; }
.app-promo__desc { font-family: var(--font-bengali); font-size: 13px; color: #F3D78C; line-height: 1.65; margin: 10px 0 0; }
.app-promo__cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 44px; margin-top: 20px; border-radius: 12px; background: #FBF3E2; color: #481410; font-weight: 700; font-size: 13.5px; text-decoration: none; transition: transform 0.18s ease; }
.app-promo__cta:hover { transform: translateY(-1px); }

/* -- Store (shop picks) -- */
.store { background: #fff; border: 0.5px solid #E1D2B6; border-radius: 16px; overflow: hidden; }
.store__head { padding: 20px 20px 16px; background: #FBF3E2; border-bottom: 0.5px solid #E1D2B6; }
.store__head-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.store__brand { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #5E1F18; }
.store__soon { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; background: #FFF3E0; color: #B5651D; font-family: var(--font-bengali); font-size: 9.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.store__soon-dot { width: 4px; height: 4px; border-radius: 50%; background: #E4A11B; }
.store__subline { font-family: var(--font-bengali); font-size: 13.5px; font-weight: 700; color: #2C211B; line-height: 1.4; }
.store__list { padding: 12px; display: flex; flex-direction: column; gap: 4px; }
.store__row { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 12px; text-decoration: none; transition: background 0.18s ease; }
.store__row:hover { background: #FBF3E2; }
.store__icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 10px; flex-shrink: 0; background: linear-gradient(135deg, color-mix(in srgb, var(--tone) 13%, #fff) 0%, color-mix(in srgb, var(--tone) 33%, #fff) 100%); border: 0.5px solid color-mix(in srgb, var(--tone) 33%, #fff); }
.store__icon i { font-size: 24px; color: var(--tone); }
.store__icon img { width: 28px; height: 28px; object-fit: contain; }
.store__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.store__type-row { display: flex; align-items: center; gap: 6px; }
.store__type { font-family: var(--font-bengali); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--tone); }
.store__tag { display: inline-flex; padding: 1px 6px; border-radius: 999px; background: #FFF3E0; color: #B5651D; font-family: var(--font-bengali); font-size: 9.5px; font-weight: 700; }
.store__name { font-family: var(--font-bengali); font-size: 13px; font-weight: 700; color: #2C211B; line-height: 1.3; margin-top: 2px; }
.store__price { font-family: var(--font-bengali); font-size: 14.5px; font-weight: 700; color: #481410; margin-top: 4px; }
.store__arrow { font-size: 16px; color: #5E1F18; opacity: 0.4; flex-shrink: 0; transition: opacity 0.18s ease; }
.store__row:hover .store__arrow { opacity: 1; }
.store__foot { padding: 14px 20px; background: #FBF3E2; border-top: 0.5px solid #E1D2B6; }
.store__foot-link { display: flex; align-items: center; justify-content: space-between; color: #5E1F18; font-size: 12.5px; font-weight: 600; text-decoration: none; }
.store__foot-left { display: inline-flex; align-items: center; gap: 6px; }

/* -- Post footer (tags / share / author) -- */
.post-footer { margin-top: 56px; padding-top: 40px; border-top: 0.5px solid #E1D2B6; }
.post-footer__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 32px; }
.post-footer__tags-label { font-family: var(--font-bengali); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #5E1F18; margin-right: 4px; }
.post-footer__tag { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; border-radius: 20px; background: #FBF3E2; border: 0.5px solid #E1D2B6; color: #481410; font-family: var(--font-bengali); font-size: 12.5px; font-weight: 600; text-decoration: none; transition: background 0.18s ease; }
.post-footer__tag:hover { background: #fff; }
.post-footer__tag i { font-size: 11px; color: #E4A11B; }
.post-footer__share { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 40px; padding: 16px 20px; border-radius: 16px; background: #FBF3E2; }
.post-footer__share-text { font-family: var(--font-bengali); font-size: 14px; font-weight: 600; color: #2C211B; }
.post-footer__share-btns { display: flex; align-items: center; gap: 8px; }
.post-footer__author { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 20px; padding: 28px; border-radius: 20px; border: 0.5px solid #E1D2B6; background: #fff; }
.post-footer__author-avatar { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #5E1F18; color: #FBF3E2; font-weight: 700; font-size: 18px; flex-shrink: 0; }
.post-footer__author-body { flex: 1; min-width: 200px; }
.post-footer__author-label { font-family: var(--font-bengali); font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #E4A11B; }
.post-footer__author-name { font-size: 18px; font-weight: 700; color: #2C211B; margin-top: 4px; }
.post-footer__author-bio { font-family: var(--font-bengali); font-size: 14px; color: #2C211B; line-height: 1.7; margin: 8px 0 0; max-width: 540px; }
.post-footer__author-cta { display: inline-flex; align-items: center; gap: 8px; padding: 0 20px; height: 44px; border-radius: 12px; background: #5E1F18; color: #FBF3E2; font-weight: 700; font-size: 12px; text-decoration: none; flex-shrink: 0; transition: background 0.18s ease; }
.post-footer__author-cta:hover { background: #2F0C09; }

/* -- Related posts -- */
.related-posts { background: #FFFFFF; padding: clamp(56px, 8vw, 80px) var(--container-pad); }
.related-posts__head { max-width: var(--container-max); margin: 0 auto 32px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.related-posts .post-cards-grid { max-width: var(--container-max); margin: 0 auto; }
.related-posts__eyebrow { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-bengali); font-size: 13px; font-weight: 600; color: #5E1F18; }
.related-posts__rule { width: 40px; height: 1px; background: #5E1F18; }
.related-posts__all { display: inline-flex; align-items: center; gap: 6px; color: #5E1F18; font-size: 13px; font-weight: 700; text-decoration: none; }
.related-posts__all-sep { opacity: 0.4; }


/* ==========================================================================
   Newsletter Strip — mint two-column (matches prototype)
   ========================================================================== */
.newsletter-section { position: relative; overflow: hidden; background: #FBF3E2; }
.newsletter-section__leaf { position: absolute; right: -64px; top: -40px; width: min(380px, 50vw); height: auto; opacity: 0.12; pointer-events: none; }
.newsletter-section__inner { position: relative; max-width: 1100px; margin: 0 auto; padding: clamp(56px, 8vw, 80px) var(--container-pad); display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
@media (min-width: 1024px) { .newsletter-section__inner { grid-template-columns: 1.2fr 1fr; } }
.newsletter-section__eyebrow { font-family: var(--font-bengali); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #5E1F18; }
.newsletter-section__title { margin: 12px 0 0; font-family: var(--font-bengali); font-weight: 800; color: #481410; font-size: clamp(26px, 3vw, 40px); line-height: 1.15; letter-spacing: -0.8px; text-wrap: balance; }
.newsletter-section__desc { margin: 12px 0 0; max-width: 480px; color: #7C2C22; font-size: 15px; line-height: 1.6; }
.newsletter-form { display: flex; flex-direction: column; gap: 10px; }
.newsletter-section__fields { display: flex; flex-direction: column; gap: 10px; }
@media (min-width: 560px) { .newsletter-section__fields { flex-direction: row; } }
.newsletter-section__field { position: relative; flex: 1; }
.newsletter-section__field-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); font-size: 16px; color: #7C2C22; pointer-events: none; }
.newsletter-section__input { width: 100%; height: 52px; padding: 0 16px 0 44px; border-radius: 12px; border: 1px solid #B4D8C2; background: #fff; color: #481410; font-size: 14px; outline: none; transition: border-color 0.18s ease; }
.newsletter-section__input::placeholder { color: #8B6A4E; }
.newsletter-section__input:focus { border-color: #5E1F18; }
.newsletter-section__submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 52px; padding: 0 24px; border: 0; border-radius: 12px; cursor: pointer; background: #5E1F18; color: #FBF3E2; font-weight: 700; font-size: 12px; letter-spacing: 0.14em; box-shadow: 0 4px 12px rgba(94, 31, 24,0.18); width: 100%; transition: background 0.18s ease, transform 0.18s ease; }
.newsletter-section__submit:hover { background: #2F0C09; transform: translateY(-1px); }
.newsletter-section__submit i { font-size: 16px; }
.newsletter-section__note { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-family: var(--font-bengali); font-size: 12px; color: #7C2C22; opacity: 0.75; }
.newsletter-section__note i { font-size: 13px; }
.newsletter-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.newsletter-section__form-col .newsletter-response { margin: 12px 0 0; font-family: var(--font-bengali); font-size: 13px; font-weight: 600; }
.newsletter-section__form-col .newsletter-response--success { color: #481410; }
.newsletter-section__form-col .newsletter-response--error { color: #B5651D; }


/* ==========================================================================
   Content Protection (toggled via Customizer → adds .gd-protected on <body>)
   ========================================================================== */
body.gd-protected {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none; /* iOS long-press menu (save image / copy) */
}
body.gd-protected img,
body.gd-protected svg {
	-webkit-user-drag: none;
	-moz-user-drag: none;
	user-drag: none;
	-webkit-touch-callout: none;
}
/* Form fields stay fully usable + selectable (search, newsletter, etc.) */
body.gd-protected input,
body.gd-protected textarea,
body.gd-protected select,
body.gd-protected [contenteditable="true"] {
	-webkit-user-select: text;
	-moz-user-select: text;
	-ms-user-select: text;
	user-select: text;
}
.gd-protect-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%) translateY(12px);
	z-index: 99999;
	max-width: min(90vw, 420px);
	padding: 11px 18px;
	border-radius: 12px;
	background: rgba(26,46,36,0.92);
	color: #FBF3E2;
	font-family: var(--font-bengali);
	font-size: 13.5px;
	font-weight: 600;
	text-align: center;
	box-shadow: 0 12px 30px rgba(0,0,0,0.30);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s;
}
.gd-protect-toast.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

/* ==========================================================================
   Scroll-to-top button (global, injected by navigation.js)
   ========================================================================== */
.gd-to-top {
	position: fixed;
	right: clamp(16px, 4vw, 24px);
	bottom: clamp(16px, 4vw, 24px);
	width: 46px;
	height: 46px;
	border: none;
	border-radius: 999px;
	background: var(--c-forest, #5E1F18);
	color: var(--c-mint, #FBF3E2);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	box-shadow: 0 6px 20px rgba(94, 31, 24, 0.28);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .18s ease;
	z-index: 90;
}
.gd-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.gd-to-top:hover { background: var(--c-forest-dark, #2F0C09); }
.gd-to-top:active { transform: scale(0.94); }
@media (prefers-reduced-motion: reduce) { .gd-to-top { transition: opacity .2s ease; } }

/* ==========================================================================
   Announcement bar (global, rendered on wp_body_open — see inc/announcement.php)
   ========================================================================== */
:root { --gd-announce-h: 40px; }
/* Reserve the bar height up front. min-height pins the bar to exactly the value
   the page already reserves via --gd-announce-h, so the JS offsetHeight pass finds
   the same number and never resizes the layout (no post-load shift, no reflow). On
   mobile the bilingual text can wrap to two lines, so the floor is raised there to
   match. JS still corrects the variable for unusually long copy. */
.gd-announce {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 61; /* above the fixed nav (z-index 60) */
	font-family: var(--font-bengali);
	font-size: 13.5px;
	min-height: var(--gd-announce-h);
	display: flex;
	align-items: center;
}
@media screen and (max-width: 600px) {
	:root { --gd-announce-h: 64px; }
}
.gd-announce[hidden] { display: none; }
/* When the bar is shown (body.has-announce, added in PHP), push the fixed nav + page
   content down by the bar height (JS keeps --gd-announce-h exact; 40px is the no-JS default). */
body.has-announce .site-nav { top: var(--gd-announce-h); }
/* Fixed announce bar overlays the header — push header down by exactly that height. */
body.has-announce .wp-site-blocks { padding-top: var(--gd-announce-h); }

/* Announcement bar + Admin bar combination */
body.admin-bar .gd-announce { top: 32px !important; }
@media screen and (max-width: 600px) {
	body.admin-bar .gd-announce { top: 46px !important; }
}

/* When both admin bar AND announcement bar are present, nav needs to be below both */
body.admin-bar.has-announce .site-nav { top: calc(32px + var(--gd-announce-h)) !important; }
@media screen and (max-width: 600px) {
	body.admin-bar.has-announce .site-nav { top: calc(46px + var(--gd-announce-h)) !important; }
}

/* WP shifts html by margin-top:32/46px for the admin bar; we only need to clear the announce bar. */
body.admin-bar.has-announce .wp-site-blocks { padding-top: var(--gd-announce-h) !important; }
@media screen and (max-width: 600px) {
	body.admin-bar.has-announce .wp-site-blocks { padding-top: var(--gd-announce-h) !important; }
}

/* Adjust mobile drawer when both admin bar and announcement are present */
body.admin-bar.has-announce .site-nav-drawer { top: calc(32px + var(--gd-announce-h)) !important; height: calc(100dvh - 32px - var(--gd-announce-h)) !important; }
@media screen and (max-width: 600px) {
	body.admin-bar.has-announce .site-nav-drawer { top: calc(46px + var(--gd-announce-h)) !important; height: calc(100dvh - 46px - var(--gd-announce-h)) !important; }
}

/* Header wrapper when admin bar + announce are both present: no padding needed.
   WP reserves the admin bar via html{margin-top}, .wp-site-blocks above reserves the
   announce bar, and each top section clears the fixed nav. Padding the header here too
   re-counted the 32/46px admin bar — the extra gap above the breadcrumb when an admin
   viewed a product with the announce bar on. */
.gd-announce__inner {
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 9px calc(var(--container-pad) + 28px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	text-align: center;
}
.gd-announce__text { margin: 0; line-height: 1.45; }
.gd-announce__link {
	color: inherit;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 4px;
	white-space: nowrap;
}
.gd-announce__link .ph { font-size: 13px; }
.gd-announce__close {
	position: absolute;
	right: var(--container-pad);
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border: none;
	background: none;
	color: inherit;
	opacity: 0.7;
	cursor: pointer;
	font-size: 15px;
	border-radius: 999px;
	transition: opacity .15s ease, background .15s ease;
}
.gd-announce__close:hover { opacity: 1; background: rgba(255,255,255,0.14); }

/* ==========================================================================
   Hero Watermark Logo Marks
   ========================================================================== */
.home-hero__wm {
	position: absolute;
	width: 260px;
	height: 260px;
	pointer-events: none;
	opacity: 0.07;
}
.home-hero__wm--tr { top: -32px;  right: -40px; }
.home-hero__wm--bl { bottom: -32px; left: -40px; }

/* ==========================================================================
   Calendar Seasonal Colour Theming
   Driven by data-active-season on #hero-crop-cal (set by PHP + one JS line).
   Only edges, glows, and button surfaces shift — the card gradient stays fixed.
   ========================================================================== */

/* ------------------------------------------------------------------
   RABI — রবি মৌসুম · cool violet / winter   tone: #7B61FF = rgba(123,97,255)
   ------------------------------------------------------------------ */
#hero-crop-cal[data-active-season="rabi"] {
	border-color: rgba(123,97,255,0.22);
	box-shadow:
		0 24px 60px rgba(0,0,0,0.35),
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 0 0 1px rgba(123,97,255,0.07),
		0 8px 40px rgba(123,97,255,0.12);
}
#hero-crop-cal[data-active-season="rabi"] .home-hero__cal-month.is-active {
	background: #C8C2FF;
	border-color: #C8C2FF;
	color: #2C211B;
	box-shadow: 0 4px 14px rgba(123,97,255,0.28);
}
#hero-crop-cal[data-active-season="rabi"] .home-hero__cal-month.is-same-season {
	background: rgba(123,97,255,0.08);
	border-color: rgba(123,97,255,0.22);
	color: rgba(200,194,255,0.9);
}
#hero-crop-cal[data-active-season="rabi"] .home-hero__cal-month:focus-visible {
	outline-color: #9B8FFF;
}

/* ------------------------------------------------------------------
   KHARIF-1 — খরিফ-১ · warm amber / hot summer   tone: #E4A11B = rgba(244,162,97)
   ------------------------------------------------------------------ */
#hero-crop-cal[data-active-season="kharif1"] {
	border-color: rgba(244,162,97,0.22);
	box-shadow:
		0 24px 60px rgba(0,0,0,0.35),
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 0 0 1px rgba(244,162,97,0.07),
		0 8px 40px rgba(244,162,97,0.12);
}
#hero-crop-cal[data-active-season="kharif1"] .home-hero__cal-month.is-active {
	background: #FDE3C8;
	border-color: #FDE3C8;
	color: #2C211B;
	box-shadow: 0 4px 14px rgba(244,162,97,0.28);
}
#hero-crop-cal[data-active-season="kharif1"] .home-hero__cal-month.is-same-season {
	background: rgba(244,162,97,0.08);
	border-color: rgba(244,162,97,0.22);
	color: rgba(253,227,200,0.9);
}
#hero-crop-cal[data-active-season="kharif1"] .home-hero__cal-month:focus-visible {
	outline-color: #E4A11B;
}

/* ------------------------------------------------------------------
   KHARIF-2 — খরিফ-২ · lush teal / monsoon   tone: #5DCAA5 = rgba(93,202,165)
   Written explicitly so transitions fire cleanly when returning from
   another season. Values match the card's default mint palette.
   ------------------------------------------------------------------ */
#hero-crop-cal[data-active-season="kharif2"] {
	border-color: rgba(93,202,165,0.22);
	box-shadow:
		0 24px 60px rgba(0,0,0,0.35),
		inset 0 1px 0 rgba(255,255,255,0.06),
		0 0 0 1px rgba(93,202,165,0.07),
		0 8px 40px rgba(93,202,165,0.12);
}
#hero-crop-cal[data-active-season="kharif2"] .home-hero__cal-month.is-active {
	background: #FBF3E2;
	border-color: #FBF3E2;
	color: #2C211B;
	box-shadow: 0 4px 14px rgba(93,202,165,0.28);
}
#hero-crop-cal[data-active-season="kharif2"] .home-hero__cal-month.is-same-season {
	background: rgba(93,202,165,0.08);
	border-color: rgba(93,202,165,0.22);
	color: rgba(251, 243, 226,0.9);
}
#hero-crop-cal[data-active-season="kharif2"] .home-hero__cal-month:focus-visible {
	outline-color: #F3D78C;
}

/* ==========================================================================
   WooCommerce — Category SEO Content Block
   ========================================================================== */

.cat-seo-block {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
	padding-block: 48px 64px;
}

.cat-seo-block__inner {
	background: #fff;
	border: 0.5px solid var(--c-line);
	border-radius: 22px;
	padding: 40px 48px;
	box-shadow: var(--c-card-shadow);
}

.cat-seo-block__inner h2 {
	font-family: var(--font-display);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--c-ink);
	margin-block: 0 16px;
}

.cat-seo-block__inner h3 {
	font-family: var(--font-display);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--c-ink);
	margin-block: 28px 10px;
}

.cat-seo-block__inner p {
	font-family: var(--font-ui);
	font-size: 0.9375rem;
	line-height: 1.75;
	color: var(--c-ink-muted);
	margin-block: 0 14px;
}

.cat-seo-block__inner ul,
.cat-seo-block__inner ol {
	font-family: var(--font-ui);
	font-size: 0.9375rem;
	line-height: 1.75;
	color: var(--c-ink-muted);
	padding-inline-start: 1.25em;
	margin-block: 0 14px;
}

.cat-seo-block__inner a {
	color: var(--c-forest);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cat-seo-block__inner strong {
	color: var(--c-ink);
	font-weight: 600;
}

@media (max-width: 640px) {
	.cat-seo-block__inner {
		padding: 24px 20px;
		border-radius: 16px;
	}
}

/* ==========================================================================
   Unified search — Articles band (renders below the product results)
   ========================================================================== */
.search-articles { background: var(--c-base-alt); border-top: 0.5px solid var(--c-line); padding: clamp(40px, 6vw, 72px) var(--container-pad); }
.search-articles__inner { max-width: var(--container-max); margin: 0 auto; }
.post-loop__head--search { margin-bottom: 24px; }
.post-loop__head--search .post-loop__title { font-family: var(--font-display); font-size: clamp(20px, 3vw, 26px); font-weight: 700; color: var(--c-ink); }
.post-loop__head--search .post-loop__count { color: var(--c-ink-faint); font-weight: 500; }
.post-loop__seeall { display: inline-flex; align-items: center; gap: 8px; margin-top: 28px; padding: 12px 22px; border: 1.5px solid var(--c-forest); border-radius: 12px; font-family: var(--font-ui); font-size: 14px; font-weight: 600; color: var(--c-forest); text-decoration: none; transition: background .15s, color .15s; }
.post-loop__seeall:hover { background: var(--c-forest); color: var(--c-white); }
.post-loop__back { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 18px; font-family: var(--font-ui); font-size: 13px; font-weight: 600; color: var(--c-ink-muted); text-decoration: none; }
.post-loop__back:hover { color: var(--c-forest); }

/* ==========================================================================
   Hero LCP guard — above-the-fold, never JS-gate its paint
   ========================================================================== */
/* The hero is the LCP element. If a future edit re-adds .fade-in-section to it,
   this keeps it painted immediately instead of waiting on the footer-script
   IntersectionObserver (which previously caused a ~3s LCP render delay). */
.home-hero.fade-in-section { opacity: 1; transform: none; }

/* ==========================================================================
   SpiceGhor Footer (.sg-foot) — dark maroon, trust strip, columns, payment
   ========================================================================== */
.sg-foot {
	position: relative;
	background: #270806;
	color: var(--cream);
	overflow: hidden;
}
.sg-foot__strip {
	height: 4px;
	background: linear-gradient(90deg, var(--gold) 0%, var(--paprika) 52%, var(--maroon) 100%);
}
.sg-foot__glow {
	position: absolute;
	top: -120px;
	right: -60px;
	width: 460px;
	height: 460px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(228, 161, 27, 0.16), transparent 70%);
	pointer-events: none;
}
.sg-foot__watermark {
	position: absolute;
	right: -46px;
	bottom: -58px;
	width: 300px;
	height: 300px;
	opacity: 0.045;
	pointer-events: none;
}
.sg-foot .sg-num { font-family: var(--font-bengali-display); }

/* trust strip */
.sg-foot__trust {
	position: relative;
	border-bottom: 1px solid rgba(201, 162, 75, 0.2);
}
.sg-foot__trust-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px var(--container-pad);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 24px 30px;
}
.sg-foot__trust-item { display: flex; align-items: center; gap: 13px; }
.sg-foot__trust-ico {
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 13px;
	background: rgba(228, 161, 27, 0.13);
	color: var(--gold);
	display: flex;
	align-items: center;
	justify-content: center;
}
.sg-foot__trust-tx { display: flex; flex-direction: column; gap: 2px; }
.sg-foot__trust-tx strong {
	font-family: var(--font-bengali);
	font-weight: 600;
	font-size: 14.5px;
	color: var(--cream);
}
.sg-foot__trust-tx span {
	font-family: var(--font-bengali);
	font-size: 12.5px;
	color: rgba(251, 243, 226, 0.6);
}

/* main */
.sg-foot__main {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 58px var(--container-pad) 0;
}
.sg-foot__grid {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1.35fr;
	gap: 44px;
}
.sg-foot__brand-link {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 18px;
	text-decoration: none;
}
.sg-foot__logo { display: block; border-radius: 12px; }
.sg-foot__brand-text { display: flex; flex-direction: column; line-height: 1; }
.sg-foot__wordmark {
	font-family: var(--font-display);
	font-weight: 800;
	font-size: 22px;
	color: var(--cream);
}
.sg-foot__wordmark-accent { color: var(--gold); }
.sg-foot__brand-bn {
	font-family: var(--font-bengali);
	font-weight: 600;
	font-size: 10.5px;
	letter-spacing: 0.02em;
	color: var(--gold-antique);
	margin-top: 3px;
}
.sg-foot__desc {
	font-family: var(--font-bengali);
	font-size: 14px;
	line-height: 1.75;
	color: rgba(251, 243, 226, 0.68);
	margin: 0 0 22px;
	max-width: 300px;
}
.sg-foot__social { display: flex; gap: 11px; }
.sg-foot__social-btn {
	width: 42px;
	height: 42px;
	border-radius: var(--r-pill);
	border: 1px solid rgba(201, 162, 75, 0.4);
	background: rgba(251, 243, 226, 0.04);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cream);
	transition: all 150ms ease;
}
.sg-foot__social-btn:hover {
	background: var(--gold);
	color: var(--ink);
	border-color: var(--gold);
	transform: translateY(-2px);
}
.sg-foot__social-btn.is-wa:hover { background: #25D366; color: #fff; border-color: #25D366; }

.sg-foot__col-title {
	font-family: var(--font-bengali);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.02em;
	color: var(--gold-antique);
	margin-bottom: 18px;
}
.sg-foot__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.sg-foot__links a {
	font-family: var(--font-bengali);
	font-weight: 600;
	font-size: 14.5px;
	color: rgba(251, 243, 226, 0.78);
	text-decoration: none;
	width: fit-content;
	transition: color 140ms ease, transform 140ms ease;
}
.sg-foot__links a:hover { color: var(--gold); transform: translateX(4px); }

.sg-foot__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 13px; }
.sg-foot__contact li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-bengali);
	font-weight: 500;
	font-size: 14px;
	color: rgba(251, 243, 226, 0.78);
}
.sg-foot__contact svg { flex: none; color: var(--gold-antique); stroke: var(--gold-antique); }
.sg-foot__contact a { color: inherit; text-decoration: none; }
.sg-foot__contact a:hover { color: var(--gold); }
.sg-foot__wa-btn {
	margin-top: 18px;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--gold);
	color: var(--ink);
	border-radius: var(--r-pill);
	padding: 11px 18px;
	font-family: var(--font-bengali);
	font-weight: 700;
	font-size: 13.5px;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(228, 161, 27, 0.25);
	transition: filter 120ms ease, transform 120ms ease;
}
.sg-foot__wa-btn:hover { filter: brightness(1.06); color: var(--ink); }
.sg-foot__wa-btn:active { transform: scale(0.97); }

/* bottom bar */
.sg-foot__bar {
	border-top: 1px solid rgba(201, 162, 75, 0.2);
	margin-top: 52px;
	padding: 22px 0 30px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}
.sg-foot__copy { font-family: var(--font-bengali); font-size: 13px; color: rgba(251, 243, 226, 0.55); }
.sg-foot__motto {
	font-family: var(--font-display);
	font-style: italic;
	font-size: 13px;
	letter-spacing: 0.01em;
	color: var(--gold-antique);
}
.sg-foot__legal,
.sg-foot__legal-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; list-style: none; margin: 0; padding: 0; }
.sg-foot__legal-menu li { margin: 0; }
.sg-foot__legal a,
.sg-foot__legal-menu a {
	font-family: var(--font-bengali);
	font-weight: 500;
	font-size: 13px;
	color: rgba(251, 243, 226, 0.6);
	text-decoration: none;
	transition: color 140ms ease;
}
.sg-foot__legal a:hover,
.sg-foot__legal-menu a:hover { color: var(--gold); }

@media (max-width: 880px) {
	.sg-foot__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
	.sg-foot__brand { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.sg-foot__grid { grid-template-columns: 1fr; }
	.sg-foot__bar { justify-content: center; text-align: center; }
}

/* ==========================================================================
   Home — SpiceGhor (homepage sections; supersedes the legacy .home-* block above)
   ========================================================================== */
.sg-num { font-family: var(--font-bengali-display); }

/* shared section heads */
.home-head { margin-bottom: 40px; }
.home-head--center { text-align: center; }
.home-head--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.home-head__title { font-family: var(--font-bengali); font-weight: 600; font-size: 32px; color: var(--maroon); margin: 0; }
.home-head__title--en { font-family: var(--font-display); font-weight: 800; }
.home-head__sub { font-family: var(--font-bengali); font-size: 16px; color: var(--soil); margin: 8px 0 0; }
.home-head--on-dark .home-head__title { color: var(--cream); }
.home-head--on-dark .home-head__sub { color: var(--kraft); }
.home-head__link { font-family: var(--font-bengali); font-weight: 600; font-size: 15px; color: var(--maroon); text-decoration: none; white-space: nowrap; }
.home-head__link:hover { color: var(--gold-700); }

/* ---- HERO ---- */
.home-hero { position: relative; min-height: 86vh; display: flex; align-items: center; overflow: hidden; background: var(--maroon); }
.home-hero__bg { position: absolute; inset: 0; background: var(--grad-spice-heat); }
.home-hero__bg-svg { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.home-hero__overlay { position: absolute; inset: 0; background: radial-gradient(120% 90% at 80% 10%, rgba(228,161,27,.18), transparent 55%), linear-gradient(90deg, rgba(47,12,9,.74) 0%, rgba(47,12,9,.42) 45%, rgba(47,12,9,.08) 100%); }
.home-hero__inner { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 48px var(--container-pad); width: 100%; display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
.home-hero__copy { text-align: center; }
.home-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-bengali); font-size: 14px; font-weight: 600; color: var(--gold); text-transform: uppercase; letter-spacing: .16em; margin-bottom: 20px; }
.home-hero__title { font-family: var(--font-bengali-display); font-weight: 600; font-size: clamp(34px, 5vw, 52px); line-height: 1.22; color: var(--cream); margin: 0 0 18px; letter-spacing: -.01em; text-wrap: balance; }
.home-hero__sub { font-family: var(--font-bengali); font-size: 18px; line-height: 1.7; color: rgba(251,243,226,.88); margin: 0 auto 30px; max-width: 500px; }
.home-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; justify-content: center; }
.home-hero__btn { display: inline-flex; align-items: center; justify-content: center; height: 54px; padding: 0 30px; border-radius: var(--r-pill); font-family: var(--font-display); font-weight: 700; font-size: 17px; text-decoration: none; cursor: pointer; transition: transform .12s ease, filter .12s ease, background .15s ease; }
.home-hero__btn--primary { background: var(--gold); color: var(--ink); box-shadow: 0 10px 26px rgba(228,161,27,.34); }
.home-hero__btn--primary:hover { filter: brightness(1.06); color: var(--ink); }
.home-hero__btn--ghost { background: transparent; color: var(--cream); border: 1.5px solid rgba(251,243,226,.55); }
.home-hero__btn--ghost:hover { background: rgba(251,243,226,.1); border-color: var(--cream); color: var(--cream); }
.home-hero__btn:active { transform: scale(.97); }
.home-hero__trust { display: flex; align-items: center; gap: 18px; margin-top: 26px; font-family: var(--font-bengali); font-size: 13.5px; color: rgba(251,243,226,.78); flex-wrap: wrap; justify-content: center; }
.home-hero__trust-sep { width: 1px; height: 14px; background: rgba(251,243,226,.3); }
.home-hero__visual { display: flex; justify-content: center; align-items: center; }
.home-hero__art { position: relative; width: 100%; max-width: 480px; aspect-ratio: 1; }
.home-hero__art-svg { display: block; width: 100%; height: 100%; }
.home-hero__steps { position: absolute; left: 3%; right: 3%; bottom: 3.5%; display: flex; align-items: center; justify-content: center; gap: 9px; }
.home-hero__step { display: flex; align-items: center; gap: 7px; }
.home-hero__step-n { flex: none; width: 23px; height: 23px; border-radius: 999px; background: var(--gold); color: var(--maroon); font-weight: 700; font-size: 13px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 9px rgba(47,12,9,.4); }
.home-hero__step span:last-child { font-family: var(--font-bengali); font-size: 13px; font-weight: 600; color: #FBF3E2; white-space: nowrap; text-shadow: 0 1px 5px rgba(47,12,9,.55); }
.home-hero__step-line { flex: none; width: 20px; border-top: 1.5px dashed rgba(228,161,27,.75); }

/* ---- STATS ---- */
.home-stats { background: var(--cream); padding: 64px 0; border-bottom: 1px solid var(--border); }
.home-stats__inner { max-width: 1100px; margin: 0 auto; padding: 0 var(--container-pad); display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; text-align: center; }
.home-stats__num { font-family: var(--font-display); font-weight: 800; font-size: 42px; color: var(--maroon); }
.home-stats__label { font-family: var(--font-bengali); font-size: 14px; color: var(--soil); margin-top: 4px; }

/* ---- CATEGORIES ---- */
.home-cats { background: var(--cream); padding: 80px 0; }
.home-cats__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--container-pad); }
.home-cats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.home-cats__card { display: flex; flex-direction: column; background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm); text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.home-cats__card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.home-cats__media { height: 158px; background: radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--tint) 70%, #fff), var(--tint)); display: flex; align-items: center; justify-content: center; border-bottom: 1px solid var(--border); overflow: hidden; }
.home-cats__img { width: 100%; height: 100%; object-fit: cover; }
.home-cats__initial { font-family: var(--font-bengali-display); font-weight: 600; font-size: 54px; color: var(--maroon); opacity: .85; }
.home-cats__illus { width: 124px; height: 124px; display: block; filter: drop-shadow(0 6px 10px rgba(94, 31, 24, .08)); transition: transform .3s ease; }
.home-cats__card:hover .home-cats__illus { transform: translateY(-3px) scale(1.04); }
.home-cats__body { padding: 18px 20px; }
.home-cats__name { display: block; font-family: var(--font-bengali); font-weight: 600; font-size: 18px; color: var(--ink); }
.home-cats__en { display: block; font-size: 13px; color: var(--soil); margin-top: 2px; }
.home-cats__more { display: block; font-family: var(--font-bengali); font-size: 13px; font-weight: 600; color: var(--gold-700); margin-top: 12px; }

/* ---- FEATURED ---- */
.home-feat { background: var(--cream); padding: 84px 0; }
.home-feat__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--container-pad); }
.home-feat__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.home-feat__card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.home-feat__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.home-feat__media { position: relative; height: 172px; background: var(--kraft); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.home-feat__band { position: absolute; top: 0; left: 0; right: 0; height: 8px; background: var(--band); }
.home-feat__badge { position: absolute; top: 10px; left: 10px; z-index: 2; font-family: var(--font-bengali); font-size: 11px; font-weight: 600; color: var(--cream); background: var(--maroon); border-radius: var(--r-pill); padding: 4px 10px; }
.home-feat__badge.is-sale { background: var(--paprika); }
.home-feat__wish { position: absolute; top: 10px; right: 10px; z-index: 2; width: 32px; height: 32px; border-radius: var(--r-pill); border: none; background: rgba(251,243,226,.85); cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--maroon); }
.home-feat__wish:hover { background: var(--cream); }
.home-feat__wish.is-active { color: var(--paprika); }
.home-feat__media-link { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; text-decoration: none; }
.home-feat__img { width: 100%; height: 100%; object-fit: cover; }
.home-feat__name { font-family: var(--font-bengali-display); font-weight: 600; font-size: 26px; color: var(--maroon); text-align: center; padding: 0 14px; line-height: 1.2; }
.home-feat__body { padding: 16px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.home-feat__meta { display: flex; align-items: center; gap: 7px; }
.home-feat__fresh { font-family: var(--font-bengali); font-size: 11px; font-weight: 600; color: var(--curry); background: #E4EEDB; border: 1px solid #CADFB8; border-radius: var(--r-pill); padding: 3px 9px; }
.home-feat__cat { font-size: 12px; color: var(--soil); font-weight: 600; }
.home-feat__rating { display: flex; align-items: center; gap: 5px; font-size: 13px; color: var(--soil); }
.home-feat__star { color: var(--gold); }
.home-feat__rating strong { color: var(--ink); }
.home-feat__title { font-family: var(--font-bengali); font-weight: 600; font-size: 16px; color: var(--ink); text-decoration: none; line-height: 1.4; }
.home-feat__title:hover { color: var(--maroon); }
.home-feat__price { display: flex; align-items: baseline; gap: 8px; margin-top: auto; }
.home-feat__price-now { font-family: var(--font-display); font-weight: 800; font-size: 21px; color: var(--maroon); }
.home-feat__price-old { font-size: 14px; color: var(--soil); text-decoration: line-through; }
.home-feat__add { width: 100%; height: 42px; border: none; border-radius: var(--r-pill); background: var(--gold); color: var(--ink); font-family: var(--font-display); font-weight: 700; font-size: 14px; cursor: pointer; transition: filter .12s ease, transform .12s ease; }
.home-feat__add:hover { filter: brightness(1.06); }
.home-feat__add:active { transform: scale(.98); }
.home-feat__add.is-disabled { background: var(--kraft); color: var(--soil); cursor: not-allowed; }

/* ---- WHY ---- */
.home-why { background: #F7EBD4; padding: 90px 0; }
.home-why__inner { max-width: 1080px; margin: 0 auto; padding: 0 var(--container-pad); }
.home-why__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.home-why__card { display: flex; gap: 18px; background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--shadow-sm); }
.home-why__ico { flex: none; width: 52px; height: 52px; border-radius: var(--r-md); background: var(--gold-50); display: flex; align-items: center; justify-content: center; color: var(--gold-700); }
.home-why__title { font-family: var(--font-bengali); font-weight: 600; font-size: 19px; color: var(--ink); }
.home-why__desc { font-family: var(--font-bengali); font-size: 14.5px; line-height: 1.7; color: var(--soil); margin: 7px 0 0; }

/* ---- SPOTLIGHT ---- */
.home-spot { background: var(--maroon); overflow: hidden; }
.home-spot__inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; }
.home-spot__visual { position: relative; min-height: 480px; background: radial-gradient(120% 100% at 30% 30%, #7C2C22, #2F0C09); display: flex; align-items: center; justify-content: center; }
.home-spot__pack { width: 300px; height: 356px; background: var(--kraft); border-radius: var(--r-xl); box-shadow: var(--shadow-lg); transform: rotate(-4deg); display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; overflow: hidden; border: 1px solid #D3B889; }
.home-spot__pack-band { position: absolute; top: 0; left: 0; right: 0; height: 10px; background: var(--line-spices); }
.home-spot__pack-brand { position: absolute; top: 16px; left: 16px; font-family: var(--font-display); font-weight: 800; font-size: 12px; color: var(--maroon); }
.home-spot__pack-imglink { display: block; width: 70%; }
.home-spot__img { width: 100%; height: auto; border-radius: var(--r-md); }
.home-spot__pack-name { font-family: var(--font-bengali-display); font-weight: 600; font-size: 38px; color: var(--maroon); text-align: center; line-height: 1.2; padding: 0 20px; }
.home-spot__stamp { position: absolute; bottom: 20px; left: 0; right: 0; text-align: center; font-family: var(--font-bengali); font-size: 12px; font-weight: 600; color: var(--maroon); }
.home-spot__copy { padding: 80px 60px; color: var(--cream); display: flex; flex-direction: column; justify-content: center; }
.home-spot__eyebrow { font-family: var(--font-bengali); font-size: 13px; font-weight: 600; color: var(--gold); text-transform: uppercase; letter-spacing: .14em; margin-bottom: 14px; }
.home-spot__title { font-family: var(--font-bengali-display); font-weight: 600; font-size: 38px; color: var(--cream); margin: 0 0 6px; }
.home-spot__en { font-family: var(--font-display); font-size: 15px; color: var(--gold-antique); margin-bottom: 18px; }
.home-spot__desc { font-family: var(--font-bengali); font-size: 16px; line-height: 1.75; color: rgba(251,243,226,.85); margin: 0 0 20px; max-width: 420px; }
.home-spot__rating { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.home-spot__stars { color: var(--gold); font-size: 18px; letter-spacing: 2px; }
.home-spot__rating strong { font-family: var(--font-display); font-weight: 700; font-size: 15px; }
.home-spot__rating span { font-family: var(--font-bengali); font-size: 14px; color: rgba(251,243,226,.7); }
.home-spot__buy { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.home-spot__price { font-family: var(--font-display); font-weight: 800; font-size: 30px; color: var(--gold); }
.home-spot__btn { background: var(--gold); color: var(--ink); border: none; border-radius: var(--r-pill); height: 54px; padding: 0 32px; font-family: var(--font-display); font-weight: 700; font-size: 16px; cursor: pointer; box-shadow: 0 10px 26px rgba(228,161,27,.34); transition: transform .12s ease, filter .12s ease; }
.home-spot__btn:hover { filter: brightness(1.06); }
.home-spot__btn:active { transform: scale(.97); }

/* ---- REVIEWS ---- */
.home-rev { background: var(--cream); padding: 84px 0; }
.home-rev__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--container-pad); }
.home-rev__avg { display: inline-flex; align-items: center; gap: 8px; margin-top: 10px; }
.home-rev__stars { color: var(--gold); font-size: 16px; letter-spacing: 1px; }
.home-rev__avg strong { font-family: var(--font-display); font-weight: 700; color: var(--ink); }
.home-rev__avg span { font-family: var(--font-bengali); font-size: 14px; color: var(--soil); }
.home-rev__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.home-rev__card { background: var(--white); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 26px; box-shadow: var(--shadow-md); display: flex; flex-direction: column; gap: 14px; }
.home-rev__cardstars { color: var(--gold); font-size: 16px; letter-spacing: 2px; }
.home-rev__text { font-family: var(--font-bengali); font-size: 15.5px; line-height: 1.75; color: var(--ink); margin: 0; flex: 1; }
.home-rev__who { display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--border); padding-top: 14px; }
.home-rev__avatar { width: 42px; height: 42px; border-radius: var(--r-pill); background: var(--maroon); color: var(--cream); display: flex; align-items: center; justify-content: center; font-family: var(--font-bengali); font-weight: 600; font-size: 18px; flex: none; }
.home-rev__name { font-family: var(--font-bengali); font-weight: 600; font-size: 15px; color: var(--ink); }
.home-rev__verified { font-size: 12px; color: var(--curry); font-weight: 600; }
.home-rev__bought { font-family: var(--font-bengali); font-size: 12.5px; color: var(--soil); }

/* ---- RECIPES ---- */
.home-rec { background: #F7EBD4; padding: 84px 0; }
.home-rec__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--container-pad); }
.home-rec__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.home-rec__card { display: flex; flex-direction: column; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-md); background: var(--white); text-decoration: none; transition: transform .25s ease; }
.home-rec__card:hover { transform: translateY(-4px); }
.home-rec__media { position: relative; height: 200px; background: var(--tint); display: flex; align-items: flex-end; }
.home-rec__shade { position: absolute; inset: 0; background: linear-gradient(to top, rgba(47,12,9,.78) 0%, rgba(47,12,9,.05) 55%); }
.home-rec__cap { position: relative; padding: 18px; color: var(--cream); }
.home-rec__name { display: block; font-family: var(--font-bengali); font-weight: 600; font-size: 21px; line-height: 1.3; }
.home-rec__diff { display: block; font-family: var(--font-bengali); font-size: 13px; color: rgba(251,243,226,.78); margin-top: 5px; }
.home-rec__foot { padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; }
.home-rec__spice { font-family: var(--font-bengali); font-size: 13px; color: var(--soil); }
.home-rec__more { font-family: var(--font-bengali); font-weight: 600; font-size: 14px; color: var(--maroon); }

/* ---- COMBOS ---- */
.home-combo { background: var(--maroon); padding: 84px 0; }
.home-combo__inner { max-width: 1200px; margin: 0 auto; padding: 0 var(--container-pad); }
.home-combo__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.home-combo__card { background: var(--cream); border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); display: flex; flex-direction: column; }
.home-combo__top { display: block; height: 8px; background: var(--gold); }
.home-combo__body { padding: 24px; display: flex; flex-direction: column; gap: 14px; flex: 1; }
.home-combo__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.home-combo__name { font-family: var(--font-bengali); font-weight: 600; font-size: 20px; color: var(--maroon); line-height: 1.3; }
.home-combo__save { flex: none; font-family: var(--font-display); font-weight: 800; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; color: var(--white); background: var(--paprika); border-radius: var(--r-pill); padding: 5px 10px; white-space: nowrap; line-height: 1; }
.home-combo__items { display: flex; flex-direction: column; gap: 7px; border-top: 1px solid var(--border); padding-top: 14px; }
.home-combo__item { display: flex; align-items: center; gap: 9px; font-family: var(--font-bengali); font-size: 14px; color: var(--ink); }
.home-combo__tick { color: var(--gold); font-weight: 800; }
.home-combo__price { display: flex; align-items: baseline; gap: 10px; margin-top: auto; }
.home-combo__price-now { font-family: var(--font-display); font-weight: 800; font-size: 26px; color: var(--maroon); }
.home-combo__price-old { font-size: 15px; color: var(--soil); text-decoration: line-through; }
.home-combo__add { width: 100%; height: 48px; border: none; border-radius: var(--r-pill); background: var(--maroon); color: var(--cream); font-family: var(--font-display); font-weight: 700; font-size: 15px; cursor: pointer; box-shadow: var(--shadow-maroon); transition: transform .12s ease, filter .12s ease; }
.home-combo__add:hover { filter: brightness(1.1); }
.home-combo__add:active { transform: scale(.98); }

/* ---- INSTAGRAM ---- */
.home-insta { background: var(--cream); padding: 70px 0 0; }
.home-insta__grid { display: grid; grid-template-columns: repeat(6, 1fr); }
.home-insta__tile { position: relative; aspect-ratio: 1; border: none; cursor: pointer; background: var(--tint); overflow: hidden; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: filter .15s ease; }
.home-insta__tile:hover { filter: brightness(.92); }
.home-insta__cap { font-size: 11px; color: rgba(251,243,226,.7); font-style: italic; text-align: center; padding: 0 8px; }
.home-insta__tile--cta { flex-direction: column; gap: 8px; color: var(--cream); background: var(--maroon); }
.home-insta__tile--cta span { font-family: var(--font-bengali); font-weight: 600; font-size: 14px; }
.home-insta__handle { font-family: var(--font-display); font-weight: 800; font-size: 13px; }

/* ---- NEWSLETTER ---- */
.home-nl { background: var(--cream); padding: 84px 0; }
.home-nl__inner { max-width: 760px; margin: 0 auto; padding: 0 var(--container-pad); text-align: center; }
.home-nl__badge { display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-display); font-weight: 800; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--white); background: var(--paprika); border-radius: var(--r-pill); padding: 6px 14px; margin-bottom: 18px; }
.home-nl__title { font-family: var(--font-bengali); font-weight: 600; font-size: 28px; color: var(--maroon); margin: 0 0 10px; }
.home-nl__desc { font-family: var(--font-bengali); font-size: 15.5px; color: var(--soil); margin: 0 auto 26px; max-width: 480px; line-height: 1.7; }
.home-nl__form { display: flex; flex-direction: row; gap: 10px; max-width: 540px; margin: 0 auto; }
.home-nl__input { flex: 1; border: 1.5px solid var(--border); border-radius: var(--r-md); padding: 14px 16px; font-family: var(--font-bengali); font-size: 15px; color: var(--ink); outline: none; background: var(--white); }
.home-nl__input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(228,161,27,.2); }
.home-nl__btn { background: var(--gold); color: var(--ink); border: none; border-radius: var(--r-md); padding: 0 28px; font-family: var(--font-display); font-weight: 700; font-size: 15px; cursor: pointer; white-space: nowrap; transition: filter .12s ease; }
.home-nl__btn:hover { filter: brightness(1.06); }
.home-nl__whats { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; cursor: pointer; font-family: var(--font-bengali); font-size: 13.5px; color: var(--soil); }
.home-nl__whats-cb { position: absolute; width: 1px; height: 1px; opacity: 0; margin: 0; }
.home-nl__whats-box { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid var(--soil); background: transparent; display: inline-flex; align-items: center; justify-content: center; color: var(--curry); font-size: 12px; line-height: 1; transition: border-color .12s ease; }
.home-nl__whats-cb:checked + .home-nl__whats-box::after { content: '✓'; }
.home-nl__whats-cb:focus-visible + .home-nl__whats-box { outline: 2px solid var(--gold); outline-offset: 2px; }
.home-nl__fine { font-family: var(--font-bengali); font-size: 12px; color: var(--soil); margin-top: 10px; }
.newsletter-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---- HOME responsive ---- */
@media (min-width: 1024px) {
	.home-hero__inner { grid-template-columns: 1.05fr .95fr; }
	.home-hero__copy { text-align: left; }
	.home-hero__sub { margin-inline: 0; }
	.home-hero__actions, .home-hero__trust { justify-content: flex-start; }
}
@media (max-width: 1024px) {
	.home-cats__grid, .home-feat__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	.home-hero { min-height: 0; padding: 40px 0; }
	.home-hero__visual { order: -1; }
	.home-spot__inner { grid-template-columns: 1fr; }
	.home-spot__copy { padding: 48px var(--container-pad); }
	.home-why__grid { grid-template-columns: 1fr; }
	.home-rev__grid, .home-rec__grid, .home-combo__grid { grid-template-columns: 1fr 1fr; }
	.home-insta__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.home-stats__inner { grid-template-columns: 1fr 1fr; gap: 28px 16px; }
	.home-cats__grid, .home-feat__grid, .home-rev__grid, .home-rec__grid, .home-combo__grid { grid-template-columns: 1fr; }
	.home-head--row { flex-direction: column; align-items: flex-start; }
	.home-hero__title { font-size: 32px; }
	.home-nl__form { flex-direction: column; }
}

/* ==========================================================================
   Floating WhatsApp button (global)
   ========================================================================== */
@keyframes gd-wa-pulse {
	0%, 100% { box-shadow: 0 10px 24px rgba(37,211,102,.42); }
	50% { box-shadow: 0 10px 30px rgba(37,211,102,.7), 0 0 0 12px rgba(37,211,102,0); }
}
.gd-wa-float {
	position: fixed;
	bottom: 26px;
	right: 26px;
	z-index: 55;
	width: 58px;
	height: 58px;
	border-radius: var(--r-pill);
	background: #25D366;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	animation: gd-wa-pulse 3s ease-in-out infinite;
	transition: transform .15s ease;
}
.gd-wa-float:hover { transform: scale(1.06); }
.gd-wa-float:active { transform: scale(.96); }
@media (max-width: 600px) {
	.gd-wa-float { bottom: 18px; right: 18px; width: 52px; height: 52px; }
}

/* ==========================================================================
   Navbar — reference match (logo, links, search pill, account, cart, mega)
   Appended last so it supersedes the earlier .site-nav block.
   ========================================================================== */
.site-nav { position: fixed; top: 0; left: 0; right: 0; z-index: 60; background: var(--cream); border-bottom: 1px solid var(--border); backdrop-filter: none; -webkit-backdrop-filter: none; transition: box-shadow .2s ease; }
.site-nav.is-scrolled { box-shadow: 0 4px 18px rgba(47, 12, 9, 0.07); }
.site-nav__inner { position: relative; max-width: 1200px; margin: 0 auto; padding: 14px var(--container-pad); height: auto; display: flex; align-items: center; gap: 32px; }

/* brand */
.site-nav__brand { display: flex; align-items: center; gap: 11px; text-decoration: none; flex: none; }
.site-nav__mark { width: 44px; height: 44px; display: block; border-radius: 12px; box-shadow: var(--shadow-sm); flex: none; }
.site-nav__logo-img { max-height: 44px; width: auto; display: block; }
.site-nav__brand-text { display: flex; flex-direction: column; justify-content: center; gap: 3px; line-height: 1; }
.site-nav__wordmark { font-family: var(--font-display); font-weight: 800; font-size: 23px; letter-spacing: -.02em; color: var(--maroon); line-height: 1; }
.site-nav__wordmark-accent { color: var(--gold); }
.site-nav__wordmark-bn { font-family: var(--font-bengali); font-weight: 600; font-size: 11px; letter-spacing: .02em; color: var(--soil); line-height: 1; white-space: nowrap; }

/* menu */
.site-nav__menu { display: flex; align-items: center; justify-content: flex-start; flex: 1; min-width: 0; }
.site-nav__list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: flex-start; gap: 26px; }
.site-nav__list li { margin: 0; position: relative; }
.site-nav__list a { font-family: var(--font-bengali); font-weight: 700; font-size: 16px; color: var(--ink); text-decoration: none; display: inline-flex; align-items: center; gap: 5px; padding: 4px 0; transition: color .15s ease; }
.site-nav__list a::after { content: none; }
.site-nav__list a:hover, .site-nav__list .current-menu-item > a, .site-nav__list .current_page_item > a { color: var(--maroon); }
.site-nav__list .menu-item-has-children > a::after,
.site-nav__list li:first-child > a::after,
.site-nav__list li.site-nav__has-mega > a::after { content: '▾'; position: static; transform: none; background: none; width: auto; height: auto; inset: auto; font-size: 0.9em; line-height: 1; opacity: .7; margin-left: 3px; transition: none; }

/* actions */
.site-nav__actions { display: flex; align-items: center; gap: 10px; flex: none; }
.site-nav__search { display: inline-flex; align-items: center; gap: 9px; height: 42px; padding: 0 16px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--white); color: var(--soil); font-family: var(--font-bengali); font-size: 14px; white-space: nowrap; cursor: pointer; transition: border-color .15s ease, color .15s ease, box-shadow .15s ease; }
.site-nav__search:hover, .site-nav__search[aria-expanded="true"] { border-color: var(--gold); color: var(--ink); box-shadow: var(--shadow-sm); }
.site-nav__account { width: 44px; height: 44px; border-radius: var(--r-pill); border: 1px solid var(--border); background: var(--white); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease; }
.site-nav__account:hover { border-color: var(--gold); box-shadow: var(--shadow-sm); }
.site-nav__account.is-logged-in { background: var(--maroon); border-color: var(--maroon); color: var(--cream); }
.site-nav__account-initials { font-family: var(--font-display); font-weight: 700; font-size: 14px; }
.site-nav__cart { position: relative; display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 18px; border-radius: var(--r-pill); border: none; background: var(--maroon); color: var(--cream); cursor: pointer; box-shadow: var(--shadow-maroon); transition: filter .15s ease, transform .12s ease; }
.site-nav__cart:hover { filter: brightness(1.08); }
.site-nav__cart:active { transform: scale(.97); }
.site-nav__cart-label { font-family: var(--font-display); font-weight: 700; font-size: 14px; }
.site-nav__cart-count { position: absolute; top: -6px; right: -6px; min-width: 20px; height: 20px; padding: 0 5px; display: none; align-items: center; justify-content: center; border-radius: 999px; background: var(--gold); color: var(--ink); font-family: var(--font-display); font-weight: 800; font-size: 11px; line-height: 1; border: 2px solid var(--cream); }
.site-nav__cart-count.has-items { display: inline-flex; }
.site-nav__hamburger { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; background: var(--white); border: 1px solid var(--border); border-radius: var(--r-pill); color: var(--ink); cursor: pointer; padding: 0; }

/* mega menu — full-width white panel, no open/close animation */
.site-nav__mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 59; display: none; background: var(--white); border-bottom: 1px solid var(--border); box-shadow: var(--shadow-lg); }
.site-nav__mega.is-open { display: block; }
.site-nav__mega-inner { max-width: 1200px; margin: 0 auto; padding: 28px var(--container-pad); display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 36px; }
.site-nav__mega-title { font-family: var(--font-bengali); font-weight: 600; font-size: 16px; color: var(--maroon); margin-bottom: 4px; }
.site-nav__mega-en { font-size: 12px; color: var(--soil); text-transform: uppercase; letter-spacing: .06em; margin-bottom: 14px; }
.site-nav__mega-links { display: flex; flex-direction: column; gap: 9px; }
.site-nav__mega-links a { font-family: var(--font-bengali); font-size: 15px; color: var(--ink); text-decoration: none; width: fit-content; transition: color .14s ease; }
.site-nav__mega-links a:hover { color: var(--gold-700); }
.site-nav__mega-promo { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; background: var(--kraft); border-radius: var(--r-lg); padding: 20px; min-width: 180px; }
.site-nav__mega-promo-text { font-family: var(--font-bengali); font-weight: 600; font-size: 17px; color: var(--maroon); line-height: 1.4; margin-bottom: 12px; }
.site-nav__mega-promo-btn { background: var(--maroon); color: var(--cream); border-radius: var(--r-pill); padding: 10px 16px; font-family: var(--font-display); font-weight: 700; font-size: 13px; text-decoration: none; }
.site-nav__mega-promo-btn:hover { color: var(--cream); filter: brightness(1.1); }

/* nav responsive (reference: links hide < 880, search label hides < 600) */
@media (max-width: 880px) {
	.site-nav__menu { display: none; }
	.site-nav__hamburger { display: inline-flex; }
	.site-nav__mega { display: none; }
}
@media (max-width: 600px) {
	.site-nav__search-label { display: none; }
	.site-nav__search { padding: 0 12px; }
	.site-nav__cart-label { display: none; }
	.site-nav__inner { gap: 14px; }
}


/* ==========================================================================
   Remove legacy GrowDeshi leaf watermarks (off-brand gardening motif).
   ========================================================================== */
.shop-hero__leaf,
.shop-strip__leaf,
.shop-help__leaf,
.acc-welcome__leaf,
.archive-hero__leaf,
.archive-hero__leaf--left,
.archive-hero__leaf--right,
.post-hero__leaf,
.app-promo__leaf,
.newsletter-section__leaf,
.site-footer__leaf-mark { display: none !important; }

/* ==========================================================================
   Recipes — CPT (hero · cooking card · shop band · related · archive)
   Brand: warm cream canvas, roasted maroon structure, turmeric gold spark.
   ========================================================================== */

.recipe-hero,
.recipe-card,
.recipe-shop,
.recipe-related,
.recipe-archive { font-family: var(--font-body); }

/* shared section rhythm — aligns with product/blog pages (--container-pad) */
.recipe-card__inner,
.recipe-shop__inner,
.recipe-related__inner,
.recipe-archive__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	padding-inline: var(--container-pad);
}

/* print-only brand header (shown only when printing — see @media print) */
.recipe-print-brand { display: none; }

/* ---------------------------------------------------------------- Hero */
.recipe-hero {
	position: relative;
	background:
		radial-gradient(130% 120% at 88% -10%, rgba(228,161,27,.16), transparent 55%),
		radial-gradient(100% 110% at 0% 115%, rgba(47,12,9,.55), transparent 60%),
		var(--maroon);
	color: var(--cream);
	overflow: hidden;
}
.recipe-hero__inner {
	max-width: var(--container-max);
	margin-inline: auto;
	/* top floor clears the fixed nav, matching .shop-hero__inner / .post-hero__inner */
	padding: clamp(96px, 10vw, 116px) var(--container-pad) clamp(44px, 6vw, 64px);
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}
.recipe-hero__eyebrow {
	display: inline-flex; align-items: center; gap: var(--sp-2);
	font-size: .74rem; font-weight: 600; letter-spacing: .04em;
	background: rgba(251,243,226,.10);
	border: 1px solid rgba(251,243,226,.18);
	padding: 6px 14px; border-radius: var(--r-pill);
	margin-bottom: var(--sp-5);
}
.recipe-hero__crumb { color: var(--gold); text-decoration: none; font-weight: 600; }
.recipe-hero__crumb:hover { text-decoration: underline; }
.recipe-hero__dot { color: rgba(251,243,226,.5); }
.recipe-hero__title {
	font-family: var(--font-bengali-display);
	font-size: clamp(2rem, 4.4vw, 3.4rem);
	line-height: 1.12; margin: 0 0 var(--sp-4); color: var(--white);
}
.recipe-hero__sub {
	font-size: 1.05rem; line-height: 1.7; color: rgba(251,243,226,.86);
	max-width: 46ch; margin: 0 0 var(--sp-5);
}
.recipe-hero__rating {
	display: flex; align-items: center; gap: var(--sp-2);
	margin-bottom: var(--sp-5); color: var(--gold);
}
.recipe-hero__rating .gd-stars { color: var(--gold); font-size: 1.05rem; }
.recipe-hero__rating strong { color: var(--white); }
.recipe-hero__rcount { color: rgba(251,243,226,.7); font-size: .9rem; }

/* meta bar — two-line chips in an aligned 3-up grid (6 items → 3×2) */
.recipe-hero__meta {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sp-2);
	max-width: 520px;
	margin-bottom: var(--sp-6);
}
.recipe-meta__item {
	display: flex; flex-direction: column; gap: 3px;
	background: rgba(251,243,226,.07);
	border: 1px solid rgba(251,243,226,.14);
	border-radius: var(--r-md);
	padding: 9px 12px;
}
.recipe-meta__head { display: inline-flex; align-items: center; gap: 6px; }
.recipe-meta__head > i { color: var(--gold); font-size: .95rem; }
.recipe-meta__k { font-size: .7rem; letter-spacing: .02em; color: rgba(251,243,226,.6); }
.recipe-meta__v { font-size: .9rem; font-weight: 700; color: var(--white); line-height: 1.2; }

.recipe-hero__actions { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.recipe-hero__actions .recipe-btn { padding: 10px 20px; font-size: .9rem; }

/* buttons (reused across recipe UI) */
.recipe-btn {
	display: inline-flex; align-items: center; gap: var(--sp-2);
	font-weight: 700; font-size: .95rem; line-height: 1;
	padding: var(--sp-3) var(--sp-5); border-radius: var(--r-pill);
	border: 1.5px solid transparent; cursor: pointer; text-decoration: none;
	transition: transform .15s ease, background .2s ease, color .2s ease;
}
.recipe-btn i { font-size: 1.05rem; }
.recipe-btn--primary { background: var(--gold); color: var(--maroon-900); }
.recipe-btn--primary:hover { transform: translateY(-2px); background: #f0ad26; }
.recipe-btn--ghost { background: transparent; color: var(--cream); border-color: rgba(251,243,226,.4); }
.recipe-btn--ghost:hover { background: rgba(251,243,226,.12); }

.recipe-hero__media { position: relative; margin: 0; }
.recipe-hero__img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
	border-radius: var(--r-xl); box-shadow: var(--shadow-lg);
}
.recipe-hero__stamp {
	position: absolute; left: var(--sp-4); bottom: var(--sp-4);
	display: inline-flex; align-items: center; gap: 6px;
	background: var(--cream); color: var(--maroon);
	font-family: var(--font-bengali); font-weight: 700; font-size: .85rem;
	padding: 6px 14px; border-radius: var(--r-pill); box-shadow: var(--shadow-md);
}
.recipe-hero__stamp i { color: var(--gold); }

/* -------------------------------------------------------------- Story */
.recipe-story { padding-block: var(--sp-12) var(--sp-6); }
.recipe-story:empty { display: none; }

/* ------------------------------------------------------- Cooking card */
.recipe-card { padding-block: var(--sp-8) var(--sp-12); }
.recipe-card__inner {
	display: grid;
	grid-template-columns: minmax(280px, 360px) 1fr;
	gap: var(--sp-10);
	align-items: start;
}

/* ingredients rail */
.recipe-ing__sticky {
	position: sticky; top: calc(var(--header-h) + var(--sp-4));
	background: var(--white);
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	padding: var(--sp-6);
	box-shadow: var(--shadow-sm);
}
.recipe-ing__title {
	font-family: var(--font-bengali-display); font-size: 1.5rem;
	color: var(--maroon); margin: 0 0 var(--sp-4);
}
.recipe-ing__group {
	font-family: var(--font-bengali); font-size: 1rem; font-weight: 700;
	color: var(--soil); margin: var(--sp-5) 0 var(--sp-2);
	text-transform: none;
}
.recipe-ing__list { list-style: none; margin: 0; padding: 0; }
.recipe-ing__item + .recipe-ing__item { border-top: 1px dashed var(--border); }
.recipe-ing__label {
	display: flex; align-items: flex-start; gap: var(--sp-3);
	padding: var(--sp-3) 0; cursor: pointer;
}
.recipe-ing__check { position: absolute; opacity: 0; width: 0; height: 0; }
.recipe-ing__tick {
	flex: 0 0 auto; width: 22px; height: 22px; margin-top: 1px;
	border: 1.5px solid var(--border); border-radius: 6px;
	display: grid; place-items: center; color: transparent;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.recipe-ing__tick i { font-size: .85rem; }
.recipe-ing__check:checked + .recipe-ing__tick { background: var(--curry, #4F7A3A); border-color: var(--curry, #4F7A3A); color: #fff; }
.recipe-ing__check:focus-visible + .recipe-ing__tick { outline: 2px solid var(--gold); outline-offset: 2px; }
.recipe-ing__text { font-family: var(--font-bengali); line-height: 1.45; }
.recipe-ing__amount { font-weight: 700; color: var(--maroon); }
.recipe-ing__name { color: var(--ink); }
.recipe-ing__check:checked ~ .recipe-ing__text { text-decoration: line-through; color: var(--soil); }
.recipe-ing__check:checked ~ .recipe-ing__text .recipe-ing__amount { color: var(--soil); }

/* servings scaler */
.recipe-scaler {
	display: flex; align-items: center; gap: var(--sp-2);
	background: var(--cream); border: 1px solid var(--border);
	border-radius: var(--r-pill); padding: 6px 14px; margin-bottom: var(--sp-5);
	font-family: var(--font-bengali);
}
.recipe-scaler__label { font-size: .85rem; color: var(--soil); margin-right: auto; }
.recipe-scaler__control { display: inline-flex; align-items: center; gap: var(--sp-2); }
.recipe-scaler__btn {
	width: 30px; height: 30px; border-radius: 50%; border: none; cursor: pointer;
	background: var(--maroon); color: var(--cream); display: grid; place-items: center;
	transition: background .15s ease, transform .15s ease;
}
.recipe-scaler__btn:hover { background: var(--maroon-900); transform: scale(1.06); }
.recipe-scaler__count { min-width: 1.6em; text-align: center; font-weight: 800; color: var(--maroon); font-size: 1.05rem; }
.recipe-scaler__unit { font-size: .85rem; color: var(--soil); }

/* method */
.recipe-method__head {
	display: flex; align-items: center; justify-content: space-between;
	gap: var(--sp-4); margin-bottom: var(--sp-5);
}
.recipe-method__title {
	font-family: var(--font-bengali-display); font-size: 1.7rem;
	color: var(--maroon); margin: 0;
}
.recipe-cookmode {
	display: inline-flex; align-items: center; gap: 6px;
	font-family: var(--font-bengali); font-weight: 700; font-size: .9rem;
	background: var(--cream); color: var(--maroon);
	border: 1.5px solid var(--border); border-radius: var(--r-pill);
	padding: 8px 16px; cursor: pointer; transition: all .18s ease;
}
.recipe-cookmode i { color: var(--gold); font-size: 1.1rem; }
.recipe-cookmode[aria-pressed="true"] { background: var(--gold); color: var(--maroon-900); border-color: var(--gold); }
.recipe-cookmode[aria-pressed="true"] i { color: var(--maroon-900); }

.recipe-steps { list-style: none; counter-reset: none; margin: 0; padding: 0; }
.recipe-steps__section { margin: var(--sp-6) 0 var(--sp-3); }
.recipe-steps__section h3 {
	font-family: var(--font-bengali); font-size: 1.15rem; color: var(--soil);
	margin: 0; padding-bottom: 6px; border-bottom: 2px solid var(--gold);
	display: inline-block;
}
.recipe-step {
	display: grid; grid-template-columns: auto 1fr; gap: var(--sp-4);
	padding: var(--sp-5) 0; border-top: 1px solid var(--border);
	scroll-margin-top: calc(var(--header-h) + 16px);
}
.recipe-step:first-of-type { border-top: none; }
.recipe-step__num {
	flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
	background: var(--grad-spice-heat); color: #fff;
	font-weight: 800; font-size: 1.1rem; display: grid; place-items: center;
	box-shadow: var(--shadow-sm);
}
.recipe-step__text {
	font-family: var(--font-bengali); font-size: 1.05rem; line-height: 1.8;
	color: var(--ink); margin: 0;
}
.recipe-step__figure { margin: var(--sp-3) 0 0; }
.recipe-step__img { width: 100%; border-radius: var(--r-md); }

/* tips */
.recipe-tips {
	margin-top: var(--sp-8); background: var(--cream);
	border: 1px solid var(--border); border-left: 4px solid var(--gold);
	border-radius: var(--r-md); padding: var(--sp-5) var(--sp-6);
}
.recipe-tips__title {
	display: flex; align-items: center; gap: 8px;
	font-family: var(--font-bengali); font-size: 1.1rem; color: var(--maroon);
	margin: 0 0 var(--sp-3);
}
.recipe-tips__title i { color: var(--gold); }
.recipe-tips__list { margin: 0; padding-left: 1.2em; }
.recipe-tips__list li { font-family: var(--font-bengali); line-height: 1.7; color: var(--ink); margin-bottom: 6px; }

/* nutrition */
.recipe-nutrition {
	margin-top: var(--sp-8); border: 1px solid var(--border);
	border-radius: var(--r-md); padding: var(--sp-5) var(--sp-6); background: var(--white);
}
.recipe-nutrition__title { font-family: var(--font-bengali); font-size: 1.05rem; color: var(--maroon); margin: 0 0 var(--sp-4); }
.recipe-nutrition__per { color: var(--soil); font-weight: 400; font-size: .85rem; }
.recipe-nutrition__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-3); }
.recipe-nutrition__cell {
	text-align: center; background: var(--cream);
	border-radius: var(--r-sm); padding: var(--sp-4) var(--sp-2);
}
.recipe-nutrition__v { display: block; font-size: 1.3rem; font-weight: 800; color: var(--maroon); }
.recipe-nutrition__k { display: block; font-family: var(--font-bengali); font-size: .82rem; color: var(--soil); margin-top: 2px; }

/* ----------------------------------------------------- User rating widget */
.recipe-rate {
	margin-top: var(--sp-8);
	background: var(--maroon);
	color: var(--cream);
	border-radius: var(--r-lg);
	padding: var(--sp-6);
	text-align: center;
}
.recipe-rate__head { display: flex; align-items: center; justify-content: center; gap: var(--sp-3); margin-bottom: var(--sp-4); text-align: left; }
.recipe-rate__icon { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: rgba(228,161,27,.18); color: var(--gold); display: grid; place-items: center; font-size: 1.3rem; }
.recipe-rate__title { font-family: var(--font-bengali-display); font-size: 1.2rem; color: var(--white); margin: 0; }
.recipe-rate__sub { font-family: var(--font-bengali); font-size: .85rem; color: rgba(251,243,226,.7); margin: 2px 0 0; }
.recipe-rate__stars { display: inline-flex; gap: 6px; margin-bottom: var(--sp-3); }
.recipe-rate__star { background: none; border: none; cursor: pointer; color: rgba(251,243,226,.3); font-size: 2rem; line-height: 1; padding: 2px; transition: color .12s ease, transform .12s ease; }
.recipe-rate__star:hover { transform: scale(1.12); }
.recipe-rate__star.is-on { color: var(--gold); }
.recipe-rate.is-rated .recipe-rate__star { cursor: default; }
.recipe-rate.is-rated .recipe-rate__star:hover { transform: none; }
.recipe-rate__status { font-family: var(--font-bengali); font-size: .9rem; color: rgba(251,243,226,.85); }
.recipe-rate__status strong { color: var(--gold); font-size: 1.05rem; }
.recipe-rate__thanks { font-family: var(--font-bengali); color: var(--gold); font-weight: 600; margin: var(--sp-2) 0 0; }

/* ----------------------------------------------------- Shop the spices */
.recipe-shop {
	background:
		radial-gradient(100% 120% at 0% 0%, rgba(228,161,27,.08), transparent 50%),
		var(--kraft);
	padding-block: var(--sp-12);
}
.recipe-shop__head {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: var(--sp-6); margin-bottom: var(--sp-8);
}
.recipe-shop__headtext { max-width: 640px; }
.recipe-shop__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--font-bengali); font-weight: 700; font-size: .85rem;
	color: var(--maroon); letter-spacing: .02em; margin-bottom: var(--sp-3);
}
.recipe-shop__rule { width: 28px; height: 2px; background: var(--gold); border-radius: 2px; }
.recipe-shop__title { font-family: var(--font-bengali-display); font-size: clamp(1.4rem, 3vw, 2rem); color: var(--maroon); margin: 0 0 var(--sp-3); }
.recipe-shop__sub { font-family: var(--font-bengali); color: var(--ink); line-height: 1.7; margin: 0; }

/* carousel arrows (header, top-right) */
.recipe-shop__nav { display: flex; gap: var(--sp-2); flex: 0 0 auto; }
.recipe-shop__nav[hidden] { display: none; }
.recipe-shop__arrow {
	width: 44px; height: 44px; border-radius: 50%;
	border: 1.5px solid var(--maroon); background: var(--white); color: var(--maroon);
	display: grid; place-items: center; cursor: pointer; font-size: 1.15rem;
	transition: background .18s ease, color .18s ease, transform .18s ease, opacity .18s ease;
}
.recipe-shop__arrow:hover:not(:disabled) { background: var(--maroon); color: var(--cream); transform: translateY(-2px); }
.recipe-shop__arrow:disabled { opacity: .35; cursor: default; }

/* carousel track — 4 cards per view, scroll-snap, native scroll + arrow control */
.recipe-carousel { position: relative; }
.recipe-carousel__track {
	display: flex; gap: var(--sp-5);
	overflow-x: auto; scroll-snap-type: x mandatory;
	scroll-behavior: smooth; padding-bottom: var(--sp-2);
	scrollbar-width: none; -ms-overflow-style: none;
}
.recipe-carousel__track::-webkit-scrollbar { display: none; }
.recipe-carousel__track > .pcard {
	flex: 0 0 calc((100% - (var(--sp-5) * 3)) / 4);
	scroll-snap-align: start;
}
/* Quick-view's handler is bound only on shop archives (shop.js self-bails elsewhere),
   so hide the zoom affordance here — add-to-cart + wishlist stay fully functional via store.js. */
.recipe-shop .pcard__zoom { display: none; }

@media (max-width: 1024px) {
	.recipe-carousel__track > .pcard { flex-basis: calc((100% - var(--sp-5)) / 2); }
}
@media (max-width: 600px) {
	.recipe-shop__head { flex-direction: column; align-items: flex-start; }
	.recipe-carousel__track > .pcard { flex-basis: 78%; }
}

/* ----------------------------------------------------- Recipe cards */
.rcard-grid {
	display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--sp-6);
}
.rcard {
	background: var(--white); border: 1px solid var(--border);
	border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-sm);
	display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.rcard:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.rcard__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; }
.rcard__img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.rcard:hover .rcard__img { transform: scale(1.05); }
.rcard__img--ph { display: grid; place-items: center; background: var(--cream); color: var(--kraft); font-size: 2.4rem; }
.rcard__course {
	position: absolute; top: var(--sp-3); left: var(--sp-3);
	background: var(--maroon); color: var(--cream);
	font-family: var(--font-bengali); font-size: .78rem; font-weight: 600;
	padding: 4px 12px; border-radius: var(--r-pill);
}
.rcard__body { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-5); flex: 1; }
.rcard__title {
	font-family: var(--font-bengali-display); font-size: 1.2rem; font-weight: 700;
	color: var(--ink); text-decoration: none; line-height: 1.3;
}
.rcard__title:hover { color: var(--maroon); }
.rcard__excerpt {
	font-family: var(--font-bengali); font-size: .9rem; line-height: 1.55;
	color: var(--soil); margin: 0;
	display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.rcard__meta { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-top: 2px; }
.rcard__meta-item { display: inline-flex; align-items: center; gap: 5px; font-family: var(--font-bengali); font-size: .85rem; color: var(--soil); }
.rcard__meta-item i { color: var(--gold); font-size: 1rem; }
.rcard__rating { display: flex; align-items: center; gap: 6px; }
.rcard__rating strong { color: var(--ink); font-size: .85rem; }
.rcard__rcount { color: var(--soil); font-size: .8rem; }

/* Font-independent star rating for recipe cards — the Phosphor fill font isn't
   loaded on the homepage / recipe archive, so cards use unicode + a clipped gold
   overlay (supports fractional ratings) instead of the icon-font stars. */
.gd-rcard-stars { position: relative; display: inline-block; font-size: .95rem; line-height: 1; color: #d9c9a6; }
.gd-rcard-stars::before { content: "\2605\2605\2605\2605\2605"; letter-spacing: 2px; }
.gd-rcard-stars__fill { position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; white-space: nowrap; color: var(--gold); }
.gd-rcard-stars__fill::before { content: "\2605\2605\2605\2605\2605"; letter-spacing: 2px; }
.rcard__link {
	margin-top: auto; padding-top: var(--sp-2);
	font-family: var(--font-bengali); font-weight: 700; font-size: .9rem;
	color: var(--maroon); text-decoration: none;
	display: inline-flex; align-items: center; gap: 6px;
}
.rcard__link:hover { gap: 10px; color: var(--paprika); }

/* ----------------------------------------------------- Related */
.recipe-related { padding-block: var(--sp-12); background: var(--cream); }

/* ----------------------------------------------------- Archive */
.recipe-archive { padding-block: var(--sp-12); }
.recipe-archive__head { text-align: center; max-width: 680px; margin: 0 auto var(--sp-8); }
.recipe-archive__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--font-bengali); font-weight: 700; font-size: .85rem;
	color: var(--maroon); margin-bottom: var(--sp-3);
}
.recipe-archive__rule { width: 28px; height: 2px; background: var(--gold); border-radius: 2px; }
.recipe-archive__title { font-family: var(--font-bengali-display); font-size: clamp(2rem, 4vw, 2.8rem); color: var(--maroon); margin: 0 0 var(--sp-3); }
.recipe-archive__sub { font-family: var(--font-bengali); color: var(--ink); line-height: 1.7; margin: 0; }

.recipe-filters {
	display: flex; flex-wrap: wrap; justify-content: center; gap: var(--sp-2);
	margin-bottom: var(--sp-8);
}
.recipe-filters__pill {
	font-family: var(--font-bengali); font-weight: 600; font-size: .9rem;
	color: var(--maroon); background: var(--white);
	border: 1.5px solid var(--border); border-radius: var(--r-pill);
	padding: 8px 18px; text-decoration: none; transition: all .18s ease;
}
.recipe-filters__pill:hover { border-color: var(--gold); color: var(--maroon-900); }
.recipe-filters__pill.is-active { background: var(--maroon); color: var(--cream); border-color: var(--maroon); }

/* homepage "all recipes" button */
.home-rec__more-wrap { text-align: center; margin-top: var(--sp-8); }

/* ----------------------------------------------------- Cook mode (global) */
body.recipe-cookmode-on .recipe-step__text { font-size: 1.25rem; line-height: 1.9; }
body.recipe-cookmode-on .recipe-step__num { width: 48px; height: 48px; font-size: 1.3rem; }
body.recipe-cookmode-on .site-header { position: static; }

/* ----------------------------------------------------- Responsive */
@media (max-width: 900px) {
	.recipe-hero__inner { grid-template-columns: 1fr; gap: var(--sp-8); }
	.recipe-hero__media { order: -1; }
	.recipe-card__inner { grid-template-columns: 1fr; gap: var(--sp-8); }
	.recipe-ing__sticky { position: static; }
	.recipe-nutrition__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
	.recipe-hero__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; }
	.recipe-step { grid-template-columns: 1fr; gap: var(--sp-2); }
	.recipe-step__num { width: 34px; height: 34px; font-size: 1rem; }
	.recipe-rate { padding: var(--sp-5); }
	.recipe-rate__star { font-size: 1.8rem; }
}

/* ----------------------------------------------------- Print (recipe only) */
@media print {
	/* Hide site chrome + everything that isn't the recipe (keep the shop header).
	   The footer template part renders as <footer class="sg-foot"> and also wraps the
	   cart/wishlist drawers, auth modal and floating WhatsApp — hiding the <footer>
	   element clears all of them at once. */
	.site-header, header.wp-block-template-part,
	footer, .sg-foot, .site-footer,
	.gd-drawer, .gd-auth, .gd-wa-float, .newsletter-modal,
	.recipe-hero__media, .recipe-hero__actions,
	.recipe-hero__rating, .recipe-story, .recipe-related,
	.newsletter-section, .recipe-cookmode, .recipe-scaler__btn,
	.recipe-ing__tick, .gd-wish, .gd-zoom, .pcard__add,
	.recipe-shop__nav, .recipe-rate, #wpadminbar { display: none !important; }

	/* Brand header (logo / site name) at the very top of the printout. */
	.recipe-print-brand {
		display: flex !important; align-items: center; justify-content: space-between;
		gap: 12px; padding: 0 0 8px; margin-bottom: 12px; border-bottom: 2px solid #5E1F18;
	}
	.recipe-print-brand__logo { max-height: 46px; width: auto; }
	.recipe-print-brand__name { font-family: var(--font-bengali-display); font-size: 18pt; font-weight: 800; color: #5E1F18 !important; }
	.recipe-print-brand__url { font-size: 10pt; color: #555 !important; }

	/* Suggested products: print the header + a clean 3-up reference list (no buttons). */
	.recipe-shop { background: none !important; padding: 14px 0 0 !important; break-inside: avoid; }
	.recipe-shop__title, .recipe-shop__eyebrow { color: #000 !important; }
	.recipe-shop__sub { color: #333 !important; }
	.recipe-carousel__track { display: flex !important; flex-wrap: wrap; overflow: visible; gap: 12px; }
	.recipe-carousel__track > .pcard { flex: 0 0 calc((100% - 24px) / 3); break-inside: avoid; box-shadow: none; border: 1px solid #ccc; }

	html, body { background: #fff !important; color: #000 !important; margin: 0 !important; }

	/* Hero → a clean printed recipe header. */
	.recipe-hero { background: none !important; color: #000 !important; }
	.recipe-hero__inner { display: block; padding: 0 0 10px; max-width: none; }
	.recipe-hero__title { color: #000 !important; font-size: 22pt; line-height: 1.15; margin: 0 0 6px; }
	.recipe-hero__sub { color: #333 !important; font-size: 11pt; }
	.recipe-hero__eyebrow { background: none; border: none; padding: 0; margin-bottom: 6px; color: #555 !important; }
	.recipe-hero__crumb { color: #555 !important; }
	.recipe-meta__item { background: none !important; border: 1px solid #bbb; padding: 3px 9px; }
	.recipe-meta__item > i, .recipe-meta__k { color: #555 !important; }
	.recipe-meta__v { color: #000 !important; }

	/* Recipe card → single column: ingredients, then method. */
	.recipe-card { padding: 0 !important; }
	.recipe-card__inner { display: block; }
	.recipe-ing { margin-bottom: 14px; }
	.recipe-ing__sticky { position: static; box-shadow: none; border: 1px solid #ccc; padding: 12px 16px; }
	.recipe-ing__title, .recipe-method__title { color: #000 !important; }
	.recipe-step { break-inside: avoid; border-color: #ddd; }
	.recipe-step__num { background: #333 !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.recipe-nutrition, .recipe-tips { box-shadow: none; border: 1px solid #ccc; break-inside: avoid; }
	a[href]::after { content: ""; } /* suppress printed URL footnotes */
}
