/*
Theme Name: Desher Dana
Theme URI: https://desherdana.com
Author: Desher Dana
Description: দেশের দানার জন্য বানানো WooCommerce থিম। বাংলা ও ইংরেজি দুই ভাষা, "এখনই কিনুন" বাটন, তাজা বাজারের "শীঘ্রই আসছে" অংশ আর ক্যাশ অন ডেলিভারি চেকআউট।
Version: 1.9.4
Requires at least: 6.2
Requires PHP: 7.4
WC requires at least: 8.0
License: GNU General Public License v2 or later
Text Domain: desherdana
*/

/* Layout: forest-green masthead and hero, paper-white shelves of product cards, leaf-green actions, carrot-orange only for status badges */
:root {
	--forest: #173b24;
	--forest-2: #22502f;
	--leaf: #3f7d34;
	--fresh: #4a9330;
	--fresh-hover: #3d7f27;
	--orange: #d8692a;
	--orange-soft: #fcefe4;
	--tomato: #c4432e;
	--paper: #fbfaf5;
	--surface: #ffffff;
	--ink: #1c241d;
	--muted: #5d695d;
	--line: #e3e6da;
	--mist: #eef2e6;
	--display: "Tiro Bangla", "Noto Serif Bengali", Georgia, serif;
	--display-en: "Fraunces", "Tiro Bangla", Georgia, serif;
	--body: "Hind Siliguri", "Noto Sans Bengali", system-ui, -apple-system, "Segoe UI", sans-serif;
	--radius: 14px;
	--shadow: 0 1px 2px rgba(23, 59, 36, .06), 0 8px 24px rgba(23, 59, 36, .07);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--body);
	font-size: 16px;
	line-height: 1.65;
}
img { max-width: 100%; height: auto; }
a { color: var(--forest-2); }
a:hover { color: var(--leaf); }
:focus-visible { outline: 2px solid var(--fresh); outline-offset: 2px; }

h1, h2, h3 { font-family: var(--display); font-weight: 400; line-height: 1.25; text-wrap: balance; margin: 0 0 .5em; color: var(--forest); }
.dd-lang-en h1, .dd-lang-en h2, .dd-lang-en h3 { font-family: var(--display-en); font-weight: 600; letter-spacing: -.01em; }
h1 { font-size: clamp(30px, 5vw, 48px); }
h2 { font-size: clamp(24px, 3.4vw, 34px); }
h3 { font-size: 20px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.dd-skip:focus { clip: auto; width: auto; height: auto; z-index: 100; background: var(--surface); padding: 8px 12px; left: 8px; top: 8px; }

.dd-wrap { max-width: 1240px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.dd-muted { color: var(--muted); }
.dd-eyebrow { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--leaf); margin-bottom: 6px; }
.dd-eyebrow-light { color: #b8dc9a; }
.dd-icon { display: block; flex: none; }

/* ------------------------------------------------------------ Buttons */
.dd-btn, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	font: 600 15px/1.2 var(--body);
	padding: 12px 20px; border-radius: 999px; border: 1.5px solid transparent;
	background: var(--forest); color: #fff; text-decoration: none; cursor: pointer;
	transition: background .15s, color .15s, border-color .15s;
}
.dd-btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--forest-2); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #place_order, .woocommerce .checkout-button {
	background: var(--forest); color: #fff; font-size: 17px; padding: 15px 26px;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--leaf); }
