/* =============================================================
   Borobagan v2 — Orchard Editorial
   ============================================================= */

:root {
	/* Brand */
	--bg: #faf8f5;
	--cream-2: #f1ece1;
	--primary: #006634;
	--primary-dark: #00331a;
	--secondary: #00331a;
	--leaf: #0a4d27;
	--leaf-soft: #e6f0e9;
	--mango: #f5a524;
	--mango-soft: #fde7b8;
	--ink: #222222;
	--ink-soft: #5a5a5a;
	--line: #e8e2d3;
	--white: #ffffff;

	/* Type */
	--font-bn: 'Hind Siliguri', system-ui, sans-serif;
	--font-display: 'Fraunces', 'Hind Siliguri', Georgia, serif;

	/* Radii */
	--r-sm: 8px;
	--r-md: 16px;
	--r-lg: 28px;
	--r-pill: 999px;

	/* Shadows */
	--sh-1: 0 1px 2px rgba(0,51,26,.06);
	--sh-2: 0 1px 2px rgba(0,51,26,.06), 0 8px 24px -12px rgba(0,51,26,.18);
	--sh-3: 0 2px 4px rgba(0,51,26,.06), 0 24px 48px -16px rgba(0,51,26,.22);

	/* Layout */
	--container: 1240px;
	--gutter: 24px;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--font-bn);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--primary); text-decoration: none; transition: color .2s; }
a:hover { color: var(--primary-dark); }
button { font: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
.skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus { left: 1rem; top: 1rem; background: var(--primary); color: #fff; padding: .5rem 1rem; border-radius: var(--r-sm); z-index: 9999; }

h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--ink);
	letter-spacing: -.01em;
	margin: 0 0 .6em;
	line-height: 1.15;
}
h1 { font-size: clamp(2.2rem, 4.4vw, 3.6rem); font-weight: 500; }
h2 { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 500; }
h3 { font-size: 1.25rem; font-family: var(--font-bn); font-weight: 700; }
p { margin: 0 0 1em; }

.container { max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.section { padding: 48px 0; }
.section-tight { padding: 32px 0; }
.varieties.section { padding-top: 28px; }


.eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: var(--font-bn); font-size: 12px; font-weight: 600;
	letter-spacing: .14em; text-transform: uppercase;
	color: var(--primary); padding: 6px 14px;
	background: var(--leaf-soft); border-radius: var(--r-pill);
}
.eyebrow::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--primary); }
.section-head { text-align: center; max-width: 720px; margin: 0 auto 48px; }
.section-head .eyebrow { margin-bottom: 14px; }
.section-head p { color: var(--ink-soft); font-size: 1.05rem; margin: 0; }
.section-head-pro h2 { font-size: clamp(1.8rem, 3.4vw, 2.6rem); letter-spacing: -.01em; margin: 6px 0 14px; }