.dd-btn-light { background: #fff; color: var(--forest); }
.dd-btn-light:hover { background: #e8f3df; color: var(--forest); }
.dd-btn-ghost-light { background: transparent; border-color: rgba(255,255,255,.55); color: #fff; }
.dd-btn-ghost-light:hover { background: rgba(255,255,255,.1); color: #fff; }
.dd-btn-outline { background: transparent; border-color: var(--forest); color: var(--forest); }
.dd-btn-outline:hover { background: var(--forest); color: #fff; }
.dd-btn-primary { background: var(--forest); color: #fff; }
.dd-btn-buy, .woocommerce a.button.dd-btn-buy { background: var(--fresh); color: #fff; }
.dd-btn-buy:hover, .woocommerce a.button.dd-btn-buy:hover { background: var(--fresh-hover); color: #fff; }
.dd-btn-disabled { background: var(--mist); color: var(--muted); cursor: default; }
.dd-btn-disabled:hover { background: var(--mist); color: var(--muted); }
.dd-link { font-weight: 600; text-decoration: none; color: var(--forest-2); white-space: nowrap; }

/* ------------------------------------------------------------ Header */
.dd-notice { background: var(--forest); color: #e9e2c8; font-size: 13.5px; text-align: center; }
.dd-notice .dd-wrap { padding-block: 7px; }
.dd-header { background: var(--surface); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 50; }
.admin-bar .dd-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .dd-header { top: 0; } }
.dd-header-row { display: flex; align-items: center; gap: 20px; min-height: 76px; }
.dd-logo img, .custom-logo { display: block; height: 62px; width: auto; }
.dd-nav { display: flex; align-items: center; gap: 20px; flex: 1; min-width: 0; }
.dd-nav ul { list-style: none; display: flex; gap: 4px; margin: 0; padding: 0; flex-wrap: wrap; }
.dd-nav a { display: block; padding: 8px 12px; border-radius: 999px; text-decoration: none; color: var(--ink); font-weight: 500; }
.dd-nav a:hover { background: var(--mist); color: var(--forest); }
.dd-tag { font-size: 11px; font-weight: 600; background: var(--orange); color: #fff; border-radius: 999px; padding: 1px 7px; vertical-align: 2px; }
.dd-search { margin-left: auto; display: flex; align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; padding: 2px 4px 2px 14px; min-width: 0; }
.dd-search input { border: 0; background: transparent; font: inherit; padding: 7px 0; width: 180px; min-width: 0; color: var(--ink); }
.dd-search input:focus { outline: none; }
.dd-search:focus-within { border-color: var(--leaf); }
.dd-search button { border: 0; background: none; color: var(--muted); padding: 6px; cursor: pointer; }
.dd-header-actions { display: flex; align-items: center; gap: 10px; }
.dd-lang {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 14px 7px 11px; border-radius: 999px; border: 1px solid var(--line);
	background: var(--mist); color: var(--forest); font-weight: 600; font-size: 14px; text-decoration: none; line-height: 1;
}
.dd-lang:hover { border-color: var(--leaf); color: var(--forest); background: #e4ebd9; }
.dd-lang .dd-icon { width: 18px; height: 18px; }
.dd-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 999px; border: 0; background: transparent; color: var(--forest); cursor: pointer; text-decoration: none; }
.dd-icon-btn:hover { background: var(--mist); color: var(--forest); }
.dd-icon-btn .dd-icon { width: 23px; height: 23px; }
.dd-cart-count { position: absolute; top: 2px; right: 0; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: var(--tomato); color: #fff; font-size: 11px; font-weight: 700; line-height: 19px; text-align: center; }
.dd-menu-toggle { display: none; }

@media (max-width: 1240px) {
	.dd-search input { width: 120px; }
	.dd-nav a { padding: 8px 9px; }
}
@media (max-width: 1100px) {
	.dd-menu-toggle { display: inline-flex; }
	.dd-header-row { gap: 8px; min-height: 64px; }
	.dd-logo img, .custom-logo { height: 50px; }
	.dd-header-actions { margin-left: auto; }
	.dd-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		flex-direction: column; align-items: stretch; gap: 12px;
		background: var(--surface); border-bottom: 1px solid var(--line); box-shadow: var(--shadow);
		padding: 12px max(16px, env(safe-area-inset-right, 0px)) 18px max(16px, env(safe-area-inset-left, 0px));
	}
	.dd-nav.is-open { display: flex; }
	.dd-nav ul { flex-direction: column; }
	.dd-nav a { padding: 11px 12px; border-radius: 10px; }
	.dd-search { margin-left: 0; }
	.dd-search input { width: 100%; flex: 1; }
}

/* ------------------------------------------------------------ Hero */
.dd-hero { background: radial-gradient(120% 90% at 85% 40%, #2b5d38 0%, var(--forest) 60%); color: #f3efe2; overflow: hidden; }
.dd-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 32px; padding-block: 56px 64px; }
.dd-hero h1 { color: #fff; font-size: clamp(34px, 5.4vw, 60px); margin-bottom: 16px; }
.dd-hero p { font-size: 18px; max-width: 34em; color: #e3e6d6; margin: 0 0 28px; }
.dd-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
.dd-hero-art { display: flex; justify-content: center; }
.dd-hero-art img { width: min(100%, 400px); background: var(--paper); border-radius: 50%; padding: 40px 34px; box-shadow: 0 0 0 10px rgba(255,255,255,.06), 0 0 0 22px rgba(255,255,255,.035); }
@media (max-width: 760px) {
	.dd-hero-grid { grid-template-columns: 1fr; padding-block: 36px 44px; }
	.dd-hero-art img { width: 220px; padding: 22px 18px; }
	.dd-hero p { font-size: 16.5px; }
}

/* ------------------------------------------------------------ Trust strip */
.dd-trust { background: var(--surface); border-bottom: 1px solid var(--line); }
.dd-trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding-block: 22px; }
.dd-trust-item { display: flex; gap: 12px; align-items: center; min-width: 0; }
.dd-trust-icon { flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--mist); color: var(--leaf); display: grid; place-items: center; }
.dd-trust-item strong { display: block; font-weight: 600; line-height: 1.3; }
.dd-trust-item span { font-size: 14px; color: var(--muted); }
@media (max-width: 900px) { .dd-trust-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 460px) { .dd-trust-grid { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------ Sections */
.dd-section { padding-block: 56px; }
.dd-section + .dd-section { padding-top: 8px; }
.dd-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.dd-section-head h2 { margin-bottom: 4px; }
.dd-section-head p { margin: 0; }

.dd-cats { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 14px; }
.dd-cat { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 10px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); text-decoration: none; color: var(--ink); text-align: center; transition: border-color .15s, transform .15s; }
.dd-cat:hover { border-color: var(--leaf); transform: translateY(-2px); color: var(--forest); }
.dd-cat-mark { width: 60px; height: 60px; border-radius: 50%; background: var(--mist); color: var(--forest); display: grid; place-items: center; font-family: var(--display); font-size: 28px; }
.dd-cat-img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.dd-cat-name { font-weight: 600; line-height: 1.3; }

.dd-fresh .dd-fresh-banner, .dd-fresh-banner {
	display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
	background: linear-gradient(100deg, #eaf4e0, #f4f8ee); border: 1px solid #d5e5c4; border-radius: var(--radius);
	padding: 26px 28px; margin-bottom: 26px;
}
.dd-fresh-banner h2 { margin: 8px 0 6px; }
.dd-fresh-banner p { margin: 0; max-width: 46em; color: var(--muted); }
.dd-fresh-banner-top p { margin-top: 8px; color: var(--ink); }
.dd-badge-soon { display: inline-block; background: var(--orange); color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: .03em; padding: 3px 10px; border-radius: 999px; }
.dd-badge-sale { display: inline-block; background: var(--tomato); color: #fff; font-size: 12.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }

.dd-story { background: var(--surface); border-block: 1px solid var(--line); margin-top: 32px; }
.dd-section.dd-story { padding-block: 56px; }
.dd-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.dd-story p { font-size: 17.5px; margin-top: 0; }
@media (max-width: 760px) { .dd-story-grid { grid-template-columns: 1fr; gap: 8px; } }

.dd-cta-strip { background: var(--forest); color: #e3e6d6; }
.dd-section.dd-cta-strip { padding-block: 40px; }
.dd-cta-strip h2 { color: #fff; margin-bottom: 4px; }
.dd-cta-strip p { margin: 0; }
.dd-cta-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.dd-cta-actions { display: flex; gap: 12px; flex-wrap: wrap; }

/* ------------------------------------------------------------ Product grid & cards */
.woocommerce ul.products, ul.products {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1000px) { .woocommerce ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .woocommerce ul.products, .woocommerce ul.products.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

.woocommerce ul.products li.product.dd-card {
	width: auto; margin: 0; float: none; padding: 0;
	display: flex; flex-direction: column;
	background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
	transition: box-shadow .2s, border-color .2s;
}
.woocommerce ul.products li.product.dd-card:hover { box-shadow: var(--shadow); border-color: #d5dbc8; }
.dd-card-media { position: relative; display: block; aspect-ratio: 1 / 1; background: var(--mist); overflow: hidden; max-width: 100%; }
.woocommerce ul.products li.product .dd-card-media img { width: 100%; height: 100%; object-fit: cover; margin: 0; transition: transform .35s; }
.dd-card:hover .dd-card-media img { transform: scale(1.04); }
.dd-card-media .dd-badge-soon, .dd-card-media .dd-badge-sale { position: absolute; top: 10px; left: 10px; }
.dd-card-soon .dd-card-media img { filter: saturate(.6); opacity: .85; }
.dd-card-body { display: flex; flex-direction: column; gap: 4px; padding: 14px 14px 16px; flex: 1; min-width: 0; }
.dd-card-cat { font-size: 12.5px; color: var(--leaf); font-weight: 600; letter-spacing: .03em; }
.woocommerce ul.products li.product .dd-card-title { font-family: var(--body); font-size: 16.5px; font-weight: 600; line-height: 1.35; margin: 0; padding: 0; color: var(--ink); }
.dd-card-title a { color: inherit; text-decoration: none; }
.dd-card-title a:hover { color: var(--leaf); }
.woocommerce ul.products li.product .dd-card-price, .dd-card-price { color: var(--forest); font-weight: 700; font-size: 17px; margin: 2px 0 10px; }
.dd-card-price del { color: var(--muted); font-weight: 400; font-size: 14px; margin-right: 4px; }
.dd-card-price ins { text-decoration: none; }
.dd-card-actions { margin-top: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.dd-card-actions > *:only-child { grid-column: 1 / -1; }
.woocommerce ul.products li.product .dd-card-actions .button,
.dd-card-actions .dd-btn { margin: 0; width: 100%; padding: 10px 8px; font-size: 14px; border-radius: 10px; text-align: center; }
.woocommerce ul.products li.product .dd-card-actions .button { background: var(--surface); color: var(--forest); border: 1.5px solid var(--forest); }
.woocommerce ul.products li.product .dd-card-actions .button:hover { background: var(--forest); color: #fff; }
.woocommerce ul.products li.product .dd-card-actions .button.loading { opacity: .6; }
.woocommerce ul.products li.product .dd-card-actions .button.added::after { margin-left: 4px; }
.woocommerce ul.products li.product .dd-card-actions a.added_to_cart { display: none; }
@media (max-width: 460px) {
	.dd-card-actions { grid-template-columns: 1fr; }
	.dd-card-body { padding: 10px 10px 12px; }
	.woocommerce ul.products li.product .dd-card-title { font-size: 15px; }
}

/* ------------------------------------------------------------ Shop pages */
.dd-shop { padding-block: 32px 64px; }
.woocommerce .woocommerce-breadcrumb { font-size: 14px; color: var(--muted); margin-bottom: 14px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--muted); }
.woocommerce-products-header__title.page-title { margin-bottom: 8px; }
.woocommerce .woocommerce-result-count { color: var(--muted); font-size: 14px; margin: 8px 0 20px; }
.woocommerce .woocommerce-ordering { margin: 0 0 20px; }
.woocommerce .woocommerce-ordering select, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce .quantity .qty, .select2-container .select2-selection--single {
	font: inherit; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; background: var(--surface); color: var(--ink); min-height: 46px;
}
.select2-container .select2-selection--single { height: 46px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 24px; padding-left: 0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 44px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--leaf); outline: none; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: 999px; min-width: 40px; padding: 9px; border: 1px solid var(--line); background: var(--surface); }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--forest); color: #fff; border-color: var(--forest); }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 48px; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: auto; float: none; margin: 0; min-width: 0; }
.woocommerce div.product div.images img { border-radius: var(--radius); background: var(--mist); }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: clamp(28px, 3.6vw, 40px); margin-bottom: 8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--forest); font-size: 26px; font-weight: 700; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); font-size: 17px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 22px 0; }
.woocommerce div.product form.cart::before, .woocommerce div.product form.cart::after { display: none; }
.woocommerce div.product form.cart div.quantity { float: none; margin: 0; }
.woocommerce div.product form.cart .button { float: none; flex: 1 1 160px; padding: 15px 22px; font-size: 16px; }
.woocommerce .quantity .qty { width: 76px; text-align: center; }
.woocommerce div.product .stock { color: var(--leaf); font-weight: 600; }
.woocommerce div.product .stock.out-of-stock { display: inline-block; color: #8a3d12; background: var(--orange-soft); border: 1px solid #f0c9a8; padding: 10px 14px; border-radius: 10px; }
.woocommerce div.product .product_meta { font-size: 14px; color: var(--muted); display: grid; gap: 2px; }
.woocommerce span.onsale { background: var(--tomato); border-radius: 999px; min-height: 0; min-width: 0; padding: 4px 12px; line-height: 1.4; top: 12px; left: 12px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 18px; border-bottom: 1px solid var(--line); display: flex; gap: 4px; flex-wrap: wrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 16px; font-weight: 600; color: var(--muted); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--forest); box-shadow: inset 0 -2px 0 var(--fresh); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 760px; }
.woocommerce div.product .woocommerce-tabs .panel h2:first-child { display: none; }
.related.products > h2, .upsells.products > h2 { margin: 40px 0 20px; }
@media (max-width: 760px) { .woocommerce div.product { grid-template-columns: 1fr; } }

/* Product landing page */
.woocommerce div.product.dd-landing { display: block; }
.dd-lp-hero { background: linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%); border-bottom: 1px solid var(--line); }
.dd-lp-hero > .dd-wrap { padding-block: 22px 48px; }
.dd-lp-crumbs { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 20px; }
.dd-lp-crumbs .woocommerce-breadcrumb { margin: 0; }
.dd-lp-home { font-weight: 600; text-decoration: none; background: var(--mist); padding: 5px 12px; border-radius: 999px; font-size: 14px; }
.dd-lp-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 28px 52px; align-items: start; }
.dd-lp-gallery { position: relative; min-width: 0; }
.woocommerce div.product.dd-landing div.images, .woocommerce div.product.dd-landing div.summary { width: auto; float: none; margin: 0; }
.dd-lp-summary { min-width: 0; }
.dd-lp-summary .dd-badge-soon { margin-bottom: 10px; }
.dd-lp-summary form.cart .button { min-height: 52px; }
.dd-lp-facts { list-style: none; padding: 16px 0 0; margin: 4px 0 0; border-top: 1px dashed var(--line); display: grid; gap: 10px; }
.dd-lp-facts li { display: flex; align-items: center; gap: 10px; color: var(--ink); }
.dd-lp-facts .dd-icon { color: var(--leaf); }
.dd-lp-phone { margin: 14px 0 0; font-size: 15px; color: var(--muted); }
.dd-lp-phone a { font-weight: 600; }
.dd-lp-section { padding-block: 52px; }
.dd-lp-section + .dd-lp-section { border-top: 1px solid var(--line); }
.dd-lp-narrow { max-width: 860px; }
.dd-lp-benefits { background: var(--surface); }
.dd-lp-benefit-list { list-style: none; padding: 0; margin: 18px 0 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; }
.dd-lp-benefit-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 17px; }
.dd-lp-check { flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--leaf); color: #fff; display: grid; place-items: center; font-size: 15px; font-weight: 700; margin-top: 1px; }
.dd-lp-video { position: relative; aspect-ratio: 16 / 9; max-width: 100%; border-radius: var(--radius); overflow: hidden; background: #000; }
.dd-lp-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dd-lp-steps-band { background: var(--forest); color: #e3e6d6; }
.dd-lp-section.dd-lp-steps-band { border-top: 0; }
.dd-lp-steps-band h2 { color: #fff; }
.dd-lp-steps { list-style: none; counter-reset: step; padding: 0; margin: 22px 0 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.dd-lp-steps li { counter-increment: step; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); padding: 18px 18px 18px 64px; position: relative; display: grid; gap: 2px; }
.dd-lp-steps li::before { content: counter(step); position: absolute; left: 18px; top: 18px; width: 32px; height: 32px; border-radius: 50%; background: var(--fresh); color: #fff; font-weight: 700; display: grid; place-items: center; }
.dd-lp-steps strong { color: #fff; font-weight: 600; }
.dd-lp-steps span { font-size: 14.5px; color: #c9d1c3; }
.dd-lp-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.dd-lp-cta .dd-btn { font-size: 16px; padding: 14px 24px; }
.dd-lp-cta .woocommerce-Price-amount { font-weight: 700; }
.dd-lp-faq { display: grid; gap: 10px; margin-top: 16px; }
.dd-lp-faq details { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 0 18px; }
.dd-lp-faq summary { cursor: pointer; font-weight: 600; padding: 15px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.dd-lp-faq summary::-webkit-details-marker { display: none; }
.dd-lp-faq summary::after { content: "+"; color: var(--leaf); font-size: 22px; line-height: 1; }
.dd-lp-faq details[open] summary::after { content: "−"; }
.dd-lp-faq details p { margin: 0 0 16px; color: var(--muted); }
.dd-lp-reviews #reviews #comments h2 { font-size: 26px; }
.woocommerce .dd-lp-reviews #reviews #comments ol.commentlist li .comment-text { border-color: var(--line); border-radius: 12px; }
.dd-lp-back { margin: 36px 0 0; text-align: center; }
.dd-buybar { display: none; }
@media (max-width: 760px) {
	.dd-lp-hero-grid, .dd-lp-benefit-list, .dd-lp-steps { grid-template-columns: 1fr; }
	.dd-lp-section { padding-block: 40px; }
	.dd-buybar {
		display: flex; align-items: center; gap: 12px; justify-content: space-between;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
		background: var(--surface); border-top: 1px solid var(--line); box-shadow: 0 -6px 18px rgba(23,59,36,.08);
		padding: 10px max(16px, env(safe-area-inset-right, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
	}
	.dd-buybar-info { display: grid; min-width: 0; line-height: 1.3; }
	.dd-buybar-name { font-size: 13.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.dd-buybar-price { font-weight: 700; color: var(--forest); font-size: 17px; }
	.dd-buybar .dd-btn { flex: none; }
	.dd-has-buybar { padding-bottom: 72px; }
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-radius: 10px; border-top-width: 0; border-left: 4px solid var(--leaf); background: var(--surface); box-shadow: var(--shadow); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--leaf); }
.woocommerce-error { border-left-color: var(--tomato); }
.woocommerce-message .button { float: right; }

/* Cart & checkout */
.dd-page { padding-block: 40px 72px; max-width: 760px; }
.dd-page-wide { max-width: none; }
.dd-page-head { margin-bottom: 24px; }
.woocommerce table.shop_table { border-radius: var(--radius); border-color: var(--line); background: var(--surface); border-collapse: separate; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--line); padding: 14px 12px; }
.woocommerce table.cart img { width: 64px; border-radius: 8px; }
.woocommerce-cart .cart-collaterals .cart_totals { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.woocommerce-checkout #order_review_heading { margin-top: 28px; }
.woocommerce-checkout #payment { background: var(--mist); border-radius: 12px; }
.woocommerce-checkout #payment div.payment_box { background: var(--surface); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--surface); }
.woocommerce form .form-row label { font-weight: 600; }
.woocommerce-checkout #place_order { width: 100%; float: none; }
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.2fr 1fr; gap: 0 28px; align-items: start; }
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; }
	.woocommerce-checkout form.checkout #customer_details { grid-row: span 2; }
	.woocommerce-checkout form.checkout #order_review_heading { margin-top: 0; }
	.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
}
.woocommerce-order-received .woocommerce-thankyou-order-received { font-size: 20px; color: var(--forest); font-weight: 600; }

/* ------------------------------------------------------------ Content pages */
.dd-prose { font-size: 17px; }
.dd-prose h2 { margin-top: 1.6em; }
.dd-prose h3 { margin: 1.4em 0 .3em; font-family: var(--body); font-weight: 600; font-size: 18.5px; color: var(--forest); }
.dd-prose ul { padding-left: 1.2em; }
.dd-prose li { margin-bottom: .4em; }
.dd-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 8px 0 20px; }
.dd-contact-item { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; display: grid; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.dd-contact-item a { font-weight: 600; font-size: 18px; text-decoration: none; }
.dd-contact-social { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 560px) { .dd-contact-grid { grid-template-columns: 1fr; } }
.dd-reviews { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.dd-review { margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; }
.dd-review blockquote { margin: 6px 0 10px; }
.dd-review figcaption { font-size: 14px; color: var(--muted); }
.dd-stars { color: var(--orange); letter-spacing: 2px; }
.dd-post-list { display: grid; gap: 24px; }
.dd-404 { text-align: center; margin: 0 auto; }

/* ------------------------------------------------------------ Footer */
.dd-footer { background: #10291a; color: #c9d1c3; margin-top: 0; }
.dd-footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 32px; padding-block: 52px 36px; }
.dd-footer-brand img { background: var(--paper); border-radius: 14px; padding: 8px 10px; }
.dd-footer-brand p { max-width: 26em; margin: 14px 0 0; }
.dd-footer-title { font-family: var(--body); font-size: 15px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; margin-bottom: 12px; }
.dd-lang-en .dd-footer-title { font-family: var(--body); font-weight: 600; letter-spacing: .06em; }
.dd-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.dd-footer a { color: #c9d1c3; text-decoration: none; }
.dd-footer a:hover { color: #9fd27c; }
.dd-footer-social { display: flex; gap: 14px; }
.dd-footer-bottom { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,.1); padding-block: 18px; font-size: 14px; color: #9aa697; }
@media (max-width: 900px) { .dd-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .dd-footer-grid { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.dd-card:hover .dd-card-media img, .dd-cat:hover { transform: none; }
}

/* ------------------------------------------------------------ Home carousel */
.dd-carousel { position: relative; width: min(100%, 440px); margin-inline: auto; }
.dd-slides { position: relative; aspect-ratio: 1 / 1; max-width: 100%; }
.dd-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .6s ease, visibility .6s; }
.dd-slide.is-active { opacity: 1; visibility: visible; }
.dd-slide-link { display: block; height: 100%; color: inherit; text-decoration: none; }
.dd-slide-media { display: block; height: 100%; border-radius: 50%; overflow: hidden; background: var(--paper); box-shadow: 0 0 0 10px rgba(255,255,255,.06), 0 0 0 22px rgba(255,255,255,.035); }
.dd-slide-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dd-slide-brand .dd-slide-media img { object-fit: contain; padding: 14% 12%; }
.dd-slide-offer .dd-slide-media, .dd-slide-product .dd-slide-media { border-radius: 24px; }
.dd-slide-caption {
	position: absolute; left: 16px; right: 16px; bottom: 16px; display: grid; gap: 2px;
	background: rgba(16, 41, 26, .82); color: #fff; border-radius: 14px; padding: 12px 16px; backdrop-filter: blur(4px);
}
.dd-slide-caption strong { font-size: 18px; line-height: 1.3; }
.dd-slide-caption span { font-size: 14.5px; color: #dfe8d8; }
.dd-slide-kicker { font-size: 12px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #b8dc9a !important; }
.dd-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; }
.dd-dot { width: 10px; height: 10px; border-radius: 999px; border: 0; padding: 0; background: rgba(255,255,255,.35); cursor: pointer; transition: width .2s, background .2s; }
.dd-dot.is-active { width: 26px; background: #fff; }
@media (max-width: 760px) {
	.dd-carousel { width: min(100%, 300px); }
	.dd-slide-caption strong { font-size: 16px; }
}

/* Category tiles */
.dd-cat-mark { background: var(--mist); }
.dd-cat-mark svg { width: 40px; height: 40px; }

/* Sale badge */
.woocommerce span.onsale { background: var(--orange); }
.dd-badge-sale { background: var(--orange); }

/* ------------------------------------------------------------ Landing order form */
.dd-lp-order { background: var(--surface); }
.dd-qo { margin-top: 18px; display: grid; gap: 18px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.dd-qo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.dd-qo-field { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.dd-qo-wide { grid-column: 1 / -1; }
.dd-qo-field > label, .dd-qo-field legend { font-weight: 600; padding: 0; }
.dd-qo input[type=text], .dd-qo input[type=tel], .dd-qo input[type=number], .dd-qo textarea {
	width: 100%; font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; min-height: 48px;
}
.dd-qo input:focus, .dd-qo textarea:focus { border-color: var(--fresh); outline: none; box-shadow: 0 0 0 3px rgba(74, 147, 48, .15); }
.dd-qo-area { display: flex; flex-wrap: wrap; gap: 10px; }
.dd-qo-area legend { width: 100%; margin-bottom: 6px; }
.dd-qo-area label { flex: 1 1 200px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); background: var(--surface); border-radius: 10px; padding: 11px 14px; cursor: pointer; }
.dd-qo-area label:has(input:checked) { border-color: var(--fresh); background: #eef6e6; }
.dd-qo-area input { accent-color: var(--fresh); width: 18px; height: 18px; margin: 0; }
.dd-qo-area strong { margin-left: auto; color: var(--forest); }
.dd-qo-qty { display: flex; align-items: stretch; max-width: 170px; }
.dd-qo-qty button { width: 46px; border: 1px solid var(--line); background: var(--mist); color: var(--forest); font-size: 20px; cursor: pointer; }
.dd-qo-qty button:first-child { border-radius: 10px 0 0 10px; }
.dd-qo-qty button:last-child { border-radius: 0 10px 10px 0; }
.dd-qo .dd-qo-qty input { border-radius: 0; border-inline: 0; text-align: center; -moz-appearance: textfield; }
.dd-qo-qty input::-webkit-outer-spin-button, .dd-qo-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.dd-qo-summary { display: grid; gap: 6px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; font-variant-numeric: tabular-nums; }
.dd-qo-summary > div { display: flex; justify-content: space-between; gap: 12px; }
.dd-qo-total { border-top: 1px dashed var(--line); padding-top: 8px; margin-top: 2px; font-weight: 700; font-size: 18px; color: var(--forest); }
.dd-qo-submit { width: 100%; font-size: 18px; padding: 16px 24px; background: var(--fresh); }
.dd-qo-submit:hover { background: var(--fresh-hover); }
.dd-qo-small { margin: -6px 0 0; text-align: center; font-size: 14px; color: var(--muted); }
.dd-qo-errors { background: #fdecea; border: 1px solid #f3c1bb; color: #8c1d14; border-radius: 10px; padding: 10px 14px; }
.dd-qo-errors p { margin: 2px 0; }
.dd-qo-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dd-qo-done { text-align: center; background: #eef6e6; border: 1px solid #cfe3bf; border-radius: var(--radius); padding: 32px 22px; display: grid; gap: 8px; justify-items: center; }
.dd-qo-done h2 { margin: 0; }
.dd-qo-done p { margin: 0; max-width: 36em; }
.dd-qo-done-icon { width: 56px; height: 56px; border-radius: 50%; background: var(--fresh); color: #fff; font-size: 28px; display: grid; place-items: center; }
.dd-qo-done-meta { color: var(--muted); }
.dd-qo-done .dd-btn { margin-top: 8px; }
@media (max-width: 560px) {
	.dd-qo { padding: 16px; }
	.dd-qo-grid { grid-template-columns: 1fr; }
}
/* The carousel replaces the old single logo image in the hero. */
.dd-hero-art.dd-carousel { display: block; }
.dd-hero-art.dd-carousel .dd-slide-media img { width: 100%; height: 100%; padding: 0; background: none; box-shadow: none; border-radius: 0; }
.dd-hero-art.dd-carousel .dd-slide-brand .dd-slide-media img { object-fit: contain; padding: 14% 12%; }

/* Top notice: parts separated by a dot; phones show only the first part on one line. */
.dd-notice .dd-wrap { display: flex; justify-content: center; flex-wrap: wrap; gap: 0 10px; }
.dd-notice-extra::before { content: "·"; margin-right: 10px; opacity: .6; }
@media (max-width: 600px) {
	.dd-notice .dd-wrap { padding-block: 6px; font-size: 13px; }
	.dd-notice-extra { display: none; }
}

/* Phones: headline and buttons first, a smaller carousel below them. */
@media (max-width: 760px) {
	.dd-hero-grid { gap: 28px; padding-block: 32px 36px; }
	.dd-hero .dd-carousel { width: min(100%, 280px); }
	.dd-dots { margin-top: 14px; }
}

/* ======================================================================
 * Round 2 (mobile)
 * ==================================================================== */

.dd-hidden-field { display: none !important; }

/* Top notice: "Dhaka 1–2 days · Outside Dhaka 2–3 days" on one line. */
.dd-notice-part + .dd-notice-part::before { content: "·"; margin-right: 10px; opacity: .6; }
@media (max-width: 600px) {
	.dd-notice .dd-wrap { font-size: 12.5px; white-space: nowrap; overflow: hidden; }
}

/* Search box: in the header row on wide screens, its own row under the header on phones and tablets. */
.dd-search-mobile { display: none; }
@media (max-width: 1100px) {
	.dd-nav .dd-search { display: none; }
	.dd-search.dd-search-mobile {
		display: flex; margin: 0 max(16px, env(safe-area-inset-right, 0px)) 10px max(16px, env(safe-area-inset-left, 0px));
		background: var(--paper);
	}
	.dd-search-mobile input { width: 100%; flex: 1; font-size: 15px; }
}

/* Hero buttons: a clear green "Start shopping", a soft "Fresh market". */
.dd-btn .dd-icon { width: 18px; height: 18px; }
.dd-btn-shop { background: var(--fresh); color: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, .18); }
.dd-btn-shop:hover { background: #5aa83a; color: #fff; }
.dd-btn-fresh-market { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .35); color: #fff; }
.dd-btn-fresh-market:hover { background: rgba(255, 255, 255, .18); color: #fff; }
.dd-btn-fresh-market .dd-tag { vertical-align: 0; }

/* Hero right side: slider, then announcements. All slides are rounded cards. */
.dd-hero-side { display: grid; gap: 18px; justify-items: center; min-width: 0; }
.dd-hero-art.dd-carousel .dd-slide-media { border-radius: 24px; }
.dd-slide-brand .dd-slide-media { background: var(--paper); }
.dd-ann { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; width: min(100%, 440px); }
.dd-ann li, .dd-ann a { display: flex; align-items: center; gap: 10px; color: #f1f5ec; text-decoration: none; font-size: 14.5px; line-height: 1.35; }
.dd-ann li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); border-radius: 12px; padding: 10px 14px; }
.dd-ann a:hover { color: #fff; text-decoration: underline; }
.dd-ann-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; background: #9fd27c; }

@media (max-width: 760px) {
	/* Phones: slider and announcements first, then a compact headline. */
	.dd-hero-grid { gap: 20px; padding-block: 16px 28px; }
	.dd-hero-side { order: -1; gap: 12px; width: 100%; }
	.dd-hero .dd-carousel { width: 100%; }
	.dd-hero .dd-slides { aspect-ratio: 16 / 10; }
	.dd-hero-art.dd-carousel .dd-slide-media { border-radius: 16px; box-shadow: none; }
	.dd-slide-caption { left: 10px; right: 10px; bottom: 10px; padding: 8px 12px; border-radius: 10px; }
	.dd-slide-caption strong { font-size: 15px; }
	.dd-slide-caption span { font-size: 13px; }
	.dd-dots { margin-top: 8px; }
	.dd-ann {
		width: 100%; display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory;
		scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.dd-ann::-webkit-scrollbar { display: none; }
	.dd-ann li { flex: 0 0 auto; max-width: 82%; scroll-snap-align: start; padding: 8px 12px; font-size: 13.5px; white-space: nowrap; }
	.dd-ann li a { white-space: nowrap; }
	.dd-hero .dd-eyebrow { font-size: 11.5px; margin-bottom: 2px; }
	.dd-hero h1 { font-size: 27px; margin-bottom: 8px; }
	.dd-hero p { font-size: 15px; line-height: 1.55; margin-bottom: 16px; }
	.dd-hero-cta { gap: 8px; }
	.dd-hero-cta .dd-btn { padding: 11px 16px; font-size: 14.5px; flex: 1 1 auto; }

	/* Four promises: one compact row that scrolls sideways. */
	.dd-trust-grid {
		display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-block: 12px;
		scroll-padding-inline: max(16px, env(safe-area-inset-left, 0px));
		scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.dd-trust-grid::-webkit-scrollbar { display: none; }
	.dd-trust-item { flex: 0 0 auto; scroll-snap-align: start; gap: 8px; background: var(--paper); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px 6px 6px; }
	.dd-trust-icon { width: 32px; height: 32px; }
	.dd-trust-icon .dd-icon { width: 17px; height: 17px; }
	.dd-trust-item strong { font-size: 13.5px; white-space: nowrap; }
	.dd-trust-item div span { display: none; }

	/* Categories: one row that slides sideways. */
	.dd-section { padding-block: 32px; }
	.dd-section-head { margin-bottom: 14px; }
	.dd-cats {
		display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px;
		scroll-padding-inline: max(16px, env(safe-area-inset-left, 0px));
		margin-inline: calc(-1 * max(16px, env(safe-area-inset-left, 0px))); padding-inline: max(16px, env(safe-area-inset-left, 0px));
		scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.dd-cats::-webkit-scrollbar { display: none; }
	.dd-cat { flex: 0 0 92px; scroll-snap-align: start; padding: 12px 6px; gap: 6px; border-radius: 12px; }
	.dd-cat-mark, .dd-cat-img { width: 48px; height: 48px; }
	.dd-cat-mark svg { width: 32px; height: 32px; }
	.dd-cat-name { font-size: 13px; font-weight: 500; }

	/* Footer: compact, two columns of links. */
	.dd-footer-grid { grid-template-columns: 1fr 1fr; gap: 22px 16px; padding-block: 30px 18px; }
	.dd-footer-brand { grid-column: 1 / -1; display: flex; gap: 14px; align-items: center; }
	.dd-footer-brand img { width: 64px; height: auto; padding: 4px 6px; flex: none; }
	.dd-footer-brand p { margin: 0; font-size: 14px; }
	.dd-footer-grid > div:last-child { grid-column: 1 / -1; }
	.dd-footer-title { font-size: 13px; margin-bottom: 8px; }
	.dd-footer ul { gap: 6px; font-size: 14px; }
	.dd-footer-bottom { padding-block: 12px; font-size: 12.5px; }
}

/* Landing page FAQ: compact. */
.dd-lp-faq { gap: 6px; }
.dd-lp-faq details { border-radius: 10px; padding: 0 14px; }
.dd-lp-faq summary { padding: 10px 0; font-size: 15px; }
.dd-lp-faq summary::after { font-size: 18px; }
.dd-lp-faq details p { margin: 0 0 12px; font-size: 14.5px; }
@media (max-width: 760px) {
	.dd-lp-section { padding-block: 28px; }
	.dd-lp-section h2 { font-size: 22px; }
}

/* Mobile buy bar with a small product picture. */
.dd-buybar-img { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; flex: none; background: var(--mist); }
.dd-buybar-info { flex: 1; }

/* ======================================================================
 * Cart panel and order page
 * ==================================================================== */
.dd-no-scroll, .dd-no-scroll body { overflow: hidden; }
.dd-scrim { position: fixed; inset: 0; z-index: 90; background: rgba(16, 30, 20, .45); opacity: 0; transition: opacity .2s; }
.dd-scrim.is-open { opacity: 1; }
.dd-drawer {
	position: fixed; top: 0; right: 0; bottom: 0; z-index: 91; width: min(420px, 100%);
	display: flex; flex-direction: column; background: var(--surface); box-shadow: -8px 0 30px rgba(0, 0, 0, .15);
	transform: translateX(100%); visibility: hidden; transition: transform .25s ease, visibility .25s;
	padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); padding-right: env(safe-area-inset-right, 0px);
}
.admin-bar .dd-drawer { top: 32px; }
@media (max-width: 782px) { .admin-bar .dd-drawer { top: 46px; } }
.dd-drawer.is-open { transform: none; visibility: visible; }
.dd-drawer-head { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.dd-drawer-head h2 { margin: 0; font-size: 22px; }
.dd-drawer-x { width: 40px; height: 40px; border-radius: 999px; border: 0; background: var(--mist); color: var(--forest); font-size: 22px; line-height: 1; cursor: pointer; }
.dd-drawer-added { margin: 12px 18px 0; background: #eef6e6; border: 1px solid #cfe3bf; color: var(--forest); border-radius: 10px; padding: 8px 12px; font-size: 14.5px; font-weight: 600; }
.dd-drawer-body { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.dd-drawer-items { flex: 1; overflow-y: auto; padding: 6px 18px; }
.dd-drawer-foot { border-top: 1px solid var(--line); padding: 14px 18px 16px; display: grid; gap: 10px; }
.dd-drawer-sum { display: flex; justify-content: space-between; font-weight: 700; font-size: 17px; font-variant-numeric: tabular-nums; }
.dd-btn-block { width: 100%; padding: 15px 20px; font-size: 17px; }
.dd-link-btn { background: none; border: 0; color: var(--forest); text-decoration: underline; font: inherit; font-size: 15px; padding: 4px; cursor: pointer; }
.dd-drawer-note { margin: 0; text-align: center; font-size: 13.5px; color: var(--muted); }
.dd-cart-empty { text-align: center; color: var(--muted); padding: 36px 8px; margin: 0; }

.dd-line { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--line); }
.dd-line:last-child { border-bottom: 0; }
.dd-line-img { width: 56px; height: 56px; border-radius: 10px; object-fit: cover; background: var(--mist); display: block; }
.dd-line-info { display: grid; gap: 2px; min-width: 0; }
.dd-line-name { font-weight: 600; font-size: 15px; line-height: 1.3; color: var(--ink); text-decoration: none; }
.dd-line-name:hover { color: var(--leaf); }
.dd-line-each { font-size: 13.5px; color: var(--muted); font-variant-numeric: tabular-nums; }
.dd-line-qty { display: inline-flex; align-items: center; margin-top: 4px; width: fit-content; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; }
.dd-line-qty button { width: 32px; height: 30px; border: 0; background: var(--mist); color: var(--forest); font-size: 17px; cursor: pointer; }
.dd-line-qty button:disabled { opacity: .5; }
.dd-line-qty span { min-width: 30px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.dd-line-right { display: grid; justify-items: end; gap: 4px; font-variant-numeric: tabular-nums; }
.dd-line-remove { border: 0; background: none; color: #b3261e; font-size: 13px; text-decoration: underline; padding: 0; cursor: pointer; }
.dd-card-actions .button.dd-added { background: var(--mist) !important; color: var(--forest) !important; border-color: var(--mist) !important; }

.dd-order-page { padding-block: 24px 64px; }
.dd-order-back { display: inline-block; margin-bottom: 8px; font-weight: 600; text-decoration: none; }
.dd-order-page > h1 { margin-bottom: 4px; }
.dd-order-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 20px; align-items: start; margin-top: 18px; }
.dd-order-panel { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; min-width: 0; }
.dd-order-panel h2 { font-size: 21px; margin-bottom: 6px; }
.dd-order-panel.dd-qo { margin-top: 0; }
.dd-order-done { max-width: 600px; margin: 24px auto; }
.dd-order-done h1 { margin: 0; font-size: clamp(24px, 4vw, 32px); }
@media (max-width: 860px) {
	.dd-order-grid { grid-template-columns: 1fr; gap: 14px; }
	.dd-order-panel { padding: 16px; }
}

/* ======================================================================
 * Slim home banner (v1.8)
 * ==================================================================== */
.dd-hero2 .dd-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 36px; padding-block: 30px 34px; }
.dd-hero2 h1 { font-size: clamp(30px, 3.4vw, 42px); margin-bottom: 10px; }
.dd-hero2 .dd-hero-copy p { font-size: 16px; margin-bottom: 18px; }
.dd-hb { position: relative; min-width: 0; }
.dd-hb-slides { position: relative; aspect-ratio: 16 / 7.5; max-width: 100%; border-radius: 18px; overflow: hidden; background: var(--paper); box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }
.dd-hb .dd-slide { display: flex; align-items: center; }
.dd-hb-link { display: flex; align-items: center; width: 100%; height: 100%; color: inherit; text-decoration: none; }
.dd-hb .dd-slide > .dd-hb-link { gap: inherit; padding: inherit; }

/* Brand slide: the logo as a round badge, tagline beside it */
.dd-hb-brand {
	gap: 6%; padding: 0 7%;
	background:
		radial-gradient(circle at 12% 20%, rgba(74, 147, 48, .10) 0 18%, transparent 19%),
		radial-gradient(circle at 92% 88%, rgba(216, 105, 42, .10) 0 16%, transparent 17%),
		linear-gradient(135deg, #fdfbf3 0%, #f3efe0 100%);
}
.dd-hb-mark {
	position: relative; flex: none; width: 34%; aspect-ratio: 1; border-radius: 50%;
	display: grid; place-items: center;
	background: radial-gradient(circle at 35% 30%, #fff 0%, #fbf7ea 70%, #f1ead3 100%);
	box-shadow: 0 0 0 5px #fff, 0 0 0 6px rgba(74, 147, 48, .35), 0 10px 24px rgba(23, 59, 36, .16);
}
.dd-hb-mark::after { content: ""; position: absolute; inset: -12px; border-radius: 50%; border: 1.5px dashed rgba(74, 147, 48, .45); pointer-events: none; }
.dd-hb .dd-hb-mark img { width: 80%; height: auto; display: block; filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .12)); }
.dd-hb-seal {
	position: absolute; z-index: 2; left: 50%; bottom: -7%; transform: translateX(-50%);
	background: var(--forest); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: .03em;
	border-radius: 999px; padding: 3px 11px; white-space: nowrap; box-shadow: 0 3px 8px rgba(0, 0, 0, .2);
}
.dd-hb-text { display: grid; gap: 4px; min-width: 0; color: var(--forest); }
.dd-hb-text strong { font-size: clamp(17px, 1.9vw, 26px); line-height: 1.3; font-weight: 700; }
.dd-hb-text span { color: var(--muted); font-size: 14.5px; line-height: 1.45; }

/* Product slide: photo left, name and price right */
.dd-hb-product { gap: 5%; padding: 0 6%; background: linear-gradient(120deg, #fbf1d8, #f3e3b8); }
.dd-hb-photo { flex: none; width: 34%; aspect-ratio: 1; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 6px 16px rgba(0, 0, 0, .1); }
.dd-hb .dd-hb-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dd-hb-kicker { font-size: 12px !important; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9a5b14 !important; }
.dd-hb-product .dd-hb-text strong { color: var(--ink); }
.dd-hb-price { color: var(--forest) !important; font-weight: 700; font-size: 18px !important; }

/* Offer slide: your image fills the banner; text sits on it, or on green if there is no image */
.dd-hb .dd-slide.dd-hb-offer { background: linear-gradient(120deg, #2f6b3a, #4a9330); color: #fff; padding: 0 7%; }
.dd-hb-cover { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dd-hb-offer-text { position: relative; display: grid; gap: 4px; }
.dd-hb-offer-text strong { font-size: clamp(20px, 2.4vw, 32px); line-height: 1.15; }
.dd-hb-offer-text span { color: #e3f1d6; font-size: 15px; }
.dd-hb-offer-text.has-img { position: absolute; left: 14px; right: 14px; bottom: 14px; background: rgba(16, 41, 26, .82); border-radius: 12px; padding: 10px 14px; }

.dd-hb .dd-dots { margin-top: 12px; }

@media (max-width: 760px) {
	/* Phone: headline left, small round logo right, text and buttons full width below. */
	.dd-hero2 .dd-hero-grid {
		grid-template-columns: minmax(0, 1fr) 34%;
		grid-template-areas: "e s" "h s" "p p" "c c";
		gap: 0 14px; align-items: center; padding-block: 16px 20px;
	}
	.dd-hero2 .dd-hero-copy { display: contents; }
	.dd-hero2 .dd-eyebrow { grid-area: e; align-self: end; font-size: 10.5px; margin-bottom: 2px; }
	.dd-hero2 h1 { grid-area: h; align-self: start; font-size: 22px; margin: 0; }
	.dd-hero2 .dd-hero-copy p { grid-area: p; font-size: 13.5px; line-height: 1.5; margin: 12px 0 0; }
	.dd-hero2 .dd-hero-cta { grid-area: c; margin-top: 14px; flex-wrap: nowrap; }
	.dd-hero2 .dd-hero-cta .dd-btn { flex: 1 1 0; padding: 10px 8px; font-size: 13.5px; white-space: nowrap; }
	.dd-hero2 .dd-hb { grid-area: s; order: 0; width: auto; }
	.dd-hb-slides { aspect-ratio: 1 / 1; border-radius: 14px; box-shadow: 0 6px 16px rgba(0, 0, 0, .2); }
	.dd-hb-brand, .dd-hb-product { padding: 13%; justify-content: center; }
	.dd-hb-mark { width: 100%; box-shadow: 0 0 0 3px #fff, 0 0 0 4px rgba(74, 147, 48, .35), 0 6px 14px rgba(23, 59, 36, .16); }
	.dd-hb-mark::after { inset: -8px; }
	.dd-hb-seal, .dd-hb .dd-hb-text { display: none; }
	.dd-hb-photo { width: 100%; }
	.dd-hb .dd-slide.dd-hb-offer { padding: 10%; text-align: center; }
	.dd-hb-offer-text strong { font-size: 14px; }
	.dd-hb-offer-text span, .dd-hb-offer-text.has-img { display: none; }
	.dd-hb .dd-dots { margin-top: 6px; gap: 5px; }
	.dd-hb .dd-dot { width: 6px; height: 6px; }
	.dd-hb .dd-dot.is-active { width: 14px; }
}

/* Top notice on phones: one part at a time, so it is always one line. */
@media (max-width: 600px) {
	.dd-notice .dd-wrap { display: grid; justify-items: center; }
	.dd-notice-part { grid-area: 1 / 1; opacity: 0; transition: opacity .5s; }
	.dd-notice-part.is-on { opacity: 1; }
	.dd-notice-part + .dd-notice-part::before { content: none; }
}

/* Brand slide without any box: the logo sits straight on the green banner (v1.8.1). */
.dd-hb-slides { background: none; box-shadow: none; }
.dd-hb .dd-slide.dd-hb-product, .dd-hb .dd-slide.dd-hb-offer { border-radius: 18px; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); }
.dd-hb .dd-slide.dd-hb-brand { background: none; padding: 0 2%; }
.dd-hb .dd-hb-brand .dd-hb-mark { background: none; box-shadow: none; width: 40%; }
.dd-hb .dd-hb-brand .dd-hb-mark::after { content: none; }
.dd-hb .dd-hb-brand .dd-hb-mark img { width: 100%; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .28)); }
.dd-hb .dd-hb-brand .dd-hb-text strong { color: #fff; }
.dd-hb .dd-hb-brand .dd-hb-text span { color: #cfdcc6; }
@media (max-width: 760px) {
	.dd-hb .dd-slide.dd-hb-product, .dd-hb .dd-slide.dd-hb-offer { border-radius: 14px; box-shadow: 0 6px 16px rgba(0, 0, 0, .2); }
	.dd-hb .dd-slide.dd-hb-brand { padding: 0; }
	.dd-hb .dd-hb-brand .dd-hb-mark { width: 100%; box-shadow: none; }
}
/* The slider clips at its edges, so the logo's shadow must stay small or it shows as a box. */
.dd-hb .dd-hb-brand .dd-hb-mark img { filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .25)); }
@media (max-width: 760px) {
	.dd-hb .dd-hb-brand .dd-hb-mark { width: 92%; }
	.dd-hb .dd-hb-brand .dd-hb-mark img { filter: none; }
}
/* Brand slide: just the logo, centred (the headline on the left already says it). */
.dd-hb .dd-slide.dd-hb-brand { justify-content: center; }
.dd-hb .dd-hb-brand .dd-hb-mark { width: 42%; }
@media (max-width: 760px) { .dd-hb .dd-hb-brand .dd-hb-mark { width: 92%; } }

/* v1.8.3: a bit taller, and the logo sits on a light card again so the right side is not empty. */
.dd-hero2 .dd-hero-grid { padding-block: 44px 48px; gap: 44px; }
.dd-hero2 h1 { font-size: clamp(32px, 3.8vw, 48px); }
.dd-hb-slides { aspect-ratio: 16 / 9.5; border-radius: 20px; box-shadow: 0 14px 34px rgba(0, 0, 0, .22); }
.dd-hb .dd-slide.dd-hb-brand {
	padding: 0;
	background:
		radial-gradient(circle at 10% 15%, rgba(74, 147, 48, .10) 0 20%, transparent 21%),
		radial-gradient(circle at 92% 90%, rgba(216, 105, 42, .10) 0 18%, transparent 19%),
		linear-gradient(135deg, #ffffff 0%, #f6f2e6 100%);
}
.dd-hb .dd-hb-brand .dd-hb-mark { width: auto; height: 78%; aspect-ratio: 480 / 434; }
.dd-hb .dd-hb-brand .dd-hb-mark img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .18)); }
@media (max-width: 760px) {
	.dd-hero2 .dd-hero-grid { padding-block: 20px 22px; }
	.dd-hero2 h1 { font-size: 23px; }
	.dd-hb-slides { aspect-ratio: 1 / 1; border-radius: 16px; box-shadow: 0 8px 20px rgba(0, 0, 0, .22); }
	.dd-hb .dd-hb-brand .dd-hb-mark { width: 84%; height: auto; }
	.dd-hb .dd-hb-brand .dd-hb-mark img { height: auto; filter: none; }
}

/* v1.8.3 decoration: faint leaf pattern on the green, a soft glow and leaf sprigs around the logo card. */
.dd-hero2 { position: relative; isolation: isolate; }
.dd-hero2::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22160%22%20height%3D%22160%22%20viewBox%3D%220%200%20160%20160%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%22.06%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M22%2060c10-18%2028-22%2038-20-4%2014-20%2026-38%2020z%22/%3E%3Cpath%20d%3D%22M22%2060l38-20%22/%3E%3Cpath%20d%3D%22M110%20130c4-16%2018-24%2030-24-2%2014-14%2024-30%2024z%22/%3E%3Cpath%20d%3D%22M110%20130l30-24%22/%3E%3Cpath%20d%3D%22M100%2020v34%22/%3E%3Cpath%20d%3D%22M100%2028c-6-4-6-10%200-12%206%202%206%208%200%2012zM100%2040c-6-4-6-10%200-12%206%202%206%208%200%2012zM100%2052c-6-4-6-10%200-12%206%202%206%208%200%2012z%22/%3E%3C/g%3E%3C/svg%3E"); background-size: 160px 160px; pointer-events: none; }
.dd-hero2 .dd-hb::before {
	content: ""; position: absolute; inset: -8% -6%; z-index: -1; border-radius: 50%;
	background: radial-gradient(closest-side, rgba(159, 210, 124, .28), rgba(159, 210, 124, 0));
	pointer-events: none;
}
.dd-hb .dd-slide.dd-hb-brand::before, .dd-hb .dd-slide.dd-hb-brand::after {
	content: ""; position: absolute; width: 22%; aspect-ratio: 1; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%20120%20120%22%3E%3Cg%20fill%3D%22%234a9330%22%20fill-opacity%3D%22.18%22%3E%3Cpath%20d%3D%22M10%20110C30%2070%2060%2040%20110%2010c-10%2040-40%2080-100%20100z%22/%3E%3C/g%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%233f7d34%22%20stroke-opacity%3D%22.35%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M10%20110C40%2080%2070%2050%20104%2016%22/%3E%3Cpath%20d%3D%22M38%2082c-10-2-18-10-20-20%2010%202%2018%2010%2020%2020zM58%2062c-10-2-18-10-20-20%2010%202%2018%2010%2020%2020zM78%2042c-10-2-18-10-20-20%2010%202%2018%2010%2020%2020zM44%2076c2-10%2010-18%2020-20-2%2010-10%2018-20%2020zM64%2056c2-10%2010-18%2020-20-2%2010-10%2018-20%2020z%22/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain; pointer-events: none;
}
.dd-hb .dd-slide.dd-hb-brand::before { left: 3%; bottom: 4%; }
.dd-hb .dd-slide.dd-hb-brand::after { right: 3%; top: 4%; transform: rotate(180deg); }
.dd-hb-slides::after { content: ""; position: absolute; inset: 10px; border: 1.5px solid rgba(74, 147, 48, .18); border-radius: 14px; pointer-events: none; z-index: 3; }
.dd-hb .dd-hb-brand .dd-hb-mark { position: relative; z-index: 1; }
@media (max-width: 760px) {
	.dd-hb .dd-slide.dd-hb-brand::before, .dd-hb .dd-slide.dd-hb-brand::after { width: 30%; }
	.dd-hb-slides::after { inset: 6px; border-radius: 11px; }
	.dd-hero2 .dd-hb::before { inset: -14%; }
}
@media (max-width: 760px) {
	.dd-hero2 .dd-hero-grid { gap: 0 14px; }
}

/* Thank-you message after an order */
.dd-thanks { max-width: 560px; margin: 8px auto; text-align: center; background: var(--surface); border: 1px solid #cfe3bf; border-radius: 18px; padding: 30px 22px 26px; display: grid; gap: 10px; justify-items: center; box-shadow: 0 10px 30px rgba(23, 59, 36, .08); }
.dd-thanks:focus { outline: none; }
.dd-thanks-icon { width: 64px; height: 64px; border-radius: 50%; background: var(--fresh); color: #fff; font-size: 32px; display: grid; place-items: center; box-shadow: 0 0 0 8px #eef6e6; margin-bottom: 6px; }
.dd-thanks h2 { margin: 0; font-size: clamp(22px, 3.6vw, 30px); }
.dd-thanks-lead { margin: 0; font-size: 16.5px; line-height: 1.6; max-width: 32em; }
.dd-thanks-lead strong { color: var(--forest); }
.dd-thanks-box { width: 100%; text-align: left; background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 6px 16px; margin: 6px 0 2px; font-variant-numeric: tabular-nums; }
.dd-thanks-row { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 15px; }
.dd-thanks-row:last-child { border-bottom: 0; }
.dd-thanks-row span:first-child { min-width: 0; }
.dd-thanks-head { color: var(--muted); }
.dd-thanks-head strong { color: var(--ink); }
.dd-thanks-total { font-weight: 700; color: var(--forest); font-size: 16.5px; }
.dd-thanks-help { margin: 0; color: var(--muted); font-size: 14.5px; }
.dd-thanks-help a { font-weight: 600; }
.dd-thanks .dd-btn { margin-top: 4px; }