/* Dark green banner heading (Borobagan signature) */
.section-banner {
	display: flex; align-items: center; justify-content: center; gap: 22px;
	background: linear-gradient(180deg, var(--secondary) 0%, #002814 100%);
	color: #f3d27a;
	border-radius: 10px;
	padding: 22px 28px;
	margin: 0 auto 40px;
	max-width: 100%;
	box-shadow: 0 6px 18px rgba(0,40,20,.12);
	position: relative;
}
.section-banner::before, .section-banner::after {
	content: ""; position: absolute; left: 10px; right: 10px; pointer-events: none;
	border: 1px solid rgba(243,210,122,.22);
	border-radius: 6px;
	top: 8px; bottom: 8px;
}
.section-banner h2 {
	font-family: var(--font-bn);
	color: #f3d27a;
	font-size: clamp(1.25rem, 2.4vw, 1.8rem);
	font-weight: 700;
	margin: 0;
	letter-spacing: .01em;
	white-space: nowrap;
}
.section-banner .sb-line {
	flex: 1; max-width: 220px; height: 1px;
	background: linear-gradient(90deg, transparent, rgba(243,210,122,.55), transparent);
	position: relative;
}
.section-banner .sb-line::after {
	content: ""; position: absolute; top: 50%; right: 0;
	width: 6px; height: 6px; border-radius: 50%;
	background: #f3d27a; transform: translate(50%, -50%);
	box-shadow: 0 0 8px rgba(243,210,122,.6);
}
.section-banner .sb-line:first-child::after { right: auto; left: 0; transform: translate(-50%, -50%); }
@media (max-width: 640px) {
	.section-banner { padding: 14px 14px; gap: 10px; border-radius: 8px; }
	.section-banner .sb-line { max-width: 60px; }
	.section-banner h2 { font-size: 1.05rem; white-space: normal; text-align: center; }
}
.section-cta { display:flex; justify-content:center; margin-top: 40px; }
.btn-view-more { padding: 14px 36px; font-weight: 700; letter-spacing: .02em; }
.top-selling { background: linear-gradient(180deg, var(--leaf-soft, #f3f8ef) 0%, var(--bg) 100%); }




/* ---------- Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	padding: 14px 28px; border-radius: var(--r-pill);
	font-weight: 600; font-size: 15px; line-height: 1;
	border: 1.5px solid transparent; cursor: pointer; transition: all .2s ease;
	text-decoration: none; white-space: nowrap;
}
.btn-primary { background: var(--primary); color: #fff; box-shadow: var(--sh-2); }
.btn-primary:hover { background: var(--primary-dark); color: #fff; transform: translateY(-1px); box-shadow: var(--sh-3); }
.btn-ghost { background: transparent; color: var(--primary); border-color: var(--primary); }
.btn-ghost:hover { background: var(--primary); color: #fff; }
.btn-light { background: #fff; color: var(--primary); border-color: var(--line); }
.btn-light:hover { border-color: var(--primary); }
.btn-lg { padding: 18px 36px; font-size: 16px; }
.btn-block { width: 100%; }

/* ---------- Header ---------- */
.site-header { background: var(--bg); position: sticky; top: 0; z-index: 100; transition: box-shadow .2s; }
.site-header.is-scrolled { box-shadow: var(--sh-2); background: rgba(250,248,245,.96); backdrop-filter: blur(10px); }

.topbar { background: var(--primary-dark); color: #d8e8de; font-size: 13px; }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; min-height: 38px; gap: 16px; }
.topbar-nav { display: flex; gap: 22px; }
.topbar-nav a, .topbar-nav .topbar-menu a { color: #d8e8de; }
.topbar-nav a:hover { color: var(--mango); }
.topbar-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 22px; }
.topbar-right { display: flex; gap: 22px; align-items: center; }
.topbar-phone, .topbar-account { color: #d8e8de; display: inline-flex; align-items: center; gap: 6px; }
.topbar-phone:hover, .topbar-account:hover { color: var(--mango); }

.header-main-inner { display: grid; grid-template-columns: auto 1fr auto auto; gap: 28px; align-items: center; padding: 18px 0; }
.site-branding img, .site-branding .custom-logo { max-height: 56px; width: auto; }
.site-title-link { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; color: var(--primary); }
.site-title-emoji { font-size: 1.8rem; }

.header-search { display: flex; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: var(--r-pill); padding: 4px 4px 4px 20px; max-width: 460px; width: 100%; transition: border-color .2s; }
.header-search:focus-within { border-color: var(--primary); }
.header-search input { flex: 1; border: 0; background: transparent; outline: none; padding: 10px 0; font-size: 14px; }
.header-search button { background: var(--primary); color: #fff; border: 0; border-radius: var(--r-pill); padding: 10px 16px; }

.primary-nav { display: flex; }
.primary-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 26px; }
.primary-menu a { color: var(--ink); font-weight: 500; font-size: 15px; position: relative; padding: 6px 0; }
.primary-menu a:hover { color: var(--primary); }
.primary-menu .current-menu-item > a { color: var(--primary); }
.primary-menu .current-menu-item > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--primary); border-radius: 2px; }

.header-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--leaf-soft); color: var(--primary); }
.header-cart:hover { background: var(--primary); color: #fff; }
.cart-count { position: absolute; top: -4px; right: -4px; background: var(--mango); color: #4a2f00; font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: var(--r-pill); min-width: 18px; text-align: center; }

.mobile-menu-toggle { display: none; background: transparent; border: 0; flex-direction: column; gap: 5px; padding: 6px; }
.mobile-menu-toggle span { width: 24px; height: 2px; background: var(--ink); border-radius: 2px; }

.mobile-drawer { position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 200; }
.mobile-drawer-inner { position: absolute; right: 0; top: 0; bottom: 0; width: 80%; max-width: 320px; background: #fff; padding: 24px; overflow-y: auto; }
.mobile-menu { list-style: none; margin: 0; padding: 0; }
.mobile-menu li { border-bottom: 1px solid var(--line); }
.mobile-menu a { display: block; padding: 14px 0; color: var(--ink); font-weight: 500; }

@media (max-width: 980px) {
	.header-main-inner { grid-template-columns: auto 1fr auto; }
	.primary-nav, .header-search { display: none; }
	.mobile-menu-toggle { display: inline-flex; }
}

/* ---------- HERO Editorial ---------- */
.hero {
	position: relative; overflow: hidden;
	padding: 56px 0 96px;
	background:
		radial-gradient(900px 500px at 90% 0%, var(--mango-soft) 0%, transparent 60%),
		radial-gradient(700px 400px at 0% 100%, var(--leaf-soft) 0%, transparent 60%),
		var(--bg);
}
.hero-inner { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
.hero-eyebrow { margin-bottom: 22px; }
.hero h1 { margin: 0 0 22px; }
.hero h1 .accent { color: var(--primary); font-style: italic; font-family: var(--font-display); }
.hero h1 .bn { font-family: var(--font-bn); display: block; font-weight: 700; }
.hero-sub { font-size: 1.1rem; color: var(--ink-soft); max-width: 520px; margin: 0 0 32px; }
.hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.hero-trust { display: flex; gap: 28px; flex-wrap: wrap; padding-top: 24px; border-top: 1px dashed var(--line); }
.hero-trust-item { display: flex; flex-direction: column; }
.hero-trust-item strong { font-family: var(--font-display); font-size: 1.5rem; color: var(--primary); line-height: 1; }
.hero-trust-item span { font-size: 13px; color: var(--ink-soft); margin-top: 4px; }

.hero-visual { position: relative; aspect-ratio: 4/5; }
.hero-visual::before, .hero-visual::after {
	content: ""; position: absolute; border-radius: 50%; z-index: 0;
}
.hero-visual::before { width: 70%; height: 70%; right: 0; top: 0; background: var(--mango); opacity: .15; }
.hero-visual::after { width: 50%; height: 50%; left: 0; bottom: 0; background: var(--primary); opacity: .08; }
.hero-img-wrap { position: relative; z-index: 2; width: 100%; height: 100%; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-3); }
.hero-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.hero-badge {
	position: absolute; z-index: 3; top: 24px; left: -16px;
	background: #fff; border-radius: var(--r-pill); padding: 14px 22px;
	box-shadow: var(--sh-3); display: flex; align-items: center; gap: 10px;
	font-weight: 600; font-size: 14px;
}
.hero-badge .dot { width: 10px; height: 10px; background: var(--primary); border-radius: 50%; box-shadow: 0 0 0 4px var(--leaf-soft); }
.hero-badge-2 {
	position: absolute; z-index: 3; bottom: 32px; right: -16px;
	background: var(--primary); color: #fff; border-radius: var(--r-md); padding: 16px 20px;
	box-shadow: var(--sh-3); font-family: var(--font-display); font-size: 1rem; line-height: 1.2;
	max-width: 200px;
}
.hero-badge-2 strong { display: block; font-size: 1.6rem; font-weight: 600; }

@media (max-width: 880px) {
	.hero { padding: 40px 0 64px; }
	.hero-inner { grid-template-columns: 1fr; gap: 40px; }
	.hero-visual { aspect-ratio: 1/1; max-width: 480px; margin: 0 auto; }
}

/* ---------- USP Ribbon ---------- */
.usp-ribbon { background: #fff; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.usp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.usp-item { display: flex; align-items: center; gap: 14px; padding: 24px 24px; border-right: 1px solid var(--line); }
.usp-item:last-child { border-right: 0; }
.usp-icon {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
	display: grid; place-items: center; background: var(--leaf-soft); color: var(--primary);
}
.usp-text strong { display: block; font-size: 14px; color: var(--ink); }
.usp-text span { font-size: 13px; color: var(--ink-soft); }
@media (max-width: 880px) {
	.usp-grid { grid-template-columns: repeat(2, 1fr); }
	.usp-item:nth-child(2n) { border-right: 0; }
	.usp-item:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

/* ---------- Variety Grid ---------- */
.varieties { background: var(--bg); }
.products-grid {
	display: grid; gap: 24px;
	grid-template-columns: repeat(4, 1fr);
}
.products-grid-shop { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .products-grid, .products-grid-shop { grid-template-columns: repeat(2, 1fr); gap: 16px; } }
@media (max-width: 600px) {
	.container { padding: 0 12px; }
	.products-grid, .products-grid-shop { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.product-card { border-radius: 14px; box-shadow: 0 4px 14px -8px rgba(0,51,26,.18); height: 100%; }
	.product-card-image { aspect-ratio: 1/1; background: #fff8ec; }
	.product-card-image img { object-fit: contain; padding: 8px; }
	.product-card-body { padding: 10px 10px 12px; gap: 6px; flex: 1; }
	.product-card-title { font-size: .78rem; line-height: 1.15; font-weight: 700; min-height: 2.3em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.product-card-price { font-size: .82rem; display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
	.product-card-price ins { text-decoration: none; background: transparent; }
	.product-card-price del { font-size: .7rem; margin-right: 0; opacity: .7; text-decoration: line-through; }
	.product-card .btn { padding: 8px 8px; font-size: .72rem; min-height: 34px; border-radius: 8px; letter-spacing: 0; margin-top: 4px; }
	.product-card-cart { width: 28px; height: 28px; top: 6px; right: 6px; border-radius: 8px; }
	.product-card-cart svg { width: 14px; height: 14px; }
	.product-badge { top: 6px; left: 6px; font-size: 10px; padding: 2px 7px; border-radius: 999px; }
}
@media (max-width: 380px) {
	.container { padding: 0 10px; }
	.product-card-title { font-size: .74rem; }
	.product-card-price { font-size: .78rem; gap: 4px; }
	.product-card-price del { font-size: .65rem; }
	.product-card .btn { font-size: .68rem; min-height: 32px; }
}

.product-card {
	display: flex; flex-direction: column;
	background: #fff; border-radius: var(--r-md);
	overflow: hidden; box-shadow: var(--sh-1);
	transition: transform .25s ease, box-shadow .25s ease;
	color: inherit;
}
.product-card:hover { transform: translateY(-4px); box-shadow: var(--sh-3); color: inherit; }
.product-card-image { position: relative; aspect-ratio: 1/1; overflow: hidden; background: var(--leaf-soft); }
.product-card-media { display:block; width:100%; height:100%; color:inherit; position:relative; z-index:1; }
.product-card-title a, .product-card-order { position: relative; z-index: 2; }
.product-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.product-card:hover .product-card-image img { transform: scale(1.06); }
.product-badge { position: absolute; top: 12px; left: 12px; background: var(--mango); color: #4a2f00; font-size: 11px; font-weight: 700; padding: 4px 10px; border-radius: var(--r-pill); letter-spacing: .04em; }
.product-card-body { padding: 18px 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.product-card-title { margin: 0; font-size: 1.05rem; font-weight: 700; color: var(--ink); line-height: 1.3; }
.product-card-title a { color: inherit; }
.product-card-title a:hover { color: var(--primary); }
.product-card-price { font-size: 1.05rem; font-weight: 700; color: var(--primary); word-break: break-word; }
.product-card-price ins { text-decoration: none; background: transparent; }
.product-card-price del { color: var(--ink-soft); font-weight: 400; margin-right: 6px; font-size: .9em; text-decoration: line-through; }
.product-card .btn { margin-top: auto; }
.product-card-cart{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:12px;background:#fff;color:var(--primary);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,102,52,.14);box-shadow:0 8px 22px -12px rgba(0,51,26,.45);z-index:4;transition:transform .2s,background .2s,color .2s,box-shadow .2s;text-decoration:none}
.product-card-cart svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
.product-card-cart:hover,.product-card-cart.loading,.product-card-cart.is-loading{background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(0,102,52,.7)}
.product-card-cart.added,.product-card-cart.is-added{background:#f5a524;color:#4a2f00}
.product-card-cart.added::after,.product-card-cart.is-added::after,.product-card-order.added::after{display:none!important}
.product-card-cart.added svg,.product-card-cart.is-added svg{opacity:0}
.product-card-cart.added::before,.product-card-cart.is-added::before{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-weight:900;font-size:18px;line-height:1;color:#4a2f00}
.product-card .added_to_cart.wc-forward{display:none!important}
.product-card-cart.loading svg,.product-card-cart.is-loading svg{animation:bbCartTinyPulse .55s ease-in-out infinite alternate}
.product-card-order{position:relative;overflow:hidden}
.product-card-order.loading{opacity:.86;pointer-events:none}
.product-card-order.added{background:#0a8f49;color:#fff}

/* ---------- Story (3-column) ---------- */
.story { background: linear-gradient(180deg, var(--bg), var(--cream-2)); }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.story-card {
	background: #fff; border-radius: var(--r-md); padding: 28px;
	box-shadow: var(--sh-1); border: 1px solid var(--line);
	transition: transform .25s, box-shadow .25s;
}
.story-card:hover { transform: translateY(-4px); box-shadow: var(--sh-2); }
.story-num {
	width: 44px; height: 44px; border-radius: 50%; background: var(--leaf-soft);
	display: grid; place-items: center; color: var(--primary);
	font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; margin-bottom: 18px;
}
.story-card h3 { font-family: var(--font-display); font-size: 1.4rem; font-weight: 500; margin-bottom: 10px; }
.story-card p { color: var(--ink-soft); margin: 0; }
@media (max-width: 880px) { .story-grid { grid-template-columns: 1fr; } }

/* ---------- Process Timeline ---------- */
.timeline { background: var(--primary-dark); color: #d8e8de; position: relative; overflow: hidden; }
.timeline::before {
	content: ""; position: absolute; right: -100px; top: -100px; width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(245,165,36,.18) 0%, transparent 70%);
}
.timeline .section-head .eyebrow { background: rgba(245,165,36,.16); color: var(--mango); }
.timeline .section-head h2, .timeline .section-head p { color: #fff; }
.timeline-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; position: relative; }
.timeline-step { position: relative; padding-top: 50px; }
.timeline-step::before {
	content: ""; position: absolute; top: 17px; left: 0; right: 0; height: 2px;
	background: repeating-linear-gradient(90deg, rgba(255,255,255,.25) 0 6px, transparent 6px 12px);
}
.timeline-step:first-child::before { left: 50%; }
.timeline-step:last-child::before { right: 50%; }
.timeline-dot {
	position: absolute; top: 0; left: 50%; transform: translateX(-50%);
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--mango); color: var(--primary-dark);
	display: grid; place-items: center; font-weight: 700; font-family: var(--font-display);
	box-shadow: 0 0 0 6px rgba(245,165,36,.18);
}
.timeline-step h4 { color: #fff; font-family: var(--font-display); font-size: 1.15rem; font-weight: 500; margin-bottom: 6px; }
.timeline-step p { color: rgba(255,255,255,.7); margin: 0; font-size: .95rem; }
@media (max-width: 880px) { .timeline-steps { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Reviews Masonry ---------- */
.reviews-grid {
	column-count: 3; column-gap: 24px;
}
@media (max-width: 880px) { .reviews-grid { column-count: 1; } }
.review-card {
	break-inside: avoid; margin-bottom: 24px;
	background: #fff; border-radius: var(--r-md); padding: 24px;
	border: 1px solid var(--line); box-shadow: var(--sh-1);
}
.review-stars { color: var(--mango); margin-bottom: 10px; letter-spacing: 2px; }
.review-card p { color: var(--ink); font-size: 1rem; margin: 0 0 16px; }
.review-meta { display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px dashed var(--line); }
.review-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--leaf-soft); display: grid; place-items: center; color: var(--primary); font-weight: 700; }
.review-meta strong { display: block; font-size: 14px; }
.review-meta span { display: block; font-size: 12px; color: var(--ink-soft); }

/* ---------- Certs strip ---------- */
.certs { background: var(--bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 32px 0; }
.certs-row { display: flex; flex-wrap: wrap; gap: 24px 48px; align-items: center; justify-content: center; }
.cert-chip { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--ink-soft); }
.cert-chip svg { color: var(--primary); }

/* ---------- Gallery feed ---------- */
.gallery-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.gallery-item { aspect-ratio: 1/1; overflow: hidden; border-radius: var(--r-sm); background: var(--leaf-soft); }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gallery-item:hover img { transform: scale(1.08); }
@media (max-width: 880px) { .gallery-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- CTA Leaf banner ---------- */
.cta-leaf {
	position: relative; padding: 80px 0;
	background:
		radial-gradient(800px 500px at 100% 50%, rgba(245,165,36,.18), transparent 60%),
		linear-gradient(135deg, var(--primary), var(--primary-dark));
	color: #fff; overflow: hidden;
}
.cta-leaf-inner { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }
.cta-leaf h2 { color: #fff; margin: 0 0 12px; }
.cta-leaf p { color: rgba(255,255,255,.8); margin: 0 0 20px; font-size: 1.05rem; }
.cta-leaf .btn-primary { background: var(--mango); color: var(--primary-dark); }
.cta-leaf .btn-primary:hover { background: #fff; }
.cta-leaf .btn-ghost { color: #fff; border-color: rgba(255,255,255,.4); }
.cta-leaf .btn-ghost:hover { background: #fff; color: var(--primary); }
.cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.cta-side { text-align: right; }
.cta-side .big-num { font-family: var(--font-display); font-size: 3.4rem; font-weight: 500; line-height: 1; color: var(--mango); }
.cta-side .lbl { color: rgba(255,255,255,.7); font-size: 14px; }
@media (max-width: 880px) { .cta-leaf-inner { grid-template-columns: 1fr; } .cta-side { text-align: left; } }

/* ---------- Footer ---------- */
/* ===== Footer (v3.5) ===== */
.site-footer { position: relative; background: linear-gradient(160deg, var(--secondary) 0%, #00461f 55%, #003a1a 100%); color: rgba(255,255,255,.82); padding: 0; margin-top: 60px; overflow: hidden; }
.site-footer::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 12% 18%, rgba(245,184,28,.18), transparent 38%), radial-gradient(circle at 88% 80%, rgba(0,180,90,.18), transparent 42%); pointer-events: none; }

.footer-cta { position: relative; background: linear-gradient(95deg, #f5b81c 0%, #ffce4a 50%, #f5b81c 100%); color: var(--secondary); padding: 22px 0; box-shadow: 0 10px 30px -10px rgba(0,0,0,.25); z-index: 1; }
.footer-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.footer-cta-eyebrow { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: rgba(0,51,26,.12); padding: 4px 10px; border-radius: 999px; margin-bottom: 6px; }
.footer-cta-text h3 { font-family: var(--font-display); font-size: clamp(1.15rem, 2.4vw, 1.6rem); margin: 0; color: var(--secondary); font-weight: 700; }
.footer-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.footer-cta-btn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; transition: transform .2s, box-shadow .2s; box-shadow: 0 6px 16px -6px rgba(0,0,0,.3); }
.footer-cta-btn.call { background: var(--secondary); color: #fff; }
.footer-cta-btn.wa { background: #25D366; color: #fff; }
.footer-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -8px rgba(0,0,0,.35); }

.footer-grid { position: relative; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 44px; padding: 64px 0 48px; z-index: 1; }
.footer-col h4.footer-widget-title { color: #fff; font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; margin: 0 0 18px; position: relative; padding-bottom: 10px; }
.footer-col h4.footer-widget-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 36px; height: 3px; background: linear-gradient(90deg, #f5b81c, #ffce4a); border-radius: 2px; }
.footer-col ul { list-style: none; margin: 0; padding: 0; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { color: rgba(255,255,255,.78); text-decoration: none; transition: color .2s, padding-left .2s; display: inline-block; }
.footer-col a:hover { color: #ffce4a; padding-left: 4px; }
.footer-about p { font-size: 14px; line-height: 1.75; color: rgba(255,255,255,.75); }
.footer-logo { display: inline-block; margin-bottom: 16px; }
.footer-logo img { max-height: 64px; width: auto; display: block; }
.footer-socials { display: flex; align-items: center; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.social-link { width: 40px; height: 40px; min-width: 40px; border-radius: 50%; color: #fff !important; display: inline-grid !important; place-items: center; transition: transform .2s, box-shadow .2s, filter .2s; text-decoration: none !important; padding: 0 !important; border: 1px solid rgba(255,255,255,.16); line-height: 0; overflow: hidden; box-shadow: 0 10px 20px -14px rgba(0,0,0,.55); }
.social-link:hover { transform: translateY(-3px); filter: brightness(1.08); box-shadow: 0 14px 24px -14px rgba(0,0,0,.7); padding-left: 0; color: #fff !important; }
.social-link .bb-social-icon { width: 19px !important; height: 19px !important; display: block; fill: #fff !important; stroke: none !important; flex: 0 0 auto; }
.social-link .bb-social-stroke { fill: none !important; stroke: #fff !important; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.social-link .bb-social-stroke .bb-social-dot { fill: #fff !important; stroke: none !important; }
.social-link.fb { background: #1877F2; }
.social-link.ig { background: radial-gradient(circle at 30% 110%, #feda75 0%, #fa7e1e 28%, #d62976 55%, #962fbf 78%, #4f5bd5 100%); }
.social-link.yt { background: #FF0033; }
.social-link.wa { background: #25D366; }
.footer-copy { margin: 0; font-size: 13px; color: rgba(255,255,255,.78); line-height: 1.6; }
.footer-copy a { color: var(--gold, #f5c542); font-weight: 600; text-decoration: none; }
.footer-copy a:hover { text-decoration: underline; }

.footer-contact-list { list-style: none; padding: 0; margin: 0; }
.footer-contact-list li { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: 14px; color: rgba(255,255,255,.85); }
.footer-contact-list .fc-ic { flex-shrink: 0; width: 32px; height: 32px; border-radius: 8px; background: rgba(245,184,28,.15); color: #ffce4a; display: grid; place-items: center; }
.footer-contact-list a { color: rgba(255,255,255,.85); text-decoration: none; }
.footer-contact-list a:hover { color: #ffce4a; }

.footer-bottom { position: relative; border-top: 1px solid rgba(255,255,255,.1); padding: 14px 0; background: rgba(0,0,0,.18); z-index: 1; }
.footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px 24px; font-size: 13px; }
.footer-bottom-inner p { margin: 0; color: rgba(255,255,255,.7); }
.footer-payment { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; color: rgba(255,255,255,.7); }
.pay-badge { padding: 4px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; color: #fff; }
.pay-badge.cod { background: var(--primary); }
.pay-badge.bkash { background: #E2136E; }
.pay-badge.nagad { background: #EE1C25; }
.pay-badge.rocket { background: #8B2C8C; }

@media (max-width: 960px) {
	.footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; padding: 44px 0 28px; }
	.footer-cta { padding: 18px 0; }
	.footer-cta-inner { gap: 16px; }
	.footer-cta-text h3 { font-size: 1.15rem; }
}
@media (max-width: 640px) {
	.site-footer { margin-top: 40px; }
	.site-footer .container { padding-left: 18px; padding-right: 18px; }
	.footer-cta-inner { flex-direction: column; align-items: flex-start; text-align: left; gap: 14px; }
	.footer-cta-text h3 { font-size: 1.05rem; line-height: 1.4; }
	.footer-cta-eyebrow { font-size: 11px; }
	.footer-cta-actions { width: 100%; justify-content: flex-start; gap: 10px; }
	.footer-cta-btn { flex: 1 1 0; justify-content: center; min-width: 0; padding: 11px 14px; font-size: 14px; }
	.footer-cta-btn svg { width: 18px; height: 18px; }

	.footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 36px 0 24px; }
	.footer-col h4.footer-widget-title { font-size: 1rem; margin-bottom: 14px; padding-bottom: 8px; }
	.footer-col li { margin-bottom: 8px; font-size: 14px; }
	.footer-about { grid-column: 1 / -1; }
	.footer-about p { font-size: 13.5px; }
	.footer-logo img { max-height: 56px; }
	.footer-socials { justify-content: flex-start; }
	.social-link { width: 38px; height: 38px; min-width: 38px; }
	.social-link .bb-social-icon { width: 18px !important; height: 18px !important; }
	.footer-contact { grid-column: 1 / -1; }
	.footer-contact-list li { font-size: 13.5px; gap: 10px; }
	.footer-contact-list .fc-ic { width: 28px; height: 28px; }

	.footer-bottom { padding: 14px 0 16px; }
	.footer-bottom-inner { flex-direction: column; align-items: flex-start; text-align: left; gap: 10px; }
	.footer-copy { font-size: 12px; line-height: 1.7; }
	.footer-payment { justify-content: flex-start; font-size: 12px; gap: 6px; }
	.pay-badge { font-size: 11px; padding: 3px 8px; }
}
@media (max-width: 400px) {
	.footer-grid { grid-template-columns: 1fr; gap: 22px; }
}

.whatsapp-float {
	position: fixed; bottom: 22px; right: 22px; z-index: 999;
	width: 50px; height: 50px; border-radius: 50%;
	background: #25D366; color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	box-shadow: 0 10px 22px -10px rgba(37,211,102,.9), 0 4px 10px rgba(0,0,0,.18);
	text-decoration: none;
}
.whatsapp-float svg { width: 25px; height: 25px; display: block; position: relative; z-index: 2; }
.whatsapp-float .wa-pulse { position: absolute; inset: 0; border-radius: 50%; box-shadow: 0 0 0 0 rgba(37,211,102,.55); animation: wa-ring 2s infinite; z-index: 1; }
@keyframes wa-ring { 0% { box-shadow: 0 0 0 0 rgba(37,211,102,.55); } 70% { box-shadow: 0 0 0 18px rgba(37,211,102,0); } 100% { box-shadow: 0 0 0 0 rgba(37,211,102,0); } }
.messenger-float { position: fixed; bottom: 84px; right: 22px; z-index: 999; width: 50px; height: 50px; border-radius: 50%; background: #0084ff; color: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 10px 22px -10px rgba(0,132,255,.9), 0 4px 10px rgba(0,0,0,.18); text-decoration: none; }
.messenger-float:hover { color:#fff; filter:brightness(.96); }

/* ============================================================
   Single Product (PDP) — Ammrupali-style v4.1
   ============================================================ */
.pdp-page { padding: 14px 0 60px; }
.pdp-crumbs { display: flex; gap: 8px; font-size: 13px; color: var(--ink-soft); margin: 4px 0 22px; flex-wrap: wrap; }
.pdp-crumbs a { color: var(--ink-soft); text-decoration: none; transition: color .15s; }
.pdp-crumbs a:hover { color: var(--primary); }
.pdp-crumbs span { color: var(--line); }
.pdp-crumbs-current { color: var(--ink); font-weight: 600; }

.pdp-layout { display: grid; grid-template-columns: minmax(0, 500px) minmax(0, 1fr); gap: 44px; align-items: start; max-width: 1120px; margin: 0 auto; }
@media (max-width: 980px) { .pdp-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; max-width: 720px; } .pdp-gallery, .pdp-info { min-width: 0; width: 100%; max-width: 100%; } }

/* Gallery */
.pdp-gallery { position: relative; align-self: start; max-width: 500px; width: 100%; min-width: 0; }
.pdp-gallery.is-sticky { position: sticky; top: 18px; }
@media (max-width: 980px) { .pdp-gallery, .pdp-gallery.is-sticky { position: static; max-width: 100%; } }
.pdp-gallery-stage { position: relative; border-radius: 14px; overflow: hidden; background: #fff; aspect-ratio: 1/1; border: 1px solid var(--line); box-shadow: 0 14px 40px -28px rgba(0,51,26,.3); width: 100%; max-width: 100%; }
.pdp-gallery-img { display: none; width: 100%; height: 100%; }
.pdp-gallery-img.is-active { display: block; }
.pdp-gallery-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pdp-thumbs-wrap { position: relative; margin-top: 14px; display: flex; align-items: center; gap: 6px; }
.pdp-thumbs { display: flex; gap: 10px; overflow-x: auto; scroll-behavior: smooth; padding: 2px; flex: 1; -ms-overflow-style: none; scrollbar-width: none; }
.pdp-thumbs::-webkit-scrollbar { display: none; }
.pdp-thumb { width: 78px; height: 78px; flex: 0 0 78px; border-radius: 12px; overflow: hidden; border: 2px solid transparent; padding: 0; background: #fff; cursor: pointer; transition: all .18s ease; }
.pdp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pdp-thumb.is-active { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(0,102,52,.12); }
.pdp-thumb-nav { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--primary); font-size: 22px; line-height: 1; cursor: pointer; display: grid; place-items: center; flex: 0 0 34px; box-shadow: 0 4px 10px -6px rgba(0,51,26,.25); transition: all .15s ease; }
.pdp-thumb-nav:hover { background: var(--primary); color: #fff; border-color: var(--primary); }

/* Info column */
.pdp-info { font-size: 15px; color: var(--ink); min-width: 0; }
.pdp-pill-row { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
.pdp-pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; text-decoration: none; }
.pdp-pill-cat { background: var(--leaf-soft); color: var(--primary); border: 1px solid rgba(0,102,52,.18); }
.pdp-pill-stock { background: #fff; color: var(--primary); border: 1px solid rgba(0,102,52,.25); }
.pdp-pill-stock .pdp-dot { width: 8px; height: 8px; border-radius: 50%; background: #16a34a; box-shadow: 0 0 0 3px rgba(22,163,74,.18); }
.pdp-pill-out { background: #fde7e7; color: #b91c1c; }

.pdp-title { font-family: var(--font-display); font-size: clamp(1.6rem, 2.6vw, 2.2rem); font-weight: 600; line-height: 1.25; margin: 0 0 20px; color: var(--ink); }

.pdp-price-card { background: linear-gradient(180deg,#fff,#fbf7ec); border: 1px solid var(--line); border-radius: 14px; padding: 18px 22px; margin-bottom: 22px; box-shadow: 0 8px 26px -22px rgba(0,51,26,.35); display: inline-flex; min-width: 220px; }
.pdp-price-amt { font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 700; color: var(--primary); letter-spacing: -.5px; }

/* Variation chips */
.pdp-var-block { margin-bottom: 22px; }
.pdp-var-label { font-size: 14.5px; font-weight: 600; color: var(--ink); margin-bottom: 12px; }
.pdp-var-chips { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, max-content)); gap: 8px; }
.pdp-var-chip { position: relative; background: #fff; border: 1.5px solid var(--line); border-radius: 10px; padding: 8px 16px; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; color: var(--ink); text-align: center; transition: all .18s ease; letter-spacing: .2px; min-width: 90px; }
.pdp-var-chip:hover { border-color: var(--primary); color: var(--primary); }
.pdp-var-chip.is-active { border-color: var(--primary); color: var(--primary); background: rgba(0,102,52,.06); box-shadow: 0 0 0 2px rgba(0,102,52,.12); }
.pdp-var-text { font-weight: 800; }
.pdp-var-chip.is-active .pdp-var-check { opacity: 1; transform: scale(1); }
.pdp-desc-head { font-size: 17px; font-weight: 800; color: var(--secondary, var(--secondary)); margin: 0 0 10px; }
.pdp-desc-body { color: var(--ink); line-height: 1.9; font-size: 15.5px; font-weight: 500; }
.pdp-desc-body p { margin: 0 0 10px; font-weight: 500; }
.pdp-desc-body ul, .pdp-desc-body ol { margin: 0 0 10px; padding-left: 0; list-style: none; }
.pdp-desc-body ul li, .pdp-desc-body ol li { position: relative; padding-left: 22px; margin-bottom: 10px; font-weight: 500; }
.pdp-desc-body ul li::before { content: ""; position: absolute; left: 0; top: 11px; width: 8px; height: 8px; border-radius: 50%; background: var(--primary); }
.pdp-var-check { position: absolute; top: -8px; right: -8px; width: 22px; height: 22px; border-radius: 50%; background: var(--primary); display: grid; place-items: center; opacity: 0; transform: scale(.6); transition: all .18s ease; box-shadow: 0 4px 10px -3px rgba(0,102,52,.5); }
.pdp-var-chip.is-active .pdp-var-check { opacity: 1; transform: scale(1); }

/* Description */
.pdp-desc { margin-bottom: 26px; background:#fff; border:1px solid var(--line); border-radius:14px; padding:18px 20px; box-shadow:0 10px 28px -24px rgba(0,51,26,.32); }
.pdp-desc-head { padding-left: 12px; border-left: 4px solid var(--primary); line-height: 1.2; }

/* Buy bar */
.pdp-buy-bar { display: flex; gap: 12px; align-items: stretch; margin-top: 8px; }
.pdp-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 12px; overflow: hidden; background: #fff; height: 56px; flex: 0 0 auto; }
.pdp-qty-btn { width: 42px; height: 56px; background: transparent; border: 0; font-size: 1.3rem; color: var(--ink); cursor: pointer; font-weight: 600; transition: background .15s; }
.pdp-qty-btn:hover { background: var(--leaf-soft); color: var(--primary); }
.pdp-qty input { width: 48px; height: 56px; text-align: center; border: 0; outline: none; background: transparent; font-size: 1rem; font-weight: 700; color: var(--ink); -moz-appearance: textfield; }
.pdp-qty input::-webkit-outer-spin-button, .pdp-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

button.pdp-confirm,
.pdp-confirm { flex: 1 !important; height: 56px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 12px !important; border: 0 !important; border-radius: 12px !important; background: var(--secondary) !important; color: #fff !important; font-family: inherit !important; font-size: 15.5px !important; font-weight: 700 !important; cursor: pointer !important; padding: 0 20px !important; transition: all .2s ease !important; box-shadow: 0 14px 30px -14px rgba(0,51,26,.6) !important; letter-spacing: .2px !important; text-shadow: none !important; }
button.pdp-confirm:hover,
.pdp-confirm:hover { background: var(--primary) !important; transform: translateY(-1px); box-shadow: 0 18px 36px -14px rgba(0,102,52,.7) !important; color: #fff !important; }
.pdp-confirm.is-loading { opacity: .75 !important; cursor: wait !important; }
.pdp-confirm-label, .pdp-confirm-sep, .pdp-confirm-total { color: #fff !important; }
.pdp-confirm-sep { opacity: .7; }
.pdp-confirm-total { font-weight: 800; }

/* Related */
.pdp-related { margin-top: 56px; }
.pdp-related .section-banner { margin-bottom: 26px; }

@media (max-width: 640px) {
	.pdp-page { padding: 10px 0 90px; }
	.pdp-crumbs { font-size: 12px; margin-bottom: 14px; }
	.pdp-title { font-size: 1.45rem; margin-bottom: 14px; }
	.pdp-price-card { padding: 16px 18px; margin-bottom: 16px; }
	.pdp-price-amt { font-size: 1.55rem; }
	.pdp-var-chips { grid-template-columns: repeat(auto-fit, minmax(80px, max-content)); gap: 8px; }
	.pdp-var-chip { padding: 8px 14px; font-size: 13px; min-width: 80px; }
	.pdp-thumb { width: 64px; height: 64px; flex: 0 0 64px; }
	/* sticky buy bar on mobile */
	.pdp-buy-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -10px 30px -15px rgba(0,51,26,.25); margin: 0; gap: 8px; }
	.pdp-qty { height: 50px; }
	.pdp-qty-btn { height: 50px; width: 36px; }
	.pdp-qty input { height: 50px; width: 40px; }
	.pdp-confirm { height: 50px; font-size: 14px; padding: 0 12px; gap: 6px; border-radius: 10px; }
}





/* ---------- Shop layout ---------- */
/* ============================================================
   Shop / Archive — Premium Sidebar v3.7
   ============================================================ */
.shop-page { background: transparent; }

.shop-hero { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 10px 0 14px; margin: 6px 0 18px; text-align: center; background: transparent; border: 0; box-shadow: none; border-radius: 0; overflow: visible; }
.shop-hero::before, .shop-hero::after { content: none; }
.shop-hero-eyebrow { display: inline-flex; align-items: center; gap: 7px; background: rgba(0,102,52,.08); color: var(--primary); padding: 5px 13px 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; border: 1px solid rgba(0,102,52,.18); }
.shop-hero-eyebrow svg { color: var(--primary); }
.shop-hero-title { margin: 0; font-family: var(--font-display); font-weight: 800; font-size: 2.1rem; color: var(--secondary); line-height: 1.15; letter-spacing: -.5px; display: inline-flex; align-items: center; gap: 14px; }
.shop-hero-title-text { color: var(--secondary); padding: 0 2px; }
.shop-hero-title-deco { display: inline-block; width: 48px; height: 2px; background: linear-gradient(90deg, transparent, var(--primary)); border-radius: 2px; position: relative; }
.shop-hero-title-deco::after { content: ""; position: absolute; top: 50%; width: 7px; height: 7px; border-radius: 50%; background: var(--primary); transform: translateY(-50%); box-shadow: 0 0 0 3px rgba(0,102,52,.12); }
.shop-hero-title-deco-l::after { right: -2px; }
.shop-hero-title-deco-r { background: linear-gradient(90deg, var(--primary), transparent); }
.shop-hero-title-deco-r::after { left: -2px; }
.shop-hero-meta { display: flex; justify-content: center; }
.shop-hero-count { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--line); padding: 5px 14px; border-radius: 999px; font-size: 12.5px; color: var(--ink-soft); }
.shop-hero-count strong { color: var(--primary); font-weight: 800; font-size: 13px; }
.shop-hero-subtitle { max-width: 680px; margin: 2px auto 0; color: var(--ink-soft); font-size: 15px; line-height: 1.65; }



/* Sticky floating filter FAB (mobile only) */
.shop-fab-filter { display: none; }

.shop-layout { display: grid; grid-template-columns: 290px 1fr; gap: 28px; padding: 8px 0 64px; position: relative; align-items: start; }
.shop-layout-no-filter { grid-template-columns: 1fr; }
.shop-sidebar { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 130px; }
.shop-sidebar-head { display: none; }

.shop-widget { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 8px 24px -18px rgba(0,51,26,.25); overflow: hidden; position: relative; }
.shop-widget::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background: linear-gradient(180deg, var(--primary), var(--secondary)); border-radius: 4px 0 0 4px; }
.shop-widget-head { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px dashed var(--line); }
.shop-widget-ico { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; background: linear-gradient(135deg, rgba(0,102,52,.12), rgba(0,51,26,.06)); color: var(--primary); flex: 0 0 30px; }
.shop-widget-title { font-family: var(--font-display); font-weight: 700; font-size: 1rem; margin: 0; color: var(--secondary); letter-spacing: .2px; }

/* Categories */
.shop-cat-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.shop-cat-list a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; color: var(--ink); border-radius: 10px; font-size: 14px; font-weight: 500; transition: all .18s ease; text-decoration: none; position: relative; }
.shop-cat-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--line); flex: 0 0 6px; transition: all .18s ease; }
.shop-cat-name { flex: 1; min-width: 0; }
.shop-cat-list em { font-style: normal; font-size: 11px; background: #f3efe6; padding: 2px 9px; border-radius: 999px; color: var(--ink-soft); font-weight: 600; transition: all .18s ease; }
.shop-cat-list a:hover { background: var(--leaf-soft); color: var(--primary); transform: translateX(2px); }
.shop-cat-list a:hover .shop-cat-dot { background: var(--primary); transform: scale(1.4); }
.shop-cat-list li.is-active a { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; font-weight: 600; box-shadow: 0 6px 16px -8px rgba(0,102,52,.5); }
.shop-cat-list li.is-active .shop-cat-dot { background: #f5a524; box-shadow: 0 0 0 3px rgba(245,165,36,.3); }
.shop-cat-list li.is-active em { background: rgba(255,255,255,.18); color: #fff; }

/* Price */
.shop-price-row { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; margin-bottom: 14px; align-items: end; }
.shop-price-row label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; color: var(--ink-soft); font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.shop-price-input { position: relative; display: flex; align-items: center; background: var(--bg); border: 1.5px solid var(--line); border-radius: 10px; transition: all .18s ease; }
.shop-price-input:focus-within { border-color: var(--primary); background: #fff; box-shadow: 0 0 0 3px rgba(0,102,52,.1); }
.shop-price-input i { font-style: normal; padding: 0 6px 0 12px; color: var(--primary); font-weight: 700; font-size: 14px; }
.shop-price-input input { width: 100%; padding: 10px 10px 10px 0; border: 0; background: transparent; font-size: 14px; font-family: inherit; outline: none; color: var(--ink); font-weight: 600; }
.shop-price-input input::-webkit-outer-spin-button, .shop-price-input input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.shop-price-sep { color: var(--ink-soft); padding-bottom: 11px; font-weight: 600; }
.shop-price-actions { display: flex; align-items: center; gap: 12px; }
.shop-price-apply { flex: 1; padding: 11px 16px; border: 0; border-radius: 10px; background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; font-family: inherit; font-weight: 600; font-size: 13px; cursor: pointer; transition: transform .15s, box-shadow .15s; box-shadow: 0 6px 14px -6px rgba(0,102,52,.5); }
.shop-price-apply:hover { transform: translateY(-1px); box-shadow: 0 10px 18px -6px rgba(0,102,52,.6); }
.shop-price-reset { font-size: 12px; color: var(--ink-soft); text-decoration: none; font-weight: 600; }
.shop-price-reset:hover { color: #b91c1c; }

/* Top selling */
.shop-top-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.shop-top-item { display: flex; gap: 10px; align-items: center; padding: 8px; border-radius: 12px; transition: all .18s ease; text-decoration: none; color: var(--ink); position: relative; }
.shop-top-item:hover { background: var(--leaf-soft); transform: translateX(2px); }
.shop-top-rank { position: absolute; top: 4px; right: 8px; font-size: 10px; font-weight: 700; color: var(--primary); opacity: .5; letter-spacing: .5px; }
.shop-top-thumb { flex: 0 0 54px; width: 54px; height: 54px; border-radius: 10px; overflow: hidden; background: #f3efe6; border: 1px solid var(--line); }
.shop-top-thumb img { width: 100%; height: 100%; object-fit: cover; }
.shop-top-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; padding-right: 24px; }
.shop-top-name { font-size: 13px; font-weight: 600; line-height: 1.3; color: var(--secondary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.shop-top-price { font-size: 13px; color: var(--primary); font-weight: 700; }
.shop-top-price del { color: var(--ink-soft); font-weight: 400; margin-right: 4px; opacity: .6; font-size: 11px; }

/* Shop main */
.shop-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 20px; padding: 14px 18px; background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 4px 14px -10px rgba(0,51,26,.18); }
.shop-result { font-size: 14px; color: var(--ink-soft); font-weight: 500; }
.shop-toolbar { display: flex; gap: 14px; align-items: center; font-size: 14px; color: var(--ink-soft); }
.shop-toolbar select { padding: 9px 14px; border: 1.5px solid var(--line); border-radius: 10px; background: var(--bg); font-family: inherit; font-size: 13px; font-weight: 600; color: var(--secondary); cursor: pointer; transition: border-color .15s; }
.shop-toolbar select:focus { outline: none; border-color: var(--primary); }
.shop-empty { text-align: center; padding: 60px 20px; background: #fff; border: 1px dashed var(--line); border-radius: 14px; }
.shop-empty p { color: var(--ink-soft); margin-bottom: 18px; }

/* Drawer chrome shared */
.shop-sidebar-backdrop { position: fixed; inset: 0; background: rgba(0,20,10,.55); z-index: 998; opacity: 0; transition: opacity .25s; backdrop-filter: blur(2px); }
.shop-sidebar-backdrop[hidden] { display: none; }
.shop-sidebar-backdrop.is-open { opacity: 1; }
.shop-sidebar-head { display: none; }
.shop-sidebar-foot { display: none; }
.shop-sidebar-body { display: flex; flex-direction: column; gap: 16px; }

/* Inline mobile filter/sort chip bar — hidden on desktop */
.shop-mobilebar { display: none; }

@media (max-width: 980px) {
	.shop-layout { grid-template-columns: 1fr; gap: 16px; padding: 8px 0 48px; }
	.shop-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 92%; max-width: 380px; background: var(--bg); z-index: 999; padding: 0; overflow: hidden; transform: translateX(-100%); transition: transform .28s ease; box-shadow: 0 10px 40px rgba(0,0,0,.25); gap: 0; display: flex; flex-direction: column; }
	.shop-sidebar.is-open { transform: translateX(0); }
	.shop-sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; flex-shrink: 0; }
	.shop-sidebar-head-title { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; }
	.shop-sidebar-close { background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); color: #fff; width: 32px; height: 32px; border-radius: 50%; font-size: 20px; line-height: 1; cursor: pointer; padding: 0; display: grid; place-items: center; }
	.shop-sidebar-body { flex: 1; overflow-y: auto; padding: 14px; gap: 12px; display: flex; flex-direction: column; -webkit-overflow-scrolling: touch; }
	.shop-sidebar-foot { display: flex; align-items: center; gap: 10px; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); flex-shrink: 0; }
	.shop-sidebar-reset { flex: 0 0 38%; text-align: center; padding: 11px; border-radius: 10px; border: 1.5px solid var(--line); color: var(--ink); text-decoration: none; font-weight: 600; font-size: 14px; background: var(--bg); }
	.shop-sidebar-apply { flex: 1; padding: 11px; border: 0; border-radius: 10px; background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; font-family: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }


	.shop-header { padding: 10px 14px; }
	.shop-header .shop-result { font-size: 13px; }
	.shop-header .shop-toolbar { display: none; }

	.shop-hero { padding: 6px 0 10px; margin: 4px 0 12px; gap: 8px; }
	.shop-hero-eyebrow { font-size: 10.5px; padding: 4px 11px 4px 9px; }
	.shop-hero-title { font-size: 1.5rem; gap: 8px; }
	.shop-hero-title-deco { width: 26px; }
	.shop-hero-count { font-size: 11.5px; padding: 4px 11px; }


	/* Sticky floating filter button — left edge */
	.shop-fab-filter { display: inline-flex; align-items: center; justify-content: center; position: fixed; left: 0; top: 60%; transform: translateY(-50%); z-index: 950; width: 38px; height: 38px; padding: 0; border: 0; background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; border-radius: 0 999px 999px 0; cursor: pointer; box-shadow: 0 6px 16px -4px rgba(0,51,26,.45); }
	.shop-fab-filter .shop-fab-ico { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; }
	.shop-fab-filter .shop-fab-ico svg { width: 18px; height: 18px; }
	.shop-fab-filter .shop-fab-label { display: none; }
	.shop-fab-filter:active { transform: translateY(-50%) scale(.94); }

}

/* Hide FAB on desktop already covered by media query base rule */

/* Sort sheet — centered modal on mobile */
.shop-sort-sheet { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -45%); z-index: 1001; background: #fff; border-radius: 16px; padding: 10px; box-shadow: 0 30px 60px -10px rgba(0,51,26,.45); width: min(340px, 88vw); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.shop-sort-sheet.is-open { transform: translate(-50%, -50%); opacity: 1; pointer-events: auto; }
.shop-sort-sheet .shop-sort-title { padding: 8px 12px 6px; font-size: 11px; color: var(--ink-soft); font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }
.shop-sort-sheet a { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-radius: 10px; color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; }
.shop-sort-sheet a:hover { background: var(--leaf-soft); color: var(--primary); }
.shop-sort-sheet a.is-active { background: linear-gradient(135deg, var(--primary), var(--secondary)); color: #fff; }
.shop-sort-sheet a.is-active::after { content: "✓"; font-weight: 700; }


/* ---------- Misc / WC pages ---------- */
.wc-page { padding: 48px 0; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--leaf-soft); border-left: 4px solid var(--primary);
	padding: 14px 18px; border-radius: var(--r-sm); margin-bottom: 18px; list-style: none;
}
body.woocommerce-checkout.bb-direct-checkout .woocommerce-message{display:none!important;}
.woocommerce-error { background: #fde7e7; border-color: #b91c1c; color: #b91c1c; }

.prose p { margin-bottom: 1em; }
.prose ul, .prose ol { margin: 0 0 1em 1.4em; }

/* Reveal-on-scroll */
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
	.whatsapp-float { animation: none; }
}

/* ============================================================
   v2.2 — Khaas-style Sticky Header
   ============================================================ */
/* ===== Borobagan Premium Header v2.3 ===== */
.bb-header{position:fixed;top:0;left:0;right:0;z-index:1000;font-family:'Hind Siliguri',system-ui,sans-serif;box-shadow:0 6px 24px -12px rgba(0,51,26,.25);transform:translateZ(0);will-change:transform}
.bb-header *{box-sizing:border-box}
.bb-header a{text-decoration:none}
body{padding-top:120px}
body.admin-bar .bb-header{top:32px}
body.admin-bar{padding-top:152px}

/* Promo strip */
.bb-promo{background:linear-gradient(90deg,var(--secondary) 0%,#0a4d27 50%,var(--secondary) 100%);color:#fde7b8;font-size:13px;border-bottom:1px solid rgba(245,165,36,.25);overflow:hidden;position:relative}
.bb-promo::before,.bb-promo::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}
.bb-promo::before{left:0;background:linear-gradient(90deg,var(--secondary) 0%,transparent 100%)}
.bb-promo::after{right:0;background:linear-gradient(270deg,var(--secondary) 0%,transparent 100%)}
.bb-promo-track{display:flex;width:max-content;animation:bbMarquee var(--bb-promo-speed,38s) linear infinite;padding:9px 0}
.bb-promo:hover .bb-promo-track{animation-play-state:paused}
.bb-promo-group{display:flex;align-items:center;gap:36px;padding-right:36px;flex-shrink:0}
.bb-promo-item{display:inline-flex;align-items:center;gap:8px;color:#fde7b8;font-weight:500;letter-spacing:.2px;white-space:nowrap}
.bb-promo-item strong{color:#f5a524}
.bb-promo-link{color:#fff;transition:color .2s}
.bb-promo-link:hover{color:#f5a524}
.bb-promo-sep{color:rgba(245,165,36,.6);font-weight:700;font-size:11px}
.bb-dot{width:7px;height:7px;border-radius:50%;background:#f5a524;box-shadow:0 0 0 3px rgba(245,165,36,.25);display:inline-block;animation:bbPulse 1.6s ease-in-out infinite}
@keyframes bbMarquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes bbPulse{0%,100%{box-shadow:0 0 0 3px rgba(245,165,36,.25)}50%{box-shadow:0 0 0 6px rgba(245,165,36,.05)}}
@media (prefers-reduced-motion:reduce){.bb-promo-track{animation:none}}

/* Top bar */
.bb-top{background:linear-gradient(135deg,var(--primary) 0%,#0a4d27 60%,#005c2e 100%);color:#fff;position:relative}
.bb-top::before{content:"";position:absolute;right:0;top:-80px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(245,165,36,.22) 0%,transparent 70%);pointer-events:none;clip-path:inset(0)}
.bb-top::after{content:"";position:absolute;left:0;bottom:-100px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none;clip-path:inset(0)}
html,body{overflow-x:clip}
.bb-top-inner{position:relative;z-index:2;max-width:1320px;margin:0 auto;padding:0 24px;height:80px;display:flex;align-items:center;gap:24px}

.bb-logo{display:inline-flex;align-items:center;color:#fff;flex-shrink:0;padding:6px 14px 6px 0;position:relative;transition:transform .25s}
.bb-logo::after{content:"";position:absolute;top:50%;right:0;transform:translateY(-50%);width:1px;height:38px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.25),transparent)}
.bb-logo:hover{transform:translateY(-1px)}
.bb-logo img,.bb-logo .custom-logo-link img{height:60px;width:auto;display:block;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25)) brightness(1.05)}

/* Search */
.bb-search{position:relative;flex:1;min-width:0;max-width:380px;margin-left:auto;display:flex;align-items:center;background:#fff;border-radius:999px;padding:4px 5px 4px 18px;height:44px;color:#333;box-shadow:0 6px 18px -8px rgba(0,0,0,.22),0 0 0 1px rgba(255,255,255,.15);transition:box-shadow .2s,transform .2s}
.bb-search:focus-within{box-shadow:0 12px 28px -8px rgba(0,0,0,.35),0 0 0 3px rgba(245,165,36,.35)}
.bb-search-icon{flex-shrink:0;color:#9a9a9a}
.bb-search-input{flex:1;background:transparent;border:0;outline:none;font:500 15px/1 'Hind Siliguri',sans-serif;color:#222;padding:0 12px;width:100%;min-width:0}
.bb-search-input::placeholder{color:#a3a3a3}
.bb-search-btn{flex-shrink:0;background:linear-gradient(135deg,#f5a524 0%,#e8901a 100%);color:#4a2f00;border:0;border-radius:999px;padding:0 20px;height:38px;font:700 13px/1 'Hind Siliguri',sans-serif;cursor:pointer;letter-spacing:.3px;box-shadow:0 4px 12px -2px rgba(245,165,36,.5);transition:transform .15s,box-shadow .2s}
.bb-search-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px -2px rgba(245,165,36,.65)}
.bb-search-results{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;color:#222;border-radius:16px;box-shadow:0 24px 56px -16px rgba(0,0,0,.4);max-height:400px;overflow-y:auto;z-index:2000;border:1px solid #f1ece1}
.bb-search-results .bb-result{display:flex;gap:12px;padding:12px 16px;align-items:center;border-bottom:1px solid #f5f1e6;color:#222}
.bb-search-results .bb-result:last-child{border-bottom:0}
.bb-search-results .bb-result:hover{background:var(--bg)}
.bb-search-results .bb-result img{width:48px;height:48px;object-fit:cover;border-radius:10px;background:#f1ece1}
.bb-search-results .bb-result-info{flex:1;min-width:0}
.bb-search-results .bb-result-title{font-size:14px;font-weight:700;color:#0a4d27;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bb-search-results .bb-result-price{font-size:13px;color:#e8901a;margin:2px 0 0;font-weight:600}
.bb-search-results .bb-result-empty{padding:20px;text-align:center;color:#5a5a5a;font-size:14px}

/* Actions */
.bb-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.bb-account,.bb-cart{display:inline-flex;align-items:center;gap:10px;color:#fff;padding:8px 14px 8px 8px;border-radius:999px;transition:background .2s,transform .15s;position:relative}
.bb-account:hover,.bb-cart:hover{background:rgba(255,255,255,.12);transform:translateY(-1px)}
.bb-icon-circle{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.14);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;border:1px solid rgba(255,255,255,.18)}
.bb-cart-icon-wrap{background:#fff!important;color:var(--primary)!important;border-color:rgba(255,255,255,.45)!important;box-shadow:0 6px 16px -8px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.42)}
.bb-cart-icon-svg{display:block!important;width:22px!important;height:22px!important;overflow:visible;color:var(--primary)!important;fill:none!important;stroke:none!important;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}
.bb-cart-icon-line{fill:none!important;stroke:currentColor!important;stroke-width:2.15!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.bb-bag-icon{position:relative;display:inline-block;width:20px;height:17px;border:2.4px solid currentColor;border-radius:4px 4px 6px 6px;color:#fff;background:transparent;box-shadow:inset 0 -1px 0 rgba(255,255,255,.35)}
.bb-bag-icon-handle{position:absolute;left:50%;top:-9px;width:12px;height:10px;transform:translateX(-50%);border:2.4px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
.bb-cart:hover .bb-bag-icon{color:#4a2f00}
.bb-account:hover .bb-icon-circle,.bb-cart:hover .bb-icon-circle{background:rgba(245,165,36,.95);color:#4a2f00;border-color:transparent}
.bb-account-text{display:flex;flex-direction:column;line-height:1.15;text-align:left}
.bb-account-text small{font-size:11px;font-weight:500;opacity:.78;letter-spacing:.3px}
.bb-account-text strong{font-size:14px;font-weight:700;letter-spacing:.2px}
.bb-cart-count{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;background:linear-gradient(135deg,#f5a524,#e8443a);color:#fff;font-size:11px;font-weight:800;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;line-height:1;border:2px solid var(--primary);box-shadow:0 2px 6px rgba(232,68,58,.5)}

.bb-burger{display:none;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;padding:8px;border-radius:10px;align-items:center;justify-content:center}

/* Inline nav (PC, inside top bar) */
.bb-nav{display:flex;align-items:center}
.bb-nav-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.bb-nav-list a{display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:#fff;padding:8px 14px;border-radius:999px;position:relative;transition:all .2s;letter-spacing:.2px;white-space:nowrap}
.bb-nav-list a:hover{background:rgba(255,255,255,.14);color:#fde7b8}
.bb-nav-list .current-menu-item>a,.bb-nav-list .current_page_item>a{background:#f5a524;color:#4a2f00;box-shadow:0 6px 14px -4px rgba(245,165,36,.6)}

/* Scrolled compact */
.bb-header.is-scrolled .bb-promo{display:none}
.bb-header.is-scrolled .bb-top-inner{height:68px}
.bb-header.is-scrolled .bb-logo img{height:48px}

/* Mobile header — native sticky (no fixed-layer jitter) */
@media (max-width:980px){
	body{padding-top:0}
	body.admin-bar{padding-top:0}
	body.admin-bar .bb-header{top:0}
	.bb-promo{display:block!important;font-size:11.5px}
	.bb-promo-track{padding:7px 0;animation-duration:30s}
	.bb-promo-group{gap:18px;padding-right:18px}
	.bb-promo::before,.bb-promo::after{width:28px}
	/* Mobile browsers handle sticky more smoothly than fixed + JS class changes. */
	.bb-header{position:sticky!important;top:0!important;left:auto;right:auto;box-shadow:0 4px 14px -8px rgba(0,51,26,.35);transform:none!important;will-change:auto!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;contain:layout paint}
	.bb-header.is-scrolled{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 4px 14px -8px rgba(0,51,26,.35)!important}
	.bb-top-inner{height:62px;gap:8px;padding:0 10px;display:flex;flex-wrap:nowrap;align-items:center}
	.bb-header.is-scrolled .bb-top-inner{height:62px}
	.bb-header.is-scrolled .bb-promo{display:none}
	.bb-burger{display:inline-flex;flex-shrink:0;width:40px;height:40px;padding:0}
	.bb-logo{flex-shrink:0;margin-right:0;padding:0;min-width:0}
	.bb-logo::after{display:none}
	.bb-logo img,.bb-logo .custom-logo-link img,
	.bb-header.is-scrolled .bb-logo img{height:42px;width:auto;max-width:112px;object-fit:contain}
	.bb-nav{display:none}
	.bb-search{display:flex;flex:1 1 auto;min-width:0;max-width:none;margin-left:0;margin-right:6px;height:38px;padding:3px 4px 3px 12px;box-shadow:0 4px 12px -6px rgba(0,0,0,.25)}
	.bb-search-input{font-size:13px;padding:0 6px}
	.bb-search-btn{height:30px;padding:0 12px;font-size:12px}
	.bb-actions{display:flex!important;gap:8px;flex-shrink:0;justify-content:flex-end;align-items:center}
	.bb-account{padding:4px;border-radius:50%;width:40px;height:40px;justify-content:center;flex-shrink:0}
	.bb-account .bb-account-text{display:none}
	.bb-account .bb-icon-circle{width:36px;height:36px;background:transparent;border:0}
	.bb-cart{display:inline-flex!important;padding:4px;background:rgba(255,255,255,.1);border-radius:50%;width:40px;height:40px;justify-content:center;color:#fff;overflow:visible;flex-shrink:0}
	.bb-cart .bb-account-text{display:none}
	.bb-cart .bb-icon-circle{width:36px;height:36px;background:#fff!important;border:1px solid rgba(255,255,255,.45)}
	.bb-menubar{display:none}
}
@media (max-width:380px){
	.bb-logo img,.bb-logo .custom-logo-link img,
	.bb-header.is-scrolled .bb-logo img{height:36px;max-width:88px}
	.bb-top-inner{padding:0 6px;gap:4px}
	.bb-search{height:36px;padding-left:9px}
	.bb-search-btn{padding:0 9px}
}

/* Drawer */
.bb-drawer{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:1100;display:flex}
.bb-drawer[hidden]{display:none}
.bb-drawer-panel{background:#fff;width:84%;max-width:340px;height:100%;padding:22px;overflow-y:auto;animation:bbSlide .25s ease;box-shadow:0 0 40px rgba(0,0,0,.3)}
@keyframes bbSlide{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.bb-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid var(--primary)}
.bb-drawer-title{font-family:'Fraunces',serif;font-size:22px;color:#0a4d27;font-weight:600}
.bb-drawer-close{background:#f1ece1;border:0;width:36px;height:36px;border-radius:50%;font-size:24px;line-height:1;color:#0a4d27;cursor:pointer}
.bb-drawer-list,.bb-drawer-list ul{list-style:none;margin:0;padding:0}
.bb-drawer-list li{border-bottom:1px solid #f5f1e6}
.bb-drawer-list a{display:block;padding:14px 6px;color:#0a4d27;font-weight:600;font-size:16px;text-decoration:none;transition:color .2s,padding .2s}
.bb-drawer-list a:hover{color:#f5a524;padding-left:10px}
.bb-mobile-bottom-nav{display:none}
@media(max-width:980px){body.bb-has-mobile-bottom-nav{padding-bottom:76px!important}.bb-mobile-bottom-nav{position:fixed;left:10px;right:10px;bottom:10px;z-index:998;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:16px;padding:6px;box-shadow:0 14px 34px -18px rgba(0,51,26,.45)}.bb-mobile-bottom-nav a,.bb-mobile-bottom-nav button{border:0;background:transparent;color:var(--primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:46px;text-decoration:none;font-family:inherit;font-weight:800}.bb-mobile-bottom-nav span{font-size:18px;line-height:1}.bb-mobile-bottom-nav em{font-style:normal;font-size:11px;line-height:1}.bb-mobile-bottom-nav button{cursor:pointer}}

/* Hide legacy header */
.site-header{display:none!important}

/* ============== CART SIDEBAR ============== */
.bb-cart-trigger{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}
.bb-cs-backdrop{position:fixed;inset:0;background:rgba(10,30,20,.55);backdrop-filter:blur(2px);z-index:1199;opacity:0;transition:opacity .28s ease}
.bb-cs-backdrop.is-open{opacity:1}
.bb-cs{position:fixed;top:0;right:0;height:100dvh;width:420px;max-width:100vw;background:#fff;z-index:1200;display:flex;flex-direction:column;transform:translateX(105%);transition:transform .32s cubic-bezier(.22,.61,.36,1);box-shadow:-20px 0 60px rgba(0,0,0,.18);will-change:transform}
.bb-cs.is-open{transform:translateX(0)}
.bb-cs.is-loading .bb-cs-inner{opacity:.55;pointer-events:none;transition:opacity .15s}
.bb-cs-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #efece4;background:linear-gradient(180deg,#fffdf7,#fff)}
.bb-cs-htitle{margin:0;font-family:'Fraunces',serif;font-size:20px;color:#0a4d27;font-weight:600}
.bb-cs-count{color:#7a6f55;font-family:inherit;font-size:15px;font-weight:500;margin-left:4px}
.bb-cs-close{background:#f5f1e6;border:0;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;color:#0a4d27;cursor:pointer;transition:background .2s,transform .2s}
.bb-cs-close:hover{background:#f5a524;color:#fff;transform:rotate(90deg)}
.bb-cs-inner{flex:1;display:flex;flex-direction:column;min-height:0}
.bb-cs-body{flex:1;overflow-y:auto;padding:8px 0;-webkit-overflow-scrolling:touch}
.bb-cs-list{list-style:none;margin:0;padding:0}
.bb-cs-item{display:grid;grid-template-columns:72px 1fr auto;gap:12px;padding:14px 20px;border-bottom:1px solid #f5f1e6;align-items:flex-start;animation:bbCsIn .25s ease;transition:opacity .25s,transform .25s,padding .25s,max-height .3s;overflow:hidden;max-height:200px}
.bb-cs-item.is-removing{opacity:0;transform:translateX(40px);max-height:0;padding-top:0;padding-bottom:0;border-color:transparent}
@keyframes bbCsIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.bb-cs-thumb{width:72px;height:72px;border-radius:10px;overflow:hidden;background:#faf6ec;flex-shrink:0}
.bb-cs-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bb-cs-info{min-width:0;display:flex;flex-direction:column;gap:6px}
.bb-cs-title{font-weight:600;color:#0a4d27;text-decoration:none;font-size:14.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bb-cs-title:hover{color:#f5a524}
.bb-cs-price{font-size:13px;color:#7a6f55}
.bb-cs-price .woocommerce-Price-amount,.bb-cs-line .woocommerce-Price-amount{color:inherit}
.bb-cs-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}
.bb-cs-qty{display:inline-flex;align-items:center;border:1px solid #e6dfcd;border-radius:999px;overflow:hidden;background:#fff}
.bb-cs-qty button{background:transparent;border:0;width:30px;height:30px;font-size:16px;color:#0a4d27;cursor:pointer;font-weight:700;transition:background .15s}
.bb-cs-qty button:hover{background:#f5f1e6}
.bb-cs-qty button:active{transform:scale(.92)}
.bb-cs-qty-input{width:32px;border:0;text-align:center;font-size:14px;font-weight:600;color:#0a4d27;background:transparent;pointer-events:none}
.bb-cs-line{font-weight:700;color:#0a4d27;font-size:14px;white-space:nowrap}
.bb-cs-remove{align-self:flex-start;background:transparent;border:0;width:32px;height:32px;border-radius:50%;color:#a8927c;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.bb-cs-remove:hover{background:#fff0e6;color:#c0392b}
.bb-cs-empty{text-align:center;padding:60px 24px;color:#7a6f55}
.bb-cs-empty svg{color:#d8cdb2;margin-bottom:14px}
.bb-cs-empty h4{margin:0 0 6px;font-family:'Fraunces',serif;font-size:20px;color:#0a4d27}
.bb-cs-empty p{margin:0 0 18px;font-size:14px}
.bb-cs-shop-btn{display:inline-block;padding:12px 26px;background:#0a4d27;color:#fff;border-radius:999px;text-decoration:none;font-weight:600;transition:background .2s,transform .2s}
.bb-cs-shop-btn:hover{background:#f5a524;transform:translateY(-2px)}
.bb-cs-foot{padding:16px 20px calc(16px + env(safe-area-inset-bottom));border-top:1px solid #efece4;background:#fffdf7;display:flex;flex-direction:column;gap:10px}
.bb-cs-foot[hidden]{display:none}
.bb-cs-subtotal{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#0a4d27}
.bb-cs-subtotal strong{font-size:18px;font-family:'Fraunces',serif}
.bb-cs-checkout{display:block;text-align:center;padding:14px;background:linear-gradient(135deg,#0a4d27,#0e6c38);color:#fff;border-radius:12px;text-decoration:none;font-weight:700;letter-spacing:.3px;transition:transform .2s,box-shadow .2s;box-shadow:0 6px 18px -8px rgba(10,77,39,.55)}
.bb-cs-checkout:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(10,77,39,.7)}
.bb-cs-view{text-align:center;font-size:13px;color:#7a6f55;text-decoration:none;padding:4px}
.bb-cs-view:hover{color:#f5a524}
@media (max-width:520px){
	.bb-cs{width:100vw}
	.bb-cs-item{grid-template-columns:64px 1fr auto;padding:14px 16px;gap:10px}
	.bb-cs-thumb{width:64px;height:64px}
	.bb-cs-head{padding:16px}
	.bb-cs-foot{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){
	.bb-cs,.bb-cs-backdrop,.bb-cs-item,.bb-cs-close{transition:none;animation:none}
}

/* ===== Cart add animation ===== */
@keyframes bbCartBounce {
  0% { transform: scale(1); }
  30% { transform: scale(1.35) rotate(-8deg); }
  60% { transform: scale(.92) rotate(4deg); }
  100% { transform: scale(1) rotate(0); }
}
@keyframes bbCountPop {
  0% { transform: scale(1); }
  40% { transform: scale(1.6); background: #16a34a; }
  100% { transform: scale(1); }
}
@keyframes bbRing {
  0% { transform: scale(.4); opacity: .7; }
  100% { transform: scale(2.2); opacity: 0; }
}
@keyframes bbCartTinyPulse { from { transform: scale(1); } to { transform: scale(.86); } }
.bb-cart-icon-wrap.is-bumping { animation: bbCartBounce .55s cubic-bezier(.34,1.56,.64,1); }
.bb-cart-icon-wrap.is-bumping .bb-cart-count { animation: bbCountPop .55s ease-out; }
.bb-cart-icon-wrap::after {
  content:""; position:absolute; inset:0; border-radius:999px;
  border:2px solid #f5a524; pointer-events:none; opacity:0;
}
.bb-cart-icon-wrap.is-bumping::after { animation: bbRing .6s ease-out; }

/* Flying ball */
.bb-fly-ball {
  position: fixed; z-index: 9999; width: 30px; height: 30px; border-radius: 999px;
  background: var(--primary);
  box-shadow: 0 6px 16px rgba(245,165,36,.55);
  pointer-events: none;
  transition: transform .8s cubic-bezier(.22,.72,.18,1), opacity .8s ease-in;
}
.bb-fly-ball::before{content:"";position:absolute;inset:6px;border:2px solid #fff;border-top:0;border-radius:3px 3px 6px 6px}
.bb-fly-ball::after{content:"";position:absolute;left:10px;top:7px;width:10px;height:7px;border:2px solid #fff;border-bottom:0;border-radius:8px 8px 0 0}

/* Ensure cart icon stays visible */
.bb-cart .bb-icon-circle svg { display:block!important; width:22px!important; height:22px!important; opacity:1!important; visibility:visible!important; }
.bb-cart:hover .bb-cart-icon-wrap{background:#fff!important;color:#073f22!important;}

/* =============================================================
   Hero Slider (v2.5)
   ============================================================= */
.hero-slider-section { padding: 14px 0 10px; }
.hero-slider {
	position: relative;
	border-radius: 22px;
	overflow: hidden;
	background: #f1ece1;
	box-shadow: 0 10px 30px -18px rgba(0,51,26,.28);
}
.hero-slider-track { position: relative; width: 100%; aspect-ratio: 21/9; max-height: 460px; }
.hero-slide {
	position: absolute; inset: 0;
	opacity: 0; transition: opacity .6s ease;
	pointer-events: none;
}
.hero-slide.is-active { opacity: 1; pointer-events: auto; }
.hero-slide img, .hero-slide .hero-slide-link {
	display: block; width: 100%; height: 100%;
}
.hero-slide img { object-fit: cover; object-position: center; }
.hero-slide-content { position:absolute; left:clamp(22px,5vw,72px); top:50%; transform:translateY(-50%); z-index:2; max-width:min(520px,55%); color:#fff; text-shadow:0 3px 18px rgba(0,0,0,.45); pointer-events:none; }
.hero-slide-content h2 { margin:0 0 8px; color:#fff!important; font-size:clamp(28px,4vw,56px)!important; line-height:1.08; font-weight:900; }
.hero-slide-content p { margin:0 0 16px; color:#fff; font-size:clamp(15px,1.5vw,20px); line-height:1.55; font-weight:600; }
.hero-slide-btn { display:inline-flex; align-items:center; justify-content:center; padding:10px 20px; border-radius:999px; background:var(--primary); color:#fff; font-weight:900; box-shadow:0 10px 24px -14px rgba(0,0,0,.55); }

.hero-slider-arrow {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 40px; height: 40px; border-radius: 50%;
	background: rgba(255,255,255,.92); color: #0a4d27;
	border: 0; display: grid; place-items: center;
	cursor: pointer; box-shadow: 0 4px 14px -6px rgba(0,0,0,.25);
	transition: background .2s, transform .2s;
	z-index: 3;
}
.hero-slider-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.05); }
.hero-prev { left: 12px; }
.hero-next { right: 12px; }

.hero-slider-counter {
	position: absolute; left: 14px; bottom: 14px; z-index: 3;
	display: inline-flex; align-items: center; gap: 6px;
	background: rgba(255,255,255,.92);
	color: #0a4d27;
	font-weight: 700; font-size: .78rem;
	padding: 5px 10px; border-radius: 999px;
	letter-spacing: .04em;
	box-shadow: 0 4px 12px -6px rgba(0,0,0,.2);
}
.hero-slider-counter .sep { width: 14px; height: 1.5px; background: currentColor; opacity: .5; border-radius: 2px; }
.hero-slider-counter .tot { opacity: .65; }

@media (max-width: 768px) {
	.hero-slider-section { padding: 8px 0 8px; }
	.hero-slider { border-radius: 16px; }
	.hero-slider-track { aspect-ratio: 16/9; max-height: none; }
	.hero-slide img { object-fit: cover; object-position: center; }
	.hero-slide-content { left:16px; right:16px; max-width:calc(100% - 32px); bottom:16px; top:auto; transform:none; }
	.hero-slide-content h2 { font-size:22px!important; margin-bottom:4px; }
	.hero-slide-content p { font-size:13px; margin-bottom:10px; }
	.hero-slide-btn { padding:8px 14px; font-size:13px; }
	.hero-slider-arrow { width: 32px; height: 32px; }
	.hero-prev { left: 8px; } .hero-next { right: 8px; }
	.hero-slider-counter { font-size: .7rem; padding: 4px 9px; left: 10px; bottom: 10px; }
}
@media (max-width: 480px) {
	.hero-slider-track { aspect-ratio: 16/9; }
}

/* ============================================
   Month Picker (Seasonal Calendar) — v3.2
   Editorial heading + premium pill tabs
   ============================================ */
.month-picker {
	position: relative;
	background:
		radial-gradient(1100px 320px at 50% -10%, rgba(0,102,52,.07), transparent 70%),
		linear-gradient(180deg, #fbf7ee 0%, var(--bg) 100%);
	border-top: 1px solid rgba(0,51,26,.06);
	border-bottom: 1px solid rgba(0,51,26,.06);
	overflow: hidden;
}
.month-picker::before,
.month-picker::after {
	content: "";
	position: absolute;
	width: 220px; height: 220px;
	border-radius: 50%;
	pointer-events: none;
	opacity: .35;
	filter: blur(6px);
}
.month-picker::before {
	top: -90px; left: -80px;
	background: radial-gradient(circle, #ffd27a 0%, transparent 65%);
}
.month-picker::after {
	bottom: -110px; right: -90px;
	background: radial-gradient(circle, #9ad29c 0%, transparent 65%);
}

/* Heading (editorial, no banner) */
.mp-head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 32px;
	position: relative;
	z-index: 1;
}
.mp-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	color: var(--primary);
	font-family: var(--font-bn);
	font-weight: 600;
	font-size: .82rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.mp-eyebrow-line {
	width: 36px; height: 1px;
	background: linear-gradient(90deg, transparent, #d4a017);
}
.mp-eyebrow-line:last-child {
	background: linear-gradient(90deg, #d4a017, transparent);
}
.mp-eyebrow-text {
	position: relative;
	padding: 0 4px;
}
.mp-title {
	font-family: var(--font-bn);
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	font-weight: 700;
	color: var(--secondary);
	margin: 0 0 10px;
	line-height: 1.25;
	letter-spacing: -.005em;
}
.mp-title em {
	font-style: normal;
	color: var(--primary);
	background: linear-gradient(180deg, transparent 60%, rgba(212,160,23,.25) 60%);
	padding: 0 4px;
}
.mp-sub {
	color: #555;
	font-size: 1rem;
	margin: 0;
	font-family: var(--font-bn);
}

/* Month pill tabs */
.mp-tabs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin: 0 auto 36px;
	max-width: 880px;
	position: relative;
	z-index: 1;
}
.mp-tab {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	background: #ffffff;
	border: 1px solid rgba(0,51,26,.10);
	border-radius: 14px;
	cursor: pointer;
	text-align: left;
	transition: all .25s ease;
	box-shadow: 0 2px 6px rgba(0,51,26,.04);
	position: relative;
	overflow: hidden;
}
.mp-tab::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
	opacity: 0;
	transition: opacity .25s ease;
	z-index: 0;
}
.mp-tab > * { position: relative; z-index: 1; }
.mp-tab:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(0,51,26,.10);
	border-color: rgba(0,102,52,.30);
}
.mp-tab.is-active {
	border-color: transparent;
	box-shadow: 0 12px 26px rgba(0,51,26,.22);
	transform: translateY(-2px);
}
.mp-tab.is-active::before { opacity: 1; }
.mp-tab.is-active .mp-tab-num,
.mp-tab.is-active .mp-tab-bn,
.mp-tab.is-active .mp-tab-en,
.mp-tab.is-active .mp-tab-tag { color: #fff; }
.mp-tab.is-active .mp-tab-num {
	background: rgba(255,255,255,.15);
	border-color: rgba(243,210,122,.55);
	color: #f3d27a;
}
.mp-tab.is-active .mp-tab-tag { background: rgba(243,210,122,.18); color: #f3d27a; }

.mp-tab-num {
	flex-shrink: 0;
	width: 44px; height: 44px;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--font-bn);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--primary);
	background: #f3f8ef;
	border: 1px solid rgba(0,102,52,.18);
	border-radius: 10px;
	transition: all .25s ease;
}
.mp-tab-body {
	display: flex; flex-direction: column; gap: 2px;
	min-width: 0; flex: 1;
}
.mp-tab-bn {
	font-family: var(--font-bn);
	font-weight: 700;
	font-size: 1.05rem;
	color: var(--secondary);
	line-height: 1.1;
}
.mp-tab-en {
	font-size: .72rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #888;
	font-weight: 600;
}
.mp-tab-tag {
	display: none;
	font-family: var(--font-bn);
	font-size: .72rem;
	font-weight: 600;
	color: #b8860b;
	background: #fff4d6;
	padding: 4px 9px;
	border-radius: 999px;
	white-space: nowrap;
}
@media (min-width: 900px) {
	.mp-tab-tag { display: inline-block; }
}

.mp-panels { position: relative; z-index: 1; max-width: 880px; margin: 0 auto; }
.mp-panels .month-panel { display: none; }
.mp-panels .month-panel.is-active { display: block; }
.mp-panels .products-grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 980px) { .mp-panels .products-grid { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 768px) {
	.mp-tabs {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
		max-width: 100%;
	}
	.mp-tab { padding: 12px 12px; gap: 10px; border-radius: 12px; }
	.mp-tab-num { width: 38px; height: 38px; font-size: .95rem; }
	.mp-tab-bn { font-size: .98rem; }
	.mp-tab-en { font-size: .68rem; }
	.mp-head { margin-bottom: 22px; }
	.mp-sub { font-size: .92rem; }
}

/* ============================================
   Why Us section — v3.3
   ============================================ */
.why-us {
	position: relative;
	background:
		radial-gradient(900px 280px at 0% 0%, rgba(0,102,52,.06), transparent 70%),
		radial-gradient(900px 280px at 100% 100%, rgba(212,160,23,.08), transparent 70%),
		var(--bg);
	overflow: hidden;
}
.wu-head { text-align: center; max-width: 720px; margin: 0 auto 36px; }
.wu-eyebrow {
	display: inline-flex; align-items: center; gap: 12px;
	color: var(--primary);
	font-family: var(--font-bn);
	font-weight: 600; font-size: .82rem;
	letter-spacing: .14em; text-transform: uppercase;
	margin-bottom: 12px;
}
.wu-eyebrow-line { width: 36px; height: 1px; background: linear-gradient(90deg, transparent, #d4a017); }
.wu-eyebrow-line:last-child { background: linear-gradient(90deg, #d4a017, transparent); }
.wu-title {
	font-family: var(--font-bn);
	font-size: clamp(1.7rem, 3.2vw, 2.4rem);
	font-weight: 700; color: var(--secondary);
	margin: 0 0 10px; line-height: 1.25;
}
.wu-title em {
	font-style: normal; color: var(--primary);
	background: linear-gradient(180deg, transparent 60%, rgba(212,160,23,.25) 60%);
	padding: 0 4px;
}
.wu-sub { color: #555; font-family: var(--font-bn); font-size: 1rem; margin: 0; }

.wu-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 18px;
}
@media (max-width: 1100px) { .wu-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 900px)  { .wu-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .wu-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } }

.wu-card {
	position: relative;
	background: #ffffff;
	border: 1px solid rgba(0,51,26,.08);
	border-radius: 16px;
	padding: 22px 18px 18px;
	box-shadow: 0 2px 6px rgba(0,51,26,.04);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	overflow: hidden;
	isolation: isolate;
}
.wu-card::before {
	content: "";
	position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: linear-gradient(90deg, var(--primary), #d4a017);
	transform: scaleX(0); transform-origin: left;
	transition: transform .35s ease;
}
.wu-card::after {
	content: "";
	position: absolute; bottom: -40px; right: -40px;
	width: 120px; height: 120px;
	background: radial-gradient(circle, rgba(0,102,52,.06), transparent 70%);
	border-radius: 50%;
	z-index: -1;
}
.wu-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 28px rgba(0,51,26,.10);
	border-color: rgba(0,102,52,.20);
}
.wu-card:hover::before { transform: scaleX(1); }
.wu-card-num {
	position: absolute; top: 12px; right: 14px;
	font-family: var(--font-bn);
	font-size: 1.4rem; font-weight: 800;
	color: var(--primary); opacity: .08;
	line-height: 1;
}
.wu-card-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, #f3f8ef 0%, #fff4d6 100%);
	border: 1px solid rgba(0,102,52,.12);
	font-size: 1.5rem;
	margin-bottom: 14px;
}
.wu-card-title {
	font-family: var(--font-bn);
	font-size: 1rem; font-weight: 700;
	color: var(--secondary); margin: 0 0 6px; line-height: 1.3;
}
.wu-card-desc {
	font-family: var(--font-bn);
	font-size: .85rem; color: #555;
	margin: 0; line-height: 1.55;
}
@media (max-width: 640px) {
	.wu-card { padding: 16px 13px 14px; border-radius: 14px; }
	.wu-card-icon { width: 40px; height: 40px; font-size: 1.25rem; margin-bottom: 10px; border-radius: 10px; }
	.wu-card-title { font-size: .9rem; }
	.wu-card-desc { font-size: .78rem; line-height: 1.5; }
	.wu-card-num { font-size: 1.15rem; top: 8px; right: 10px; }
	.wu-head { margin-bottom: 22px; }
}

/* ========== Help / WhatsApp CTA (v3.5) ========== */
.help-cta { padding: 28px 0 56px; }
.help-cta__inner {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, var(--primary) 0%, #00763c 55%, var(--secondary) 100%);
  border-radius: 18px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  box-shadow: 0 18px 40px -22px rgba(0,51,26,.55);
}
.help-cta__bg-deco {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 12% 110%, rgba(255,201,87,.18), transparent 45%),
    radial-gradient(circle at 95% -20%, rgba(255,255,255,.10), transparent 50%);
  pointer-events: none;
}
.help-cta__text { position: relative; flex: 1; text-align: center; }
.help-cta__title {
  font-family: 'Hind Siliguri', sans-serif;
  color: #fff; font-size: 28px; font-weight: 700;
  margin: 0 0 6px; letter-spacing: .2px;
}
.help-cta__sub {
  color: rgba(255,255,255,.85);
  font-size: 15px; margin: 0;
  font-family: 'Hind Siliguri', sans-serif;
}
.help-cta__btn {
  position: relative;
  display: inline-flex; align-items: center; gap: 8px;
  background: #fff; color: var(--secondary);
  padding: 12px 22px; border-radius: 10px;
  font-weight: 600; font-size: 15px;
  font-family: 'Hind Siliguri', sans-serif;
  text-decoration: none;
  box-shadow: 0 6px 16px -6px rgba(0,0,0,.3);
  transition: transform .18s ease, box-shadow .18s ease;
  white-space: nowrap;
}
.help-cta__btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -8px rgba(0,0,0,.4); }

@media (max-width: 720px) {
  .help-cta { padding: 18px 0 40px; }
  .help-cta__inner {
    flex-direction: column;
    padding: 26px 20px;
    text-align: center;
    border-radius: 14px;
  }
  .help-cta__title { font-size: 22px; }
  .help-cta__sub { font-size: 14px; }
  .help-cta__btn { width: 100%; justify-content: center; padding: 13px 18px; }
}

/* Shop AJAX loading state */
.shop-main.is-loading { opacity: .55; pointer-events: none; transition: opacity .2s; }


/* ============================================================
   CHECKOUT PAGE
   ============================================================ */
.bb-checkout-form { max-width: 1100px; margin: 28px auto 64px; padding: 0 16px; }
.bb-checkout-wrap { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 24px; align-items: start; }

.bb-checkout-card,
.bb-checkout-summary {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 18px 40px -30px rgba(0,51,26,.28);
}
.bb-card-title {
	margin: 0 0 18px;
	padding: 0 0 14px;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--secondary);
	letter-spacing: .2px;
	border-bottom: 1px solid var(--line);
	display: flex;
	align-items: center;
	gap: 10px;
}
.bb-card-title::before {
	content: ""; width: 4px; height: 18px; background: var(--primary); border-radius: 4px;
}
.bb-checkout-trust { margin: -8px 0 14px; padding: 10px 12px; border-radius: 10px; background: color-mix(in srgb, var(--primary) 9%, #fff); color: var(--primary); font-size: 13px; font-weight: 700; line-height: 1.45; }

/* Fields */
.bb-checkout-fields .form-row { margin: 0 0 14px; padding: 0; width: 100%; }
.bb-checkout-fields .form-row:last-child { margin-bottom: 0; }
.bb-checkout-fields label { display: block; font-size: 12.5px; font-weight: 600; color: var(--ink); margin-bottom: 6px; letter-spacing: .1px; }
.bb-checkout-fields label .required { color: #d33; text-decoration: none; margin-left: 2px; }
.bb-checkout-fields label .optional { display: none; }
.bb-checkout-fields input[type="text"],
.bb-checkout-fields input[type="tel"],
.bb-checkout-fields input[type="email"],
.bb-checkout-fields textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1.5px solid var(--line);
	border-radius: 10px;
	font-family: inherit;
	font-size: 14.5px;
	color: var(--ink);
	background: #fafaf7;
	transition: border-color .15s, box-shadow .15s, background .15s;
	box-sizing: border-box;
}
.bb-checkout-fields input:focus, .bb-checkout-fields textarea:focus {
	outline: 0;
	border-color: var(--primary);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0,102,52,.10);
}
.bb-checkout-fields textarea { min-height: 90px; resize: vertical; line-height: 1.55; }

/* Order table inside summary */
.bb-review { margin-top: 4px; }
.bb-review .shop_table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.bb-review .shop_table th, .bb-review .shop_table td { padding: 10px 0; border: 0; text-align: left; color: var(--ink); vertical-align: middle; }
.bb-review .shop_table thead th { font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: var(--ink-soft); font-weight: 700; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.bb-review .shop_table tbody tr + tr td { border-top: 1px dashed var(--line); }
.bb-review .shop_table tfoot th, .bb-review .shop_table tfoot td { border-top: 1px dashed var(--line); font-weight: 700; padding-top: 10px; }
.bb-review .shop_table tfoot tr:not(:first-child) th,
.bb-review .shop_table tfoot tr:not(:first-child) td { border-top: 0; padding-top: 4px; }
.bb-review .shop_table tfoot .order-total th,
.bb-review .shop_table tfoot .order-total td {
	color: var(--primary); font-size: 16px; font-weight: 800; padding-top: 14px;
	border-top: 2px solid var(--primary);
}
.bb-review .product-total, .bb-review td:last-child { text-align: right; white-space: nowrap; color: var(--secondary); font-weight: 700; }
.bb-review .woocommerce-shipping-totals td ul { list-style: none; padding: 0; margin: 0; }

/* Product line w/ thumbnail */
.bb-review .bb-line { display: flex; align-items: center; gap: 10px; }
.bb-review .bb-thumb { flex: 0 0 52px; width: 52px; height: 52px; border-radius: 10px; overflow: hidden; background: #f3efe6; border: 1px solid var(--line); display: block; }
.bb-review .bb-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; max-width: none; }
.bb-review .bb-meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bb-review .bb-pname { font-weight: 700; color: var(--secondary); font-size: 13.5px; line-height: 1.3; }
.bb-review .bb-pqty { font-size: 11.5px; color: var(--ink-soft); font-weight: 500; }


/* Payment */
/* Shipping row: always show prominently */
.bb-review .woocommerce-shipping-totals,
.bb-review tr.shipping { display: table-row !important; }
.bb-review tr.shipping th { color: var(--secondary); }
.bb-review tr.shipping td { color: var(--primary); font-weight: 700; }
.bb-review tr.shipping ul#shipping_method { list-style: none; margin: 0; padding: 0; }
.bb-review tr.shipping ul#shipping_method li { display: flex; align-items: center; gap: 6px; }
.bb-review tr.shipping ul#shipping_method input[type="radio"] { accent-color: var(--primary); width: 16px; height: 16px; margin: 0; }
.bb-review tr.shipping ul#shipping_method label { display: inline-flex; align-items: center; gap: 6px; color: var(--primary); font-weight: 700; cursor: pointer; margin: 0; }


/* Payment methods — branded radio with checkmark */
.bb-payment { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.bb-payment .wc_payment_methods { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bb-payment .wc_payment_method {
	background: #fafaf7;
	border: 1.5px solid var(--line);
	border-radius: 12px;
	padding: 14px 16px 14px 44px;
	transition: all .15s;
	position: relative;
	cursor: pointer;
}
.bb-payment .wc_payment_method input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.bb-payment .wc_payment_method > label {
	font-weight: 700; color: var(--secondary); cursor: pointer;
	display: block; font-size: 14px; margin: 0; line-height: 1.3;
}
.bb-payment .wc_payment_method::before {
	content: ""; position: absolute; left: 14px; top: 50%; transform: translateY(-50%);
	width: 20px; height: 20px; border-radius: 50%;
	border: 2px solid #cdcdc4; background: #fff;
	transition: all .15s;
}
.bb-payment .wc_payment_method::after {
	content: ""; position: absolute; left: 19px; top: 50%; transform: translateY(-50%) scale(0);
	width: 10px; height: 10px; border-radius: 50%;
	background: var(--primary);
	transition: transform .15s;
}
.bb-payment .wc_payment_method:has(input:checked) {
	border-color: var(--primary);
	background: rgba(0,102,52,.06);
	box-shadow: 0 6px 18px -10px rgba(0,102,52,.35);
}
.bb-payment .wc_payment_method:has(input:checked)::before { border-color: var(--primary); }
.bb-payment .wc_payment_method:has(input:checked)::after { transform: translateY(-50%) scale(1); }
.bb-payment .payment_box {
	margin-top: 10px; padding: 10px 12px;
	background: #fff; border-radius: 8px;
	font-size: 12.5px; color: var(--ink-soft);
	border: 1px dashed var(--line);
}
.bb-payment .payment_box p { margin: 0; }

/* Place order button — big, brand-aligned, premium */
.bb-place-order,
.bb-payment #place_order,
.woocommerce-checkout #place_order {
	width: 100% !important;
	margin: 6px 0 0 !important;
	background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%) !important;
	background-color: var(--primary) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 20px 22px !important;
	border-radius: 14px !important;
	font-family: inherit !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .3px !important;
	cursor: pointer !important;
	opacity: 1 !important;
	box-shadow: 0 16px 32px -14px rgba(0,102,52,.55), inset 0 -3px 0 rgba(0,0,0,.12) !important;
	transition: transform .12s, box-shadow .2s, filter .15s;
	display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
	text-transform: none !important;
	text-shadow: 0 1px 2px rgba(0,0,0,.18);
}
.bb-place-order span,
.woocommerce-checkout #place_order span { color: #fff !important; }

.bb-place-order:hover,
.woocommerce-checkout #place_order:hover { transform: translateY(-2px); filter: brightness(1.05); box-shadow: 0 22px 40px -16px rgba(0,102,52,.65), inset 0 -3px 0 rgba(0,0,0,.15); }
.bb-place-order:active,
.woocommerce-checkout #place_order:active { transform: translateY(0); }
.bb-place-order::after,
.woocommerce-checkout #place_order::after { content: "→"; font-size: 19px; font-weight: 800; }

/* Sticky sidebar on desktop */
.bb-checkout-side { position: sticky; top: 130px; }



/* Hide noisy WooCommerce toggles */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle,
.bb-checkout-form .woocommerce-additional-fields,
.bb-checkout-form #ship-to-different-address { display: none !important; }

@media (max-width: 900px) {
	.bb-checkout-form { margin: 16px auto 48px; padding: 0 12px; }
	.bb-checkout-wrap { grid-template-columns: 1fr; gap: 16px; }
	.bb-checkout-side { position: static; }
	.bb-checkout-card, .bb-checkout-summary { padding: 18px; border-radius: 14px; }
	.bb-card-title { font-size: .98rem; }
}

/* =============================================================
   Block Checkout & Cart — Professional Brand Styling (v3.10.2)
   Targets WooCommerce Blocks (.wc-block-checkout / .wc-block-cart)
   ============================================================= */

body.bb-checkout, body.bb-page-cart {
	background: var(--bg);
	font-family: var(--font-bn);
	color: var(--ink);
}

/* Hide default page title, we render our own header */
body.bb-checkout .entry-header,
body.bb-page-cart .entry-header,
body.bb-checkout .page-title,
body.bb-page-cart .page-title { display: none; }

/* Page wrapper / header band */
body.bb-checkout main, body.bb-page-cart main {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px 80px;
}
body.bb-checkout main::before,
body.bb-page-cart main::before {
	content: 'নিরাপদ চেকআউট';
	display: block;
	font-size: 12px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--primary);
	font-weight: 700;
	text-align: center;
	margin: 32px 0 8px;
}
body.bb-page-cart main::before { content: 'আপনার কার্ট'; }
body.bb-checkout main > .wp-block-woocommerce-checkout,
body.bb-page-cart main > .wp-block-woocommerce-cart {
	position: relative;
}
body.bb-checkout main > .wp-block-woocommerce-checkout::before,
body.bb-page-cart main > .wp-block-woocommerce-cart::before {
	content: 'চেকআউট সম্পন্ন করুন';
	display: block;
	font-family: var(--font-display);
	font-size: clamp(28px, 4vw, 42px);
	font-weight: 700;
	color: var(--primary-dark);
	text-align: center;
	margin: 0 0 8px;
	line-height: 1.15;
}
body.bb-page-cart main > .wp-block-woocommerce-cart::before {
	content: 'কার্ট পর্যালোচনা';
}

/* Trust strip */
body.bb-checkout main > .wp-block-woocommerce-checkout::after {
	content: '🔒  100% সুরক্ষিত  •  🚚  সারাদেশে ডেলিভারি  •  💵  ক্যাশ অন ডেলিভারি  •  🥭  ১০০% তাজা গ্যারান্টি';
	display: block;
	background: linear-gradient(135deg, var(--leaf-soft), #fff);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	padding: 14px 18px;
	margin: 0 0 28px;
	font-size: 13.5px;
	color: var(--primary-dark);
	text-align: center;
	font-weight: 600;
	letter-spacing: .01em;
}

/* Two-column block checkout layout */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.wc-block-checkout__main,
.wp-block-woocommerce-checkout-fields-block {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 32px;
	box-shadow: 0 8px 30px -18px rgba(0, 51, 26, .15);
}
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-totals-block {
	position: sticky;
	top: 100px;
	background: linear-gradient(180deg, #fff, #fbfaf6);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 28px;
	box-shadow: 0 12px 40px -20px rgba(0, 51, 26, .18);
}

/* Step / form section headings */
.wc-block-components-checkout-step__title,
.wc-block-components-title,
.wc-block-components-totals-item__label,
h2.wc-block-cart__totals-title {
	font-family: var(--font-display) !important;
	color: var(--primary-dark) !important;
	font-weight: 700 !important;
}
.wc-block-components-checkout-step__title {
	font-size: 20px !important;
	letter-spacing: -.01em;
}
.wc-block-components-checkout-step {
	border: none !important;
	padding: 18px 0 26px !important;
	border-bottom: 1px dashed var(--line) !important;
}
.wc-block-components-checkout-step:last-child { border-bottom: 0 !important; }
.wc-block-components-checkout-step__description {
	color: var(--ink-soft) !important;
	font-size: 13.5px !important;
}
.wc-block-components-checkout-step__container { padding-left: 0 !important; }
.wc-block-components-checkout-step::before,
.wc-block-components-checkout-step__heading-content { /* hide step number rail look */ }

/* Inputs */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-textarea {
	background: #fff !important;
	border: 1.5px solid var(--line) !important;
	border-radius: 12px !important;
	padding: 16px 16px !important;
	font-family: var(--font-bn) !important;
	font-size: 15px !important;
	color: var(--ink) !important;
	height: auto !important;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea:focus {
	border-color: var(--primary) !important;
	box-shadow: 0 0 0 4px rgba(0,102,52,.10) !important;
	outline: none !important;
}
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label {
	font-family: var(--font-bn) !important;
	color: var(--ink) !important;
	font-weight: 500 !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input:focus-within label {
	color: var(--primary) !important;
}

/* Checkbox / radio brand color */
.wc-block-components-checkbox input:checked + .wc-block-components-checkbox__mark,
.wc-block-components-checkbox__input:checked ~ .wc-block-components-checkbox__mark {
	background: var(--primary) !important;
	border-color: var(--primary) !important;
}
.wc-block-components-radio-control__option--checked::before,
.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control__option--checked {
	border-color: var(--primary) !important;
}
.wc-block-components-radio-control__input:checked + .wc-block-components-radio-control__option-layout::before {
	background: var(--primary) !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link) {
	background: linear-gradient(135deg, var(--primary), var(--leaf)) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--r-pill) !important;
	padding: 18px 28px !important;
	font-family: var(--font-bn) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	letter-spacing: .01em;
	box-shadow: 0 14px 30px -14px rgba(0,102,52,.55) !important;
	transition: transform .15s ease, box-shadow .2s ease, filter .2s ease !important;
	width: 100%;
	min-height: 56px;
}
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-button:not(.is-link):hover {
	transform: translateY(-2px);
	filter: brightness(1.05);
}

/* Order summary card */
.wc-block-components-totals-wrapper,
.wc-block-components-totals-item {
	border-color: var(--line) !important;
}
.wc-block-components-totals-item__value,
.wc-block-components-product-price__value,
.wc-block-formatted-money-amount {
	color: var(--primary-dark) !important;
	font-weight: 600;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--primary) !important;
	font-size: 22px !important;
	font-weight: 800 !important;
}
.wc-block-components-order-summary-item {
	padding: 14px 0 !important;
	border-bottom: 1px dashed var(--line) !important;
}
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img {
	border-radius: 10px;
	border: 1px solid var(--line);
}
.wc-block-components-product-name {
	color: var(--ink) !important;
	font-weight: 600 !important;
}

/* Notices */
.wc-block-components-notice-banner {
	border-radius: var(--r-md) !important;
	border-left: 4px solid var(--primary) !important;
}

/* Hide redundant fields if blocks expose them (best-effort safe hide) */
.wc-block-checkout__contact-fields .wc-block-components-checkout-step__description { display: none; }

/* CART block tweaks */
.wp-block-woocommerce-cart {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}
.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-empty-cart-block,
.wp-block-woocommerce-filled-cart-block > .wp-block-woocommerce-cart-items-block,
.wc-block-cart__main {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 28px;
}
.wp-block-woocommerce-cart-totals-block,
.wc-block-cart__sidebar {
	position: sticky;
	top: 100px;
	background: linear-gradient(180deg, #fff, #fbfaf6);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	padding: 24px;
}
.wc-block-cart-items__header,
.wc-block-cart-items th {
	color: var(--primary-dark) !important;
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	border-bottom: 1px solid var(--line) !important;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	border: 1.5px solid var(--line);
	border-radius: var(--r-pill);
	overflow: hidden;
}
.wc-block-components-quantity-selector__button {
	color: var(--primary) !important;
	font-weight: 700 !important;
}

/* Mobile */
@media (max-width: 900px) {
	.wc-block-checkout,
	.wp-block-woocommerce-checkout,
	.wp-block-woocommerce-cart {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.wc-block-checkout__sidebar,
	.wp-block-woocommerce-checkout-totals-block,
	.wp-block-woocommerce-cart-totals-block,
	.wc-block-cart__sidebar {
		position: static;
		order: -1;
	}
	.wc-block-checkout__main,
	.wp-block-woocommerce-checkout-fields-block,
	.wp-block-woocommerce-cart-items-block,
	.wc-block-cart__main {
		padding: 22px;
		border-radius: var(--r-md);
	}
	body.bb-checkout main, body.bb-page-cart main { padding: 0 14px 60px; }
	body.bb-checkout main > .wp-block-woocommerce-checkout::after {
		font-size: 12px;
		padding: 12px;
	}
}

/* ============ INLINE ORDER FORM (PDP) v4.2 ============ */
.pdp-order { margin: 36px auto 0; max-width: 1040px; background: #faf6ee; border-radius: 18px; padding: 28px 22px 34px; }
.pdp-order-head { text-align: center; margin-bottom: 18px; }
.pdp-order-head h2 { font-size: 1.35rem; font-weight: 800; color: var(--ink); margin: 0 0 10px; line-height: 1.5; }
.pdp-order-underline { display: inline-block; width: 64px; height: 3px; background: #d4a92c; border-radius: 3px; }
.pdp-order-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(0,1fr); gap: 22px; align-items: start; }
.pdp-order-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; box-shadow: 0 12px 30px -22px rgba(0,51,26,.25); }
.pdp-order-row { margin-bottom: 16px; }
.pdp-order-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pdp-field { display: block; }
.pdp-field-label { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.pdp-field-label em { color: #d54848; font-style: normal; }
.pdp-field input, .pdp-field textarea, .pdp-qty-inline input { width: 100%; border: 1.5px solid var(--line); border-radius: 10px; padding: 12px 14px; font-family: inherit; font-size: 15px; background: #fff; color: var(--ink); outline: none; transition: border-color .15s, box-shadow .15s; }
.pdp-field input:focus, .pdp-field textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(0,102,52,.12); }
.pdp-field textarea { resize: vertical; min-height: 48px; }
.pdp-qty-inline { display: inline-flex; height: 48px; }
.pdp-qty-inline .pdp-qty-btn { height: 48px; width: 40px; }
.pdp-qty-inline input { width: 56px; height: 48px; padding: 0; }
.pdp-zone-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pdp-zone { position: relative; display: flex; align-items: center; gap: 12px; padding: 14px 14px; border: 1.5px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; transition: border-color .15s, background .15s; }
.pdp-zone input { position: absolute; opacity: 0; pointer-events: none; }
.pdp-zone-radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line); display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; background: #fff; transition: all .15s; }
.pdp-zone.is-active { border-color: var(--primary); background: #f0faf3; }
.pdp-zone.is-active .pdp-zone-radio { border-color: var(--primary); background: var(--primary); }
.pdp-zone.is-active .pdp-zone-radio::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.pdp-zone-body { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.pdp-zone-title { font-weight: 700; font-size: 14.5px; color: var(--ink); }
.pdp-zone-sub { font-size: 12px; color: #7a7a7a; }
.pdp-zone-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; flex: 0 0 auto; }
.pdp-zone-price { font-weight: 800; color: var(--ink); font-size: 14px; }
.pdp-zone-tag { font-size: 11px; background: #e8f5ec; color: var(--primary); padding: 3px 8px; border-radius: 99px; font-weight: 700; white-space: nowrap; }
.pdp-order-msg { min-height: 0; margin-bottom: 8px; font-size: 13.5px; }
.pdp-order-msg.is-error { color: #b62525; background: #fdecec; padding: 10px 12px; border-radius: 8px; margin: 0 0 12px; }
.pdp-confirm-final { width: 100%; height: 58px !important; font-size: 16px !important; letter-spacing: .3px; }
.pdp-confirm-check { font-size: 17px; }

.pdp-summary-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; box-shadow: 0 12px 30px -22px rgba(0,51,26,.25); }
.pdp-summary-title { margin: 0 0 14px; font-size: 1.05rem; font-weight: 800; color: var(--secondary); }
.pdp-summary-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px dashed #e5dfd0; font-size: 14.5px; color: var(--ink); }
.pdp-summary-row:last-child { border-bottom: 0; }
.pdp-summary-name { font-weight: 600; }
.pdp-summary-qty { color: #6a6a6a; }
.pdp-summary-total { font-weight: 800; color: var(--primary); font-size: 1rem; padding-top: 12px; }
.pdp-summary-total span:last-child { color: #d4a92c; }

@media (max-width: 820px){
	.pdp-order { padding: 22px 14px 28px; border-radius: 14px; }
	.pdp-order-head h2 { font-size: 1.05rem; }
	.pdp-order-grid { grid-template-columns: 1fr; gap: 16px; }
	.pdp-order-card { padding: 16px; }
	.pdp-order-row-2 { grid-template-columns: 1fr; gap: 12px; }
	.pdp-zone-grid { grid-template-columns: 1fr; }
	.pdp-confirm-final { height: 54px !important; font-size: 15px !important; }
}

/* PDP stage slider nav + dots */
.pdp-gallery-stage { user-select: none; touch-action: pan-y; }
.pdp-stage-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 999px; border: 0; background: rgba(255,255,255,.92); color: var(--primary-dark); font-size: 24px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 6px 18px -8px rgba(0,51,26,.45); z-index: 3; transition: background .15s ease, transform .15s ease; }
.pdp-stage-nav:hover { background: #fff; transform: translateY(-50%) scale(1.05); }
.pdp-stage-prev { left: 12px; }
.pdp-stage-next { right: 12px; }
.pdp-stage-dots { position: absolute; left: 0; right: 0; bottom: 10px; display: flex; gap: 6px; justify-content: center; z-index: 3; }
.pdp-stage-dot { width: 7px; height: 7px; border-radius: 999px; border: 0; padding: 0; background: rgba(0,51,26,.25); cursor: pointer; transition: all .15s ease; }
.pdp-stage-dot.is-active { background: var(--primary); width: 22px; }
@media (max-width: 640px) {
	.pdp-stage-nav { width: 34px; height: 34px; font-size: 20px; }
	.pdp-stage-prev { left: 8px; } .pdp-stage-next { right: 8px; }
}

/* ============= Branded Thank You ============= */
.bb-thankyou { max-width: 1080px; margin: 40px auto; padding: 0 16px; font-family: 'Hind Siliguri', system-ui, sans-serif; color: #222; }
.bb-ty-hero { background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); color: #fff; border-radius: 20px; padding: 40px 28px; text-align: center; box-shadow: 0 20px 50px -25px rgba(0,102,52,.6); position: relative; overflow: hidden; }
.bb-ty-hero::before { content:''; position:absolute; inset:0; background: radial-gradient(circle at 20% 0%, rgba(255,215,0,.18), transparent 50%), radial-gradient(circle at 80% 100%, rgba(255,215,0,.12), transparent 50%); pointer-events:none; }
.bb-ty-check { width:80px; height:80px; margin:0 auto 14px; background:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 12px 30px -10px rgba(0,0,0,.35); position:relative; animation: bb-pop .5s cubic-bezier(.2,.9,.3,1.4); }
@keyframes bb-pop { 0% { transform: scale(.4); opacity:0; } 100% { transform: scale(1); opacity:1; } }
.bb-ty-title { font-size: 28px; font-weight: 800; margin: 6px 0 8px; position:relative; }
.bb-ty-sub { font-size: 16px; opacity:.95; margin: 0 0 22px; position:relative; }
.bb-ty-meta { list-style:none; display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding:0; margin:0; position:relative; }
.bb-ty-meta li { background: rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.18); border-radius: 12px; padding: 12px; backdrop-filter: blur(4px); }
.bb-ty-meta li span { display:block; font-size:12px; opacity:.85; margin-bottom:4px; }
.bb-ty-meta li strong { font-size:15px; font-weight:700; }

.bb-ty-grid { display:grid; grid-template-columns: 2fr 1fr; gap: 20px; margin-top: 22px; }
.bb-ty-card { background:#fff; border:1px solid #ece6da; border-radius: 16px; padding: 22px; box-shadow: 0 10px 30px -20px rgba(0,0,0,.15); }
.bb-ty-card h2 { font-size: 18px; margin: 0 0 14px; color:var(--secondary); border-bottom: 2px solid #faf3e0; padding-bottom: 10px; }
.bb-ty-items { width:100%; border-collapse: collapse; }
.bb-ty-items td, .bb-ty-items th { padding: 12px 6px; border-bottom: 1px dashed #efe9dc; vertical-align: middle; }
.bb-ty-items tfoot th { text-align:left; color:#666; font-weight:600; }
.bb-ty-items tfoot td { text-align:right; font-weight:700; }
.bb-ty-img img { width:56px; height:56px; border-radius: 10px; object-fit: cover; border:1px solid #eee; }
.bb-ty-name strong { display:block; }
.bb-ty-name span { font-size:12px; color:#666; }
.bb-ty-price { text-align:right; font-weight:700; color:var(--primary); }
.bb-ty-free { color:var(--primary); font-weight:800; }
.bb-ty-grand th, .bb-ty-grand td { font-size: 18px !important; color:var(--secondary); padding-top: 14px !important; border-top: 2px solid var(--primary); }

.bb-ty-side .bb-ty-addr { background:var(--bg); border-radius: 12px; padding: 14px; line-height: 1.7; }
.bb-ty-steps { margin-top: 18px; }
.bb-ty-steps h3 { font-size: 15px; color:var(--secondary); margin: 0 0 10px; }
.bb-ty-steps ol { list-style:none; padding:0; margin:0; }
.bb-ty-steps li { position:relative; padding: 10px 10px 10px 44px; background:var(--bg); border-radius:10px; margin-bottom:8px; font-size:14px; }
.bb-ty-steps li span { position:absolute; left:10px; top:50%; transform:translateY(-50%); width:26px; height:26px; background:var(--primary); color:#fff; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; }
.bb-ty-contact { display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-top:16px; }
.bb-ty-contact a { display:block; text-align:center; padding:12px; border-radius:10px; font-weight:700; text-decoration:none; }
.bb-ty-call { background:var(--primary); color:#fff !important; }
.bb-ty-wa { background:#25D366; color:#fff !important; }

.bb-ty-foot { text-align:center; margin: 28px 0 10px; }
.bb-btn { display:inline-block; padding: 14px 28px; border-radius: 12px; font-weight:700; text-decoration:none; margin: 6px; transition: transform .15s ease; }
.bb-btn:hover { transform: translateY(-2px); }
.bb-btn-primary { background: linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff !important; box-shadow: 0 10px 24px -12px rgba(0,102,52,.6); }
.bb-btn-ghost { background:#fff; color:var(--primary) !important; border:2px solid var(--primary); }
.bb-ty-brand { margin-top: 18px; color:#666; font-size: 14px; }

.bb-ty-failed { text-align:center; background:#fff; padding: 40px; border-radius:16px; border:1px solid #f3c9c9; }
.bb-ty-failed h2 { color:#b00020; }

/* Hide default WC thankyou order details that duplicate ours */
.woocommerce-order > .woocommerce-thankyou-order-received,
.woocommerce-order > .woocommerce-thankyou-order-details,
.woocommerce-order > .woocommerce-order-details,
.woocommerce-order > .woocommerce-customer-details { display:none !important; }

@media (max-width: 860px) {
	.bb-thankyou { margin: 20px auto; padding: 0 12px; }
	.bb-ty-hero { padding: 26px 16px; border-radius: 16px; }
	.bb-ty-check { width: 64px; height: 64px; }
	.bb-ty-title { font-size: 20px; }
	.bb-ty-sub { font-size: 14px; margin-bottom: 16px; }
	.bb-ty-meta { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.bb-ty-meta li { padding: 10px; }
	.bb-ty-meta li strong { font-size: 13px; word-break: break-word; }
	.bb-ty-meta li span { font-size: 11px; }
	.bb-ty-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 16px; }
	.bb-ty-card { padding: 16px; border-radius: 14px; }
	.bb-ty-card h2 { font-size: 16px; }
	.bb-ty-items td, .bb-ty-items th { padding: 10px 4px; font-size: 13px; }
	.bb-ty-img img { width: 44px; height: 44px; }
	.bb-ty-name strong { font-size: 13px; }
	.bb-ty-name span { font-size: 11px; }
	.bb-ty-grand th, .bb-ty-grand td { font-size: 16px !important; }
	.bb-ty-contact { grid-template-columns: 1fr; }
	.bb-ty-foot .bb-btn { display: block; width: 100%; margin: 6px 0; }
}

/* Richer thank-you color combo */
.bb-ty-hero { background: linear-gradient(135deg,var(--primary) 0%, var(--secondary) 60%, #002413 100%) !important; }
.bb-ty-hero::after { content:''; position:absolute; inset:auto -40px -60px auto; width:220px; height:220px; background: radial-gradient(circle, rgba(255,200,60,.22), transparent 65%); pointer-events:none; }
.bb-ty-meta li { background: rgba(255,255,255,.14) !important; border-color: rgba(255,215,120,.28) !important; }
.bb-ty-card { border-color:#ece6da; box-shadow: 0 14px 40px -22px rgba(0,51,26,.25); }
.bb-ty-card h2 { color:var(--primary); border-bottom-color:#e6f3ec; }
.bb-ty-side .bb-ty-addr { background: linear-gradient(135deg,var(--bg),#f1f8f2); border:1px solid #e6f0e8; }
.bb-ty-steps li { background: linear-gradient(135deg,var(--bg),#f3f9f4); border:1px solid #ecf3ee; }

/* === v4.4.1 richer color combos === */
:root { --gold: #c9a84c; --gold-soft: #f5e9b8; --cream: #faf3e0; }

/* PDP price card — cream tint + gold left rail */
.pdp-price-card { background: linear-gradient(135deg,#ffffff 0%, #fbf7ee 100%); border-left: 4px solid var(--gold); }
.pdp-price-amt { color: var(--secondary); }
.pdp-price-old { color: #b08a3a; }
.pdp-price-save { background: linear-gradient(135deg, var(--gold), #b8932f); color:#fff; padding:4px 12px; border-radius:99px; font-weight:800; font-size:12.5px; box-shadow: 0 4px 12px -6px rgba(201,168,76,.6); }

/* Delivery zone cards — alternating soft tones */
.pdp-zone { background: linear-gradient(135deg,#ffffff,#fbf9f3); }
.pdp-zone.is-active { background: linear-gradient(135deg,#f0faf3,#e6f5ec); box-shadow: 0 6px 18px -12px rgba(0,102,52,.4); }
.pdp-zone-price { color: var(--primary); font-size: 15.5px; }

/* Thank-you cards — varied accents */
.bb-ty-card { border-top: 3px solid var(--primary); }
.bb-ty-card:nth-of-type(2) { border-top-color: var(--gold); }
.bb-ty-card:nth-of-type(3) { border-top-color: var(--secondary); }
.bb-ty-card h2 { display:flex; align-items:center; gap:8px; }
.bb-ty-card h2::before { content:''; width:6px; height:22px; background: linear-gradient(180deg, var(--primary), var(--gold)); border-radius: 3px; }

/* === v4.4.2 PDP mobile polish === */
@media (max-width: 640px) {
	.pdp-page .container { padding-left: 12px; padding-right: 12px; }
	.pdp-info { font-size: 14.5px; }
	.pdp-pill-row { gap: 6px; margin-bottom: 10px; }
	.pdp-pill { padding: 4px 10px; font-size: 11.5px; }
	.pdp-title { font-size: 1.25rem; line-height: 1.3; margin-bottom: 10px; }
	.pdp-price-card { padding: 14px 14px; margin-bottom: 14px; border-radius: 12px; }
	.pdp-price-amt { font-size: 1.45rem; }
	.pdp-price-old { font-size: 14px; }
	.pdp-price-save { font-size: 11.5px; padding: 3px 9px; }
	.pdp-var-block { margin-bottom: 16px; }
	.pdp-var-label { font-size: 13.5px; margin-bottom: 8px; }
	.pdp-var-chips { gap: 8px; }
	.pdp-var-chip { padding: 9px 14px; font-size: 13.5px; min-width: 76px; }
	.pdp-var-check { width: 18px; height: 18px; top: -6px; right: -6px; }
	.pdp-desc { margin-top: 22px; margin-bottom: 22px; padding-top: 14px; }
	.pdp-desc-head { font-size: 16.5px; padding-left: 10px; margin-bottom: 12px; }
	.pdp-desc-body { font-size: 15.5px; line-height: 1.9; }
	.pdp-desc-body p { margin-bottom: 12px; }
	.pdp-desc-body ul li, .pdp-desc-body ol li { padding-left: 22px; margin-bottom: 11px; font-size: 15.5px; }
	/* Gallery */
	.pdp-gallery-stage { border-radius: 12px; }
	.pdp-thumbs-wrap { margin-top: 10px; gap: 4px; }
	.pdp-thumb { width: 56px; height: 56px; flex: 0 0 56px; border-radius: 10px; }
	.pdp-thumb-nav { width: 28px; height: 28px; flex: 0 0 28px; font-size: 18px; }
	/* Crumbs cleaner */
	.pdp-crumbs { font-size: 11.5px; gap: 6px; }
	/* Inline order form */
	.pdp-order { margin-top: 24px; padding: 18px 12px 24px; border-radius: 14px; }
	.pdp-order-head h2 { font-size: 1.02rem; line-height: 1.5; }
	.pdp-order-card { padding: 14px; border-radius: 12px; }
	.pdp-field-label { font-size: 13px; }
	.pdp-order input, .pdp-order textarea, .pdp-order select { font-size: 15px; padding: 11px 12px; }
	.pdp-zone { padding: 11px 12px; gap: 10px; }
	.pdp-zone-title { font-size: 13.5px; }
	.pdp-zone-price { font-size: 14.5px; }
	.pdp-summary-card { padding: 16px 14px; }
	.pdp-summary-row { font-size: 13.5px; padding: 8px 0; }
	/* Hide any sticky buy bar so it doesn't overlap the inline form */
	.pdp-buy-bar { position: static !important; padding: 0 !important; box-shadow: none !important; border: 0 !important; background: transparent !important; }
	.pdp-page { padding-bottom: 32px; }
	/* Prevent horizontal scroll */
	.single-product, .pdp-page { overflow-x: hidden; }
}
@media (max-width: 380px) {
	.pdp-title { font-size: 1.15rem; }
	.pdp-price-amt { font-size: 1.3rem; }
	.pdp-var-chip { padding: 8px 12px; font-size: 13px; min-width: 70px; }
	.pdp-thumb { width: 50px; height: 50px; flex: 0 0 50px; }
}

/* === v4.4.3 PDP overflow + variation chip width === */
.single-product, body.single-product { overflow-x: hidden; }
.single-product .pdp-page, .single-product .pdp-page .container { max-width: 100%; }

/* PC variation chips smaller */
.pdp-var-chips { grid-template-columns: repeat(auto-fit, minmax(72px, max-content)); gap: 8px; }
.pdp-var-chip { padding: 7px 14px; font-size: 14px; min-width: 72px; max-width: 120px; }

@media (max-width: 640px) {
	.single-product * { max-width: 100%; }
	.pdp-layout, .pdp-info, .pdp-gallery, .pdp-order, .pdp-order-grid { max-width: 100%; min-width: 0; }
	.pdp-gallery-stage { width: 100%; }
	.pdp-buy-bar { flex-wrap: nowrap; width: 100%; }
	.pdp-qty { flex: 0 0 auto; }
	.pdp-confirm { flex: 1 1 auto !important; min-width: 0 !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.pdp-var-chip { min-width: 68px; padding: 8px 12px; font-size: 13px; }
}

/* === v4.4.6 fast PDP + header stability fix === */
.pdp-layout > * { min-width: 0; }
.pdp-gallery-stage, .pdp-thumbs-wrap, .pdp-thumbs { max-width: 100%; }
@media (min-width: 981px) {
	.pdp-layout { grid-template-columns: minmax(0, 500px) minmax(0, 1fr) !important; max-width: 1120px; gap: 44px; }
	.pdp-gallery { max-width: 500px !important; justify-self: start; }
	.pdp-mode-classic .pdp-gallery { position: relative !important; top: auto !important; }
}
@media (max-width: 980px) {
	.pdp-layout { grid-template-columns: minmax(0, 1fr) !important; max-width: 720px; }
	.pdp-gallery, .pdp-info { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
	.pdp-gallery-stage { width: 100% !important; max-width: 100% !important; }
}
@media (max-width: 640px) {
	.pdp-var-chips { display: flex; flex-wrap: wrap; gap: 10px 9px; }
	.pdp-var-chip { min-width: 72px; max-width: none; padding: 8px 13px; }
	.pdp-desc-body, .pdp-desc-body ul li, .pdp-desc-body ol li { font-size: 16px; line-height: 1.95; }
	.pdp-desc-body ul li, .pdp-desc-body ol li { margin-bottom: 13px; }
}
@media (max-width: 782px) {
	body.admin-bar { padding-top: 108px; }
}

/* ============ Static Pages (About/Contact/Privacy/Return) ============ */
.bb-static-page{background:var(--bg);padding-bottom:60px}
.bb-page-hero{background:linear-gradient(135deg,var(--primary) 0%,#0a4d27 60%,#005c2e 100%);color:#fff;padding:48px 0 56px;margin-bottom:36px;position:relative;overflow:hidden}
.bb-page-hero::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(245,165,36,.22) 0%,transparent 70%)}
.bb-page-hero .container{position:relative;z-index:2}
.bb-page-hero h1{font-size:42px;margin:8px 0 12px;color:#fff;font-weight:700}
.bb-page-lead{font-size:18px;color:rgba(255,255,255,.92);max-width:720px;margin:0}
.bb-breadcrumb{font-size:14px;color:rgba(255,255,255,.78);margin-bottom:6px}
.bb-breadcrumb a{color:#fde7b8;text-decoration:none}
.bb-breadcrumb a:hover{color:#fff}
.bb-breadcrumb span{margin:0 6px;opacity:.6}
.bb-page-body{max-width:1100px;margin:0 auto;padding:0 20px}
.bb-prose{background:#fff;border-radius:16px;padding:36px 40px;box-shadow:0 8px 28px -18px rgba(0,51,26,.18);border:1px solid #f0ebdc;line-height:1.85;font-size:16px;color:#333}
.bb-prose h3{color:var(--primary);margin:28px 0 12px;font-size:22px;font-weight:700;padding-left:14px;border-left:4px solid #f5a524}
.bb-prose h3:first-child{margin-top:0}
.bb-prose p{margin:0 0 14px}
.bb-prose ul{padding-left:22px;margin:8px 0 16px}
.bb-prose li{margin:6px 0}
.bb-mv-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:30px}
.bb-mv-card{background:#fff;border-radius:16px;padding:28px;border:1px solid #f0ebdc;box-shadow:0 8px 24px -18px rgba(0,51,26,.18);text-align:center}
.bb-mv-icon{font-size:38px;margin-bottom:10px}
.bb-mv-card h3{color:var(--primary);margin:0 0 8px;font-size:20px}
.bb-mv-card p{color:#555;margin:0;line-height:1.7}
.bb-page-cta{display:flex;gap:14px;justify-content:center;margin:36px 0 0;flex-wrap:wrap}

/* Contact */
.bb-contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:start}
.bb-contact-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bb-contact-card{background:#fff;border-radius:14px;padding:20px;border:1px solid #f0ebdc;box-shadow:0 6px 20px -16px rgba(0,51,26,.2);transition:.2s}
.bb-contact-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px -14px rgba(0,51,26,.28);border-color:#f5a524}
.bb-cc-icon{font-size:26px;margin-bottom:6px}
.bb-contact-card h4{margin:4px 0 6px;color:var(--primary);font-size:15px;font-weight:700}
.bb-contact-card p{margin:0;color:#444;font-size:14px}
.bb-contact-card a{color:var(--primary);text-decoration:none;font-weight:600}
.bb-contact-card a:hover{color:#f5a524}
.bb-cc-wa{background:linear-gradient(135deg,#e7fbef 0%,#fff 100%);border-color:#b8e6c4}
.bb-contact-form{background:#fff;border-radius:16px;padding:28px;border:1px solid #f0ebdc;box-shadow:0 8px 24px -16px rgba(0,51,26,.2)}
.bb-contact-form h3{margin:0 0 16px;color:var(--primary);font-size:20px}
.bb-contact-form label{display:block;margin-bottom:14px;font-size:14px;color:#333;font-weight:600}
.bb-contact-form input,.bb-contact-form textarea{display:block;width:100%;margin-top:6px;padding:11px 14px;border:1px solid #e2dac6;border-radius:10px;font:400 15px 'Hind Siliguri',sans-serif;background:var(--bg)}
.bb-contact-form input:focus,.bb-contact-form textarea:focus{outline:none;border-color:var(--primary);background:#fff}
.bb-contact-form button{margin-top:6px}
.bb-contact-map{margin-top:32px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px -16px rgba(0,51,26,.25)}
.bb-contact-map iframe{display:block;width:100%;height:380px;border:0}

.bb-policy-card{max-width:880px;margin:0 auto}

@media (max-width:900px){
	.bb-page-hero{padding:32px 0 38px}
	.bb-page-hero h1{font-size:30px}
	.bb-page-lead{font-size:16px}
	.bb-prose{padding:22px 18px;font-size:15px}
	.bb-mv-grid{grid-template-columns:1fr}
	.bb-contact-grid{grid-template-columns:1fr}
	.bb-contact-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:500px){.bb-contact-cards{grid-template-columns:1fr}}

/* ============================================================
   PDP — Classic WooCommerce action bar (pdp_inline_form = OFF)
   ============================================================ */

/* Price card: regular (strikethrough) + sale + discount badge */
.pdp-price-card { display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; }
.pdp-price-card.has-sale .pdp-price-regular { color:#9aa1a8; text-decoration:line-through; font-size:1rem; font-weight:500; font-family:var(--font-display); }
.pdp-price-card.has-sale .pdp-price-amt { color:var(--primary); }
.pdp-price-card .pdp-price-save { background:color-mix(in srgb, var(--danger) 12%, #fff); color:var(--danger); font-weight:700; font-size:.78rem; padding:4px 9px; border-radius:999px; letter-spacing:.3px; }
.pdp-chip-style-square .pdp-var-chip{border-radius:8px!important;}
.pdp-chip-style-dot .pdp-var-chip{border-radius:12px!important;padding-left:38px;}
.pdp-chip-style-dot .pdp-var-chip::before{content:"";position:absolute;left:14px;top:50%;width:12px;height:12px;border-radius:50%;border:2px solid var(--line);transform:translateY(-50%);background:#fff;}
.pdp-chip-style-dot .pdp-var-chip.is-active::before{background:var(--primary);border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 16%, transparent);}

/* Discount badge on gallery */
.pdp-gallery { position:relative; }
.pdp-gallery-badge { position:absolute; top:14px; right:14px; z-index:5; background:#dc2626; color:#fff; font-weight:700; font-size:.85rem; padding:6px 12px; border-radius:999px; box-shadow:0 6px 16px -6px rgba(220,38,38,.6); letter-spacing:.3px; }

/* Action layout */
.pdp-buy-bar-classic { display:flex !important; flex-direction:column; gap:12px; align-items:stretch; }
.pdp-action-row { display:flex; gap:10px; align-items:stretch; }
.pdp-action-row-top .pdp-qty { flex:0 0 auto; }
.pdp-action-row-top .pdp-btn { flex:1; }

.pdp-btn { height:56px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:12px; font-family:inherit; font-size:15.5px; font-weight:700; cursor:pointer; padding:0 18px; transition:all .2s ease; letter-spacing:.2px; text-decoration:none; }
.pdp-btn:disabled{opacity:.72;cursor:wait;transform:none!important;}
.pdp-btn-block { width:100%; }

.pdp-btn-cart { background:#fff; color:var(--secondary); border:2px solid var(--secondary); }
.pdp-btn-cart:hover { background:var(--secondary); color:#fff; }

.pdp-btn-buy { background:var(--primary); color:#fff; box-shadow:0 14px 30px -14px rgba(0,102,52,.55); }
.pdp-btn-buy:hover { filter:brightness(.95); color:#fff; }
.pdp-btn-buy .pdp-btn-total { background:rgba(255,255,255,.18); padding:4px 10px; border-radius:8px; font-size:14px; font-weight:700; }

.pdp-contact-row { display:flex; gap:10px; }
.pdp-btn-wa, .pdp-btn-call { flex:1; color:#fff; }
.pdp-btn-wa { background:#25D366; color:#fff; box-shadow:0 12px 24px -14px rgba(37,211,102,.6); }
.pdp-btn-wa:hover { background:#128C7E; color:#fff; }
.pdp-btn-call { background:#f97316; box-shadow:0 12px 24px -14px rgba(249,115,22,.6); }
.pdp-btn-call:hover { background:#ea6a0c; color:#fff; }
.pdp-cart-msg{display:none;margin-top:2px;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:700;line-height:1.45;}
.pdp-cart-msg.is-ok,.pdp-cart-msg.is-success{display:block;background:rgba(37,211,102,.12);color:#08783c;border:1px solid rgba(37,211,102,.28);}
.pdp-cart-msg.is-info{display:none;}
.pdp-cart-msg.is-error{display:block;background:#fee2e2;color:#b91c1c;border:1px solid #fecaca;}

.pdp-classic-extras { margin:48px auto 0; max-width:1120px; }
.pdp-classic-extras .woocommerce-tabs { margin-bottom:48px; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px; box-shadow:0 12px 34px -28px rgba(0,51,26,.35); }
.pdp-classic-extras .woocommerce-tabs .tabs { display:flex; gap:8px; list-style:none; padding:0; margin:0 0 22px; border-bottom:1px solid var(--line); overflow-x:auto; scrollbar-width:none; }
.pdp-classic-extras .woocommerce-tabs .tabs::-webkit-scrollbar{display:none;}
.pdp-classic-extras .woocommerce-tabs .tabs li { margin:0!important; border:0!important; background:transparent!important; white-space:nowrap; }
.pdp-classic-extras .woocommerce-tabs .tabs li::before,.pdp-classic-extras .woocommerce-tabs .tabs li::after{display:none!important;}
.pdp-classic-extras .woocommerce-tabs .tabs li a { display:block; padding:12px 18px; color:var(--ink-soft); font-weight:700; text-decoration:none; border-bottom:3px solid transparent; margin-bottom:-1px; }
.pdp-classic-extras .woocommerce-tabs .tabs li.active a { color:var(--primary); border-bottom-color:var(--primary); }
.pdp-classic-extras .woocommerce-Tabs-panel{line-height:1.9;color:var(--ink);font-size:15.5px;}
.pdp-classic-extras .woocommerce-Tabs-panel h2{font-size:22px;color:var(--secondary);margin:0 0 12px;font-weight:800;}
.pdp-classic-extras #reviews #comments ol.commentlist{padding:0;margin:0 0 22px;list-style:none;display:grid;gap:12px;}
.pdp-classic-extras #reviews #comments ol.commentlist li{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;}
.pdp-classic-extras #review_form_wrapper{background:var(--bg);border:1px dashed var(--line);border-radius:14px;padding:18px;margin-top:18px;}
.pdp-classic-extras #review_form input,.pdp-classic-extras #review_form textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-family:inherit;background:#fff;}
.pdp-classic-extras #review_form input:focus,.pdp-classic-extras #review_form textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,102,52,.1);}
.pdp-classic-extras #review_form .form-submit input{width:auto;background:var(--primary);color:#fff;border:0;border-radius:10px;padding:13px 22px;font-weight:800;cursor:pointer;}
.pdp-classic-extras .related.products{margin-top:34px;}
.pdp-classic-extras .related.products > h2 { font-size:24px; font-weight:800; color:var(--secondary); margin:0 0 20px; padding-left:14px; border-left:4px solid var(--primary); line-height:1.2; }
.pdp-classic-extras .related.products ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;list-style:none;margin:0!important;padding:0!important;}
.pdp-classic-extras .related.products ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important;}
.pdp-classic-extras .related.products::before,.pdp-classic-extras .related.products::after,.pdp-classic-extras .related.products ul.products::before,.pdp-classic-extras .related.products ul.products::after{display:none!important;content:none!important;}

@media (max-width:640px){
	.pdp-btn { height:52px; font-size:14.5px; padding:0 14px; }
	.pdp-gallery-badge { top:10px; right:10px; font-size:.78rem; padding:5px 10px; }
	.pdp-buy-bar:not(.has-mobile-sticky){position:static;left:auto;right:auto;bottom:auto;z-index:auto;padding:0;background:transparent;border-top:0;box-shadow:none;margin-top:8px;}
	.pdp-buy-bar-classic{position:static!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;margin-top:8px!important;}
	.pdp-action-row{gap:8px;}
	.pdp-action-row-top{display:grid;grid-template-columns:auto minmax(0,1fr);}
	.pdp-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
	.pdp-classic-extras{margin-top:28px;}
	.pdp-classic-extras .woocommerce-tabs{padding:16px;border-radius:14px;margin-bottom:30px;}
	.pdp-classic-extras .woocommerce-tabs .tabs li a{padding:10px 14px;font-size:14px;}
	.pdp-classic-extras .related.products ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
}


/* v7.9.19 — Larger variation chips */
.pdp-var-chips{grid-template-columns:repeat(auto-fit,minmax(120px,max-content))!important;gap:12px!important;}
.pdp-var-chip{padding:14px 24px!important;font-size:17px!important;min-width:120px!important;max-width:none!important;border-radius:12px!important;border-width:2px!important;}
.pdp-var-chip .pdp-var-text{font-size:17px;font-weight:700;}
@media (max-width:768px){
  .pdp-var-chips{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:6px!important;}
  .pdp-var-chip{padding:8px 4px!important;font-size:11px!important;min-width:0!important;width:100%!important;max-width:none!important;min-height:38px!important;border-radius:9px!important;border-width:1.5px!important;box-sizing:border-box!important;letter-spacing:0!important;line-height:1.15!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .pdp-var-chip .pdp-var-text{font-size:11px!important;font-weight:600!important;line-height:1.15!important;white-space:nowrap!important;}
}



/* ============ Category Showcase (v7.9.28) ============ */
.bb-cat-showcase{padding:48px 0}
.bb-cat-showcase .bb-cat-card{display:flex;flex-direction:column;align-items:center;gap:10px;text-decoration:none;padding:14px 8px;border-radius:18px;transition:transform .35s ease, box-shadow .35s ease;background:transparent}
.bb-cat-showcase .bb-cat-card:hover{transform:translateY(-4px)}
.bb-cat-showcase .bb-cat-img{position:relative;display:flex;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;background:var(--surface,#fff);box-shadow:0 8px 24px -12px rgba(0,0,0,.18), inset 0 0 0 1px rgba(0,0,0,.04);overflow:hidden;transition:box-shadow .35s ease, transform .35s ease}
.bb-cat-showcase.bb-card-square .bb-cat-img{border-radius:18px;width:140px;height:140px}
.bb-cat-showcase .bb-cat-img::before{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;background:linear-gradient(135deg,var(--bb-primary,#006634),var(--bb-secondary,#00331A));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease}
.bb-cat-showcase .bb-cat-card:hover .bb-cat-img::before{opacity:1}
.bb-cat-showcase .bb-cat-card:hover .bb-cat-img{box-shadow:0 18px 38px -14px rgba(0,102,52,.35);transform:scale(1.04)}
.bb-cat-showcase .bb-cat-img img{width:100%;height:100%;object-fit:cover;display:block}
.bb-cat-showcase .bb-cat-ph{font-size:42px}
.bb-cat-showcase .bb-cat-name{font-family:'Hind Siliguri',sans-serif;font-weight:600;font-size:15px;color:var(--text,#222);text-align:center;line-height:1.3}
.bb-cat-showcase .bb-cat-count{font-size:12px;color:var(--ink-soft,#777);font-family:'Hind Siliguri',sans-serif}
@media (max-width: 980px){.bb-cat-showcase .bb-cat-img{width:96px;height:96px}.bb-cat-showcase.bb-card-square .bb-cat-img{width:110px;height:110px}}
@media (max-width: 640px){.bb-cat-showcase{padding:32px 0}.bb-cat-showcase .bb-cat-img{width:78px;height:78px}.bb-cat-showcase.bb-card-square .bb-cat-img{width:88px;height:88px}.bb-cat-showcase .bb-cat-name{font-size:13px}.bb-cat-showcase .bb-cat-count{font-size:11px}}

/* Slider */
.bb-cat-slider-wrap{position:relative}
.bb-cat-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 4px 14px;scrollbar-width:none}
.bb-cat-track::-webkit-scrollbar{display:none}
.bb-cat-track > .bb-cat-card{scroll-snap-align:start;flex:0 0 calc((100% - (var(--pc) - 1) * 22px) / var(--pc));min-width:0}
@media (max-width: 640px){.bb-cat-track{gap:12px}.bb-cat-track > .bb-cat-card{flex:0 0 calc((100% - (var(--mb) - 1) * 12px) / var(--mb))}}
.bb-cs-arrow{position:absolute;top:var(--bb-arr-top,50%);transform:translateY(-50%);z-index:3;width:32px;height:32px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background:#fff;color:var(--bb-primary,#006634);font-size:18px;line-height:1;cursor:pointer;box-shadow:0 6px 18px -10px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:transform .2s ease, background .2s ease;padding:0}
.bb-cs-arrow:hover{background:var(--bb-primary,#006634);color:#fff;transform:translateY(-50%) scale(1.06)}
.bb-cs-prev{left:-14px}.bb-cs-next{right:-14px}
@media (max-width: 640px){.bb-cs-arrow{width:26px;height:26px;font-size:15px}.bb-cs-prev{left:-8px}.bb-cs-next{right:-8px}}
.bb-arr-pc-0 .bb-cs-arrow{display:none}
@media (min-width: 641px){.bb-arr-pc-1 .bb-cs-arrow{display:flex}}
@media (max-width: 640px){.bb-arr-mb-0 .bb-cs-arrow{display:none}.bb-arr-mb-1 .bb-cs-arrow{display:flex}}
.bb-cat-noimg{padding-top:6px}
@media (min-width: 641px){.bb-cat-showcase.bb-cnt-pc-0 .bb-cat-count{display:none}}
@media (max-width: 640px){.bb-cat-showcase.bb-cnt-mb-0 .bb-cat-count{display:none}}

/* v7.9.42 — PDP mobile alignment guarantee (title/price/buy bar flush-left) */
@media (max-width: 640px){
	.pdp-page .pdp-info{padding:0 !important;text-align:left !important;}
	.pdp-page .pdp-info > *{margin-left:0 !important;margin-right:0 !important;}
	.pdp-page .pdp-title,
	.pdp-page .pdp-pill-row,
	.pdp-page .pdp-price-card,
	.pdp-page .pdp-var-block,
	.pdp-page .pdp-desc,
	.pdp-page .pdp-buy-bar,
	.pdp-page .pdp-buy-bar-classic,
	.pdp-page .pdp-action-row,
	.pdp-page .pdp-contact-row,
	.pdp-page .pdp-btn-block{display:flex;}
	.pdp-page .pdp-title{display:block;text-align:left;padding:0;}
	.pdp-page .pdp-price-card{display:inline-flex;width:auto;max-width:100%;align-self:flex-start;margin-left:0 !important;}
	.pdp-page .pdp-buy-bar-classic,
	.pdp-page .pdp-buy-bar{width:100%;box-sizing:border-box;}
	.pdp-page .pdp-action-row-top{display:grid !important;grid-template-columns:auto minmax(0,1fr) !important;gap:8px;width:100%;}
	.pdp-page .pdp-btn-buy{width:100%;justify-content:center;}
	.pdp-page .pdp-contact-row{display:grid !important;grid-template-columns:1fr 1fr;gap:8px;width:100%;}
	.pdp-page .pdp-qty{margin:0;}
}

/* v7.9.45 — Final product-card + checkout mobile alignment lock */
@media (max-width: 640px){
	.products-grid,
	.products-grid-shop,
	.woocommerce ul.products{
		align-items:stretch !important;
		grid-auto-rows:1fr !important;
	}
	.product-card{
		min-width:0 !important;
		height:100% !important;
		display:grid !important;
		grid-template-rows:auto 1fr !important;
		text-align:left !important;
	}
	.product-card-body{
		display:grid !important;
		grid-template-rows:42px 34px 36px !important;
		align-content:stretch !important;
		gap:7px !important;
		min-height:133px !important;
		padding:10px 10px 12px !important;
		text-align:left !important;
		box-sizing:border-box !important;
	}
	.product-card-title{
		align-self:start !important;
		min-height:0 !important;
		height:42px !important;
		max-height:42px !important;
		line-height:21px !important;
		margin:0 !important;
		text-align:left !important;
		-webkit-line-clamp:2 !important;
		overflow:hidden !important;
		font-size:13px !important;
	}
	.product-card-title a{
		display:block !important;
		line-height:inherit !important;
		min-width:0 !important;
	}
	.product-card-price{
		align-self:start !important;
		height:34px !important;
		max-height:34px !important;
		min-height:0 !important;
		display:flex !important;
		align-items:center !important;
		justify-content:flex-start !important;
		gap:4px !important;
		line-height:16px !important;
		text-align:left !important;
		margin:0 !important;
		font-size:13px !important;
		font-weight:800 !important;
		white-space:normal !important;
		overflow:hidden !important;
		word-break:normal !important;
	}
	.product-card-price .woocommerce-Price-amount,
	.product-card-price bdi{display:inline-flex !important;align-items:baseline !important;white-space:nowrap !important;line-height:16px !important;}
	.product-card-price del{font-size:11px !important;line-height:14px !important;margin:0 3px 0 0 !important;opacity:.68 !important;}
	.product-card-price ins{font-size:13px !important;line-height:16px !important;text-decoration:none !important;}
	.product-card .btn,
	.product-card-order{
		align-self:stretch !important;
		width:100% !important;
		margin:0 !important;
		white-space:nowrap !important;
		height:36px !important;
		min-height:36px !important;
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
		box-sizing:border-box !important;
	}
}

@media (max-width: 640px){
	body.bb-checkout main,
	body.bb-page-cart main{
		width:100% !important;
		max-width:100% !important;
		padding-left:0 !important;
		padding-right:0 !important;
		overflow:hidden !important;
	}
	body.bb-checkout .bb-checkout-form{
		width:100% !important;
		max-width:100% !important;
		margin:16px 0 44px !important;
		padding:0 12px !important;
		box-sizing:border-box !important;
		overflow:hidden !important;
	}
	body.bb-checkout .bb-checkout-wrap,
	body.bb-checkout .bb-checkout-main,
	body.bb-checkout .bb-checkout-side,
	body.bb-checkout .bb-checkout-card,
	body.bb-checkout .bb-checkout-summary,
	body.bb-checkout .bb-checkout-fields,
	body.bb-checkout #order_review,
	body.bb-checkout .bb-review{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-checkout-wrap{
		display:grid !important;
		grid-template-columns:minmax(0,1fr) !important;
		gap:16px !important;
	}
	body.bb-checkout .bb-checkout-card,
	body.bb-checkout .bb-checkout-summary{
		padding:18px !important;
		border-radius:14px !important;
		overflow:hidden !important;
	}
	body.bb-checkout .bb-checkout-fields .form-row,
	body.bb-checkout .woocommerce-billing-fields,
	body.bb-checkout .woocommerce-billing-fields__field-wrapper,
	body.bb-checkout .woocommerce-input-wrapper,
	body.bb-checkout .woocommerce-checkout-review-order-table,
	body.bb-checkout .shop_table{
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout input,
	body.bb-checkout select,
	body.bb-checkout textarea{
		max-width:100% !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-review .shop_table{
		table-layout:auto !important;
		font-size:13px !important;
		border-collapse:separate !important;
		border-spacing:0 !important;
	}
	body.bb-checkout .bb-review .shop_table thead{display:none !important;}
	body.bb-checkout .bb-review .shop_table tbody,
	body.bb-checkout .bb-review .shop_table tfoot{display:block !important;width:100% !important;}
	body.bb-checkout .bb-review .shop_table tr.cart_item,
	body.bb-checkout .bb-review .shop_table tfoot tr:not(.shipping){
		display:grid !important;
		grid-template-columns:minmax(0,1fr) auto !important;
		align-items:center !important;
		gap:10px !important;
		width:100% !important;
		padding:10px 0 !important;
		border-bottom:1px dashed var(--line) !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-review .shop_table th,
	body.bb-checkout .bb-review .shop_table td{
		display:block !important;
		padding-left:0 !important;
		padding-right:0 !important;
		padding-top:0 !important;
		padding-bottom:0 !important;
		min-width:0 !important;
		width:auto !important;
		max-width:100% !important;
		overflow-wrap:anywhere !important;
		border:0 !important;
	}
	body.bb-checkout .bb-review .product-total,
	body.bb-checkout .bb-review td:last-child{
		width:auto !important;
		max-width:none !important;
		min-width:76px !important;
		white-space:nowrap !important;
		text-align:right !important;
		font-size:12.5px !important;
		font-weight:800 !important;
		justify-self:end !important;
		align-self:center !important;
	}
	body.bb-checkout .bb-review .bb-line{
		display:grid !important;
		grid-template-columns:44px minmax(0,1fr) !important;
		gap:8px !important;
		align-items:center !important;
		min-width:0 !important;
	}
	body.bb-checkout .bb-review .bb-thumb{width:44px !important;height:44px !important;flex-basis:44px !important;border-radius:8px !important;}
	body.bb-checkout .bb-review .bb-meta,
	body.bb-checkout .bb-review .bb-pname{
		min-width:0 !important;
		max-width:100% !important;
		overflow-wrap:normal !important;
		word-break:normal !important;
		text-align:left !important;
	}
	body.bb-checkout .bb-review .bb-pname{display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;line-height:18px !important;font-size:13px !important;}
	body.bb-checkout .bb-review .bb-pqty{font-size:11px !important;line-height:15px !important;}
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping{display:block !important;width:100% !important;padding:10px 0 !important;border-bottom:1px dashed var(--line) !important;}
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping th,
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping td{display:block !important;width:100% !important;max-width:100% !important;text-align:left !important;padding:0 !important;}
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping th{margin-bottom:7px !important;}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method{display:grid !important;gap:6px !important;width:100% !important;min-width:0 !important;margin:0 !important;padding:0 !important;}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method li{display:grid !important;grid-template-columns:18px minmax(0,1fr) !important;gap:6px !important;align-items:start !important;}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method label{display:block !important;min-width:0 !important;line-height:18px !important;white-space:normal !important;}
	body.bb-checkout .bb-review .order-total{border-top:2px solid var(--primary) !important;border-bottom:0 !important;margin-top:4px !important;padding-top:12px !important;}
	body.bb-checkout .bb-review .order-total th,
	body.bb-checkout .bb-review .order-total td{font-size:15px !important;color:var(--primary) !important;}
	body.bb-checkout .bb-payment .wc_payment_method{
		padding-right:12px !important;
	}
	body.bb-checkout .bb-payment #place_order,
	body.bb-checkout .woocommerce-checkout #place_order{
		width:100% !important;
		max-width:100% !important;
		box-sizing:border-box !important;
		padding-left:14px !important;
		padding-right:14px !important;
	}
}

/* v7.9.46 — Checkout mobile order-summary hard lock */
@media (max-width: 640px){
	body.bb-checkout .bb-checkout-summary{
		padding:14px !important;
		border-radius:12px !important;
		overflow:hidden !important;
	}
	body.bb-checkout .bb-review .bb-order-table,
	body.bb-checkout .bb-review .shop_table{
		display:block !important;
		width:100% !important;
		min-width:0 !important;
		max-width:100% !important;
		border:0 !important;
		border-collapse:separate !important;
		border-spacing:0 !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-review .shop_table tbody,
	body.bb-checkout .bb-review .shop_table tfoot{
		display:block !important;
		width:100% !important;
		min-width:0 !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-review .shop_table tr.cart_item,
	body.bb-checkout .bb-review .shop_table tfoot tr.cart-subtotal,
	body.bb-checkout .bb-review .shop_table tfoot tr.fee,
	body.bb-checkout .bb-review .shop_table tfoot tr.tax-total,
	body.bb-checkout .bb-review .shop_table tfoot tr.order-total{
		display:grid !important;
		grid-template-columns:minmax(0,1fr) minmax(82px,max-content) !important;
		column-gap:10px !important;
		align-items:center !important;
		width:100% !important;
		min-width:0 !important;
		padding:10px 0 !important;
		border-bottom:1px dashed color-mix(in srgb, var(--secondary) 38%, transparent) !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-review .shop_table th,
	body.bb-checkout .bb-review .shop_table td{
		display:block !important;
		width:auto !important;
		min-width:0 !important;
		max-width:100% !important;
		padding:0 !important;
		border:0 !important;
		vertical-align:middle !important;
		box-sizing:border-box !important;
		line-height:1.35 !important;
	}
	body.bb-checkout .bb-review .product-name,
	body.bb-checkout .bb-review .shop_table th:first-child{
		justify-self:stretch !important;
		text-align:left !important;
		overflow:hidden !important;
	}
	body.bb-checkout .bb-review .product-total,
	body.bb-checkout .bb-review .shop_table td:last-child{
		justify-self:end !important;
		align-self:center !important;
		min-width:82px !important;
		max-width:96px !important;
		text-align:right !important;
		white-space:nowrap !important;
		font-size:12px !important;
		font-weight:900 !important;
		color:var(--secondary) !important;
		overflow:hidden !important;
		text-overflow:clip !important;
	}
	body.bb-checkout .bb-review .product-total .woocommerce-Price-amount,
	body.bb-checkout .bb-review .shop_table td:last-child .woocommerce-Price-amount,
	body.bb-checkout .bb-review .product-total bdi,
	body.bb-checkout .bb-review .shop_table td:last-child bdi{
		display:inline-flex !important;
		align-items:baseline !important;
		white-space:nowrap !important;
		font-size:inherit !important;
		line-height:1.2 !important;
	}
	body.bb-checkout .bb-review .bb-line{
		display:grid !important;
		grid-template-columns:44px minmax(0,1fr) !important;
		gap:8px !important;
		align-items:center !important;
		width:100% !important;
		min-width:0 !important;
	}
	body.bb-checkout .bb-review .bb-thumb{
		width:44px !important;
		height:44px !important;
		min-width:44px !important;
		border-radius:8px !important;
	}
	body.bb-checkout .bb-review .bb-meta{
		display:flex !important;
		flex-direction:column !important;
		gap:2px !important;
		min-width:0 !important;
		max-width:100% !important;
		overflow:hidden !important;
	}
	body.bb-checkout .bb-review .bb-pname{
		display:-webkit-box !important;
		-webkit-line-clamp:2 !important;
		-webkit-box-orient:vertical !important;
		overflow:hidden !important;
		font-size:12.5px !important;
		font-weight:800 !important;
		line-height:16px !important;
		color:var(--secondary) !important;
	}
	body.bb-checkout .bb-review .bb-pqty,
	body.bb-checkout .bb-review .variation,
	body.bb-checkout .bb-review .variation *{
		font-size:10.5px !important;
		line-height:14px !important;
		color:var(--ink-soft) !important;
		margin:0 !important;
	}
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping,
	body.bb-checkout .bb-review .shop_table tfoot tr.woocommerce-shipping-totals{
		display:block !important;
		width:100% !important;
		min-width:0 !important;
		padding:10px 0 !important;
		border-bottom:1px dashed color-mix(in srgb, var(--secondary) 38%, transparent) !important;
		box-sizing:border-box !important;
	}
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping th,
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping td,
	body.bb-checkout .bb-review .shop_table tfoot tr.woocommerce-shipping-totals th,
	body.bb-checkout .bb-review .shop_table tfoot tr.woocommerce-shipping-totals td{
		display:block !important;
		width:100% !important;
		max-width:100% !important;
		min-width:0 !important;
		padding:0 !important;
		text-align:left !important;
	}
	body.bb-checkout .bb-review .shop_table tfoot tr.shipping th,
	body.bb-checkout .bb-review .shop_table tfoot tr.woocommerce-shipping-totals th{
		margin:0 0 7px !important;
		font-size:12.5px !important;
		font-weight:900 !important;
		color:var(--secondary) !important;
	}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method,
	body.bb-checkout .bb-review tr.woocommerce-shipping-totals ul#shipping_method{
		display:grid !important;
		gap:6px !important;
		width:100% !important;
		min-width:0 !important;
		margin:0 !important;
		padding:0 !important;
		list-style:none !important;
	}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method li,
	body.bb-checkout .bb-review tr.woocommerce-shipping-totals ul#shipping_method li{
		display:grid !important;
		grid-template-columns:18px minmax(0,1fr) !important;
		gap:6px !important;
		align-items:start !important;
		width:100% !important;
		min-width:0 !important;
		margin:0 !important;
	}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method input,
	body.bb-checkout .bb-review tr.woocommerce-shipping-totals ul#shipping_method input{
		width:14px !important;
		height:14px !important;
		margin:2px 0 0 !important;
		accent-color:var(--primary) !important;
	}
	body.bb-checkout .bb-review tr.shipping ul#shipping_method label,
	body.bb-checkout .bb-review tr.woocommerce-shipping-totals ul#shipping_method label{
		display:block !important;
		min-width:0 !important;
		max-width:100% !important;
		font-size:11.5px !important;
		line-height:16px !important;
		font-weight:800 !important;
		color:var(--secondary) !important;
		white-space:normal !important;
		overflow-wrap:anywhere !important;
	}
	body.bb-checkout .bb-review .order-total{
		border-top:2px solid var(--primary) !important;
		border-bottom:0 !important;
		margin-top:2px !important;
		padding-top:12px !important;
	}
	body.bb-checkout .bb-review .order-total th,
	body.bb-checkout .bb-review .order-total td,
	body.bb-checkout .bb-review .order-total strong,
	body.bb-checkout .bb-review .order-total bdi{
		font-size:14px !important;
		font-weight:900 !important;
		color:var(--primary) !important;
	}
}
